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 WorkflowDefinition
graph (WorkflowGraph UserId AuthDNF FileId) graph (WorkflowGraph UserId AuthDNF FileId)
scope WorkflowInstanceScope' scope WorkflowInstanceScope'
WorkflowInstance WorkflowInstance
definition WorkflowDefinition definition WorkflowDefinition

View File

@ -4,15 +4,15 @@ import Import.NoModel
data WorkflowRole userid authdnf = WorkflowRoleUser userid data WorkflowRole userid authdnf = WorkflowRoleUser userid
| WorkflowRoleAuthorized authdnf | WorkflowRoleAuthorized authdnf
| WorkflowRoleInitiator userid | WorkflowRoleInitiator userid
data WorkflowGraphNodeStatus = WGNS data WorkflowGraphNodeStatus = WGNS
{ wgnsIdent :: CI Text { wgnsIdent :: CI Text
, wgnsFinished :: Bool , wgnsFinished :: Bool
, wgnsLabel :: Maybe Text , wgnsLabel :: Maybe Text
} }
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable) deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
deriveJSON defaultOptions ''WorkflowGraphNodeStatus deriveJSON defaultOptions ''WorkflowGraphNodeStatus
@ -23,12 +23,14 @@ data WorkflowGraphNode userid authdnf fileid = WGN
} }
data WorkflowEdgePayload = WEPText Text data WorkflowEdgePayload userid fileid (payload :: *) where
| WEPBool Bool WEPText :: Text -> WorkflowEdgePayload userid fileid Text
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable) 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' | WEPNumber' | WEPBool' | WEPFile' | WEPUser'
data WorkflowEdgePayload' = WEPText' | WEPBool'
deriving (Eq, Ord, Enum, Show, Read, Data, Generic, Typeable) 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 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 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 userid))) , wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid userid)))
} }
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)
} }
data WorkflowInstanceScope term school course = WISGlobal data WorkflowInstanceScope term school course = WISGlobal | WISTerm term | WISSchool school | WISCourse course
| WISTerm term
| WISSchool school
| WISCourse course
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable) deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
data WorkflowInstanceScope' = WISGlobal' | 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)