chore(workflows): cleanup types

This commit is contained in:
Sarah Vaupel 2020-04-02 17:58:12 +02:00 committed by Gregor Kleen
parent 4334253122
commit 26c5a32f58
2 changed files with 25 additions and 27 deletions

View File

@ -1,6 +1,6 @@
WorkflowDefinition
graph (WorkflowGraph UserId AuthDNF FileId)
scope WorkflowInstanceScope'
graph (WorkflowGraph UserId AuthDNF FileId)
scope WorkflowInstanceScope'
WorkflowInstance
definition WorkflowDefinition

View File

@ -4,15 +4,15 @@ import Import.NoModel
data WorkflowRole userid authdnf = WorkflowRoleUser userid
| WorkflowRoleAuthorized authdnf
| WorkflowRoleInitiator userid
| WorkflowRoleAuthorized authdnf
| WorkflowRoleInitiator userid
data WorkflowGraphNodeStatus = WGNS
{ wgnsIdent :: CI Text
, wgnsFinished :: Bool
, wgnsLabel :: Maybe Text
}
{ wgnsIdent :: CI Text
, wgnsFinished :: Bool
, wgnsLabel :: Maybe Text
}
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
deriveJSON defaultOptions ''WorkflowGraphNodeStatus
@ -23,12 +23,14 @@ data WorkflowGraphNode userid authdnf fileid = WGN
}
data WorkflowEdgePayload = WEPText Text
| WEPBool Bool
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
data WorkflowEdgePayload userid fileid (payload :: *) where
WEPText :: Text -> WorkflowEdgePayload userid fileid Text
WEPNumber :: HasResolution prec => (Fixed prec) -> WorkflowEdgePayload userid fileid (Fixed prec)
WEPBool :: Bool -> WorkflowEdgePayload userid fileid Bool
WEPFile :: fileid -> WorkflowEdgePayload userid fileid fileid
WEPUser :: userid -> WorkflowEdgePayload userid fileid userid
data WorkflowEdgePayload' = WEPText' | WEPBool'
data WorkflowEdgePayload' = WEPText' | WEPNumber' | WEPBool' | WEPFile' | WEPUser'
deriving (Eq, Ord, Enum, Show, Read, Data, Generic, Typeable)
@ -60,29 +62,25 @@ data WorkflowEdgePayloadField fileid userid (payload :: *) where
data WorkflowEdgePayloadSpecification fileid userid = forall payload. (FromJSON payload, ToJSON payload) => WorkflowEdgePayloadSpecification (WorkflowEdgePayloadField fileid userid payload)
data WorkflowPayload fileid = Map WorkflowEdgePayloadLabel (WorkflowEdgePayload)
data WorkflowPayload userid fileid = forall payload. Map WorkflowEdgePayloadLabel (WorkflowEdgePayload userid fileid payload)
data WorkflowGraphEdge userid authdnf fileid = WGE
{ wgeActors :: Set (WorkflowRole userid authdnf)
, wgeTarget :: WorkflowGraphNode userid authdnf fileid
, wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid userid)))
}
{ wgeActors :: Set (WorkflowRole userid authdnf)
, wgeTarget :: WorkflowGraphNode userid authdnf fileid
, wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid userid)))
}
data WorkflowGraph userid authdnf fileid = WG
{ wgNodes :: Set (WorkflowGraphNode userid authdnf fileid)
, wgEdges :: Set (WorkflowGraphEdge userid authdnf fileid)
}
{ wgNodes :: Set (WorkflowGraphNode userid authdnf fileid)
, wgEdges :: Set (WorkflowGraphEdge userid authdnf fileid)
}
data WorkflowInstanceScope term school course = WISGlobal
| WISTerm term
| WISSchool school
| WISCourse course
data WorkflowInstanceScope term school course = WISGlobal | WISTerm term | WISSchool school | WISCourse course
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
data WorkflowInstanceScope' = WISTerm' | WISSchool' | WISCourse'
data WorkflowInstanceScope' = WISGlobal' | WISTerm' | WISSchool' | WISCourse'
deriving (Eq, Ord, Enum, Read, Show, Data, Generic, Typeable)