module Cachix.Types.SigningKeyCreate
  ( SigningKeyCreate (..),
  )
where

import Data.Aeson
  ( FromJSON,
    ToJSON,
  )
import Data.Swagger
import Protolude

-- | Conveys that a signing secret key was created, by sharing the public key.
newtype SigningKeyCreate = SigningKeyCreate
  { SigningKeyCreate -> Text
publicKey :: Text
  }
  deriving (Int -> SigningKeyCreate -> ShowS
[SigningKeyCreate] -> ShowS
SigningKeyCreate -> String
(Int -> SigningKeyCreate -> ShowS)
-> (SigningKeyCreate -> String)
-> ([SigningKeyCreate] -> ShowS)
-> Show SigningKeyCreate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SigningKeyCreate -> ShowS
showsPrec :: Int -> SigningKeyCreate -> ShowS
$cshow :: SigningKeyCreate -> String
show :: SigningKeyCreate -> String
$cshowList :: [SigningKeyCreate] -> ShowS
showList :: [SigningKeyCreate] -> ShowS
Show, (forall x. SigningKeyCreate -> Rep SigningKeyCreate x)
-> (forall x. Rep SigningKeyCreate x -> SigningKeyCreate)
-> Generic SigningKeyCreate
forall x. Rep SigningKeyCreate x -> SigningKeyCreate
forall x. SigningKeyCreate -> Rep SigningKeyCreate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SigningKeyCreate -> Rep SigningKeyCreate x
from :: forall x. SigningKeyCreate -> Rep SigningKeyCreate x
$cto :: forall x. Rep SigningKeyCreate x -> SigningKeyCreate
to :: forall x. Rep SigningKeyCreate x -> SigningKeyCreate
Generic, Value -> Parser [SigningKeyCreate]
Value -> Parser SigningKeyCreate
(Value -> Parser SigningKeyCreate)
-> (Value -> Parser [SigningKeyCreate])
-> FromJSON SigningKeyCreate
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser SigningKeyCreate
parseJSON :: Value -> Parser SigningKeyCreate
$cparseJSONList :: Value -> Parser [SigningKeyCreate]
parseJSONList :: Value -> Parser [SigningKeyCreate]
FromJSON, [SigningKeyCreate] -> Value
[SigningKeyCreate] -> Encoding
SigningKeyCreate -> Value
SigningKeyCreate -> Encoding
(SigningKeyCreate -> Value)
-> (SigningKeyCreate -> Encoding)
-> ([SigningKeyCreate] -> Value)
-> ([SigningKeyCreate] -> Encoding)
-> ToJSON SigningKeyCreate
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: SigningKeyCreate -> Value
toJSON :: SigningKeyCreate -> Value
$ctoEncoding :: SigningKeyCreate -> Encoding
toEncoding :: SigningKeyCreate -> Encoding
$ctoJSONList :: [SigningKeyCreate] -> Value
toJSONList :: [SigningKeyCreate] -> Value
$ctoEncodingList :: [SigningKeyCreate] -> Encoding
toEncodingList :: [SigningKeyCreate] -> Encoding
ToJSON, Proxy SigningKeyCreate -> Declare (Definitions Schema) NamedSchema
(Proxy SigningKeyCreate
 -> Declare (Definitions Schema) NamedSchema)
-> ToSchema SigningKeyCreate
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy SigningKeyCreate -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy SigningKeyCreate -> Declare (Definitions Schema) NamedSchema
ToSchema)