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