{-# LANGUAGE DeriveAnyClass #-}

module Hercules.API.GitLab.InstallationBuilder where

import Hercules.API.Error (Error)
import Hercules.API.Forge.SimpleForge (SimpleForge)
import Hercules.API.Prelude

data InstallationBuilder = InstallationBuilder
  { InstallationBuilder -> Id InstallationBuilder
id :: Id InstallationBuilder,
    InstallationBuilder -> Text
gitlabURL :: Text,
    InstallationBuilder -> Text
name :: Text,
    InstallationBuilder -> Text
displayName :: Text,
    InstallationBuilder -> Maybe SimpleForge
forge :: Maybe SimpleForge,
    InstallationBuilder -> [Error]
errors :: [Error]
  }
  deriving (forall x. Rep InstallationBuilder x -> InstallationBuilder
forall x. InstallationBuilder -> Rep InstallationBuilder x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep InstallationBuilder x -> InstallationBuilder
$cfrom :: forall x. InstallationBuilder -> Rep InstallationBuilder x
Generic, Int -> InstallationBuilder -> ShowS
[InstallationBuilder] -> ShowS
InstallationBuilder -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InstallationBuilder] -> ShowS
$cshowList :: [InstallationBuilder] -> ShowS
show :: InstallationBuilder -> String
$cshow :: InstallationBuilder -> String
showsPrec :: Int -> InstallationBuilder -> ShowS
$cshowsPrec :: Int -> InstallationBuilder -> ShowS
Show, InstallationBuilder -> InstallationBuilder -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InstallationBuilder -> InstallationBuilder -> Bool
$c/= :: InstallationBuilder -> InstallationBuilder -> Bool
== :: InstallationBuilder -> InstallationBuilder -> Bool
$c== :: InstallationBuilder -> InstallationBuilder -> Bool
Eq, InstallationBuilder -> ()
forall a. (a -> ()) -> NFData a
rnf :: InstallationBuilder -> ()
$crnf :: InstallationBuilder -> ()
NFData, [InstallationBuilder] -> Encoding
[InstallationBuilder] -> Value
InstallationBuilder -> Encoding
InstallationBuilder -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [InstallationBuilder] -> Encoding
$ctoEncodingList :: [InstallationBuilder] -> Encoding
toJSONList :: [InstallationBuilder] -> Value
$ctoJSONList :: [InstallationBuilder] -> Value
toEncoding :: InstallationBuilder -> Encoding
$ctoEncoding :: InstallationBuilder -> Encoding
toJSON :: InstallationBuilder -> Value
$ctoJSON :: InstallationBuilder -> Value
ToJSON, Value -> Parser [InstallationBuilder]
Value -> Parser InstallationBuilder
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [InstallationBuilder]
$cparseJSONList :: Value -> Parser [InstallationBuilder]
parseJSON :: Value -> Parser InstallationBuilder
$cparseJSON :: Value -> Parser InstallationBuilder
FromJSON, Proxy InstallationBuilder
-> Declare (Definitions Schema) NamedSchema
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
declareNamedSchema :: Proxy InstallationBuilder
-> Declare (Definitions Schema) NamedSchema
$cdeclareNamedSchema :: Proxy InstallationBuilder
-> Declare (Definitions Schema) NamedSchema
ToSchema)

data InstallationBuilders = InstallationBuilders
  { InstallationBuilders -> [InstallationBuilder]
items :: [InstallationBuilder]
  }
  deriving (forall x. Rep InstallationBuilders x -> InstallationBuilders
forall x. InstallationBuilders -> Rep InstallationBuilders x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep InstallationBuilders x -> InstallationBuilders
$cfrom :: forall x. InstallationBuilders -> Rep InstallationBuilders x
Generic, Int -> InstallationBuilders -> ShowS
[InstallationBuilders] -> ShowS
InstallationBuilders -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InstallationBuilders] -> ShowS
$cshowList :: [InstallationBuilders] -> ShowS
show :: InstallationBuilders -> String
$cshow :: InstallationBuilders -> String
showsPrec :: Int -> InstallationBuilders -> ShowS
$cshowsPrec :: Int -> InstallationBuilders -> ShowS
Show, InstallationBuilders -> InstallationBuilders -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: InstallationBuilders -> InstallationBuilders -> Bool
$c/= :: InstallationBuilders -> InstallationBuilders -> Bool
== :: InstallationBuilders -> InstallationBuilders -> Bool
$c== :: InstallationBuilders -> InstallationBuilders -> Bool
Eq, InstallationBuilders -> ()
forall a. (a -> ()) -> NFData a
rnf :: InstallationBuilders -> ()
$crnf :: InstallationBuilders -> ()
NFData, [InstallationBuilders] -> Encoding
[InstallationBuilders] -> Value
InstallationBuilders -> Encoding
InstallationBuilders -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [InstallationBuilders] -> Encoding
$ctoEncodingList :: [InstallationBuilders] -> Encoding
toJSONList :: [InstallationBuilders] -> Value
$ctoJSONList :: [InstallationBuilders] -> Value
toEncoding :: InstallationBuilders -> Encoding
$ctoEncoding :: InstallationBuilders -> Encoding
toJSON :: InstallationBuilders -> Value
$ctoJSON :: InstallationBuilders -> Value
ToJSON, Value -> Parser [InstallationBuilders]
Value -> Parser InstallationBuilders
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [InstallationBuilders]
$cparseJSONList :: Value -> Parser [InstallationBuilders]
parseJSON :: Value -> Parser InstallationBuilders
$cparseJSON :: Value -> Parser InstallationBuilders
FromJSON, Proxy InstallationBuilders
-> Declare (Definitions Schema) NamedSchema
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
declareNamedSchema :: Proxy InstallationBuilders
-> Declare (Definitions Schema) NamedSchema
$cdeclareNamedSchema :: Proxy InstallationBuilders
-> Declare (Definitions Schema) NamedSchema
ToSchema)