refactor(workflow): more on adts

This commit is contained in:
Sarah Vaupel 2020-04-01 13:10:55 +02:00 committed by Gregor Kleen
parent 50b3fb8dcf
commit 094421ae5c
2 changed files with 11 additions and 11 deletions

View File

@ -1,5 +1,5 @@
WorkflowDefinition WorkflowDefinition
graph WorkflowGraph graph (WorkflowGraph UniWorX)
initiator (WorkflowRole UserId AuthDNF) initiator (WorkflowRole UserId AuthDNF)
WorkflowInitiator WorkflowInitiator

View File

@ -18,37 +18,37 @@ 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 deriveJSON defaultOptions
{ constructorTagModifier = camelToPathPiece' 3 { constructorTagModifier = camelToPathPiece' 3
} ''WorkflowEdgePayload } ''WorkflowEdgePayload
data WorkflowEdgePayload' = WEPText' | WEPBool'
deriving (Eq, Ord, Enum, Show, Read, Data, Generic, Typeable)
type WorkflowEdgePayloadLabel = CI Text type WorkflowEdgePayloadLabel = CI Text
data WorkflowGraphEdge = WGE data WorkflowGraphEdge site = WGE
{ wgeActors :: () -- TODO { wgeActors :: () -- TODO
, wgeTarget :: WorkflowGraphNode , wgeTarget :: WorkflowGraphNode
--, wgeForm :: Map Text (FieldType, FieldSettings UniWorX) , wgeForm :: Map Text (WorkflowEdgePayload', FieldSettings site)
, wgePayload :: Map WorkflowEdgePayloadLabel WorkflowEdgePayload , wgePayload :: Map WorkflowEdgePayloadLabel WorkflowEdgePayload
} }
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable) -- deriveJSON defaultOptions ''WorkflowGraphEdge
deriveJSON defaultOptions ''WorkflowGraphEdge
data WorkflowGraph = WG data WorkflowGraph site = WG
{ wgNodes :: Set WorkflowGraphNode { wgNodes :: Set WorkflowGraphNode
, wgEdges :: Set WorkflowGraphEdge , wgEdges :: Set (WorkflowGraphEdge site)
} }
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable) -- deriveJSON defaultOptions ''WorkflowGraph
deriveJSON defaultOptions ''WorkflowGraph
data WorkflowInstanceScope term school course = WISGlobal data WorkflowInstanceScope term school course = WISGlobal
| WISTerm term | WISTerm term
| WISSchool school | WISSchool school
| WISCourse course | WISCourse course
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable) deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
deriveJSON defaultOptions deriveJSON defaultOptions
{ constructorTagModifier = camelToPathPiece' 3 { constructorTagModifier = camelToPathPiece' 3
} ''WorkflowInstanceScope } ''WorkflowInstanceScope
data WorkflowInstanceScope' = WISTerm' | WISSchool' | WISCourse'
deriving (Eq, Ord, Enum, Read, Show, Data, Generic, Typeable)
data WorkflowRole user authdnf = WorkflowRoleUser user data WorkflowRole user authdnf = WorkflowRoleUser user
| WorkflowRoleAuthorized authdnf | WorkflowRoleAuthorized authdnf