fix(workflow): fix types

This commit is contained in:
Sarah Vaupel 2020-04-02 17:25:44 +02:00 committed by Gregor Kleen
parent 0eea74b8b3
commit 4334253122

View File

@ -21,20 +21,17 @@ data WorkflowGraphNode userid authdnf fileid = WGN
{ wgnStatus :: WorkflowGraphNodeStatus
, wgnOutgoing :: Set (WorkflowGraphEdge userid authdnf fileid)
}
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
deriveJSON defaultOptions ''WorkflowGraphNode
data WorkflowEdgePayload = WEPText Text
| WEPBool Bool
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
deriveJSON defaultOptions ''WorkflowEdgePayload
data WorkflowEdgePayload' = WEPText' | WEPBool'
deriving (Eq, Ord, Enum, Show, Read, Data, Generic, Typeable)
type WorkflowEdgePayloadLabel = CI Text
@ -43,42 +40,41 @@ data WorkflowEdgePayloadField fileid userid (payload :: *) where
, wepftPlaceholder :: Text
, wepftTooltip :: Maybe Text
, wepftDefault :: Maybe Text
} -> WorkflowEdgePayloadField Text fileid
} -> WorkflowEdgePayloadField fileid userid Text
WorkflowEdgePayloadFieldNumber :: HasResolution prec =>
{ wepfnLabel :: Text
, wepfnPlaceholder :: Text
, wepfnTooltip :: Maybe Text
, wepfnDefault :: Maybe prec
} -> WorkflowEdgePayloadField (Fixed prec) fileid
} -> WorkflowEdgePayloadField fileid userid (Fixed prec)
WorkflowEdgePayloadFieldFile :: { wepffLabel :: Text
, wepffTooltip :: Maybe Text
, wepffDefault :: Maybe fileid
} -> WorkflowEdgePayloadField FileInfo fileid
} -> WorkflowEdgePayloadField fileid userid FileInfo
WorkflowEdgePayloadFieldUser :: { wepfuLabel :: Text
, wepfuTooltip :: Maybe Text
, wepfuDefault :: Maybe userid
}
} -> WorkflowEdgePayloadField fileid userid userid
data WorkflowEdgePayloadSpecification fileid userid = forall payload. (FromJSON payload, ToJSON payload) => WorkflowEdgePayloadSpecification (WorkflowEdgePayloadField fileid userid payload)
data WorkflowEdgePayloadSpecification fileid = forall payload. (FromJSON payload, ToJSON payload) => WorkflowEdgePayloadSpecification (WorkflowEdgePayloadField fileid payload)
data WorkflowPayload fileid = Map WorkflowEdgePayloadLabel (WorkflowEdgePayload)
data WorkflowGraphEdge userid authdnf fileid = WGE
{ wgeActors :: Set (WorkflowRole userid authdnf)
, wgeTarget :: WorkflowGraphNode userid authdnf fileid
, wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid)))
, wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid userid)))
}
--deriveJSON defaultOptions ''WorkflowGraphEdge
data WorkflowGraph userid authdnf fileid = WG
{ wgNodes :: Set (WorkflowGraphNode userid authdnf fileid)
, wgEdges :: Set (WorkflowGraphEdge userid authdnf fileid)
}
-- deriveJSON defaultOptions ''WorkflowGraph
data WorkflowInstanceScope term school course = WISGlobal
| WISTerm term
@ -86,9 +82,6 @@ data WorkflowInstanceScope term school course = WISGlobal
| WISCourse course
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
deriveJSON defaultOptions
{ constructorTagModifier = camelToPathPiece' 3
} ''WorkflowInstanceScope
data WorkflowInstanceScope' = WISTerm' | WISSchool' | WISCourse'
deriving (Eq, Ord, Enum, Read, Show, Data, Generic, Typeable)