feat(workflows): new field CaptureDateTime
This commit is contained in:
parent
df073ef794
commit
5944a174bc
@ -75,6 +75,10 @@ WorkflowEdgeFormFieldUserNotFound: E-Mail Adresse konnte keinem/keiner Benutzer:
|
|||||||
WorkflowEdgeFormFieldMultipleNoneAdded: (Noch) keine Einträge
|
WorkflowEdgeFormFieldMultipleNoneAdded: (Noch) keine Einträge
|
||||||
WorkflowEdgeFormFieldCaptureUserLabel: Aktuelle:r Benutzer:in
|
WorkflowEdgeFormFieldCaptureUserLabel: Aktuelle:r Benutzer:in
|
||||||
|
|
||||||
|
WorkflowEdgeFormFieldCaptureDateLabel: Aktuelles Datum
|
||||||
|
WorkflowEdgeFormFieldCaptureTimeLabel: Aktuelle Uhrzeit
|
||||||
|
WorkflowEdgeFormFieldCaptureDateTimeLabel: Aktuelles Datum/Zeit
|
||||||
|
|
||||||
WorkflowWorkflowWorkflowHistoryHeading: Verlauf
|
WorkflowWorkflowWorkflowHistoryHeading: Verlauf
|
||||||
WorkflowWorkflowWorkflowEdgeFormHeading: Aktion im Workflow auslösen
|
WorkflowWorkflowWorkflowEdgeFormHeading: Aktion im Workflow auslösen
|
||||||
WorkflowWorkflowWorkflowEdgeSuccess: Aktion erfolgreich ausgelöst
|
WorkflowWorkflowWorkflowEdgeSuccess: Aktion erfolgreich ausgelöst
|
||||||
|
|||||||
@ -34,6 +34,10 @@ WorkflowEdgeFormFieldUserNotFound: Email could not be resolved to an user
|
|||||||
WorkflowEdgeFormFieldMultipleNoneAdded: No entries (yet)
|
WorkflowEdgeFormFieldMultipleNoneAdded: No entries (yet)
|
||||||
WorkflowEdgeFormFieldCaptureUserLabel: Current user
|
WorkflowEdgeFormFieldCaptureUserLabel: Current user
|
||||||
|
|
||||||
|
WorkflowEdgeFormFieldCaptureDateLabel: Current date
|
||||||
|
WorkflowEdgeFormFieldCaptureTimeLabel: Current time
|
||||||
|
WorkflowEdgeFormFieldCaptureDateTimeLabel: Current date/time
|
||||||
|
|
||||||
WorkflowWorkflowWorkflowHistoryHeading: History
|
WorkflowWorkflowWorkflowHistoryHeading: History
|
||||||
WorkflowWorkflowWorkflowEdgeFormHeading: Trigger action within workflow
|
WorkflowWorkflowWorkflowEdgeFormHeading: Trigger action within workflow
|
||||||
WorkflowWorkflowWorkflowEdgeSuccess: Successfully triggered action
|
WorkflowWorkflowWorkflowEdgeSuccess: Successfully triggered action
|
||||||
@ -137,4 +141,4 @@ YAMLFieldDecodeFailure yamlFailure: Could not parse YAML: #{yamlFailure}
|
|||||||
|
|
||||||
WGFTextInput: Text field
|
WGFTextInput: Text field
|
||||||
WGFFileUpload: File field
|
WGFFileUpload: File field
|
||||||
WorkflowWorkflowListPersons: Involved users
|
WorkflowWorkflowListPersons: Involved users
|
||||||
|
|||||||
@ -12,6 +12,7 @@ import Handler.Utils.Form
|
|||||||
import Handler.Utils.Workflow.CanonicalRoute
|
import Handler.Utils.Workflow.CanonicalRoute
|
||||||
import Handler.Utils.Widgets
|
import Handler.Utils.Widgets
|
||||||
import Handler.Utils.Workflow.Restriction
|
import Handler.Utils.Workflow.Restriction
|
||||||
|
import Handler.Utils.DateTime
|
||||||
|
|
||||||
import qualified ListT
|
import qualified ListT
|
||||||
|
|
||||||
@ -312,6 +313,17 @@ workflowEdgePayloadFields specs = evalRWST (forM specs $ runExceptT . renderSpec
|
|||||||
wSetTooltip' :: _ => Maybe Html -> t' (t (MForm (WriterT [FieldView UniWorX] Handler))) a -> t' (t (MForm (WriterT [FieldView UniWorX] Handler))) a
|
wSetTooltip' :: _ => Maybe Html -> t' (t (MForm (WriterT [FieldView UniWorX] Handler))) a -> t' (t (MForm (WriterT [FieldView UniWorX] Handler))) a
|
||||||
wSetTooltip' tip = hoist (hoist (wSetTooltip tip))
|
wSetTooltip' tip = hoist (hoist (wSetTooltip tip))
|
||||||
|
|
||||||
|
delTyp :: forall m.
|
||||||
|
( MonadState [WorkflowFieldPayloadW FileReference UserId] m
|
||||||
|
, IsWorkflowFieldPayload FileReference FileReference UserId UserId payload payload
|
||||||
|
) => m ()
|
||||||
|
delTyp = State.modify $ \xs' ->
|
||||||
|
let go [] = []
|
||||||
|
go (x:xs) | is (_WorkflowFieldPayloadW @payload) x = xs
|
||||||
|
| otherwise = x : go xs
|
||||||
|
in go xs'
|
||||||
|
|
||||||
|
|
||||||
MsgRenderer mr <- getMsgRenderer
|
MsgRenderer mr <- getMsgRenderer
|
||||||
LanguageSelectI18n{..} <- getLanguageSelectI18n
|
LanguageSelectI18n{..} <- getLanguageSelectI18n
|
||||||
mNudge <- ask
|
mNudge <- ask
|
||||||
@ -411,6 +423,38 @@ workflowEdgePayloadFields specs = evalRWST (forM specs $ runExceptT . renderSpec
|
|||||||
}
|
}
|
||||||
(True, FormSuccess . Just . (:| []) $ _WorkflowFieldPayloadW . _WorkflowFieldPayload # uid) <$ tell (All True)
|
(True, FormSuccess . Just . (:| []) $ _WorkflowFieldPayloadW . _WorkflowFieldPayload # uid) <$ tell (All True)
|
||||||
Nothing -> (False, FormMissing) <$ tell (All False)
|
Nothing -> (False, FormMissing) <$ tell (All False)
|
||||||
|
WorkflowPayloadFieldCaptureDateTime{..} -> do
|
||||||
|
let
|
||||||
|
cLabel = case wpfcdtPrecision of
|
||||||
|
WFCaptureDate -> MsgWorkflowEdgeFormFieldCaptureDateLabel
|
||||||
|
WFCaptureTime -> MsgWorkflowEdgeFormFieldCaptureTimeLabel
|
||||||
|
WFCaptureDateTime -> MsgWorkflowEdgeFormFieldCaptureDateTimeLabel
|
||||||
|
|
||||||
|
fvId <- newIdent
|
||||||
|
lift . lift . lift . tell $ pure FieldView
|
||||||
|
{ fvLabel = Blaze.toMarkup $ slI18n wpfcdtLabel
|
||||||
|
, fvTooltip = slI18n <$> wpfcdtTooltip
|
||||||
|
, fvId
|
||||||
|
, fvInput = [whamlet|
|
||||||
|
$newline never
|
||||||
|
<span ##{fvId} .explanation>
|
||||||
|
_{cLabel}
|
||||||
|
|]
|
||||||
|
, fvErrors = Nothing
|
||||||
|
, fvRequired = False
|
||||||
|
}
|
||||||
|
|
||||||
|
t <- liftIO getCurrentTime
|
||||||
|
case wpfcdtPrecision of
|
||||||
|
WFCaptureDate -> do
|
||||||
|
delTyp
|
||||||
|
(True, FormSuccess . Just . (:| []) . review (_WorkflowFieldPayloadW . _WorkflowFieldPayload) . localDay $ utcToLocalTime t) <$ tell (All True)
|
||||||
|
WFCaptureTime -> do
|
||||||
|
delTyp
|
||||||
|
(True, FormSuccess . Just . (:| []) . review (_WorkflowFieldPayloadW . _WorkflowFieldPayload) . localTimeOfDay $ utcToLocalTime t) <$ tell (All True)
|
||||||
|
WFCaptureDateTime -> do
|
||||||
|
delTyp
|
||||||
|
(True, FormSuccess . Just $ (_WorkflowFieldPayloadW . _WorkflowFieldPayload # t) :| []) <$ tell (All True)
|
||||||
WorkflowPayloadFieldReference{..} -> throwE wpfrTarget
|
WorkflowPayloadFieldReference{..} -> throwE wpfrTarget
|
||||||
WorkflowPayloadFieldMultiple{..} -> do
|
WorkflowPayloadFieldMultiple{..} -> do
|
||||||
fRefs <- nonEmpty <$> State.state (maybe (, []) (splitAt . fromIntegral) $ (+ wpfmMin) <$> wpfmRange)
|
fRefs <- nonEmpty <$> State.state (maybe (, []) (splitAt . fromIntegral) $ (+ wpfmMin) <$> wpfmRange)
|
||||||
|
|||||||
@ -476,6 +476,8 @@ workflowWorkflowList (title, heading) WWListColumns{..} sqlPred = do
|
|||||||
WorkflowFieldPayloadW (WFPNumber n ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPNumber n)
|
WorkflowFieldPayloadW (WFPNumber n ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPNumber n)
|
||||||
WorkflowFieldPayloadW (WFPBool b ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPBool b)
|
WorkflowFieldPayloadW (WFPBool b ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPBool b)
|
||||||
WorkflowFieldPayloadW (WFPDay d ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPDay d)
|
WorkflowFieldPayloadW (WFPDay d ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPDay d)
|
||||||
|
WorkflowFieldPayloadW (WFPTime t ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPTime t)
|
||||||
|
WorkflowFieldPayloadW (WFPDateTime t) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPDateTime t)
|
||||||
WorkflowFieldPayloadW (WFPFile _ ) -> tell (mempty, Any True)
|
WorkflowFieldPayloadW (WFPFile _ ) -> tell (mempty, Any True)
|
||||||
WorkflowFieldPayloadW (WFPUser uid) -> tell . (, mempty) . pure . review (_WorkflowFieldPayloadW . _WorkflowFieldPayload) . toJsonUser =<< lift (lift . lift $ getEntity uid)
|
WorkflowFieldPayloadW (WFPUser uid) -> tell . (, mempty) . pure . review (_WorkflowFieldPayloadW . _WorkflowFieldPayload) . toJsonUser =<< lift (lift . lift $ getEntity uid)
|
||||||
|
|
||||||
|
|||||||
@ -183,6 +183,8 @@ workflowR rScope cID = do
|
|||||||
WorkflowFieldPayloadW (WFPNumber n ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPNumber n)
|
WorkflowFieldPayloadW (WFPNumber n ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPNumber n)
|
||||||
WorkflowFieldPayloadW (WFPBool b ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPBool b)
|
WorkflowFieldPayloadW (WFPBool b ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPBool b)
|
||||||
WorkflowFieldPayloadW (WFPDay d ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPDay d)
|
WorkflowFieldPayloadW (WFPDay d ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPDay d)
|
||||||
|
WorkflowFieldPayloadW (WFPTime t ) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPTime t)
|
||||||
|
WorkflowFieldPayloadW (WFPDateTime t) -> tell . (, mempty) . pure $ WorkflowFieldPayloadW (WFPDateTime t)
|
||||||
WorkflowFieldPayloadW (WFPFile _ ) -> tell (mempty, Any True)
|
WorkflowFieldPayloadW (WFPFile _ ) -> tell (mempty, Any True)
|
||||||
WorkflowFieldPayloadW (WFPUser uid) -> tell . (, mempty) . pure . review (_WorkflowFieldPayloadW . _WorkflowFieldPayload) =<< lift (lift . lift $ getEntity uid)
|
WorkflowFieldPayloadW (WFPUser uid) -> tell . (, mempty) . pure . review (_WorkflowFieldPayloadW . _WorkflowFieldPayload) =<< lift (lift . lift $ getEntity uid)
|
||||||
|
|
||||||
@ -243,13 +245,15 @@ workflowR rScope cID = do
|
|||||||
<p .workflow-payload--text>
|
<p .workflow-payload--text>
|
||||||
#{t}
|
#{t}
|
||||||
|]
|
|]
|
||||||
WorkflowFieldPayloadW (WFPNumber n ) -> toWidget . toMarkup $ formatScientific Scientific.Fixed Nothing n
|
WorkflowFieldPayloadW (WFPNumber n ) -> toWidget . toMarkup $ formatScientific Scientific.Fixed Nothing n
|
||||||
WorkflowFieldPayloadW (WFPBool b ) -> i18n $ WorkflowPayloadBool b
|
WorkflowFieldPayloadW (WFPBool b ) -> i18n $ WorkflowPayloadBool b
|
||||||
WorkflowFieldPayloadW (WFPDay d ) -> formatTimeW SelFormatDate d
|
WorkflowFieldPayloadW (WFPDay d ) -> formatTimeW SelFormatDate d
|
||||||
WorkflowFieldPayloadW (WFPUser mUserEnt) -> case mUserEnt of
|
WorkflowFieldPayloadW (WFPTime t ) -> formatTimeW SelFormatTime t
|
||||||
|
WorkflowFieldPayloadW (WFPDateTime t ) -> formatTimeW SelFormatDateTime t
|
||||||
|
WorkflowFieldPayloadW (WFPUser mUserEnt) -> case mUserEnt of
|
||||||
Nothing -> i18n MsgWorkflowPayloadUserGone
|
Nothing -> i18n MsgWorkflowPayloadUserGone
|
||||||
Just (Entity _ User{..}) -> nameWidget userDisplayName userSurname
|
Just (Entity _ User{..}) -> nameWidget userDisplayName userSurname
|
||||||
WorkflowFieldPayloadW (WFPFile v ) -> absurd v
|
WorkflowFieldPayloadW (WFPFile v ) -> absurd v
|
||||||
$(widgetFile "workflows/workflow")
|
$(widgetFile "workflows/workflow")
|
||||||
|
|
||||||
getWorkflowFilesR :: RouteWorkflowScope
|
getWorkflowFilesR :: RouteWorkflowScope
|
||||||
|
|||||||
@ -16,6 +16,7 @@ module Model.Types.Workflow
|
|||||||
, WorkflowPayloadView(..)
|
, WorkflowPayloadView(..)
|
||||||
, WorkflowPayloadSpec(..), _WorkflowPayloadSpec
|
, WorkflowPayloadSpec(..), _WorkflowPayloadSpec
|
||||||
, WorkflowPayloadFieldReference
|
, WorkflowPayloadFieldReference
|
||||||
|
, WorkflowPayloadTimeCapturePrecision(..)
|
||||||
, WorkflowPayloadField(..)
|
, WorkflowPayloadField(..)
|
||||||
, WorkflowScope(..)
|
, WorkflowScope(..)
|
||||||
, WorkflowScope'(..), classifyWorkflowScope
|
, WorkflowScope'(..), classifyWorkflowScope
|
||||||
@ -244,6 +245,13 @@ instance (NFData fileid, NFData userid, NFData (FileField fileid)) => NFData (Wo
|
|||||||
data WorkflowPayloadFieldReference
|
data WorkflowPayloadFieldReference
|
||||||
deriving (Typeable)
|
deriving (Typeable)
|
||||||
|
|
||||||
|
data WorkflowPayloadTimeCapturePrecision
|
||||||
|
= WFCaptureDate | WFCaptureTime | WFCaptureDateTime
|
||||||
|
deriving (Eq, Ord, Read, Show, Enum, Bounded, Generic, Typeable)
|
||||||
|
deriving anyclass (Universe, Finite, NFData)
|
||||||
|
instance Default WorkflowPayloadTimeCapturePrecision where
|
||||||
|
def = WFCaptureDateTime
|
||||||
|
|
||||||
-- Don't forget to update the NFData instance for every change!
|
-- Don't forget to update the NFData instance for every change!
|
||||||
data WorkflowPayloadField fileid userid (payload :: Type) where
|
data WorkflowPayloadField fileid userid (payload :: Type) where
|
||||||
WorkflowPayloadFieldText :: { wpftLabel :: I18nText
|
WorkflowPayloadFieldText :: { wpftLabel :: I18nText
|
||||||
@ -283,6 +291,10 @@ data WorkflowPayloadField fileid userid (payload :: Type) where
|
|||||||
, wpfuOptional :: Bool
|
, wpfuOptional :: Bool
|
||||||
} -> WorkflowPayloadField fileid userid userid
|
} -> WorkflowPayloadField fileid userid userid
|
||||||
WorkflowPayloadFieldCaptureUser :: WorkflowPayloadField fileid userid userid
|
WorkflowPayloadFieldCaptureUser :: WorkflowPayloadField fileid userid userid
|
||||||
|
WorkflowPayloadFieldCaptureDateTime :: { wpfcdtPrecision :: WorkflowPayloadTimeCapturePrecision
|
||||||
|
, wpfcdtLabel :: I18nText
|
||||||
|
, wpfcdtTooltip :: Maybe I18nHtml
|
||||||
|
} -> WorkflowPayloadField fileid userid userid
|
||||||
WorkflowPayloadFieldReference :: { wpfrTarget :: WorkflowPayloadLabel
|
WorkflowPayloadFieldReference :: { wpfrTarget :: WorkflowPayloadLabel
|
||||||
} -> WorkflowPayloadField fileid userid WorkflowPayloadFieldReference
|
} -> WorkflowPayloadField fileid userid WorkflowPayloadFieldReference
|
||||||
WorkflowPayloadFieldMultiple :: { wpfmLabel :: I18nText
|
WorkflowPayloadFieldMultiple :: { wpfmLabel :: I18nText
|
||||||
@ -337,6 +349,14 @@ instance (Ord fileid, Ord userid, Typeable fileid, Typeable userid, Ord (FileFie
|
|||||||
(WorkflowPayloadFieldCaptureUser{}, WorkflowPayloadFieldFile{}) -> GT
|
(WorkflowPayloadFieldCaptureUser{}, WorkflowPayloadFieldFile{}) -> GT
|
||||||
(WorkflowPayloadFieldCaptureUser{}, WorkflowPayloadFieldUser{}) -> GT
|
(WorkflowPayloadFieldCaptureUser{}, WorkflowPayloadFieldUser{}) -> GT
|
||||||
(WorkflowPayloadFieldCaptureUser{}, _) -> LT
|
(WorkflowPayloadFieldCaptureUser{}, _) -> LT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldText{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldNumber{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldBool{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldDay{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldFile{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldUser{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, WorkflowPayloadFieldCaptureUser{}) -> GT
|
||||||
|
(WorkflowPayloadFieldCaptureDateTime{}, _) -> LT
|
||||||
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldText{}) -> GT
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldText{}) -> GT
|
||||||
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldNumber{}) -> GT
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldNumber{}) -> GT
|
||||||
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldBool{}) -> GT
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldBool{}) -> GT
|
||||||
@ -344,6 +364,7 @@ instance (Ord fileid, Ord userid, Typeable fileid, Typeable userid, Ord (FileFie
|
|||||||
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldFile{}) -> GT
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldFile{}) -> GT
|
||||||
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldUser{}) -> GT
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldUser{}) -> GT
|
||||||
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldCaptureUser{}) -> GT
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldCaptureUser{}) -> GT
|
||||||
|
(WorkflowPayloadFieldReference{}, WorkflowPayloadFieldCaptureDateTime{}) -> GT
|
||||||
(WorkflowPayloadFieldReference{}, _) -> LT
|
(WorkflowPayloadFieldReference{}, _) -> LT
|
||||||
(WorkflowPayloadFieldMultiple{}, _) -> GT
|
(WorkflowPayloadFieldMultiple{}, _) -> GT
|
||||||
|
|
||||||
@ -356,6 +377,7 @@ instance (NFData fileid, NFData userid, NFData (FileField fileid)) => NFData (Wo
|
|||||||
WorkflowPayloadFieldFile{..} -> wpffLabel `deepseq` wpffTooltip `deepseq` wpffConfig `deepseq` wpffOptional `deepseq` ()
|
WorkflowPayloadFieldFile{..} -> wpffLabel `deepseq` wpffTooltip `deepseq` wpffConfig `deepseq` wpffOptional `deepseq` ()
|
||||||
WorkflowPayloadFieldUser{..} -> wpfuLabel `deepseq` wpfuTooltip `deepseq` wpfuDefault `deepseq` wpfuOptional `deepseq` ()
|
WorkflowPayloadFieldUser{..} -> wpfuLabel `deepseq` wpfuTooltip `deepseq` wpfuDefault `deepseq` wpfuOptional `deepseq` ()
|
||||||
WorkflowPayloadFieldCaptureUser -> ()
|
WorkflowPayloadFieldCaptureUser -> ()
|
||||||
|
WorkflowPayloadFieldCaptureDateTime{..} -> wpfcdtPrecision `deepseq` wpfcdtLabel `deepseq` wpfcdtTooltip `deepseq` ()
|
||||||
WorkflowPayloadFieldReference{..} -> wpfrTarget `deepseq` ()
|
WorkflowPayloadFieldReference{..} -> wpfrTarget `deepseq` ()
|
||||||
WorkflowPayloadFieldMultiple{..} -> wpfmLabel `deepseq` wpfmTooltip `deepseq` wpfmDefault `deepseq` wpfmSub `deepseq` wpfmMin `deepseq` wpfmRange `deepseq` ()
|
WorkflowPayloadFieldMultiple{..} -> wpfmLabel `deepseq` wpfmTooltip `deepseq` wpfmDefault `deepseq` wpfmSub `deepseq` wpfmMin `deepseq` wpfmRange `deepseq` ()
|
||||||
|
|
||||||
@ -364,7 +386,7 @@ _WorkflowPayloadSpec :: forall payload fileid userid.
|
|||||||
=> Prism' (WorkflowPayloadSpec fileid userid) (WorkflowPayloadField fileid userid payload)
|
=> Prism' (WorkflowPayloadSpec fileid userid) (WorkflowPayloadField fileid userid payload)
|
||||||
_WorkflowPayloadSpec = prism' WorkflowPayloadSpec $ \(WorkflowPayloadSpec pF) -> cast pF
|
_WorkflowPayloadSpec = prism' WorkflowPayloadSpec $ \(WorkflowPayloadSpec pF) -> cast pF
|
||||||
|
|
||||||
data WorkflowPayloadField' = WPFText' | WPFNumber' | WPFBool' | WPFDay' | WPFFile' | WPFUser' | WPFCaptureUser' | WPFReference' | WPFMultiple'
|
data WorkflowPayloadField' = WPFText' | WPFNumber' | WPFBool' | WPFDay' | WPFFile' | WPFUser' | WPFCaptureUser' | WPFCaptureDateTime' | WPFReference' | WPFMultiple'
|
||||||
deriving (Eq, Ord, Enum, Bounded, Show, Read, Data, Generic, Typeable)
|
deriving (Eq, Ord, Enum, Bounded, Show, Read, Data, Generic, Typeable)
|
||||||
deriving anyclass (Universe, Finite, NFData)
|
deriving anyclass (Universe, Finite, NFData)
|
||||||
|
|
||||||
@ -478,10 +500,23 @@ instance (Ord fileid, Ord userid, Typeable fileid, Typeable userid) => Ord (Work
|
|||||||
(WFPDay{}, WFPNumber{}) -> GT
|
(WFPDay{}, WFPNumber{}) -> GT
|
||||||
(WFPDay{}, WFPBool{}) -> GT
|
(WFPDay{}, WFPBool{}) -> GT
|
||||||
(WFPDay{}, _) -> LT
|
(WFPDay{}, _) -> LT
|
||||||
|
(WFPTime{}, WFPText{}) -> GT
|
||||||
|
(WFPTime{}, WFPNumber{}) -> GT
|
||||||
|
(WFPTime{}, WFPBool{}) -> GT
|
||||||
|
(WFPTime{}, WFPDay{}) -> GT
|
||||||
|
(WFPTime{}, _) -> LT
|
||||||
|
(WFPDateTime{}, WFPText{}) -> GT
|
||||||
|
(WFPDateTime{}, WFPNumber{}) -> GT
|
||||||
|
(WFPDateTime{}, WFPBool{}) -> GT
|
||||||
|
(WFPDateTime{}, WFPDay{}) -> GT
|
||||||
|
(WFPDateTime{}, WFPTime{}) -> GT
|
||||||
|
(WFPDateTime{}, _) -> LT
|
||||||
(WFPFile{}, WFPText{}) -> GT
|
(WFPFile{}, WFPText{}) -> GT
|
||||||
(WFPFile{}, WFPNumber{}) -> GT
|
(WFPFile{}, WFPNumber{}) -> GT
|
||||||
(WFPFile{}, WFPBool{}) -> GT
|
(WFPFile{}, WFPBool{}) -> GT
|
||||||
(WFPFile{}, WFPDay{}) -> GT
|
(WFPFile{}, WFPDay{}) -> GT
|
||||||
|
(WFPFile{}, WFPTime{}) -> GT
|
||||||
|
(WFPFile{}, WFPDateTime{}) -> GT
|
||||||
(WFPFile{}, _) -> LT
|
(WFPFile{}, _) -> LT
|
||||||
(WFPUser{}, _) -> GT
|
(WFPUser{}, _) -> GT
|
||||||
|
|
||||||
@ -506,11 +541,26 @@ workflowPayloadSort ordFiles ordUsers (WorkflowFieldPayloadW a) (WorkflowFieldPa
|
|||||||
(WFPDay{}, WFPNumber{} ) -> GT
|
(WFPDay{}, WFPNumber{} ) -> GT
|
||||||
(WFPDay{}, WFPBool{} ) -> GT
|
(WFPDay{}, WFPBool{} ) -> GT
|
||||||
(WFPDay{}, _ ) -> LT
|
(WFPDay{}, _ ) -> LT
|
||||||
|
(WFPTime a', WFPTime b' ) -> compare a' b'
|
||||||
|
(WFPTime{}, WFPText{} ) -> GT
|
||||||
|
(WFPTime{}, WFPNumber{} ) -> GT
|
||||||
|
(WFPTime{}, WFPBool{} ) -> GT
|
||||||
|
(WFPTime{}, WFPDay{} ) -> GT
|
||||||
|
(WFPTime{}, _ ) -> LT
|
||||||
|
(WFPDateTime a', WFPDateTime b') -> compare a' b'
|
||||||
|
(WFPDateTime{}, WFPText{} ) -> GT
|
||||||
|
(WFPDateTime{}, WFPNumber{} ) -> GT
|
||||||
|
(WFPDateTime{}, WFPBool{} ) -> GT
|
||||||
|
(WFPDateTime{}, WFPDay{} ) -> GT
|
||||||
|
(WFPDateTime{}, WFPTime{} ) -> GT
|
||||||
|
(WFPDateTime{}, _ ) -> LT
|
||||||
(WFPFile a', WFPFile b' ) -> ordFiles a' b'
|
(WFPFile a', WFPFile b' ) -> ordFiles a' b'
|
||||||
(WFPFile{}, WFPText{} ) -> GT
|
(WFPFile{}, WFPText{} ) -> GT
|
||||||
(WFPFile{}, WFPNumber{} ) -> GT
|
(WFPFile{}, WFPNumber{} ) -> GT
|
||||||
(WFPFile{}, WFPBool{} ) -> GT
|
(WFPFile{}, WFPBool{} ) -> GT
|
||||||
(WFPFile{}, WFPDay{} ) -> GT
|
(WFPFile{}, WFPDay{} ) -> GT
|
||||||
|
(WFPFile{}, WFPTime{} ) -> GT
|
||||||
|
(WFPFile{}, WFPDateTime{}) -> GT
|
||||||
(WFPFile{}, _ ) -> LT
|
(WFPFile{}, _ ) -> LT
|
||||||
(WFPUser a', WFPUser b' ) -> ordUsers a' b'
|
(WFPUser a', WFPUser b' ) -> ordUsers a' b'
|
||||||
(WFPUser{}, _ ) -> GT
|
(WFPUser{}, _ ) -> GT
|
||||||
@ -524,6 +574,8 @@ data WorkflowFieldPayload fileid userid (payload :: Type) where
|
|||||||
WFPNumber :: Scientific -> WorkflowFieldPayload fileid userid Scientific
|
WFPNumber :: Scientific -> WorkflowFieldPayload fileid userid Scientific
|
||||||
WFPBool :: Bool -> WorkflowFieldPayload fileid userid Bool
|
WFPBool :: Bool -> WorkflowFieldPayload fileid userid Bool
|
||||||
WFPDay :: Day -> WorkflowFieldPayload fileid userid Day
|
WFPDay :: Day -> WorkflowFieldPayload fileid userid Day
|
||||||
|
WFPTime :: TimeOfDay -> WorkflowFieldPayload fileid userid TimeOfDay
|
||||||
|
WFPDateTime :: UTCTime -> WorkflowFieldPayload fileid userid UTCTime
|
||||||
WFPFile :: fileid -> WorkflowFieldPayload fileid userid fileid
|
WFPFile :: fileid -> WorkflowFieldPayload fileid userid fileid
|
||||||
WFPUser :: userid -> WorkflowFieldPayload fileid userid userid
|
WFPUser :: userid -> WorkflowFieldPayload fileid userid userid
|
||||||
deriving (Typeable)
|
deriving (Typeable)
|
||||||
@ -534,19 +586,21 @@ deriving instance (Typeable fileid, Typeable userid, Ord fileid, Ord userid) =>
|
|||||||
|
|
||||||
instance (NFData fileid, NFData userid) => NFData (WorkflowFieldPayload fileid userid payload) where
|
instance (NFData fileid, NFData userid) => NFData (WorkflowFieldPayload fileid userid payload) where
|
||||||
rnf = \case
|
rnf = \case
|
||||||
WFPText t -> rnf t
|
WFPText t -> rnf t
|
||||||
WFPNumber n -> rnf n
|
WFPNumber n -> rnf n
|
||||||
WFPBool b -> rnf b
|
WFPBool b -> rnf b
|
||||||
WFPDay d -> rnf d
|
WFPDay d -> rnf d
|
||||||
WFPFile f -> rnf f
|
WFPTime t -> rnf t
|
||||||
WFPUser u -> rnf u
|
WFPDateTime t -> rnf t
|
||||||
|
WFPFile f -> rnf f
|
||||||
|
WFPUser u -> rnf u
|
||||||
|
|
||||||
_WorkflowFieldPayloadW :: forall payload fileid userid.
|
_WorkflowFieldPayloadW :: forall payload fileid userid.
|
||||||
( IsWorkflowFieldPayload' fileid userid payload, Typeable fileid, Typeable userid )
|
( IsWorkflowFieldPayload' fileid userid payload, Typeable fileid, Typeable userid )
|
||||||
=> Prism' (WorkflowFieldPayloadW fileid userid) (WorkflowFieldPayload fileid userid payload)
|
=> Prism' (WorkflowFieldPayloadW fileid userid) (WorkflowFieldPayload fileid userid payload)
|
||||||
_WorkflowFieldPayloadW = prism' WorkflowFieldPayloadW $ \(WorkflowFieldPayloadW fp) -> cast fp
|
_WorkflowFieldPayloadW = prism' WorkflowFieldPayloadW $ \(WorkflowFieldPayloadW fp) -> cast fp
|
||||||
|
|
||||||
data WorkflowFieldPayload' = WFPText' | WFPNumber' | WFPBool' | WFPDay' | WFPFile' | WFPUser'
|
data WorkflowFieldPayload' = WFPText' | WFPNumber' | WFPBool' | WFPDay' | WFPTime' | WFPDateTime' | WFPFile' | WFPUser'
|
||||||
deriving (Eq, Ord, Enum, Bounded, Show, Read, Data, Generic, Typeable)
|
deriving (Eq, Ord, Enum, Bounded, Show, Read, Data, Generic, Typeable)
|
||||||
deriving anyclass (Universe, Finite, NFData, Binary)
|
deriving anyclass (Universe, Finite, NFData, Binary)
|
||||||
|
|
||||||
@ -563,6 +617,10 @@ instance IsWorkflowFieldPayload fileid fileid userid userid Bool Bool where
|
|||||||
_WorkflowFieldPayload = prism' WFPBool $ \case { WFPBool x -> Just x; _other -> Nothing }
|
_WorkflowFieldPayload = prism' WFPBool $ \case { WFPBool x -> Just x; _other -> Nothing }
|
||||||
instance IsWorkflowFieldPayload fileid fileid userid userid Day Day where
|
instance IsWorkflowFieldPayload fileid fileid userid userid Day Day where
|
||||||
_WorkflowFieldPayload = prism' WFPDay $ \case { WFPDay x -> Just x; _other -> Nothing }
|
_WorkflowFieldPayload = prism' WFPDay $ \case { WFPDay x -> Just x; _other -> Nothing }
|
||||||
|
instance IsWorkflowFieldPayload fileid fileid userid userid TimeOfDay TimeOfDay where
|
||||||
|
_WorkflowFieldPayload = prism' WFPTime $ \case { WFPTime x -> Just x; _other -> Nothing }
|
||||||
|
instance IsWorkflowFieldPayload fileid fileid userid userid UTCTime UTCTime where
|
||||||
|
_WorkflowFieldPayload = prism' WFPDateTime $ \case { WFPDateTime x -> Just x; _other -> Nothing }
|
||||||
instance Typeable fileid => IsWorkflowFieldPayload fileid fileid' userid userid fileid fileid' where
|
instance Typeable fileid => IsWorkflowFieldPayload fileid fileid' userid userid fileid fileid' where
|
||||||
_WorkflowFieldPayload = prism WFPFile $ \case { WFPFile x -> Right x; other -> Left $ unsafeCoerce other }
|
_WorkflowFieldPayload = prism WFPFile $ \case { WFPFile x -> Right x; other -> Left $ unsafeCoerce other }
|
||||||
instance Typeable userid => IsWorkflowFieldPayload fileid fileid userid userid' userid userid' where
|
instance Typeable userid => IsWorkflowFieldPayload fileid fileid userid userid' userid userid' where
|
||||||
@ -677,6 +735,7 @@ instance (Typeable userid, Typeable fileid, Typeable fileid', Ord fileid', useri
|
|||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldDay{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldDay{..}
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldDay{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldDay{..}
|
||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldUser{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldUser{..}
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldUser{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldUser{..}
|
||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser
|
||||||
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldCaptureDateTime{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureDateTime{..}
|
||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldReference{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldReference{..}
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldReference{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldReference{..}
|
||||||
|
|
||||||
instance (Typeable userid, Typeable userid', Typeable fileid, fileid ~ fileid') => HasTypesCustom WorkflowChildren (WorkflowPayloadSpec fileid userid) (WorkflowPayloadSpec fileid' userid') userid userid' where
|
instance (Typeable userid, Typeable userid', Typeable fileid, fileid ~ fileid') => HasTypesCustom WorkflowChildren (WorkflowPayloadSpec fileid userid) (WorkflowPayloadSpec fileid' userid') userid userid' where
|
||||||
@ -690,6 +749,7 @@ instance (Typeable userid, Typeable userid', Typeable fileid, fileid ~ fileid')
|
|||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldDay{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldDay{..}
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldDay{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldDay{..}
|
||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldFile{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldFile{..}
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldFile{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldFile{..}
|
||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser
|
||||||
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldCaptureDateTime{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureDateTime{..}
|
||||||
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldReference{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldReference{..}
|
typesCustom _ (WorkflowPayloadSpec WorkflowPayloadFieldReference{..}) = pure $ WorkflowPayloadSpec WorkflowPayloadFieldReference{..}
|
||||||
|
|
||||||
instance (Typeable payload, Typeable fileid, Typeable userid, IsWorkflowFieldPayload' fileid userid payload, IsWorkflowFieldPayload' fileid' userid' payload', fileid ~ fileid', userid ~ userid') => HasTypesCustom WorkflowChildren (WorkflowFieldPayloadW fileid userid) (WorkflowFieldPayloadW fileid' userid') payload payload' where
|
instance (Typeable payload, Typeable fileid, Typeable userid, IsWorkflowFieldPayload' fileid userid payload, IsWorkflowFieldPayload' fileid' userid' payload', fileid ~ fileid', userid ~ userid') => HasTypesCustom WorkflowChildren (WorkflowFieldPayloadW fileid userid) (WorkflowFieldPayloadW fileid' userid') payload payload' where
|
||||||
@ -739,6 +799,8 @@ nullaryPathPiece ''WorkflowPayloadField' $ camelToPathPiece' 1 . fromJust . stri
|
|||||||
|
|
||||||
derivePathPiece ''WorkflowScope (camelToPathPiece' 1) "--"
|
derivePathPiece ''WorkflowScope (camelToPathPiece' 1) "--"
|
||||||
|
|
||||||
|
nullaryPathPiece ''WorkflowPayloadTimeCapturePrecision $ camelToPathPiece' 2
|
||||||
|
|
||||||
----- ToJSON / FromJSON instances -----
|
----- ToJSON / FromJSON instances -----
|
||||||
|
|
||||||
omitNothing :: [JSON.Pair] -> [JSON.Pair]
|
omitNothing :: [JSON.Pair] -> [JSON.Pair]
|
||||||
@ -762,6 +824,8 @@ deriveJSON defaultOptions
|
|||||||
, constructorTagModifier = camelToPathPiece' 3
|
, constructorTagModifier = camelToPathPiece' 3
|
||||||
} ''WorkflowGraphRestriction
|
} ''WorkflowGraphRestriction
|
||||||
|
|
||||||
|
pathPieceJSON ''WorkflowPayloadTimeCapturePrecision
|
||||||
|
|
||||||
instance (FromJSON userid, Ord userid) => FromJSON (WorkflowNodeMessage userid) where
|
instance (FromJSON userid, Ord userid) => FromJSON (WorkflowNodeMessage userid) where
|
||||||
parseJSON = genericParseJSON workflowNodeMessageAesonOptions
|
parseJSON = genericParseJSON workflowNodeMessageAesonOptions
|
||||||
instance (FromJSON userid, Ord userid) => FromJSON (WorkflowEdgeMessage userid) where
|
instance (FromJSON userid, Ord userid) => FromJSON (WorkflowEdgeMessage userid) where
|
||||||
@ -902,6 +966,12 @@ instance (ToJSON fileid, ToJSON userid, ToJSON (FileField fileid)) => ToJSON (Wo
|
|||||||
toJSON WorkflowPayloadFieldCaptureUser{} = JSON.object
|
toJSON WorkflowPayloadFieldCaptureUser{} = JSON.object
|
||||||
[ "tag" JSON..= WPFCaptureUser'
|
[ "tag" JSON..= WPFCaptureUser'
|
||||||
]
|
]
|
||||||
|
toJSON WorkflowPayloadFieldCaptureDateTime{..} = JSON.object
|
||||||
|
[ "tag" JSON..= WPFCaptureDateTime'
|
||||||
|
, "label" JSON..= wpfcdtLabel
|
||||||
|
, "tooltip" JSON..= wpfcdtTooltip
|
||||||
|
, "precision" JSON..= wpfcdtPrecision
|
||||||
|
]
|
||||||
toJSON WorkflowPayloadFieldReference{..} = JSON.object
|
toJSON WorkflowPayloadFieldReference{..} = JSON.object
|
||||||
[ "tag" JSON..= WPFReference'
|
[ "tag" JSON..= WPFReference'
|
||||||
, "target" JSON..= wpfrTarget
|
, "target" JSON..= wpfrTarget
|
||||||
@ -967,6 +1037,11 @@ instance ( FromJSON fileid, FromJSON userid
|
|||||||
wpfuOptional <- o JSON..: "optional"
|
wpfuOptional <- o JSON..: "optional"
|
||||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldUser{..}
|
return $ WorkflowPayloadSpec WorkflowPayloadFieldUser{..}
|
||||||
WPFCaptureUser' -> pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser
|
WPFCaptureUser' -> pure $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureUser
|
||||||
|
WPFCaptureDateTime' -> do
|
||||||
|
wpfcdtPrecision <- o JSON..:? "precision" JSON..!= def
|
||||||
|
wpfcdtLabel <- o JSON..: "label"
|
||||||
|
wpfcdtTooltip <- o JSON..:? "tooltip"
|
||||||
|
return $ WorkflowPayloadSpec WorkflowPayloadFieldCaptureDateTime{..}
|
||||||
WPFReference' -> do
|
WPFReference' -> do
|
||||||
wpfrTarget <- o JSON..: "target"
|
wpfrTarget <- o JSON..: "target"
|
||||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldReference{..}
|
return $ WorkflowPayloadSpec WorkflowPayloadFieldReference{..}
|
||||||
@ -1040,6 +1115,14 @@ instance (ToJSON fileid, ToJSON userid) => ToJSON (WorkflowFieldPayloadW fileid
|
|||||||
[ "tag" JSON..= WFPDay'
|
[ "tag" JSON..= WFPDay'
|
||||||
, toPathPiece WFPDay' JSON..= d
|
, toPathPiece WFPDay' JSON..= d
|
||||||
]
|
]
|
||||||
|
toJSON (WorkflowFieldPayloadW (WFPTime d)) = JSON.object
|
||||||
|
[ "tag" JSON..= WFPTime'
|
||||||
|
, toPathPiece WFPTime' JSON..= d
|
||||||
|
]
|
||||||
|
toJSON (WorkflowFieldPayloadW (WFPDateTime t)) = JSON.object
|
||||||
|
[ "tag" JSON..= WFPDateTime'
|
||||||
|
, toPathPiece WFPDateTime' JSON..= t
|
||||||
|
]
|
||||||
toJSON (WorkflowFieldPayloadW (WFPFile fid)) = JSON.object
|
toJSON (WorkflowFieldPayloadW (WFPFile fid)) = JSON.object
|
||||||
[ "tag" JSON..= WFPFile'
|
[ "tag" JSON..= WFPFile'
|
||||||
, toPathPiece WFPFile' JSON..= fid
|
, toPathPiece WFPFile' JSON..= fid
|
||||||
@ -1062,8 +1145,14 @@ instance (Ord fileid, FromJSON fileid, FromJSON userid, Typeable fileid, Typeabl
|
|||||||
b <- o JSON..: toPathPiece WFPBool'
|
b <- o JSON..: toPathPiece WFPBool'
|
||||||
return $ WorkflowFieldPayloadW $ WFPBool b
|
return $ WorkflowFieldPayloadW $ WFPBool b
|
||||||
WFPDay' -> do
|
WFPDay' -> do
|
||||||
b <- o JSON..: toPathPiece WFPDay'
|
d <- o JSON..: toPathPiece WFPDay'
|
||||||
return $ WorkflowFieldPayloadW $ WFPDay b
|
return $ WorkflowFieldPayloadW $ WFPDay d
|
||||||
|
WFPTime' -> do
|
||||||
|
t <- o JSON..: toPathPiece WFPTime'
|
||||||
|
return $ WorkflowFieldPayloadW $ WFPTime t
|
||||||
|
WFPDateTime' -> do
|
||||||
|
t <- o JSON..: toPathPiece WFPDateTime'
|
||||||
|
return $ WorkflowFieldPayloadW $ WFPDateTime t
|
||||||
WFPFile' -> do
|
WFPFile' -> do
|
||||||
fid <- o JSON..: toPathPiece WFPFile'
|
fid <- o JSON..: toPathPiece WFPFile'
|
||||||
return $ WorkflowFieldPayloadW $ WFPFile fid
|
return $ WorkflowFieldPayloadW $ WFPFile fid
|
||||||
@ -1137,6 +1226,8 @@ instance (Binary fileid, Binary userid, Typeable fileid, Typeable userid) => Bin
|
|||||||
WFPNumber' -> WorkflowFieldPayloadW . WFPNumber <$> Binary.get
|
WFPNumber' -> WorkflowFieldPayloadW . WFPNumber <$> Binary.get
|
||||||
WFPBool' -> WorkflowFieldPayloadW . WFPBool <$> Binary.get
|
WFPBool' -> WorkflowFieldPayloadW . WFPBool <$> Binary.get
|
||||||
WFPDay' -> WorkflowFieldPayloadW . WFPDay <$> Binary.get
|
WFPDay' -> WorkflowFieldPayloadW . WFPDay <$> Binary.get
|
||||||
|
WFPTime' -> WorkflowFieldPayloadW . WFPTime <$> Binary.get
|
||||||
|
WFPDateTime' -> WorkflowFieldPayloadW . WFPDateTime <$> Binary.get
|
||||||
WFPFile' -> WorkflowFieldPayloadW . WFPFile <$> Binary.get
|
WFPFile' -> WorkflowFieldPayloadW . WFPFile <$> Binary.get
|
||||||
WFPUser' -> WorkflowFieldPayloadW . WFPUser <$> Binary.get
|
WFPUser' -> WorkflowFieldPayloadW . WFPUser <$> Binary.get
|
||||||
put = \case
|
put = \case
|
||||||
@ -1144,6 +1235,8 @@ instance (Binary fileid, Binary userid, Typeable fileid, Typeable userid) => Bin
|
|||||||
WorkflowFieldPayloadW (WFPNumber n ) -> Binary.put WFPNumber' >> Binary.put n
|
WorkflowFieldPayloadW (WFPNumber n ) -> Binary.put WFPNumber' >> Binary.put n
|
||||||
WorkflowFieldPayloadW (WFPBool b ) -> Binary.put WFPBool' >> Binary.put b
|
WorkflowFieldPayloadW (WFPBool b ) -> Binary.put WFPBool' >> Binary.put b
|
||||||
WorkflowFieldPayloadW (WFPDay d ) -> Binary.put WFPDay' >> Binary.put d
|
WorkflowFieldPayloadW (WFPDay d ) -> Binary.put WFPDay' >> Binary.put d
|
||||||
|
WorkflowFieldPayloadW (WFPTime t ) -> Binary.put WFPTime' >> Binary.put t
|
||||||
|
WorkflowFieldPayloadW (WFPDateTime t) -> Binary.put WFPDateTime' >> Binary.put t
|
||||||
WorkflowFieldPayloadW (WFPFile fid) -> Binary.put WFPFile' >> Binary.put fid
|
WorkflowFieldPayloadW (WFPFile fid) -> Binary.put WFPFile' >> Binary.put fid
|
||||||
WorkflowFieldPayloadW (WFPUser uid) -> Binary.put WFPUser' >> Binary.put uid
|
WorkflowFieldPayloadW (WFPUser uid) -> Binary.put WFPUser' >> Binary.put uid
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user