-----------------------------------------------------------------------------
-- |
-- License     :  BSD-3-Clause
-- Maintainer  :  Todd Mohney <toddmohney@gmail.com>
--
module GitHub.Data.DeployKeys where

import GitHub.Data.Id          (Id)
import GitHub.Data.URL         (URL)
import GitHub.Internal.Prelude
import Prelude ()

data RepoDeployKey = RepoDeployKey
    { RepoDeployKey -> Id RepoDeployKey
repoDeployKeyId        :: !(Id RepoDeployKey)
    , RepoDeployKey -> Text
repoDeployKeyKey       :: !Text
    , RepoDeployKey -> URL
repoDeployKeyUrl       :: !URL
    , RepoDeployKey -> Text
repoDeployKeyTitle     :: !Text
    , RepoDeployKey -> Bool
repoDeployKeyVerified  :: !Bool
    , RepoDeployKey -> UTCTime
repoDeployKeyCreatedAt :: !UTCTime
    , RepoDeployKey -> Bool
repoDeployKeyReadOnly  :: !Bool
    }
  deriving (Int -> RepoDeployKey -> ShowS
[RepoDeployKey] -> ShowS
RepoDeployKey -> String
(Int -> RepoDeployKey -> ShowS)
-> (RepoDeployKey -> String)
-> ([RepoDeployKey] -> ShowS)
-> Show RepoDeployKey
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RepoDeployKey] -> ShowS
$cshowList :: [RepoDeployKey] -> ShowS
show :: RepoDeployKey -> String
$cshow :: RepoDeployKey -> String
showsPrec :: Int -> RepoDeployKey -> ShowS
$cshowsPrec :: Int -> RepoDeployKey -> ShowS
Show, Typeable RepoDeployKey
Typeable RepoDeployKey
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> RepoDeployKey -> c RepoDeployKey)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c RepoDeployKey)
-> (RepoDeployKey -> Constr)
-> (RepoDeployKey -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c RepoDeployKey))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c RepoDeployKey))
-> ((forall b. Data b => b -> b) -> RepoDeployKey -> RepoDeployKey)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r)
-> (forall u. (forall d. Data d => d -> u) -> RepoDeployKey -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> RepoDeployKey -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey)
-> Data RepoDeployKey
RepoDeployKey -> DataType
RepoDeployKey -> Constr
(forall b. Data b => b -> b) -> RepoDeployKey -> RepoDeployKey
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> RepoDeployKey -> u
forall u. (forall d. Data d => d -> u) -> RepoDeployKey -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RepoDeployKey
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RepoDeployKey -> c RepoDeployKey
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RepoDeployKey)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c RepoDeployKey)
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RepoDeployKey -> m RepoDeployKey
gmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RepoDeployKey -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RepoDeployKey -> u
gmapQ :: forall u. (forall d. Data d => d -> u) -> RepoDeployKey -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> RepoDeployKey -> [u]
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RepoDeployKey -> r
gmapT :: (forall b. Data b => b -> b) -> RepoDeployKey -> RepoDeployKey
$cgmapT :: (forall b. Data b => b -> b) -> RepoDeployKey -> RepoDeployKey
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c RepoDeployKey)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c RepoDeployKey)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RepoDeployKey)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RepoDeployKey)
dataTypeOf :: RepoDeployKey -> DataType
$cdataTypeOf :: RepoDeployKey -> DataType
toConstr :: RepoDeployKey -> Constr
$ctoConstr :: RepoDeployKey -> Constr
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RepoDeployKey
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RepoDeployKey
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RepoDeployKey -> c RepoDeployKey
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RepoDeployKey -> c RepoDeployKey
Data, Typeable, RepoDeployKey -> RepoDeployKey -> Bool
(RepoDeployKey -> RepoDeployKey -> Bool)
-> (RepoDeployKey -> RepoDeployKey -> Bool) -> Eq RepoDeployKey
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RepoDeployKey -> RepoDeployKey -> Bool
$c/= :: RepoDeployKey -> RepoDeployKey -> Bool
== :: RepoDeployKey -> RepoDeployKey -> Bool
$c== :: RepoDeployKey -> RepoDeployKey -> Bool
Eq, Eq RepoDeployKey
Eq RepoDeployKey
-> (RepoDeployKey -> RepoDeployKey -> Ordering)
-> (RepoDeployKey -> RepoDeployKey -> Bool)
-> (RepoDeployKey -> RepoDeployKey -> Bool)
-> (RepoDeployKey -> RepoDeployKey -> Bool)
-> (RepoDeployKey -> RepoDeployKey -> Bool)
-> (RepoDeployKey -> RepoDeployKey -> RepoDeployKey)
-> (RepoDeployKey -> RepoDeployKey -> RepoDeployKey)
-> Ord RepoDeployKey
RepoDeployKey -> RepoDeployKey -> Bool
RepoDeployKey -> RepoDeployKey -> Ordering
RepoDeployKey -> RepoDeployKey -> RepoDeployKey
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: RepoDeployKey -> RepoDeployKey -> RepoDeployKey
$cmin :: RepoDeployKey -> RepoDeployKey -> RepoDeployKey
max :: RepoDeployKey -> RepoDeployKey -> RepoDeployKey
$cmax :: RepoDeployKey -> RepoDeployKey -> RepoDeployKey
>= :: RepoDeployKey -> RepoDeployKey -> Bool
$c>= :: RepoDeployKey -> RepoDeployKey -> Bool
> :: RepoDeployKey -> RepoDeployKey -> Bool
$c> :: RepoDeployKey -> RepoDeployKey -> Bool
<= :: RepoDeployKey -> RepoDeployKey -> Bool
$c<= :: RepoDeployKey -> RepoDeployKey -> Bool
< :: RepoDeployKey -> RepoDeployKey -> Bool
$c< :: RepoDeployKey -> RepoDeployKey -> Bool
compare :: RepoDeployKey -> RepoDeployKey -> Ordering
$ccompare :: RepoDeployKey -> RepoDeployKey -> Ordering
Ord, (forall x. RepoDeployKey -> Rep RepoDeployKey x)
-> (forall x. Rep RepoDeployKey x -> RepoDeployKey)
-> Generic RepoDeployKey
forall x. Rep RepoDeployKey x -> RepoDeployKey
forall x. RepoDeployKey -> Rep RepoDeployKey x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RepoDeployKey x -> RepoDeployKey
$cfrom :: forall x. RepoDeployKey -> Rep RepoDeployKey x
Generic)

