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
graph WorkflowGraph
graph (WorkflowGraph UniWorX)
initiator (WorkflowRole UserId AuthDNF)
WorkflowInitiator

View File

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