{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingStrategies #-} module Hercules.API.Repos.RepoKey where import Data.OpenApi qualified as O3 import Hercules.API.Prelude import Hercules.API.Projects.Project (Project) data RepoKey = RepoKey { RepoKey -> Text siteName :: Text, RepoKey -> Text ownerName :: Text, RepoKey -> Text repoName :: Text, RepoKey -> Maybe (Id Project) projectId :: Maybe (Id Project) } deriving ((forall x. RepoKey -> Rep RepoKey x) -> (forall x. Rep RepoKey x -> RepoKey) -> Generic RepoKey forall x. Rep RepoKey x -> RepoKey forall x. RepoKey -> Rep RepoKey x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. RepoKey -> Rep RepoKey x from :: forall x. RepoKey -> Rep RepoKey x $cto :: forall x. Rep RepoKey x -> RepoKey to :: forall x. Rep RepoKey x -> RepoKey Generic, Int -> RepoKey -> ShowS [RepoKey] -> ShowS RepoKey -> String (Int -> RepoKey -> ShowS) -> (RepoKey -> String) -> ([RepoKey] -> ShowS) -> Show RepoKey forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> RepoKey -> ShowS showsPrec :: Int -> RepoKey -> ShowS $cshow :: RepoKey -> String show :: RepoKey -> String $cshowList :: [RepoKey] -> ShowS showList :: [RepoKey] -> ShowS Show, RepoKey -> RepoKey -> Bool (RepoKey -> RepoKey -> Bool) -> (RepoKey -> RepoKey -> Bool) -> Eq RepoKey forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: RepoKey -> RepoKey -> Bool == :: RepoKey -> RepoKey -> Bool $c/= :: RepoKey -> RepoKey -> Bool /= :: RepoKey -> RepoKey -> Bool Eq) deriving anyclass (RepoKey -> () (RepoKey -> ()) -> NFData RepoKey forall a. (a -> ()) -> NFData a $crnf :: RepoKey -> () rnf :: RepoKey -> () NFData, [RepoKey] -> Value [RepoKey] -> Encoding RepoKey -> Value RepoKey -> Encoding (RepoKey -> Value) -> (RepoKey -> Encoding) -> ([RepoKey] -> Value) -> ([RepoKey] -> Encoding) -> ToJSON RepoKey forall a. (a -> Value) -> (a -> Encoding) -> ([a] -> Value) -> ([a] -> Encoding) -> ToJSON a $ctoJSON :: RepoKey -> Value toJSON :: RepoKey -> Value $ctoEncoding :: RepoKey -> Encoding toEncoding :: RepoKey -> Encoding $ctoJSONList :: [RepoKey] -> Value toJSONList :: [RepoKey] -> Value $ctoEncodingList :: [RepoKey] -> Encoding toEncodingList :: [RepoKey] -> Encoding ToJSON, Value -> Parser [RepoKey] Value -> Parser RepoKey (Value -> Parser RepoKey) -> (Value -> Parser [RepoKey]) -> FromJSON RepoKey forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a $cparseJSON :: Value -> Parser RepoKey parseJSON :: Value -> Parser RepoKey $cparseJSONList :: Value -> Parser [RepoKey] parseJSONList :: Value -> Parser [RepoKey] FromJSON, Proxy RepoKey -> Declare (Definitions Schema) NamedSchema (Proxy RepoKey -> Declare (Definitions Schema) NamedSchema) -> ToSchema RepoKey forall a. (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a $cdeclareNamedSchema :: Proxy RepoKey -> Declare (Definitions Schema) NamedSchema declareNamedSchema :: Proxy RepoKey -> Declare (Definitions Schema) NamedSchema ToSchema, Typeable RepoKey Typeable RepoKey -> (Proxy RepoKey -> Declare (Definitions Schema) NamedSchema) -> ToSchema RepoKey Proxy RepoKey -> Declare (Definitions Schema) NamedSchema forall a. Typeable a -> (Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a $cdeclareNamedSchema :: Proxy RepoKey -> Declare (Definitions Schema) NamedSchema declareNamedSchema :: Proxy RepoKey -> Declare (Definitions Schema) NamedSchema O3.ToSchema)