instance FromJSON RepoDeployKey where
    parseJSON :: Value -> Parser RepoDeployKey
parseJSON = String
-> (Object -> Parser RepoDeployKey)
-> Value
-> Parser RepoDeployKey
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"RepoDeployKey" ((Object -> Parser RepoDeployKey) -> Value -> Parser RepoDeployKey)
-> (Object -> Parser RepoDeployKey)
-> Value
-> Parser RepoDeployKey
forall a b. (a -> b) -> a -> b
$ \Object
o -> Id RepoDeployKey
-> Text -> URL -> Text -> Bool -> UTCTime -> Bool -> RepoDeployKey
RepoDeployKey
        (Id RepoDeployKey
 -> Text -> URL -> Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
-> Parser (Id RepoDeployKey)
-> Parser
     (Text -> URL -> Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Key -> Parser (Id RepoDeployKey)
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"id"
        Parser
  (Text -> URL -> Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
-> Parser Text
-> Parser (URL -> Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Text
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"key"
        Parser (URL -> Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
-> Parser URL
-> Parser (Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser URL
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"url"
        Parser (Text -> Bool -> UTCTime -> Bool -> RepoDeployKey)
-> Parser Text -> Parser (Bool -> UTCTime -> Bool -> RepoDeployKey)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Text
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"title"
        Parser (Bool -> UTCTime -> Bool -> RepoDeployKey)
-> Parser Bool -> Parser (UTCTime -> Bool -> RepoDeployKey)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Bool
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"verified"
        Parser (UTCTime -> Bool -> RepoDeployKey)
-> Parser UTCTime -> Parser (Bool -> RepoDeployKey)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser UTCTime
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"created_at"
        Parser (Bool -> RepoDeployKey)
-> Parser Bool -> Parser RepoDeployKey
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Bool
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"read_only"

data NewRepoDeployKey = NewRepoDeployKey
    { NewRepoDeployKey -> Text
newRepoDeployKeyKey      :: !Text
    , NewRepoDeployKey -> Text
newRepoDeployKeyTitle    :: !Text
    , NewRepoDeployKey -> Bool
newRepoDeployKeyReadOnly :: !Bool
    }
  deriving (Int -> NewRepoDeployKey -> ShowS
[NewRepoDeployKey] -> ShowS
NewRepoDeployKey -> String
(Int -> NewRepoDeployKey -> ShowS)
-> (NewRepoDeployKey -> String)
-> ([NewRepoDeployKey] -> ShowS)
-> Show NewRepoDeployKey
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NewRepoDeployKey] -> ShowS
$cshowList :: [NewRepoDeployKey] -> ShowS
show :: NewRepoDeployKey -> String
$cshow :: NewRepoDeployKey -> String
showsPrec :: Int -> NewRepoDeployKey -> ShowS
$cshowsPrec :: Int -> NewRepoDeployKey -> ShowS
Show, Typeable NewRepoDeployKey
Typeable NewRepoDeployKey
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> NewRepoDeployKey -> c NewRepoDeployKey)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c NewRepoDeployKey)
-> (NewRepoDeployKey -> Constr)
-> (NewRepoDeployKey -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c NewRepoDeployKey))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e))
    -> Maybe (c NewRepoDeployKey))
