{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveAnyClass #-} module Hercules.API.Agent.Effect.EffectTask where import Control.Applicative import Control.Lens (at, (%~)) import qualified Data.Aeson as A import Data.Aeson.Lens (_Object) import Hercules.API.Prelude import Hercules.API.Task (Task) data EffectTask = EffectTask { EffectTask -> Id (Task EffectTask) id :: Id (Task EffectTask), EffectTask -> Text derivationPath :: Text, EffectTask -> Text logToken :: Text, EffectTask -> [Text] inputDerivationOutputPaths :: [Text], EffectTask -> Text token :: Text, EffectTask -> Map Text (Map Text Value) serverSecrets :: Map Text (Map Text A.Value), EffectTask -> Id "project" projectId :: Id "project", EffectTask -> Text projectPath :: Text, EffectTask -> Text siteName :: Text, EffectTask -> Text ownerName :: Text, EffectTask -> Text repoName :: Text, EffectTask -> Text ref :: Text, EffectTask -> Bool isDefaultBranch :: Bool } deriving (forall x. Rep EffectTask x -> EffectTask forall x. EffectTask -> Rep EffectTask x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep EffectTask x -> EffectTask $cfrom :: forall x. EffectTask -> Rep EffectTask x Generic, Int -> EffectTask -> ShowS [EffectTask] -> ShowS EffectTask -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [EffectTask] -> ShowS $cshowList :: [EffectTask] -> ShowS show :: EffectTask -> String $cshow :: EffectTask -> String showsPrec :: Int -> EffectTask -> ShowS $cshowsPrec :: Int -> EffectTask -> ShowS Show, EffectTask -> EffectTask -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: EffectTask -> EffectTask -> Bool $c/= :: EffectTask -> EffectTask -> Bool == :: EffectTask -> EffectTask -> Bool $c== :: EffectTask -> EffectTask -> Bool Eq, EffectTask -> () forall a. (a -> ()) -> NFData a rnf :: EffectTask -> () $crnf :: EffectTask -> () NFData, [EffectTask] -> Encoding [EffectTask] -> Value EffectTask -> Encoding EffectTask -> Value forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a toEncodingList :: [EffectTask] -> Encoding $ctoEncodingList :: [EffectTask] -> Encoding toJSONList :: [EffectTask] -> Value $ctoJSONList :: [EffectTask] -> Value toEncoding :: EffectTask -> Encoding $ctoEncoding :: EffectTask -> Encoding toJSON :: EffectTask -> Value $ctoJSON :: EffectTask -> Value ToJSON) instance FromJSON EffectTask where parseJSON :: Value -> Parser EffectTask parseJSON Value v = forall a. (Generic a, GFromJSON Zero (Rep a)) => Options -> Value -> Parser a A.genericParseJSON Options A.defaultOptions (Value -> Value fixup Value v) where fixup :: A.Value -> A.Value fixup :: Value -> Value fixup = forall t. AsValue t => Prism' t (KeyMap Value) _Object forall b c a. (b -> c) -> (a -> b) -> a -> c . forall m. At m => Index m -> Lens' m (Maybe (IxValue m)) at Key "serverSecrets" forall s t a b. ASetter s t a b -> (a -> b) -> s -> t %~ (forall (f :: * -> *) a. Alternative f => f a -> f a -> f a <|> forall a. a -> Maybe a Just ([Pair] -> Value A.object []))