{-# LANGUAGE DeriveAnyClass #-} module Hercules.API.State.ProjectState where import Hercules.API.Prelude import Hercules.API.Projects.Project (Project) import Hercules.API.State.StateFile (StateFile) data ProjectState = ProjectState { ProjectState -> Id Project projectId :: Id Project, ProjectState -> Map Text StateFile stateFiles :: Map Text StateFile } deriving (forall x. Rep ProjectState x -> ProjectState forall x. ProjectState -> Rep ProjectState x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep ProjectState x -> ProjectState $cfrom :: forall x. ProjectState -> Rep ProjectState x Generic, Int -> ProjectState -> ShowS [ProjectState] -> ShowS ProjectState -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [ProjectState] -> ShowS $cshowList :: [ProjectState] -> ShowS show :: ProjectState -> String $cshow :: ProjectState -> String showsPrec :: Int -> ProjectState -> ShowS $cshowsPrec :: Int -> ProjectState -> ShowS Show, ProjectState -> ProjectState -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: ProjectState -> ProjectState -> Bool $c/= :: ProjectState -> ProjectState -> Bool == :: ProjectState -> ProjectState -> Bool $c== :: ProjectState -> ProjectState -> Bool Eq, ProjectState -> () forall a. (a -> ()) -> NFData a rnf :: ProjectState -> () $crnf :: ProjectState -> () NFData, [ProjectState] -> Encoding [ProjectState] -> Value ProjectState -> Encoding ProjectState -> Value forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a toEncodingList :: [ProjectState] -> Encoding $ctoEncodingList :: [ProjectState] -> Encoding toJSONList :: [ProjectState] -> Value $ctoJSONList :: [ProjectState] -> Value toEncoding :: ProjectState -> Encoding $ctoEncoding :: ProjectState -> Encoding toJSON :: ProjectState -> Value $ctoJSON :: ProjectState -> Value ToJSON, Value -> Parser [ProjectState] Value -> Parser ProjectState forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a parseJSONList :: Value -> Parser [ProjectState] $cparseJSONList :: Value -> Parser [ProjectState] parseJSON :: Value -> Parser ProjectState $cparseJSON :: Value -> Parser ProjectState FromJSON, Proxy ProjectState -> Declare (Definitions Schema) NamedSchema forall a. (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a declareNamedSchema :: Proxy ProjectState -> Declare (Definitions Schema) NamedSchema $cdeclareNamedSchema :: Proxy ProjectState -> Declare (Definitions Schema) NamedSchema ToSchema)