-> ((forall b. Data b => b -> b)
    -> NewRepoDeployKey -> NewRepoDeployKey)
-> (forall r r'.
    (r -> r' -> r)
    -> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r)
-> (forall r r'.
    (r' -> r -> r)
    -> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r)
-> (forall u.
    (forall d. Data d => d -> u) -> NewRepoDeployKey -> [u])
-> (forall u.
    Int -> (forall d. Data d => d -> u) -> NewRepoDeployKey -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d)
    -> NewRepoDeployKey -> m NewRepoDeployKey)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> NewRepoDeployKey -> m NewRepoDeployKey)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d)
    -> NewRepoDeployKey -> m NewRepoDeployKey)
-> Data NewRepoDeployKey
NewRepoDeployKey -> DataType
NewRepoDeployKey -> Constr
(forall b. Data b => b -> b)
-> NewRepoDeployKey -> NewRepoDeployKey
forall a.
Typeable a
-> (forall (c :: * -> *).
    (forall d b. Data d => c (d -> b) -> d -> c b)
    -> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
    (forall b r. Data b => c (b -> r) -> c r)
    -> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
    Typeable t =>
    (forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
    Typeable t =>
    (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
    (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
    (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
    Monad m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
    MonadPlus m =>
    (forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u.
Int -> (forall d. Data d => d -> u) -> NewRepoDeployKey -> u
forall u. (forall d. Data d => d -> u) -> NewRepoDeployKey -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NewRepoDeployKey
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NewRepoDeployKey -> c NewRepoDeployKey
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NewRepoDeployKey)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NewRepoDeployKey)
gmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
gmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
gmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d)
-> NewRepoDeployKey -> m NewRepoDeployKey
gmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> NewRepoDeployKey -> u
$cgmapQi :: forall u.
Int -> (forall d. Data d => d -> u) -> NewRepoDeployKey -> u
gmapQ :: forall u. (forall d. Data d => d -> u) -> NewRepoDeployKey -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> NewRepoDeployKey -> [u]
gmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r
gmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> NewRepoDeployKey -> r
gmapT :: (forall b. Data b => b -> b)
-> NewRepoDeployKey -> NewRepoDeployKey
$cgmapT :: (forall b. Data b => b -> b)
-> NewRepoDeployKey -> NewRepoDeployKey
dataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NewRepoDeployKey)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e))
-> Maybe (c NewRepoDeployKey)
dataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NewRepoDeployKey)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c NewRepoDeployKey)
dataTypeOf :: NewRepoDeployKey -> DataType
$cdataTypeOf :: NewRepoDeployKey -> DataType
toConstr :: NewRepoDeployKey -> Constr
$ctoConstr :: NewRepoDeployKey -> Constr
gunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NewRepoDeployKey
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c NewRepoDeployKey
gfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NewRepoDeployKey -> c NewRepoDeployKey
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> NewRepoDeployKey -> c NewRepoDeployKey
Data, Typeable, NewRepoDeployKey -> NewRepoDeployKey -> Bool
(NewRepoDeployKey -> NewRepoDeployKey -> Bool)
-> (NewRepoDeployKey -> NewRepoDeployKey -> Bool)
-> Eq NewRepoDeployKey
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
$c/= :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
== :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
$c== :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
Eq, Eq NewRepoDeployKey
Eq NewRepoDeployKey
-> (NewRepoDeployKey -> NewRepoDeployKey -> Ordering)
-> (NewRepoDeployKey -> NewRepoDeployKey -> Bool)
-> (NewRepoDeployKey -> NewRepoDeployKey -> Bool)
-> (NewRepoDeployKey -> NewRepoDeployKey -> Bool)
-> (NewRepoDeployKey -> NewRepoDeployKey -> Bool)
-> (NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey)
-> (NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey)
-> Ord NewRepoDeployKey
NewRepoDeployKey -> NewRepoDeployKey -> Bool
NewRepoDeployKey -> NewRepoDeployKey -> Ordering
NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey
$cmin :: NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey
max :: NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey
$cmax :: NewRepoDeployKey -> NewRepoDeployKey -> NewRepoDeployKey
>= :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
$c>= :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
> :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
$c> :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
<= :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
$c<= :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
< :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
$c< :: NewRepoDeployKey -> NewRepoDeployKey -> Bool
compare :: NewRepoDeployKey -> NewRepoDeployKey -> Ordering
$ccompare :: NewRepoDeployKey -> NewRepoDeployKey -> Ordering
Ord, (forall x. NewRepoDeployKey -> Rep NewRepoDeployKey x)
-> (forall x. Rep NewRepoDeployKey x -> NewRepoDeployKey)
-> Generic NewRepoDeployKey
forall x. Rep NewRepoDeployKey x -> NewRepoDeployKey
forall x. NewRepoDeployKey -> Rep NewRepoDeployKey x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep NewRepoDeployKey x -> NewRepoDeployKey
$cfrom :: forall x. NewRepoDeployKey -> Rep NewRepoDeployKey x
Generic)

