refactor(workflow): more on adts
This commit is contained in:
parent
50b3fb8dcf
commit
094421ae5c
@ -1,5 +1,5 @@
|
|||||||
WorkflowDefinition
|
WorkflowDefinition
|
||||||
graph WorkflowGraph
|
graph (WorkflowGraph UniWorX)
|
||||||
initiator (WorkflowRole UserId AuthDNF)
|
initiator (WorkflowRole UserId AuthDNF)
|
||||||
|
|
||||||
WorkflowInitiator
|
WorkflowInitiator
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user