refactor(workflow): payload specification
This commit is contained in:
parent
094421ae5c
commit
5ff48d9b60
@ -1,5 +1,5 @@
|
||||
WorkflowDefinition
|
||||
graph (WorkflowGraph UniWorX)
|
||||
graph (WorkflowGraph FileId)
|
||||
initiator (WorkflowRole UserId AuthDNF)
|
||||
|
||||
WorkflowInitiator
|
||||
|
||||
@ -25,17 +25,21 @@ data WorkflowEdgePayload' = WEPText' | WEPBool'
|
||||
deriving (Eq, Ord, Enum, Show, Read, Data, Generic, Typeable)
|
||||
|
||||
type WorkflowEdgePayloadLabel = CI Text
|
||||
data WorkflowGraphEdge site = WGE
|
||||
data WorkflowGraphEdge fileid = WGE
|
||||
{ wgeActors :: () -- TODO
|
||||
, wgeTarget :: WorkflowGraphNode
|
||||
, wgeForm :: Map Text (WorkflowEdgePayload', FieldSettings site)
|
||||
, wgePayload :: Map WorkflowEdgePayloadLabel WorkflowEdgePayload
|
||||
, wgeForm :: Map WorkflowEdgePayloadLabel (NonNull (Set (WorkflowEdgePayloadSpecification fileid)))
|
||||
}
|
||||
data WorkflowEdgePayloadSpecification fileid = forall payload. (FromJSON payload, ToJSON payload) => WorkflowEdgePayloadSpecification (WorkflowEdgePayloadField payload fileid)
|
||||
data WorkflowEdgePayloadField (payload :: *) fileid where
|
||||
WorkflowEdgePayloadFieldText :: { wepftLabel :: Text, wepftPlaceholder :: Text, wepftTooltip :: Maybe Text, wepftDefault :: Maybe Text } -> WorkflowEdgePayloadField Text fileid
|
||||
WorkflowEdgePayloadFieldNumber :: HasResolution prec => { wepfnLabel :: Text, wepfnPlaceholder :: Text, wepfnTooltip :: Maybe Text, wepfnDefault :: Maybe prec } -> WorkflowEdgePayloadField (Fixed prec) fileid
|
||||
WorkflowEdgePayloadFieldFile :: { wepffLabel :: Text, wepffTooltip :: Maybe Text, wepffDefault :: Maybe fileid } -> WorkflowEdgePayloadField FileInfo fileid
|
||||
-- deriveJSON defaultOptions ''WorkflowGraphEdge
|
||||
|
||||
data WorkflowGraph site = WG
|
||||
data WorkflowGraph fileid = WG
|
||||
{ wgNodes :: Set WorkflowGraphNode
|
||||
, wgEdges :: Set (WorkflowGraphEdge site)
|
||||
, wgEdges :: Set (WorkflowGraphEdge fileid)
|
||||
}
|
||||
-- deriveJSON defaultOptions ''WorkflowGraph
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user