chore: very stubby stub for workflow model
This commit is contained in:
parent
b359468593
commit
b7dec2f1d0
14
models/workflows.model
Normal file
14
models/workflows.model
Normal file
@ -0,0 +1,14 @@
|
||||
WorkflowDefinition
|
||||
graph WorkflowGraph
|
||||
initiator WorkflowInitiator
|
||||
|
||||
WorkflowInitiator
|
||||
-- TODO descriptor of a "role" that can initiate an instance of a workflow in a specified scope
|
||||
|
||||
WorkflowInstance
|
||||
definition WorkflowDefinition
|
||||
initiator UserId
|
||||
|
||||
Flow
|
||||
instance WorkflowInstance
|
||||
|
||||
54
src/Model/Types/Workflow.hs
Normal file
54
src/Model/Types/Workflow.hs
Normal file
@ -0,0 +1,54 @@
|
||||
module Model.Types.Workflow where
|
||||
|
||||
import Import
|
||||
|
||||
data WorkflowGraphNodeStatus = WGNS
|
||||
{ wgnsIdent :: CI Text
|
||||
, wgnsFinished :: Bool
|
||||
, wgnsLabel :: Maybe Text
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
deriveJSON defaultOptions ''WorkflowGraphNodeStatus
|
||||
data WorkflowGraphNode = WGN
|
||||
{ wgnStatus :: WorkflowGraphNodeStatus
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
deriveJSON defaultOptions ''WorkflowGraphNode
|
||||
|
||||
data WorkflowEdgePayload = WEPText Text
|
||||
| WEPBool Bool
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
|
||||
deriveJSON defaultOptions
|
||||
{ constructorTagModifier = camelToPathPiece' 3
|
||||
} ''WorkflowEdgePayload
|
||||
|
||||
type WorkflowEdgePayloadLabel = CI Text
|
||||
data WorkflowGraphEdge = WGE
|
||||
{ wgeActors :: () -- TODO
|
||||
, wgeTarget :: WorkflowGraphNode
|
||||
, wgeForm :: Map Text (FieldType, FieldSettings UniWorX)
|
||||
, wgePayload :: Map WorkflowEdgePayloadLabel WorkflowEdgePayload
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
deriveJSON defaultOptions ''WorkflowGraphEdge
|
||||
|
||||
data WorkflowGraph = WG
|
||||
{ wgNodes :: Set WorkflowGraphNode
|
||||
, wgEdges :: Set WorkflowGraphEdge
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
deriveJSON defaultOptions ''WorkflowGraph
|
||||
|
||||
|
||||
{-
|
||||
data WorkflowInstanceScope = WISGlobal
|
||||
| WISTerm TermId
|
||||
| WISSchool SchoolId
|
||||
| WISCourse CourseId
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
|
||||
deriveJSON defaultOptions
|
||||
{ constructorTagModifier = camelToPathPiece' 3
|
||||
} ''WorkflowInstanceScope
|
||||
-}
|
||||
Loading…
Reference in New Issue
Block a user