diff --git a/src/Model/Types/Workflow.hs b/src/Model/Types/Workflow.hs index fabbab13b..3fa5421da 100644 --- a/src/Model/Types/Workflow.hs +++ b/src/Model/Types/Workflow.hs @@ -196,9 +196,13 @@ data WorkflowPayload' = WorkflowPayload' , wpActor :: Maybe Int64 -- UserId , wpActionTime :: UTCTime } + deriving Show data WorkflowFieldPayload = forall payload. WorkflowFieldPayload (WorkflowFieldPayload' payload) +instance (Show fileid, Show userid) => Show (WorkflowFieldPayloadW fileid userid) where + show (WorkflowFieldPayloadW payload) = show payload + data WorkflowFieldPayload fileid userid (payload :: Type) where WFPText :: Text -> WorkflowFieldPayload fileid userid Text WFPNumber :: Scientific -> WorkflowFieldPayload fileid userid Scientific @@ -512,4 +516,8 @@ testGraph = WorkflowGraph $ Map.fromList [("node1", WGN (Just "someLabel") True testGraphStr :: Data.ByteString.Lazy.Internal.ByteString testGraphStr = "{\"nodes\":{\"node1\":{\"display-label\":\"node-label\",\"finished\":true,\"edges\":[{\"actors\":[{\"tag\":\"initiator\"},{\"tag\":\"user\",\"user\":\"user-id\"},{\"tag\":\"authorized\",\"authorized\":{\"dnf\":{\"dnfTerms\":[[{\"plVar\":\"lecturer\",\"val\":\"variable\"},{\"plVar\":\"participant\",\"val\":\"negated\"}]]}}}],\"form\":{\"some-number\":[{\"tag\":\"number\",\"step\":0.01,\"label\":\"number-label\",\"placeholder\":\"number-placeholder\"}]},\"target\":\"node1\"}]}}}" -testPayload = Map.fromList [("sometext" :: WorkflowPayloadLabel, Seq.singleton (WorkflowPayload' (Map.fromList [("text-label", WorkflowFieldPayloadW $ WFPText "hello world!")]) (Just "actor-user-id" :: Maybe Text) (UTCTime (ModifiedJulianDay 58946) 57250)))] +testPayload :: WorkflowPayload Text Text +testPayload = Map.fromList [("sometext" :: WorkflowPayloadLabel, Seq.singleton (WorkflowPayload' (Map.fromList [("text-label", WorkflowFieldPayloadW $ WFPText "hello world!"),("file-label", WorkflowFieldPayloadW $ WFPFile "fid"),("user-label", WorkflowFieldPayloadW $ WFPUser "uid")]) (Just "actor-user-id" :: Maybe Text) (UTCTime (ModifiedJulianDay 58946) 57250)))] + +testPayloadStr :: Data.ByteString.Lazy.Internal.ByteString +testPayloadStr = "{\"sometext\":[{\"action-time\":\"2020-04-07T15:54:10Z\",\"actor\":\"actor-user-id\",\"payload\":{\"user-label\":{\"tag\":\"user\",\"user\":\"uid\"},\"file-label\":{\"file\":\"fid\",\"tag\":\"file\"},\"text-label\":{\"text\":\"hello world!\",\"tag\":\"text\"}}}]}"