refactor(workflows): rename payload record fields
This commit is contained in:
parent
44b3b5faee
commit
8b67481228
@ -74,42 +74,42 @@ type WorkflowPayloadLabel = CI Text
|
||||
|
||||
|
||||
data WorkflowPayloadField fileid userid (payload :: *) where
|
||||
WorkflowPayloadFieldText :: { wepftLabel :: Text
|
||||
, wepftPlaceholder :: Text
|
||||
, wepftTooltip :: Maybe Text
|
||||
, wepftDefault :: Maybe Text
|
||||
, wepftOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid Text
|
||||
WorkflowPayloadFieldNumber :: { wepfnLabel :: Text
|
||||
, wepfnPlaceholder :: Text
|
||||
, wepfnTooltip :: Maybe Text
|
||||
, wepfnDefault :: Maybe Scientific
|
||||
, wepfnMin :: Maybe Scientific
|
||||
, wepfnMax :: Maybe Scientific
|
||||
, wepfnStep :: Scientific
|
||||
, wepfnOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid Scientific
|
||||
WorkflowPayloadFieldBool :: { wepfbLabel :: Text
|
||||
, wepfbTooltip :: Maybe Text
|
||||
, wepfbDefault :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid Bool
|
||||
WorkflowPayloadFieldFile :: { wepffLabel :: Text
|
||||
, wepffTooltip :: Maybe Text
|
||||
, wepffDefault :: Maybe fileid
|
||||
, wepffOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid FileInfo
|
||||
WorkflowPayloadFieldUser :: { wepfuLabel :: Text
|
||||
, wepfuTooltip :: Maybe Text
|
||||
, wepfuDefault :: Maybe userid
|
||||
, wepfuOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid userid
|
||||
WorkflowPayloadFieldText :: { wpftLabel :: Text
|
||||
, wpftPlaceholder :: Text
|
||||
, wpftTooltip :: Maybe Text
|
||||
, wpftDefault :: Maybe Text
|
||||
, wpftOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid Text
|
||||
WorkflowPayloadFieldNumber :: { wpfnLabel :: Text
|
||||
, wpfnPlaceholder :: Text
|
||||
, wpfnTooltip :: Maybe Text
|
||||
, wpfnDefault :: Maybe Scientific
|
||||
, wpfnMin :: Maybe Scientific
|
||||
, wpfnMax :: Maybe Scientific
|
||||
, wpfnStep :: Scientific
|
||||
, wpfnOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid Scientific
|
||||
WorkflowPayloadFieldBool :: { wpfbLabel :: Text
|
||||
, wpfbTooltip :: Maybe Text
|
||||
, wpfbDefault :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid Bool
|
||||
WorkflowPayloadFieldFile :: { wpffLabel :: Text
|
||||
, wpffTooltip :: Maybe Text
|
||||
, wpffDefault :: Maybe fileid
|
||||
, wpffOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid FileInfo
|
||||
WorkflowPayloadFieldUser :: { wpfuLabel :: Text
|
||||
, wpfuTooltip :: Maybe Text
|
||||
, wpfuDefault :: Maybe userid
|
||||
, wpfuOptional :: Maybe Bool
|
||||
} -> WorkflowPayloadField fileid userid userid
|
||||
|
||||
instance (Show fileid, Show userid) => Show (WorkflowPayloadField fileid userid payload) where
|
||||
show (WorkflowPayloadFieldText{..} ) = "TextField{label = " <> show wepftLabel <> ", placeholder = " <> show wepftPlaceholder <> ", tooltip = " <> show wepftTooltip <> ", default = " <> show wepftDefault <> ", optional = " <> show wepftOptional <> "}"
|
||||
show (WorkflowPayloadFieldNumber{..}) = "NumberField{label = " <> show wepfnLabel <> ", placeholder = " <> show wepfnPlaceholder <> ", tooltip = " <> show wepfnTooltip <> ", default = " <> show wepfnDefault <> ", min = " <> show wepfnMin <> ", max = " <> show wepfnMax <> ", step = " <> show wepfnStep <> ", optional = " <> show wepfnOptional <> "}"
|
||||
show (WorkflowPayloadFieldBool{..} ) = "BoolField{label = " <> show wepfbLabel <> ", tooltip = " <> show wepfbTooltip <> ", default = " <> show wepfbDefault <> "}"
|
||||
show (WorkflowPayloadFieldFile{..} ) = "FileField{label = " <> show wepffLabel <> ", tooltip = " <> show wepffTooltip <> ", default = " <> show wepffDefault <> ", optional = " <> show wepffOptional <> "}"
|
||||
show (WorkflowPayloadFieldUser{..} ) = "UserField{label = " <> show wepfuLabel <> ", tooltip = " <> show wepfuTooltip <> ", default = " <> show wepfuDefault <> ", optional = " <> show wepfuOptional <> "}"
|
||||
show (WorkflowPayloadFieldText{..} ) = "TextField{label = " <> show wpftLabel <> ", placeholder = " <> show wpftPlaceholder <> ", tooltip = " <> show wpftTooltip <> ", default = " <> show wpftDefault <> ", optional = " <> show wpftOptional <> "}"
|
||||
show (WorkflowPayloadFieldNumber{..}) = "NumberField{label = " <> show wpfnLabel <> ", placeholder = " <> show wpfnPlaceholder <> ", tooltip = " <> show wpfnTooltip <> ", default = " <> show wpfnDefault <> ", min = " <> show wpfnMin <> ", max = " <> show wpfnMax <> ", step = " <> show wpfnStep <> ", optional = " <> show wpfnOptional <> "}"
|
||||
show (WorkflowPayloadFieldBool{..} ) = "BoolField{label = " <> show wpfbLabel <> ", tooltip = " <> show wpfbTooltip <> ", default = " <> show wpfbDefault <> "}"
|
||||
show (WorkflowPayloadFieldFile{..} ) = "FileField{label = " <> show wpffLabel <> ", tooltip = " <> show wpffTooltip <> ", default = " <> show wpffDefault <> ", optional = " <> show wpffOptional <> "}"
|
||||
show (WorkflowPayloadFieldUser{..} ) = "UserField{label = " <> show wpfuLabel <> ", tooltip = " <> show wpfuTooltip <> ", default = " <> show wpfuDefault <> ", optional = " <> show wpfuOptional <> "}"
|
||||
|
||||
|
||||
|
||||
@ -119,19 +119,19 @@ instance (Show fileid, Show userid) => Show (WorkflowPayloadSpec fileid userid)
|
||||
show (WorkflowPayloadSpec payloadField) = show payloadField
|
||||
|
||||
instance (Eq fileid, Eq userid) => Eq (WorkflowPayloadSpec fileid userid) where
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldText{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldText{}) = wepftLabel f1 == wepftLabel f2 && wepftPlaceholder f1 == wepftPlaceholder f2 && wepftTooltip f1 == wepftTooltip f2 && wepftDefault f1 == wepftDefault f2 && wepftOptional f1 == wepftOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldNumber{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldNumber{}) = wepfnLabel f1 == wepfnLabel f2 && wepfnPlaceholder f1 == wepfnPlaceholder f2 && wepfnTooltip f1 == wepfnTooltip f2 && wepfnDefault f1 == wepfnDefault f2 && wepfnOptional f1 == wepfnOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldBool{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldBool{}) = wepfbLabel f1 == wepfbLabel f2 && wepfbTooltip f1 == wepfbTooltip f2 && wepfbDefault f1 == wepfbDefault f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldFile{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldFile{}) = wepffLabel f1 == wepffLabel f2 && wepffTooltip f1 == wepffTooltip f2 && wepffDefault f1 == wepffDefault f2 && wepffOptional f1 == wepffOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldUser{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldUser{}) = wepfuLabel f1 == wepfuLabel f2 && wepfuTooltip f1 == wepfuTooltip f2 && wepfuDefault f1 == wepfuDefault f2 && wepfuOptional f1 == wepfuOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldText{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldText{}) = wpftLabel f1 == wpftLabel f2 && wpftPlaceholder f1 == wpftPlaceholder f2 && wpftTooltip f1 == wpftTooltip f2 && wpftDefault f1 == wpftDefault f2 && wpftOptional f1 == wpftOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldNumber{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldNumber{}) = wpfnLabel f1 == wpfnLabel f2 && wpfnPlaceholder f1 == wpfnPlaceholder f2 && wpfnTooltip f1 == wpfnTooltip f2 && wpfnDefault f1 == wpfnDefault f2 && wpfnOptional f1 == wpfnOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldBool{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldBool{}) = wpfbLabel f1 == wpfbLabel f2 && wpfbTooltip f1 == wpfbTooltip f2 && wpfbDefault f1 == wpfbDefault f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldFile{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldFile{}) = wpffLabel f1 == wpffLabel f2 && wpffTooltip f1 == wpffTooltip f2 && wpffDefault f1 == wpffDefault f2 && wpffOptional f1 == wpffOptional f2
|
||||
(WorkflowPayloadSpec f1@WorkflowPayloadFieldUser{}) == (WorkflowPayloadSpec f2@WorkflowPayloadFieldUser{}) = wpfuLabel f1 == wpfuLabel f2 && wpfuTooltip f1 == wpfuTooltip f2 && wpfuDefault f1 == wpfuDefault f2 && wpfuOptional f1 == wpfuOptional f2
|
||||
_ == _ = False
|
||||
|
||||
instance (Ord fileid, Ord userid) => Ord (WorkflowPayloadSpec fileid userid) where
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldText{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldText{}) = mconcat [comparing wepftLabel, comparing wepftPlaceholder, comparing wepftTooltip, comparing wepftDefault, comparing wepftOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldNumber{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldNumber{}) = mconcat [comparing wepfnLabel, comparing wepfnPlaceholder, comparing wepfnTooltip, comparing wepfnDefault, comparing wepfnMin, comparing wepfnMax, comparing wepfnStep, comparing wepfnOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldBool{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldBool{}) = mconcat [comparing wepfbLabel, comparing wepfbTooltip, comparing wepfbDefault] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldFile{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldFile{}) = mconcat [comparing wepffLabel, comparing wepffTooltip, comparing wepffDefault, comparing wepffOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldUser{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldUser{}) = mconcat [comparing wepfuLabel, comparing wepfuTooltip, comparing wepfuDefault, comparing wepfuOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldText{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldText{}) = mconcat [comparing wpftLabel, comparing wpftPlaceholder, comparing wpftTooltip, comparing wpftDefault, comparing wpftOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldNumber{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldNumber{}) = mconcat [comparing wpfnLabel, comparing wpfnPlaceholder, comparing wpfnTooltip, comparing wpfnDefault, comparing wpfnMin, comparing wpfnMax, comparing wpfnStep, comparing wpfnOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldBool{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldBool{}) = mconcat [comparing wpfbLabel, comparing wpfbTooltip, comparing wpfbDefault] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldFile{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldFile{}) = mconcat [comparing wpffLabel, comparing wpffTooltip, comparing wpffDefault, comparing wpffOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec f1@WorkflowPayloadFieldUser{}) (WorkflowPayloadSpec f2@WorkflowPayloadFieldUser{}) = mconcat [comparing wpfuLabel, comparing wpfuTooltip, comparing wpfuDefault, comparing wpfuOptional] f1 f2
|
||||
compare (WorkflowPayloadSpec WorkflowPayloadFieldText{} ) _ = LT
|
||||
compare (WorkflowPayloadSpec WorkflowPayloadFieldNumber{}) (WorkflowPayloadSpec WorkflowPayloadFieldText{}) = GT
|
||||
compare (WorkflowPayloadSpec WorkflowPayloadFieldNumber{}) _ = LT
|
||||
@ -238,80 +238,80 @@ instance (Ord userid, Ord fileid, FromJSON userid, FromJSON fileid) => FromJSON
|
||||
instance (ToJSON fileid, ToJSON userid) => ToJSON (WorkflowPayloadSpec fileid userid) where
|
||||
toJSON (WorkflowPayloadSpec WorkflowPayloadFieldText{..}) = JSON.object
|
||||
[ "tag" JSON..= ("text" :: Text)
|
||||
, "label" JSON..= wepftLabel
|
||||
, "placeholder" JSON..= wepftPlaceholder
|
||||
, "tooltip" JSON..= wepftTooltip
|
||||
, "default" JSON..= wepftDefault
|
||||
, "optional" JSON..= wepftOptional
|
||||
, "label" JSON..= wpftLabel
|
||||
, "placeholder" JSON..= wpftPlaceholder
|
||||
, "tooltip" JSON..= wpftTooltip
|
||||
, "default" JSON..= wpftDefault
|
||||
, "optional" JSON..= wpftOptional
|
||||
]
|
||||
toJSON (WorkflowPayloadSpec WorkflowPayloadFieldNumber{..}) = JSON.object
|
||||
[ "tag" JSON..= ("number" :: Text)
|
||||
, "label" JSON..= wepfnLabel
|
||||
, "placeholder" JSON..= wepfnPlaceholder
|
||||
, "tooltip" JSON..= wepfnTooltip
|
||||
, "default" JSON..= wepfnDefault
|
||||
, "min" JSON..= wepfnMin
|
||||
, "max" JSON..= wepfnMax
|
||||
, "step" JSON..= wepfnStep
|
||||
, "optional" JSON..= wepfnOptional
|
||||
, "label" JSON..= wpfnLabel
|
||||
, "placeholder" JSON..= wpfnPlaceholder
|
||||
, "tooltip" JSON..= wpfnTooltip
|
||||
, "default" JSON..= wpfnDefault
|
||||
, "min" JSON..= wpfnMin
|
||||
, "max" JSON..= wpfnMax
|
||||
, "step" JSON..= wpfnStep
|
||||
, "optional" JSON..= wpfnOptional
|
||||
]
|
||||
toJSON (WorkflowPayloadSpec WorkflowPayloadFieldBool{..}) = JSON.object
|
||||
[ "tag" JSON..= ("bool" :: Text)
|
||||
, "label" JSON..= wepfbLabel
|
||||
, "tooltip" JSON..= wepfbTooltip
|
||||
, "default" JSON..= wepfbDefault
|
||||
, "label" JSON..= wpfbLabel
|
||||
, "tooltip" JSON..= wpfbTooltip
|
||||
, "default" JSON..= wpfbDefault
|
||||
]
|
||||
toJSON (WorkflowPayloadSpec WorkflowPayloadFieldFile{..}) = JSON.object
|
||||
[ "tag" JSON..= ("file" :: Text)
|
||||
, "label" JSON..= wepffLabel
|
||||
, "tooltip" JSON..= wepffTooltip
|
||||
, "default" JSON..= wepffDefault
|
||||
, "optional" JSON..= wepffOptional
|
||||
, "label" JSON..= wpffLabel
|
||||
, "tooltip" JSON..= wpffTooltip
|
||||
, "default" JSON..= wpffDefault
|
||||
, "optional" JSON..= wpffOptional
|
||||
]
|
||||
toJSON (WorkflowPayloadSpec WorkflowPayloadFieldUser{..}) = JSON.object
|
||||
[ "tag" JSON..= ("user" :: Text)
|
||||
, "label" JSON..= wepfuLabel
|
||||
, "tooltip" JSON..= wepfuTooltip
|
||||
, "default" JSON..= wepfuDefault
|
||||
, "optional" JSON..= wepfuOptional
|
||||
, "label" JSON..= wpfuLabel
|
||||
, "tooltip" JSON..= wpfuTooltip
|
||||
, "default" JSON..= wpfuDefault
|
||||
, "optional" JSON..= wpfuOptional
|
||||
]
|
||||
instance (FromJSON fileid, FromJSON userid) => FromJSON (WorkflowPayloadSpec fileid userid) where
|
||||
parseJSON = JSON.withObject "WorkflowPayloadSpec" $ \o -> do
|
||||
fieldTag <- (o JSON..: "tag" :: Parser Text)
|
||||
case fieldTag of
|
||||
"text" -> do
|
||||
wepftLabel <- o JSON..: "label"
|
||||
wepftPlaceholder <- o JSON..: "placeholder"
|
||||
wepftTooltip <- o JSON..:? "tooltip"
|
||||
wepftDefault <- o JSON..:? "default"
|
||||
wepftOptional <- o JSON..:? "optional"
|
||||
wpftLabel <- o JSON..: "label"
|
||||
wpftPlaceholder <- o JSON..: "placeholder"
|
||||
wpftTooltip <- o JSON..:? "tooltip"
|
||||
wpftDefault <- o JSON..:? "default"
|
||||
wpftOptional <- o JSON..:? "optional"
|
||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldText{..}
|
||||
"number" -> do
|
||||
wepfnLabel <- o JSON..: "label"
|
||||
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"
|
||||
wepfnOptional <- o JSON..:? "optional"
|
||||
wpfnLabel <- o JSON..: "label"
|
||||
wpfnPlaceholder <- o JSON..: "placeholder"
|
||||
wpfnTooltip <- o JSON..:? "tooltip"
|
||||
wpfnDefault <- (o JSON..:? "default" :: Parser (Maybe Scientific))
|
||||
wpfnMin <- o JSON..:? "min"
|
||||
wpfnMax <- o JSON..:? "max"
|
||||
wpfnStep <- o JSON..: "step"
|
||||
wpfnOptional <- o JSON..:? "optional"
|
||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldNumber{..}
|
||||
"bool" -> do
|
||||
wepfbLabel <- o JSON..: "label"
|
||||
wepfbTooltip <- o JSON..:? "tooltip"
|
||||
wepfbDefault <- (o JSON..:? "default" :: Parser (Maybe Bool))
|
||||
wpfbLabel <- o JSON..: "label"
|
||||
wpfbTooltip <- o JSON..:? "tooltip"
|
||||
wpfbDefault <- (o JSON..:? "default" :: Parser (Maybe Bool))
|
||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldBool{..}
|
||||
"file" -> do
|
||||
wepffLabel <- o JSON..: "label"
|
||||
wepffTooltip <- o JSON..:? "tooltip"
|
||||
wepffDefault <- (o JSON..:? "default" :: Parser (Maybe fileid))
|
||||
wepffOptional <- o JSON..:? "optional"
|
||||
wpffLabel <- o JSON..: "label"
|
||||
wpffTooltip <- o JSON..:? "tooltip"
|
||||
wpffDefault <- (o JSON..:? "default" :: Parser (Maybe fileid))
|
||||
wpffOptional <- o JSON..:? "optional"
|
||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldFile{..}
|
||||
"user" -> do
|
||||
wepfuLabel <- o JSON..: "label"
|
||||
wepfuTooltip <- o JSON..:? "tooltip"
|
||||
wepfuDefault <- (o JSON..:? "default" :: Parser (Maybe userid))
|
||||
wepfuOptional <- o JSON..:? "optional"
|
||||
wpfuLabel <- o JSON..: "label"
|
||||
wpfuTooltip <- o JSON..:? "tooltip"
|
||||
wpfuDefault <- (o JSON..:? "default" :: Parser (Maybe userid))
|
||||
wpfuOptional <- o JSON..:? "optional"
|
||||
return $ WorkflowPayloadSpec WorkflowPayloadFieldUser{..}
|
||||
_ -> terror $ "WorkflowPayloadSpec parseJSON error: expected field tag (text|number|bool|file|user), but got " <> fieldTag
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user