chore(workflows): more on types
This commit is contained in:
parent
857ab74525
commit
e1261761a2
@ -11,4 +11,5 @@ Workflow
|
||||
instance WorkflowInstance
|
||||
graph (WorkflowGraph UserId FileId)
|
||||
initiator UserId Maybe
|
||||
payload (WorkflowPayload FileId)
|
||||
payload (WorkflowPayload UserId FileId)
|
||||
currentNode WorkflowGraphNodeLabel Maybe
|
||||
|
||||
@ -6,6 +6,7 @@ import Model.Types.Security (AuthDNF)
|
||||
|
||||
import qualified Data.Set as Set (toList, fromList)
|
||||
import qualified Data.Map as Map
|
||||
import qualified Data.Sequence as Seq
|
||||
import Data.Scientific
|
||||
|
||||
import qualified Data.Aeson as JSON
|
||||
@ -14,7 +15,7 @@ import Data.Aeson.Types (Parser)
|
||||
|
||||
data WorkflowRole userid = WorkflowRoleUser userid
|
||||
| WorkflowRoleAuthorized AuthDNF
|
||||
| WorkflowRoleInitiator userid
|
||||
| WorkflowRoleInitiator
|
||||
deriving (Eq, Ord, Show, Read, Generic, Typeable)
|
||||
|
||||
|
||||
@ -30,7 +31,7 @@ data WorkflowGraphNode = WGN
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Data, Generic, Typeable)
|
||||
data WorkflowGraphNode' userid fileid = WGN'
|
||||
{ wgn'Node :: WorkflowGraphNode
|
||||
{ wgn'Status :: WorkflowGraphNodeStatus
|
||||
, wgn'Edges :: Set (WorkflowGraphEdge userid fileid)
|
||||
}
|
||||
deriving (Eq, Ord, Show, Generic, Typeable)
|
||||
@ -45,6 +46,13 @@ data WorkflowEdgePayload userid fileid (payload :: *) where
|
||||
WEPFile :: fileid -> WorkflowEdgePayload userid fileid fileid
|
||||
WEPUser :: userid -> WorkflowEdgePayload userid fileid userid
|
||||
|
||||
instance (Show userid, Show fileid) => Show (WorkflowEdgePayload userid fileid payload) where
|
||||
show (WEPText txt) = "WEPText " <> show txt
|
||||
show (WEPNumber num) = "WEPNumber " <> show num
|
||||
show (WEPBool b ) = "WEPBool " <> show b
|
||||
show (WEPFile fid) = "WEPFile " <> show fid
|
||||
show (WEPUser uid) = "WEPUser " <> show uid
|
||||
|
||||
data WorkflowEdgePayload' = WEPText' | WEPNumber' | WEPBool' | WEPFile' | WEPUser'
|
||||
deriving (Eq, Ord, Enum, Show, Read, Data, Generic, Typeable)
|
||||
|
||||
@ -57,11 +65,16 @@ data WorkflowEdgePayloadField fileid userid (payload :: *) where
|
||||
, wepftPlaceholder :: Text
|
||||
, wepftTooltip :: Maybe Text
|
||||
, wepftDefault :: Maybe Text
|
||||
, wepftOptional :: Maybe Bool
|
||||
} -> WorkflowEdgePayloadField fileid userid Text
|
||||
WorkflowEdgePayloadFieldNumber :: { wepfnLabel :: Text
|
||||
, wepfnPlaceholder :: Text
|
||||
, wepfnTooltip :: Maybe Text
|
||||
, wepfnDefault :: Maybe Scientific
|
||||
, wepfnMin :: Maybe Scientific
|
||||
, wepfnMax :: Maybe Scientific
|
||||
, wepfnStep :: Scientific
|
||||
, wepfnOptional :: Maybe Bool
|
||||
} -> WorkflowEdgePayloadField fileid userid Scientific
|
||||
WorkflowEdgePayloadFieldBool :: { wepfbLabel :: Text
|
||||
, wepfbTooltip :: Maybe Text
|
||||
@ -70,12 +83,15 @@ data WorkflowEdgePayloadField fileid userid (payload :: *) where
|
||||
WorkflowEdgePayloadFieldFile :: { wepffLabel :: Text
|
||||
, wepffTooltip :: Maybe Text
|
||||
, wepffDefault :: Maybe fileid
|
||||
, wepffOptional :: Maybe Bool
|
||||
} -> WorkflowEdgePayloadField fileid userid FileInfo
|
||||
WorkflowEdgePayloadFieldUser :: { wepfuLabel :: Text
|
||||
, wepfuTooltip :: Maybe Text
|
||||
, wepfuDefault :: Maybe userid
|
||||
, wepfuOptional :: Maybe Bool
|
||||
} -> WorkflowEdgePayloadField fileid userid userid
|
||||
|
||||
-- TODO
|
||||
instance (Show fileid, Show userid) => Show (WorkflowEdgePayloadField fileid userid payload) where
|
||||
show (WorkflowEdgePayloadFieldText{..} ) = show wepftLabel
|
||||
show (WorkflowEdgePayloadFieldNumber{..}) = show wepfnLabel
|
||||
@ -91,33 +107,33 @@ instance (Show fileid, Show userid) => Show (WorkflowEdgePayloadSpecification fi
|
||||
show (WorkflowEdgePayloadSpecification payloadField) = show payloadField
|
||||
|
||||
instance (Eq fileid, Eq userid) => Eq (WorkflowEdgePayloadSpecification fileid userid) where
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldText{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldText{}) = wepftLabel f1 == wepftLabel f2 && wepftPlaceholder f1 == wepftPlaceholder f2 && wepftTooltip f1 == wepftTooltip f2 && wepftDefault f1 == wepftDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldNumber{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldNumber{}) = wepfnLabel f1 == wepfnLabel f2 && wepfnPlaceholder f1 == wepfnPlaceholder f2 && wepfnTooltip f1 == wepfnTooltip f2 && wepfnDefault f1 == wepfnDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldText{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldText{}) = wepftLabel f1 == wepftLabel f2 && wepftPlaceholder f1 == wepftPlaceholder f2 && wepftTooltip f1 == wepftTooltip f2 && wepftDefault f1 == wepftDefault f2 && wepftOptional f1 == wepftOptional f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldNumber{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldNumber{}) = wepfnLabel f1 == wepfnLabel f2 && wepfnPlaceholder f1 == wepfnPlaceholder f2 && wepfnTooltip f1 == wepfnTooltip f2 && wepfnDefault f1 == wepfnDefault f2 && wepfnOptional f1 == wepfnOptional f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldBool{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldBool{}) = wepfbLabel f1 == wepfbLabel f2 && wepfbTooltip f1 == wepfbTooltip f2 && wepfbDefault f1 == wepfbDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldFile{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldFile{}) = wepffLabel f1 == wepffLabel f2 && wepffTooltip f1 == wepffTooltip f2 && wepffDefault f1 == wepffDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldUser{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldUser{}) = wepfuLabel f1 == wepfuLabel f2 && wepfuTooltip f1 == wepfuTooltip f2 && wepfuDefault f1 == wepfuDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldFile{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldFile{}) = wepffLabel f1 == wepffLabel f2 && wepffTooltip f1 == wepffTooltip f2 && wepffDefault f1 == wepffDefault f2 && wepffOptional f1 == wepffOptional f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldUser{}) == (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldUser{}) = wepfuLabel f1 == wepfuLabel f2 && wepfuTooltip f1 == wepfuTooltip f2 && wepfuDefault f1 == wepfuDefault f2 && wepfuOptional f1 == wepfuOptional f2
|
||||
_ == _ = False
|
||||
|
||||
instance (Ord fileid, Ord userid) => Ord (WorkflowEdgePayloadSpecification fileid userid) where
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldText{}) <= (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldText{}) = wepftLabel f1 <= wepftLabel f2 && wepftPlaceholder f1 <= wepftPlaceholder f2 && wepftTooltip f1 <= wepftTooltip f2 && wepftDefault f1 <= wepftDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldNumber{}) <= (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldNumber{}) = wepfnLabel f1 <= wepfnLabel f2 && wepfnPlaceholder f1 <= wepfnPlaceholder f2 && wepfnTooltip f1 <= wepfnTooltip f2 && wepfnDefault f1 <= wepfnDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldBool{}) <= (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldBool{}) = wepfbLabel f1 <= wepfbLabel f2 && wepfbTooltip f1 <= wepfbTooltip f2 && wepfbDefault f1 <= wepfbDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldFile{}) <= (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldFile{}) = wepffLabel f1 <= wepffLabel f2 && wepffTooltip f1 <= wepffTooltip f2 && wepffDefault f1 <= wepffDefault f2
|
||||
(WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldUser{}) <= (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldUser{}) = wepfuLabel f1 <= wepfuLabel f2 && wepfuTooltip f1 <= wepfuTooltip f2 && wepfuDefault f1 <= wepfuDefault f2
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{} ) <= _ = False
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) <= (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{}) = True
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) <= _ = False
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) <= (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{}) = True
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) <= (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) = True
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) <= _ = False
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) <= (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{}) = True
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) <= (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) = True
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) <= (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) = True
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) <= _ = False
|
||||
(WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldUser{}) <= _ = False
|
||||
compare (WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldText{}) (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldText{}) = mconcat [comparing wepftLabel, comparing wepftPlaceholder, comparing wepftTooltip, comparing wepftDefault, comparing wepftOptional] f1 f2
|
||||
compare (WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldNumber{}) (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldNumber{}) = mconcat [comparing wepfnLabel, comparing wepfnPlaceholder, comparing wepfnTooltip, comparing wepfnDefault, comparing wepfnMin, comparing wepfnMax, comparing wepfnStep, comparing wepfnOptional] f1 f2
|
||||
compare (WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldBool{}) (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldBool{}) = mconcat [comparing wepfbLabel, comparing wepfbTooltip, comparing wepfbDefault] f1 f2
|
||||
compare (WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldFile{}) (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldFile{}) = mconcat [comparing wepffLabel, comparing wepffTooltip, comparing wepffDefault, comparing wepffOptional] f1 f2
|
||||
compare (WorkflowEdgePayloadSpecification f1@WorkflowEdgePayloadFieldUser{}) (WorkflowEdgePayloadSpecification f2@WorkflowEdgePayloadFieldUser{}) = mconcat [comparing wepfuLabel, comparing wepfuTooltip, comparing wepfuDefault, comparing wepfuOptional] f1 f2
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{} ) _ = LT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{}) = GT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) _ = LT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{}) = GT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) = GT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) _ = LT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldText{}) = GT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{}) = GT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{}) = GT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldFile{}) _ = LT
|
||||
compare (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldUser{}) _ = LT
|
||||
|
||||
|
||||
data WorkflowPayload userid fileid = forall payload. Map WorkflowEdgePayloadLabel (WorkflowEdgePayload userid fileid payload)
|
||||
type WorkflowPayload userid fileid = forall payload. Map WorkflowEdgePayloadLabel (Seq (WorkflowEdgePayload userid fileid payload, Maybe userid, UTCTime))
|
||||
|
||||
|
||||
data WorkflowGraphEdge userid fileid = WGE
|
||||
@ -159,9 +175,8 @@ instance (ToJSON userid) => ToJSON (WorkflowRole userid) where
|
||||
[ "tag" JSON..= ("authorized" :: Text)
|
||||
, "authorized" JSON..= authDNF
|
||||
]
|
||||
toJSON (WorkflowRoleInitiator uid) = JSON.object
|
||||
toJSON WorkflowRoleInitiator = JSON.object
|
||||
[ "tag" JSON..= ("initiator" :: Text)
|
||||
, "initiator" JSON..= uid
|
||||
]
|
||||
instance (FromJSON userid) => FromJSON (WorkflowRole userid) where
|
||||
parseJSON = JSON.withObject "WorkflowRole" $ \o -> do
|
||||
@ -173,15 +188,13 @@ instance (FromJSON userid) => FromJSON (WorkflowRole userid) where
|
||||
"authorized" -> do
|
||||
adnf <- o JSON..: "authorized"
|
||||
return $ WorkflowRoleAuthorized adnf
|
||||
"initiator" -> do
|
||||
iid <- o JSON..: "initiator"
|
||||
return $ WorkflowRoleInitiator iid
|
||||
"initiator" -> return $ WorkflowRoleInitiator
|
||||
_ -> terror $ "WorkflowRole parseJSON error: expected role (user|authorized|initiator), but got " <> fieldTag
|
||||
|
||||
instance (ToJSON userid, ToJSON fileid, Ord userid) => ToJSON (WorkflowGraph userid fileid) where
|
||||
toJSON WorkflowGraph{..} = JSON.object
|
||||
[ "tag" JSON..= ("workflow" :: Text)
|
||||
, "nodes" JSON..= Map.map (\(wgn'Node,wgn'Edges) -> WGN'{..}) wgNodes
|
||||
, "nodes" JSON..= Map.map (\(WGN{..},wgn'Edges) -> WGN'{wgn'Status=wgnStatus,wgn'Edges=wgn'Edges}) wgNodes
|
||||
]
|
||||
instance (FromJSON userid, FromJSON fileid, Ord userid, Ord fileid) => FromJSON (WorkflowGraph userid fileid) where
|
||||
parseJSON = JSON.withObject "WorkflowGraph" $ \o -> do
|
||||
@ -189,7 +202,7 @@ instance (FromJSON userid, FromJSON fileid, Ord userid, Ord fileid) => FromJSON
|
||||
case fieldTag of
|
||||
"workflow" -> do
|
||||
wgNodes' <- (o JSON..: "nodes" :: Parser (Map WorkflowGraphNodeLabel (WorkflowGraphNode' userid fileid)))
|
||||
let wgNodes = Map.map (\WGN'{..} -> (wgn'Node, wgn'Edges)) wgNodes'
|
||||
let wgNodes = Map.map (\WGN'{..} -> (WGN{wgnStatus=wgn'Status}, wgn'Edges)) wgNodes'
|
||||
return WorkflowGraph{..}
|
||||
_ -> terror $ "WorkflowGraph parseJSON error: expected tag workflow, but got " <> fieldTag
|
||||
|
||||
@ -220,6 +233,9 @@ instance (ToJSON fileid, ToJSON userid) => ToJSON (WorkflowEdgePayloadSpecificat
|
||||
, "placeholder" JSON..= wepfnPlaceholder
|
||||
, "tooltip" JSON..= wepfnTooltip
|
||||
, "default" JSON..= wepfnDefault
|
||||
, "min" JSON..= wepfnMin
|
||||
, "max" JSON..= wepfnMax
|
||||
, "step" JSON..= wepfnStep
|
||||
]
|
||||
toJSON (WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldBool{..}) = JSON.object
|
||||
[ "tag" JSON..= ("bool" :: Text)
|
||||
@ -254,6 +270,9 @@ instance (FromJSON fileid, FromJSON userid) => FromJSON (WorkflowEdgePayloadSpec
|
||||
wepfnPlaceholder <- o JSON..: "placeholder"
|
||||
wepfnTooltip <- o JSON..:? "tooltip"
|
||||
wepfnDefault <- (o JSON..:? "default" :: Parser (Maybe Scientific))
|
||||
wepfnMin <- o JSON..:? "min"
|
||||
wepfnMax <- o JSON..:? "max"
|
||||
wepfnStep <- o JSON..: "step"
|
||||
return $ WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldNumber{..}
|
||||
"bool" -> do
|
||||
wepfbLabel <- o JSON..: "label"
|
||||
@ -272,19 +291,19 @@ instance (FromJSON fileid, FromJSON userid) => FromJSON (WorkflowEdgePayloadSpec
|
||||
return $ WorkflowEdgePayloadSpecification WorkflowEdgePayloadFieldUser{..}
|
||||
_ -> terror $ "WorkflowEdgePayloadSpecification parseJSON error: expected field tag (text|number|bool|file|user), but got " <> fieldTag
|
||||
|
||||
instance ToJSON WorkflowGraphNode where
|
||||
toJSON WGN{..} = JSON.object
|
||||
[ "tag" JSON..= ("node" :: Text)
|
||||
, "status" JSON..= wgnStatus
|
||||
]
|
||||
instance FromJSON WorkflowGraphNode where
|
||||
parseJSON = JSON.withObject "WorkflowGraphNode" $ \o -> do
|
||||
fieldTag <- o JSON..: "tag"
|
||||
case fieldTag of
|
||||
"node" -> do
|
||||
wgnStatus <- o JSON..: "status"
|
||||
return WGN{..}
|
||||
_ -> terror $ "WorkflowGraphNode parseJSON error: expected tag node, but got " <> fieldTag
|
||||
--instance ToJSON WorkflowGraphNode where
|
||||
-- toJSON WGN{..} = JSON.object
|
||||
-- [ "tag" JSON..= ("node" :: Text)
|
||||
-- , "status" JSON..= wgnStatus
|
||||
-- ]
|
||||
--instance FromJSON WorkflowGraphNode where
|
||||
-- parseJSON = JSON.withObject "WorkflowGraphNode" $ \o -> do
|
||||
-- fieldTag <- o JSON..: "tag"
|
||||
-- case fieldTag of
|
||||
-- "node" -> do
|
||||
-- wgnStatus <- o JSON..: "status"
|
||||
-- return WGN{..}
|
||||
-- _ -> terror $ "WorkflowGraphNode parseJSON error: expected tag node, but got " <> fieldTag
|
||||
|
||||
deriveJSON defaultOptions
|
||||
{ fieldLabelModifier = camelToPathPiece' 1
|
||||
@ -292,16 +311,19 @@ deriveJSON defaultOptions
|
||||
|
||||
instance (ToJSON userid, ToJSON fileid, Ord userid) => ToJSON (WorkflowGraphNode' userid fileid) where
|
||||
toJSON WGN'{..} = JSON.object
|
||||
[ "node" JSON..= wgn'Node
|
||||
, "edges" JSON..= wgn'Edges
|
||||
[ "status" JSON..= wgn'Status
|
||||
, "edges" JSON..= wgn'Edges
|
||||
]
|
||||
instance (FromJSON userid, FromJSON fileid, Ord userid, Ord fileid) => FromJSON (WorkflowGraphNode' userid fileid) where
|
||||
parseJSON = JSON.withObject "WorkflowGraphNode'" $ \o -> do
|
||||
wgn'Node <- o JSON..: "node"
|
||||
wgn'Edges <- o JSON..: "edges"
|
||||
wgn'Status <- o JSON..: "status"
|
||||
wgn'Edges <- o JSON..: "edges"
|
||||
return WGN'{..}
|
||||
|
||||
|
||||
testGraph :: WorkflowGraph Text Text
|
||||
testGraph = WorkflowGraph $ Map.fromList [("node1", (WGN (WGNS "id" True (Just "someLabel")), Set.fromList [WGE (Set.fromList [WorkflowRoleUser "user-id", WorkflowRoleInitiator "init-user-id"]) "node1" (Map.fromList [("sometext", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldText "text-label" "text-placeholder" (Just "text-tooltip") (Just "text-default")]),("someuser", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldUser "user-label" Nothing Nothing]),("someboolandnumber", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldBool "bool-label" Nothing (Just True), WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldNumber "number-label" "number-placeholder" Nothing (Just 0.01)])])]))]
|
||||
--testGraph = WorkflowGraph $ Map.fromList [("node1", (WGN (WGNS "id" True (Just "someLabel")), Set.fromList [WGE (Set.fromList [WorkflowRoleUser "user-id", WorkflowRoleInitiator "init-user-id"]) "node1" (Map.fromList [("sometext", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldText "text-label" "text-placeholder" (Just "text-tooltip") (Just "text-default")]),("someuser", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldUser "user-label" Nothing Nothing]),("somebool", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldBool "bool-label" Nothing (Just True)])])]))]
|
||||
testGraph = WorkflowGraph $ Map.fromList [("node1", (WGN (WGNS "id" True (Just "someLabel")), Set.fromList [WGE (Set.fromList [WorkflowRoleUser "user-id", WorkflowRoleInitiator]) "node1" (Map.fromList [("sometext", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldText "text-label" "text-placeholder" (Just "text-tooltip") (Just "text-default") Nothing]),("someuser", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldUser "user-label" Nothing Nothing Nothing]),("someboolandnumber-opt", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldBool "bool-label" Nothing (Just True), WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldNumber "number-label" "number-placeholder" Nothing Nothing (Just 1) (Just 5) 0.01 (Just True)])])]))]
|
||||
--testGraph = WorkflowGraph $ Map.fromList [("node1", (WGN (WGNS "id" True (Just "someLabel")), Set.fromList [WGE (Set.fromList [WorkflowRoleUser "user-id", WorkflowRoleInitiator]) "node1" (Map.fromList [("sometext", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldText "text-label" "text-placeholder" (Just "text-tooltip") (Just "text-default")]),("someuser", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldUser "user-label" Nothing Nothing]),("somebool", impureNonNull $ Set.fromList [WorkflowEdgePayloadSpecification $ WorkflowEdgePayloadFieldBool "bool-label" Nothing (Just True)])])]))]
|
||||
|
||||
--testPayload :: WorkflowPayload Text Text
|
||||
testPayload = Map.fromList [("edge-payload-label", (Seq.singleton (WEPText "hello world!"), Nothing, UTCTime (ModifiedJulianDay 58946) 57250))]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user