chore(workflow-types): import authdns

This commit is contained in:
Sarah Vaupel 2020-04-02 18:28:18 +02:00 committed by Gregor Kleen
parent 9612b7d905
commit 460bd9d3e5
2 changed files with 12 additions and 13 deletions

View File

@ -1,14 +1,14 @@
WorkflowDefinition
graph (WorkflowGraph UserId AuthDNF FileId)
graph (WorkflowGraph UserId FileId)
scope WorkflowInstanceScope'
WorkflowInstance
definition WorkflowDefinition
graph (WorkflowGraph UserId AuthDNF FileId)
graph (WorkflowGraph UserId FileId)
scope (WorkflowInstaceScope TermId SchoolId CourseId)
Workflow
instance WorkflowInstance
graph (WorkflowGraph UserId AuthDNF FileId)
graph (WorkflowGraph UserId FileId)
initiator UserId Maybe
payload (WorkflowPayload FileId)

View File

@ -2,10 +2,12 @@ module Model.Types.Workflow where
import Import.NoModel
import Model.Types.Security (AuthDNF)
data WorkflowRole userid authdnf = WorkflowRoleUser userid
| WorkflowRoleAuthorized authdnf
| WorkflowRoleInitiator userid
data WorkflowRole userid = WorkflowRoleUser userid
| WorkflowRoleAuthorized AuthDNF
| WorkflowRoleInitiator userid
data WorkflowGraphNodeStatus = WGNS
@ -15,9 +17,8 @@ data WorkflowGraphNodeStatus = WGNS
}
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
data WorkflowGraphNode userid authdnf fileid = WGN
data WorkflowGraphNode = WGN
{ wgnStatus :: WorkflowGraphNodeStatus
, wgnOutgoing :: Set (WorkflowGraphEdge userid authdnf fileid)
}
type WorkflowGraphNodeLabel = CI Text
@ -65,16 +66,14 @@ data WorkflowEdgePayloadSpecification fileid userid = forall payload. (FromJSON
data WorkflowPayload userid fileid = forall payload. Map WorkflowEdgePayloadLabel (WorkflowEdgePayload userid fileid payload)
data WorkflowGraphEdge userid authdnf fileid = WGE
{ wgeActors :: Set (WorkflowRole userid authdnf)
data WorkflowGraphEdge userid fileid = WGE
{ wgeActors :: Set (WorkflowRole userid)
, wgeTarget :: WorkflowGraphNodeLabel
, wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid userid)))
}
data WorkflowGraph userid authdnf fileid = WorkflowGraph
{ wgNodes :: Map WorkflowGraphNodeLabel (WorkflowGraphNode userid authdnf fileid, Set (WorkflowGraphEdge userid authdnf fileid))
}
data WorkflowGraph userid fileid = WorkflowGraph (Map WorkflowGraphNodeLabel (WorkflowGraphNode, Set (WorkflowGraphEdge userid fileid)))
data WorkflowInstanceScope term school course = WISGlobal | WISTerm term | WISSchool school | WISCourse course