instance ToJSON NewRepoDeployKey where
    toJSON :: NewRepoDeployKey -> Value
toJSON (NewRepoDeployKey Text
key Text
title Bool
readOnly) = [Pair] -> Value
object
        [ Key
"key" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text
key
        , Key
"title" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Text
title
        , Key
"read_only" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
.= Bool
readOnly
        ]

instance FromJSON NewRepoDeployKey where
    parseJSON :: Value -> Parser NewRepoDeployKey
parseJSON = String
-> (Object -> Parser NewRepoDeployKey)
-> Value
-> Parser NewRepoDeployKey
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"RepoDeployKey" ((Object -> Parser NewRepoDeployKey)
 -> Value -> Parser NewRepoDeployKey)
-> (Object -> Parser NewRepoDeployKey)
-> Value
-> Parser NewRepoDeployKey
forall a b. (a -> b) -> a -> b
$ \Object
o -> Text -> Text -> Bool -> NewRepoDeployKey
NewRepoDeployKey
        (Text -> Text -> Bool -> NewRepoDeployKey)
-> Parser Text -> Parser (Text -> Bool -> NewRepoDeployKey)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
o Object -> Key -> Parser Text
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"key"
        Parser (Text -> Bool -> NewRepoDeployKey)
-> Parser Text -> Parser (Bool -> NewRepoDeployKey)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Text
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"title"
        Parser (Bool -> NewRepoDeployKey)
-> Parser Bool -> Parser NewRepoDeployKey
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
o Object -> Key -> Parser Bool
forall a. FromJSON a => Object -> Key -> Parser a
.: Key
"read_only"