{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StrictData #-}
module Wire.API.Provider
(
Provider (..),
ProviderProfile (..),
NewProvider (..),
NewProviderResponse (..),
UpdateProvider (..),
ProviderActivationResponse (..),
ProviderLogin (..),
DeleteProvider (..),
PasswordReset (..),
CompletePasswordReset (..),
PasswordChange (..),
EmailUpdate (..),
HttpsUrl (..),
ServiceToken (..),
ServiceTag (..),
)
where
import Data.Aeson qualified as A
import Data.Id
import Data.Misc (HttpsUrl (..), PlainTextPassword6, PlainTextPassword8)
import Data.OpenApi qualified as S
import Data.Range
import Data.Schema
import Imports
import Wire.API.Conversation.Code as Code
import Wire.API.Provider.Service (ServiceToken (..))
import Wire.API.Provider.Service.Tag (ServiceTag (..))
import Wire.API.User.EmailAddress
import Wire.API.User.Profile (Name)
import Wire.Arbitrary (Arbitrary, GenericUniform (..))
data Provider = Provider
{ Provider -> ProviderId
providerId :: ProviderId,
Provider -> Name
providerName :: Name,
Provider -> EmailAddress
providerEmail :: EmailAddress,
Provider -> HttpsUrl
providerUrl :: HttpsUrl,
Provider -> Text
providerDescr :: Text
}
deriving stock (Provider -> Provider -> Bool
(Provider -> Provider -> Bool)
-> (Provider -> Provider -> Bool) -> Eq Provider
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Provider -> Provider -> Bool
== :: Provider -> Provider -> Bool
$c/= :: Provider -> Provider -> Bool
/= :: Provider -> Provider -> Bool
Eq, Int -> Provider -> ShowS
[Provider] -> ShowS
Provider -> String
(Int -> Provider -> ShowS)
-> (Provider -> String) -> ([Provider] -> ShowS) -> Show Provider
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Provider -> ShowS
showsPrec :: Int -> Provider -> ShowS
$cshow :: Provider -> String
show :: Provider -> String
$cshowList :: [Provider] -> ShowS
showList :: [Provider] -> ShowS
Show, (forall x. Provider -> Rep Provider x)
-> (forall x. Rep Provider x -> Provider) -> Generic Provider
forall x. Rep Provider x -> Provider
forall x. Provider -> Rep Provider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. Provider -> Rep Provider x
from :: forall x. Provider -> Rep Provider x
$cto :: forall x. Rep Provider x -> Provider
to :: forall x. Rep Provider x -> Provider
Generic)
deriving (Gen Provider
Gen Provider -> (Provider -> [Provider]) -> Arbitrary Provider
Provider -> [Provider]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen Provider
arbitrary :: Gen Provider
$cshrink :: Provider -> [Provider]
shrink :: Provider -> [Provider]
Arbitrary) via (GenericUniform Provider)
deriving ([Provider] -> Value
[Provider] -> Encoding
Provider -> Value
Provider -> Encoding
(Provider -> Value)
-> (Provider -> Encoding)
-> ([Provider] -> Value)
-> ([Provider] -> Encoding)
-> ToJSON Provider
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: Provider -> Value
toJSON :: Provider -> Value
$ctoEncoding :: Provider -> Encoding
toEncoding :: Provider -> Encoding
$ctoJSONList :: [Provider] -> Value
toJSONList :: [Provider] -> Value
$ctoEncodingList :: [Provider] -> Encoding
toEncodingList :: [Provider] -> Encoding
A.ToJSON, Value -> Parser [Provider]
Value -> Parser Provider
(Value -> Parser Provider)
-> (Value -> Parser [Provider]) -> FromJSON Provider
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser Provider
parseJSON :: Value -> Parser Provider
$cparseJSONList :: Value -> Parser [Provider]
parseJSONList :: Value -> Parser [Provider]
A.FromJSON, Typeable Provider
Typeable Provider =>
(Proxy Provider -> Declare (Definitions Schema) NamedSchema)
-> ToSchema Provider
Proxy Provider -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy Provider -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy Provider -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema Provider
instance ToSchema Provider where
schema :: ValueSchema NamedSwaggerDoc Provider
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] Provider Provider
-> ValueSchema NamedSwaggerDoc Provider
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"Provider" (SchemaP SwaggerDoc Object [Pair] Provider Provider
-> ValueSchema NamedSwaggerDoc Provider)
-> SchemaP SwaggerDoc Object [Pair] Provider Provider
-> ValueSchema NamedSwaggerDoc Provider
forall a b. (a -> b) -> a -> b
$
ProviderId -> Name -> EmailAddress -> HttpsUrl -> Text -> Provider
Provider
(ProviderId
-> Name -> EmailAddress -> HttpsUrl -> Text -> Provider)
-> SchemaP SwaggerDoc Object [Pair] Provider ProviderId
-> SchemaP
SwaggerDoc
Object
[Pair]
Provider
(Name -> EmailAddress -> HttpsUrl -> Text -> Provider)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Provider -> ProviderId
providerId (Provider -> ProviderId)
-> SchemaP SwaggerDoc Object [Pair] ProviderId ProviderId
-> SchemaP SwaggerDoc Object [Pair] Provider ProviderId
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value ProviderId ProviderId
-> SchemaP SwaggerDoc Object [Pair] ProviderId ProviderId
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"id" SchemaP NamedSwaggerDoc Value Value ProviderId ProviderId
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
Provider
(Name -> EmailAddress -> HttpsUrl -> Text -> Provider)
-> SchemaP SwaggerDoc Object [Pair] Provider Name
-> SchemaP
SwaggerDoc
Object
[Pair]
Provider
(EmailAddress -> HttpsUrl -> Text -> Provider)
forall a b.
SchemaP SwaggerDoc Object [Pair] Provider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] Provider a
-> SchemaP SwaggerDoc Object [Pair] Provider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Provider -> Name
providerName (Provider -> Name)
-> SchemaP SwaggerDoc Object [Pair] Name Name
-> SchemaP SwaggerDoc Object [Pair] Provider Name
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value Name Name
-> SchemaP SwaggerDoc Object [Pair] Name Name
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"name" SchemaP NamedSwaggerDoc Value Value Name Name
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
Provider
(EmailAddress -> HttpsUrl -> Text -> Provider)
-> SchemaP SwaggerDoc Object [Pair] Provider EmailAddress
-> SchemaP
SwaggerDoc Object [Pair] Provider (HttpsUrl -> Text -> Provider)
forall a b.
SchemaP SwaggerDoc Object [Pair] Provider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] Provider a
-> SchemaP SwaggerDoc Object [Pair] Provider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Provider -> EmailAddress
providerEmail (Provider -> EmailAddress)
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] Provider EmailAddress
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"email" SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc Object [Pair] Provider (HttpsUrl -> Text -> Provider)
-> SchemaP SwaggerDoc Object [Pair] Provider HttpsUrl
-> SchemaP SwaggerDoc Object [Pair] Provider (Text -> Provider)
forall a b.
SchemaP SwaggerDoc Object [Pair] Provider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] Provider a
-> SchemaP SwaggerDoc Object [Pair] Provider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Provider -> HttpsUrl
providerUrl (Provider -> HttpsUrl)
-> SchemaP SwaggerDoc Object [Pair] HttpsUrl HttpsUrl
-> SchemaP SwaggerDoc Object [Pair] Provider HttpsUrl
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value HttpsUrl HttpsUrl
-> SchemaP SwaggerDoc Object [Pair] HttpsUrl HttpsUrl
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"url" SchemaP NamedSwaggerDoc Value Value HttpsUrl HttpsUrl
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP SwaggerDoc Object [Pair] Provider (Text -> Provider)
-> SchemaP SwaggerDoc Object [Pair] Provider Text
-> SchemaP SwaggerDoc Object [Pair] Provider Provider
forall a b.
SchemaP SwaggerDoc Object [Pair] Provider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] Provider a
-> SchemaP SwaggerDoc Object [Pair] Provider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Provider -> Text
providerDescr (Provider -> Text)
-> SchemaP SwaggerDoc Object [Pair] Text Text
-> SchemaP SwaggerDoc Object [Pair] Provider Text
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value Text Text
-> SchemaP SwaggerDoc Object [Pair] Text Text
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"description" SchemaP NamedSwaggerDoc Value Value Text Text
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
newtype ProviderProfile = ProviderProfile Provider
deriving stock (ProviderProfile -> ProviderProfile -> Bool
(ProviderProfile -> ProviderProfile -> Bool)
-> (ProviderProfile -> ProviderProfile -> Bool)
-> Eq ProviderProfile
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProviderProfile -> ProviderProfile -> Bool
== :: ProviderProfile -> ProviderProfile -> Bool
$c/= :: ProviderProfile -> ProviderProfile -> Bool
/= :: ProviderProfile -> ProviderProfile -> Bool
Eq, Int -> ProviderProfile -> ShowS
[ProviderProfile] -> ShowS
ProviderProfile -> String
(Int -> ProviderProfile -> ShowS)
-> (ProviderProfile -> String)
-> ([ProviderProfile] -> ShowS)
-> Show ProviderProfile
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProviderProfile -> ShowS
showsPrec :: Int -> ProviderProfile -> ShowS
$cshow :: ProviderProfile -> String
show :: ProviderProfile -> String
$cshowList :: [ProviderProfile] -> ShowS
showList :: [ProviderProfile] -> ShowS
Show)
deriving newtype (Value -> Parser [ProviderProfile]
Value -> Parser ProviderProfile
(Value -> Parser ProviderProfile)
-> (Value -> Parser [ProviderProfile]) -> FromJSON ProviderProfile
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser ProviderProfile
parseJSON :: Value -> Parser ProviderProfile
$cparseJSONList :: Value -> Parser [ProviderProfile]
parseJSONList :: Value -> Parser [ProviderProfile]
A.FromJSON, [ProviderProfile] -> Value
[ProviderProfile] -> Encoding
ProviderProfile -> Value
ProviderProfile -> Encoding
(ProviderProfile -> Value)
-> (ProviderProfile -> Encoding)
-> ([ProviderProfile] -> Value)
-> ([ProviderProfile] -> Encoding)
-> ToJSON ProviderProfile
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: ProviderProfile -> Value
toJSON :: ProviderProfile -> Value
$ctoEncoding :: ProviderProfile -> Encoding
toEncoding :: ProviderProfile -> Encoding
$ctoJSONList :: [ProviderProfile] -> Value
toJSONList :: [ProviderProfile] -> Value
$ctoEncodingList :: [ProviderProfile] -> Encoding
toEncodingList :: [ProviderProfile] -> Encoding
A.ToJSON, Gen ProviderProfile
Gen ProviderProfile
-> (ProviderProfile -> [ProviderProfile])
-> Arbitrary ProviderProfile
ProviderProfile -> [ProviderProfile]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen ProviderProfile
arbitrary :: Gen ProviderProfile
$cshrink :: ProviderProfile -> [ProviderProfile]
shrink :: ProviderProfile -> [ProviderProfile]
Arbitrary, Typeable ProviderProfile
Typeable ProviderProfile =>
(Proxy ProviderProfile -> Declare (Definitions Schema) NamedSchema)
-> ToSchema ProviderProfile
Proxy ProviderProfile -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy ProviderProfile -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy ProviderProfile -> Declare (Definitions Schema) NamedSchema
S.ToSchema)
data NewProvider = NewProvider
{ NewProvider -> Name
newProviderName :: Name,
NewProvider -> EmailAddress
newProviderEmail :: EmailAddress,
NewProvider -> HttpsUrl
newProviderUrl :: HttpsUrl,
NewProvider -> Range 1 1024 Text
newProviderDescr :: Range 1 1024 Text,
NewProvider -> Maybe PlainTextPassword6
newProviderPassword :: Maybe PlainTextPassword6
}
deriving stock (NewProvider -> NewProvider -> Bool
(NewProvider -> NewProvider -> Bool)
-> (NewProvider -> NewProvider -> Bool) -> Eq NewProvider
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NewProvider -> NewProvider -> Bool
== :: NewProvider -> NewProvider -> Bool
$c/= :: NewProvider -> NewProvider -> Bool
/= :: NewProvider -> NewProvider -> Bool
Eq, Int -> NewProvider -> ShowS
[NewProvider] -> ShowS
NewProvider -> String
(Int -> NewProvider -> ShowS)
-> (NewProvider -> String)
-> ([NewProvider] -> ShowS)
-> Show NewProvider
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NewProvider -> ShowS
showsPrec :: Int -> NewProvider -> ShowS
$cshow :: NewProvider -> String
show :: NewProvider -> String
$cshowList :: [NewProvider] -> ShowS
showList :: [NewProvider] -> ShowS
Show, (forall x. NewProvider -> Rep NewProvider x)
-> (forall x. Rep NewProvider x -> NewProvider)
-> Generic NewProvider
forall x. Rep NewProvider x -> NewProvider
forall x. NewProvider -> Rep NewProvider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NewProvider -> Rep NewProvider x
from :: forall x. NewProvider -> Rep NewProvider x
$cto :: forall x. Rep NewProvider x -> NewProvider
to :: forall x. Rep NewProvider x -> NewProvider
Generic)
deriving (Gen NewProvider
Gen NewProvider
-> (NewProvider -> [NewProvider]) -> Arbitrary NewProvider
NewProvider -> [NewProvider]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen NewProvider
arbitrary :: Gen NewProvider
$cshrink :: NewProvider -> [NewProvider]
shrink :: NewProvider -> [NewProvider]
Arbitrary) via (GenericUniform NewProvider)
deriving ([NewProvider] -> Value
[NewProvider] -> Encoding
NewProvider -> Value
NewProvider -> Encoding
(NewProvider -> Value)
-> (NewProvider -> Encoding)
-> ([NewProvider] -> Value)
-> ([NewProvider] -> Encoding)
-> ToJSON NewProvider
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NewProvider -> Value
toJSON :: NewProvider -> Value
$ctoEncoding :: NewProvider -> Encoding
toEncoding :: NewProvider -> Encoding
$ctoJSONList :: [NewProvider] -> Value
toJSONList :: [NewProvider] -> Value
$ctoEncodingList :: [NewProvider] -> Encoding
toEncodingList :: [NewProvider] -> Encoding
A.ToJSON, Value -> Parser [NewProvider]
Value -> Parser NewProvider
(Value -> Parser NewProvider)
-> (Value -> Parser [NewProvider]) -> FromJSON NewProvider
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NewProvider
parseJSON :: Value -> Parser NewProvider
$cparseJSONList :: Value -> Parser [NewProvider]
parseJSONList :: Value -> Parser [NewProvider]
A.FromJSON, Typeable NewProvider
Typeable NewProvider =>
(Proxy NewProvider -> Declare (Definitions Schema) NamedSchema)
-> ToSchema NewProvider
Proxy NewProvider -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NewProvider -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NewProvider -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema NewProvider
instance ToSchema NewProvider where
schema :: ValueSchema NamedSwaggerDoc NewProvider
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] NewProvider NewProvider
-> ValueSchema NamedSwaggerDoc NewProvider
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"NewProvider" (SchemaP SwaggerDoc Object [Pair] NewProvider NewProvider
-> ValueSchema NamedSwaggerDoc NewProvider)
-> SchemaP SwaggerDoc Object [Pair] NewProvider NewProvider
-> ValueSchema NamedSwaggerDoc NewProvider
forall a b. (a -> b) -> a -> b
$
Name
-> EmailAddress
-> HttpsUrl
-> Range 1 1024 Text
-> Maybe PlainTextPassword6
-> NewProvider
NewProvider
(Name
-> EmailAddress
-> HttpsUrl
-> Range 1 1024 Text
-> Maybe PlainTextPassword6
-> NewProvider)
-> SchemaP SwaggerDoc Object [Pair] NewProvider Name
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(EmailAddress
-> HttpsUrl
-> Range 1 1024 Text
-> Maybe PlainTextPassword6
-> NewProvider)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> NewProvider -> Name
newProviderName (NewProvider -> Name)
-> SchemaP SwaggerDoc Object [Pair] Name Name
-> SchemaP SwaggerDoc Object [Pair] NewProvider Name
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value Name Name
-> SchemaP SwaggerDoc Object [Pair] Name Name
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"name" SchemaP NamedSwaggerDoc Value Value Name Name
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(EmailAddress
-> HttpsUrl
-> Range 1 1024 Text
-> Maybe PlainTextPassword6
-> NewProvider)
-> SchemaP SwaggerDoc Object [Pair] NewProvider EmailAddress
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(HttpsUrl
-> Range 1 1024 Text -> Maybe PlainTextPassword6 -> NewProvider)
forall a b.
SchemaP SwaggerDoc Object [Pair] NewProvider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] NewProvider a
-> SchemaP SwaggerDoc Object [Pair] NewProvider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> NewProvider -> EmailAddress
newProviderEmail (NewProvider -> EmailAddress)
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] NewProvider EmailAddress
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"email" SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(HttpsUrl
-> Range 1 1024 Text -> Maybe PlainTextPassword6 -> NewProvider)
-> SchemaP SwaggerDoc Object [Pair] NewProvider HttpsUrl
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(Range 1 1024 Text -> Maybe PlainTextPassword6 -> NewProvider)
forall a b.
SchemaP SwaggerDoc Object [Pair] NewProvider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] NewProvider a
-> SchemaP SwaggerDoc Object [Pair] NewProvider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> NewProvider -> HttpsUrl
newProviderUrl (NewProvider -> HttpsUrl)
-> SchemaP SwaggerDoc Object [Pair] HttpsUrl HttpsUrl
-> SchemaP SwaggerDoc Object [Pair] NewProvider HttpsUrl
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value HttpsUrl HttpsUrl
-> SchemaP SwaggerDoc Object [Pair] HttpsUrl HttpsUrl
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"url" SchemaP NamedSwaggerDoc Value Value HttpsUrl HttpsUrl
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(Range 1 1024 Text -> Maybe PlainTextPassword6 -> NewProvider)
-> SchemaP SwaggerDoc Object [Pair] NewProvider (Range 1 1024 Text)
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(Maybe PlainTextPassword6 -> NewProvider)
forall a b.
SchemaP SwaggerDoc Object [Pair] NewProvider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] NewProvider a
-> SchemaP SwaggerDoc Object [Pair] NewProvider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> NewProvider -> Range 1 1024 Text
newProviderDescr (NewProvider -> Range 1 1024 Text)
-> SchemaP
SwaggerDoc Object [Pair] (Range 1 1024 Text) (Range 1 1024 Text)
-> SchemaP SwaggerDoc Object [Pair] NewProvider (Range 1 1024 Text)
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP
NamedSwaggerDoc Value Value (Range 1 1024 Text) (Range 1 1024 Text)
-> SchemaP
SwaggerDoc Object [Pair] (Range 1 1024 Text) (Range 1 1024 Text)
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"description" SchemaP
NamedSwaggerDoc Value Value (Range 1 1024 Text) (Range 1 1024 Text)
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
NewProvider
(Maybe PlainTextPassword6 -> NewProvider)
-> SchemaP
SwaggerDoc Object [Pair] NewProvider (Maybe PlainTextPassword6)
-> SchemaP SwaggerDoc Object [Pair] NewProvider NewProvider
forall a b.
SchemaP SwaggerDoc Object [Pair] NewProvider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] NewProvider a
-> SchemaP SwaggerDoc Object [Pair] NewProvider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> NewProvider -> Maybe PlainTextPassword6
newProviderPassword (NewProvider -> Maybe PlainTextPassword6)
-> SchemaP
SwaggerDoc
Object
[Pair]
(Maybe PlainTextPassword6)
(Maybe PlainTextPassword6)
-> SchemaP
SwaggerDoc Object [Pair] NewProvider (Maybe PlainTextPassword6)
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= SchemaP
SwaggerDoc
Object
[Pair]
PlainTextPassword6
(Maybe PlainTextPassword6)
-> SchemaP
SwaggerDoc
Object
[Pair]
(Maybe PlainTextPassword6)
(Maybe PlainTextPassword6)
forall w d v a b.
Monoid w =>
SchemaP d v w a b -> SchemaP d v w (Maybe a) b
maybe_ (Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc
Object
[Pair]
PlainTextPassword6
(Maybe PlainTextPassword6)
forall doc doc' a b.
(HasOpt doc, HasField doc' doc) =>
Text
-> SchemaP doc' Value Value a b
-> SchemaP doc Object [Pair] a (Maybe b)
optField Text
"password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema)
data NewProviderResponse = NewProviderResponse
{ NewProviderResponse -> ProviderId
rsNewProviderId :: ProviderId,
NewProviderResponse -> Maybe PlainTextPassword8
rsNewProviderPassword :: Maybe PlainTextPassword8
}
deriving stock (NewProviderResponse -> NewProviderResponse -> Bool
(NewProviderResponse -> NewProviderResponse -> Bool)
-> (NewProviderResponse -> NewProviderResponse -> Bool)
-> Eq NewProviderResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: NewProviderResponse -> NewProviderResponse -> Bool
== :: NewProviderResponse -> NewProviderResponse -> Bool
$c/= :: NewProviderResponse -> NewProviderResponse -> Bool
/= :: NewProviderResponse -> NewProviderResponse -> Bool
Eq, Int -> NewProviderResponse -> ShowS
[NewProviderResponse] -> ShowS
NewProviderResponse -> String
(Int -> NewProviderResponse -> ShowS)
-> (NewProviderResponse -> String)
-> ([NewProviderResponse] -> ShowS)
-> Show NewProviderResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> NewProviderResponse -> ShowS
showsPrec :: Int -> NewProviderResponse -> ShowS
$cshow :: NewProviderResponse -> String
show :: NewProviderResponse -> String
$cshowList :: [NewProviderResponse] -> ShowS
showList :: [NewProviderResponse] -> ShowS
Show, (forall x. NewProviderResponse -> Rep NewProviderResponse x)
-> (forall x. Rep NewProviderResponse x -> NewProviderResponse)
-> Generic NewProviderResponse
forall x. Rep NewProviderResponse x -> NewProviderResponse
forall x. NewProviderResponse -> Rep NewProviderResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. NewProviderResponse -> Rep NewProviderResponse x
from :: forall x. NewProviderResponse -> Rep NewProviderResponse x
$cto :: forall x. Rep NewProviderResponse x -> NewProviderResponse
to :: forall x. Rep NewProviderResponse x -> NewProviderResponse
Generic)
deriving (Gen NewProviderResponse
Gen NewProviderResponse
-> (NewProviderResponse -> [NewProviderResponse])
-> Arbitrary NewProviderResponse
NewProviderResponse -> [NewProviderResponse]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen NewProviderResponse
arbitrary :: Gen NewProviderResponse
$cshrink :: NewProviderResponse -> [NewProviderResponse]
shrink :: NewProviderResponse -> [NewProviderResponse]
Arbitrary) via (GenericUniform NewProviderResponse)
deriving ([NewProviderResponse] -> Value
[NewProviderResponse] -> Encoding
NewProviderResponse -> Value
NewProviderResponse -> Encoding
(NewProviderResponse -> Value)
-> (NewProviderResponse -> Encoding)
-> ([NewProviderResponse] -> Value)
-> ([NewProviderResponse] -> Encoding)
-> ToJSON NewProviderResponse
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: NewProviderResponse -> Value
toJSON :: NewProviderResponse -> Value
$ctoEncoding :: NewProviderResponse -> Encoding
toEncoding :: NewProviderResponse -> Encoding
$ctoJSONList :: [NewProviderResponse] -> Value
toJSONList :: [NewProviderResponse] -> Value
$ctoEncodingList :: [NewProviderResponse] -> Encoding
toEncodingList :: [NewProviderResponse] -> Encoding
A.ToJSON, Value -> Parser [NewProviderResponse]
Value -> Parser NewProviderResponse
(Value -> Parser NewProviderResponse)
-> (Value -> Parser [NewProviderResponse])
-> FromJSON NewProviderResponse
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser NewProviderResponse
parseJSON :: Value -> Parser NewProviderResponse
$cparseJSONList :: Value -> Parser [NewProviderResponse]
parseJSONList :: Value -> Parser [NewProviderResponse]
A.FromJSON, Typeable NewProviderResponse
Typeable NewProviderResponse =>
(Proxy NewProviderResponse
-> Declare (Definitions Schema) NamedSchema)
-> ToSchema NewProviderResponse
Proxy NewProviderResponse
-> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy NewProviderResponse
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy NewProviderResponse
-> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema NewProviderResponse
instance ToSchema NewProviderResponse where
schema :: ValueSchema NamedSwaggerDoc NewProviderResponse
schema =
Text
-> SchemaP
SwaggerDoc Object [Pair] NewProviderResponse NewProviderResponse
-> ValueSchema NamedSwaggerDoc NewProviderResponse
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"NewProviderResponse" (SchemaP
SwaggerDoc Object [Pair] NewProviderResponse NewProviderResponse
-> ValueSchema NamedSwaggerDoc NewProviderResponse)
-> SchemaP
SwaggerDoc Object [Pair] NewProviderResponse NewProviderResponse
-> ValueSchema NamedSwaggerDoc NewProviderResponse
forall a b. (a -> b) -> a -> b
$
ProviderId -> Maybe PlainTextPassword8 -> NewProviderResponse
NewProviderResponse
(ProviderId -> Maybe PlainTextPassword8 -> NewProviderResponse)
-> SchemaP SwaggerDoc Object [Pair] NewProviderResponse ProviderId
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProviderResponse
(Maybe PlainTextPassword8 -> NewProviderResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> NewProviderResponse -> ProviderId
rsNewProviderId (NewProviderResponse -> ProviderId)
-> SchemaP SwaggerDoc Object [Pair] ProviderId ProviderId
-> SchemaP SwaggerDoc Object [Pair] NewProviderResponse ProviderId
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value ProviderId ProviderId
-> SchemaP SwaggerDoc Object [Pair] ProviderId ProviderId
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"id" SchemaP NamedSwaggerDoc Value Value ProviderId ProviderId
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
NewProviderResponse
(Maybe PlainTextPassword8 -> NewProviderResponse)
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProviderResponse
(Maybe PlainTextPassword8)
-> SchemaP
SwaggerDoc Object [Pair] NewProviderResponse NewProviderResponse
forall a b.
SchemaP SwaggerDoc Object [Pair] NewProviderResponse (a -> b)
-> SchemaP SwaggerDoc Object [Pair] NewProviderResponse a
-> SchemaP SwaggerDoc Object [Pair] NewProviderResponse b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> NewProviderResponse -> Maybe PlainTextPassword8
rsNewProviderPassword (NewProviderResponse -> Maybe PlainTextPassword8)
-> SchemaP
SwaggerDoc
Object
[Pair]
(Maybe PlainTextPassword8)
(Maybe PlainTextPassword8)
-> SchemaP
SwaggerDoc
Object
[Pair]
NewProviderResponse
(Maybe PlainTextPassword8)
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= SchemaP
SwaggerDoc
Object
[Pair]
PlainTextPassword8
(Maybe PlainTextPassword8)
-> SchemaP
SwaggerDoc
Object
[Pair]
(Maybe PlainTextPassword8)
(Maybe PlainTextPassword8)
forall w d v a b.
Monoid w =>
SchemaP d v w a b -> SchemaP d v w (Maybe a) b
maybe_ (Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword8 PlainTextPassword8
-> SchemaP
SwaggerDoc
Object
[Pair]
PlainTextPassword8
(Maybe PlainTextPassword8)
forall doc doc' a b.
(HasOpt doc, HasField doc' doc) =>
Text
-> SchemaP doc' Value Value a b
-> SchemaP doc Object [Pair] a (Maybe b)
optField Text
"password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword8 PlainTextPassword8
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema)
data UpdateProvider = UpdateProvider
{ UpdateProvider -> Maybe Name
updateProviderName :: Maybe Name,
UpdateProvider -> Maybe HttpsUrl
updateProviderUrl :: Maybe HttpsUrl,
UpdateProvider -> Maybe Text
updateProviderDescr :: Maybe Text
}
deriving stock (UpdateProvider -> UpdateProvider -> Bool
(UpdateProvider -> UpdateProvider -> Bool)
-> (UpdateProvider -> UpdateProvider -> Bool) -> Eq UpdateProvider
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: UpdateProvider -> UpdateProvider -> Bool
== :: UpdateProvider -> UpdateProvider -> Bool
$c/= :: UpdateProvider -> UpdateProvider -> Bool
/= :: UpdateProvider -> UpdateProvider -> Bool
Eq, Int -> UpdateProvider -> ShowS
[UpdateProvider] -> ShowS
UpdateProvider -> String
(Int -> UpdateProvider -> ShowS)
-> (UpdateProvider -> String)
-> ([UpdateProvider] -> ShowS)
-> Show UpdateProvider
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> UpdateProvider -> ShowS
showsPrec :: Int -> UpdateProvider -> ShowS
$cshow :: UpdateProvider -> String
show :: UpdateProvider -> String
$cshowList :: [UpdateProvider] -> ShowS
showList :: [UpdateProvider] -> ShowS
Show, (forall x. UpdateProvider -> Rep UpdateProvider x)
-> (forall x. Rep UpdateProvider x -> UpdateProvider)
-> Generic UpdateProvider
forall x. Rep UpdateProvider x -> UpdateProvider
forall x. UpdateProvider -> Rep UpdateProvider x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. UpdateProvider -> Rep UpdateProvider x
from :: forall x. UpdateProvider -> Rep UpdateProvider x
$cto :: forall x. Rep UpdateProvider x -> UpdateProvider
to :: forall x. Rep UpdateProvider x -> UpdateProvider
Generic)
deriving (Gen UpdateProvider
Gen UpdateProvider
-> (UpdateProvider -> [UpdateProvider]) -> Arbitrary UpdateProvider
UpdateProvider -> [UpdateProvider]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen UpdateProvider
arbitrary :: Gen UpdateProvider
$cshrink :: UpdateProvider -> [UpdateProvider]
shrink :: UpdateProvider -> [UpdateProvider]
Arbitrary) via (GenericUniform UpdateProvider)
deriving ([UpdateProvider] -> Value
[UpdateProvider] -> Encoding
UpdateProvider -> Value
UpdateProvider -> Encoding
(UpdateProvider -> Value)
-> (UpdateProvider -> Encoding)
-> ([UpdateProvider] -> Value)
-> ([UpdateProvider] -> Encoding)
-> ToJSON UpdateProvider
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: UpdateProvider -> Value
toJSON :: UpdateProvider -> Value
$ctoEncoding :: UpdateProvider -> Encoding
toEncoding :: UpdateProvider -> Encoding
$ctoJSONList :: [UpdateProvider] -> Value
toJSONList :: [UpdateProvider] -> Value
$ctoEncodingList :: [UpdateProvider] -> Encoding
toEncodingList :: [UpdateProvider] -> Encoding
A.ToJSON, Value -> Parser [UpdateProvider]
Value -> Parser UpdateProvider
(Value -> Parser UpdateProvider)
-> (Value -> Parser [UpdateProvider]) -> FromJSON UpdateProvider
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser UpdateProvider
parseJSON :: Value -> Parser UpdateProvider
$cparseJSONList :: Value -> Parser [UpdateProvider]
parseJSONList :: Value -> Parser [UpdateProvider]
A.FromJSON, Typeable UpdateProvider
Typeable UpdateProvider =>
(Proxy UpdateProvider -> Declare (Definitions Schema) NamedSchema)
-> ToSchema UpdateProvider
Proxy UpdateProvider -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy UpdateProvider -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy UpdateProvider -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema UpdateProvider
instance ToSchema UpdateProvider where
schema :: ValueSchema NamedSwaggerDoc UpdateProvider
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider UpdateProvider
-> ValueSchema NamedSwaggerDoc UpdateProvider
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"UpdateProvider" (SchemaP SwaggerDoc Object [Pair] UpdateProvider UpdateProvider
-> ValueSchema NamedSwaggerDoc UpdateProvider)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider UpdateProvider
-> ValueSchema NamedSwaggerDoc UpdateProvider
forall a b. (a -> b) -> a -> b
$
Maybe Name -> Maybe HttpsUrl -> Maybe Text -> UpdateProvider
UpdateProvider
(Maybe Name -> Maybe HttpsUrl -> Maybe Text -> UpdateProvider)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider (Maybe Name)
-> SchemaP
SwaggerDoc
Object
[Pair]
UpdateProvider
(Maybe HttpsUrl -> Maybe Text -> UpdateProvider)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> UpdateProvider -> Maybe Name
updateProviderName (UpdateProvider -> Maybe Name)
-> SchemaP SwaggerDoc Object [Pair] (Maybe Name) (Maybe Name)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider (Maybe Name)
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= SchemaP SwaggerDoc Object [Pair] Name (Maybe Name)
-> SchemaP SwaggerDoc Object [Pair] (Maybe Name) (Maybe Name)
forall w d v a b.
Monoid w =>
SchemaP d v w a b -> SchemaP d v w (Maybe a) b
maybe_ (Text
-> SchemaP NamedSwaggerDoc Value Value Name Name
-> SchemaP SwaggerDoc Object [Pair] Name (Maybe Name)
forall doc doc' a b.
(HasOpt doc, HasField doc' doc) =>
Text
-> SchemaP doc' Value Value a b
-> SchemaP doc Object [Pair] a (Maybe b)
optField Text
"name" SchemaP NamedSwaggerDoc Value Value Name Name
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema)
SchemaP
SwaggerDoc
Object
[Pair]
UpdateProvider
(Maybe HttpsUrl -> Maybe Text -> UpdateProvider)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider (Maybe HttpsUrl)
-> SchemaP
SwaggerDoc
Object
[Pair]
UpdateProvider
(Maybe Text -> UpdateProvider)
forall a b.
SchemaP SwaggerDoc Object [Pair] UpdateProvider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider a
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> UpdateProvider -> Maybe HttpsUrl
updateProviderUrl (UpdateProvider -> Maybe HttpsUrl)
-> SchemaP
SwaggerDoc Object [Pair] (Maybe HttpsUrl) (Maybe HttpsUrl)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider (Maybe HttpsUrl)
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= SchemaP SwaggerDoc Object [Pair] HttpsUrl (Maybe HttpsUrl)
-> SchemaP
SwaggerDoc Object [Pair] (Maybe HttpsUrl) (Maybe HttpsUrl)
forall w d v a b.
Monoid w =>
SchemaP d v w a b -> SchemaP d v w (Maybe a) b
maybe_ (Text
-> SchemaP NamedSwaggerDoc Value Value HttpsUrl HttpsUrl
-> SchemaP SwaggerDoc Object [Pair] HttpsUrl (Maybe HttpsUrl)
forall doc doc' a b.
(HasOpt doc, HasField doc' doc) =>
Text
-> SchemaP doc' Value Value a b
-> SchemaP doc Object [Pair] a (Maybe b)
optField Text
"url" SchemaP NamedSwaggerDoc Value Value HttpsUrl HttpsUrl
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema)
SchemaP
SwaggerDoc
Object
[Pair]
UpdateProvider
(Maybe Text -> UpdateProvider)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider (Maybe Text)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider UpdateProvider
forall a b.
SchemaP SwaggerDoc Object [Pair] UpdateProvider (a -> b)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider a
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> UpdateProvider -> Maybe Text
updateProviderDescr (UpdateProvider -> Maybe Text)
-> SchemaP SwaggerDoc Object [Pair] (Maybe Text) (Maybe Text)
-> SchemaP SwaggerDoc Object [Pair] UpdateProvider (Maybe Text)
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= SchemaP SwaggerDoc Object [Pair] Text (Maybe Text)
-> SchemaP SwaggerDoc Object [Pair] (Maybe Text) (Maybe Text)
forall w d v a b.
Monoid w =>
SchemaP d v w a b -> SchemaP d v w (Maybe a) b
maybe_ (Text
-> SchemaP NamedSwaggerDoc Value Value Text Text
-> SchemaP SwaggerDoc Object [Pair] Text (Maybe Text)
forall doc doc' a b.
(HasOpt doc, HasField doc' doc) =>
Text
-> SchemaP doc' Value Value a b
-> SchemaP doc Object [Pair] a (Maybe b)
optField Text
"description" SchemaP NamedSwaggerDoc Value Value Text Text
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema)
newtype ProviderActivationResponse = ProviderActivationResponse
{ProviderActivationResponse -> EmailAddress
activatedProviderIdentity :: EmailAddress}
deriving stock (ProviderActivationResponse -> ProviderActivationResponse -> Bool
(ProviderActivationResponse -> ProviderActivationResponse -> Bool)
-> (ProviderActivationResponse
-> ProviderActivationResponse -> Bool)
-> Eq ProviderActivationResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProviderActivationResponse -> ProviderActivationResponse -> Bool
== :: ProviderActivationResponse -> ProviderActivationResponse -> Bool
$c/= :: ProviderActivationResponse -> ProviderActivationResponse -> Bool
/= :: ProviderActivationResponse -> ProviderActivationResponse -> Bool
Eq, Int -> ProviderActivationResponse -> ShowS
[ProviderActivationResponse] -> ShowS
ProviderActivationResponse -> String
(Int -> ProviderActivationResponse -> ShowS)
-> (ProviderActivationResponse -> String)
-> ([ProviderActivationResponse] -> ShowS)
-> Show ProviderActivationResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProviderActivationResponse -> ShowS
showsPrec :: Int -> ProviderActivationResponse -> ShowS
$cshow :: ProviderActivationResponse -> String
show :: ProviderActivationResponse -> String
$cshowList :: [ProviderActivationResponse] -> ShowS
showList :: [ProviderActivationResponse] -> ShowS
Show)
deriving newtype (Gen ProviderActivationResponse
Gen ProviderActivationResponse
-> (ProviderActivationResponse -> [ProviderActivationResponse])
-> Arbitrary ProviderActivationResponse
ProviderActivationResponse -> [ProviderActivationResponse]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen ProviderActivationResponse
arbitrary :: Gen ProviderActivationResponse
$cshrink :: ProviderActivationResponse -> [ProviderActivationResponse]
shrink :: ProviderActivationResponse -> [ProviderActivationResponse]
Arbitrary)
deriving ([ProviderActivationResponse] -> Value
[ProviderActivationResponse] -> Encoding
ProviderActivationResponse -> Value
ProviderActivationResponse -> Encoding
(ProviderActivationResponse -> Value)
-> (ProviderActivationResponse -> Encoding)
-> ([ProviderActivationResponse] -> Value)
-> ([ProviderActivationResponse] -> Encoding)
-> ToJSON ProviderActivationResponse
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: ProviderActivationResponse -> Value
toJSON :: ProviderActivationResponse -> Value
$ctoEncoding :: ProviderActivationResponse -> Encoding
toEncoding :: ProviderActivationResponse -> Encoding
$ctoJSONList :: [ProviderActivationResponse] -> Value
toJSONList :: [ProviderActivationResponse] -> Value
$ctoEncodingList :: [ProviderActivationResponse] -> Encoding
toEncodingList :: [ProviderActivationResponse] -> Encoding
A.ToJSON, Value -> Parser [ProviderActivationResponse]
Value -> Parser ProviderActivationResponse
(Value -> Parser ProviderActivationResponse)
-> (Value -> Parser [ProviderActivationResponse])
-> FromJSON ProviderActivationResponse
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser ProviderActivationResponse
parseJSON :: Value -> Parser ProviderActivationResponse
$cparseJSONList :: Value -> Parser [ProviderActivationResponse]
parseJSONList :: Value -> Parser [ProviderActivationResponse]
A.FromJSON, Typeable ProviderActivationResponse
Typeable ProviderActivationResponse =>
(Proxy ProviderActivationResponse
-> Declare (Definitions Schema) NamedSchema)
-> ToSchema ProviderActivationResponse
Proxy ProviderActivationResponse
-> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy ProviderActivationResponse
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy ProviderActivationResponse
-> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema ProviderActivationResponse
instance ToSchema ProviderActivationResponse where
schema :: ValueSchema NamedSwaggerDoc ProviderActivationResponse
schema =
Text
-> SchemaP
SwaggerDoc
Object
[Pair]
ProviderActivationResponse
ProviderActivationResponse
-> ValueSchema NamedSwaggerDoc ProviderActivationResponse
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"ProviderActivationResponse" (SchemaP
SwaggerDoc
Object
[Pair]
ProviderActivationResponse
ProviderActivationResponse
-> ValueSchema NamedSwaggerDoc ProviderActivationResponse)
-> SchemaP
SwaggerDoc
Object
[Pair]
ProviderActivationResponse
ProviderActivationResponse
-> ValueSchema NamedSwaggerDoc ProviderActivationResponse
forall a b. (a -> b) -> a -> b
$
EmailAddress -> ProviderActivationResponse
ProviderActivationResponse
(EmailAddress -> ProviderActivationResponse)
-> SchemaP
SwaggerDoc Object [Pair] ProviderActivationResponse EmailAddress
-> SchemaP
SwaggerDoc
Object
[Pair]
ProviderActivationResponse
ProviderActivationResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ProviderActivationResponse -> EmailAddress
activatedProviderIdentity (ProviderActivationResponse -> EmailAddress)
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
-> SchemaP
SwaggerDoc Object [Pair] ProviderActivationResponse EmailAddress
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"email" SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
data ProviderLogin = ProviderLogin
{ ProviderLogin -> EmailAddress
providerLoginEmail :: EmailAddress,
ProviderLogin -> PlainTextPassword6
providerLoginPassword :: PlainTextPassword6
}
deriving stock (ProviderLogin -> ProviderLogin -> Bool
(ProviderLogin -> ProviderLogin -> Bool)
-> (ProviderLogin -> ProviderLogin -> Bool) -> Eq ProviderLogin
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProviderLogin -> ProviderLogin -> Bool
== :: ProviderLogin -> ProviderLogin -> Bool
$c/= :: ProviderLogin -> ProviderLogin -> Bool
/= :: ProviderLogin -> ProviderLogin -> Bool
Eq, Int -> ProviderLogin -> ShowS
[ProviderLogin] -> ShowS
ProviderLogin -> String
(Int -> ProviderLogin -> ShowS)
-> (ProviderLogin -> String)
-> ([ProviderLogin] -> ShowS)
-> Show ProviderLogin
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ProviderLogin -> ShowS
showsPrec :: Int -> ProviderLogin -> ShowS
$cshow :: ProviderLogin -> String
show :: ProviderLogin -> String
$cshowList :: [ProviderLogin] -> ShowS
showList :: [ProviderLogin] -> ShowS
Show, (forall x. ProviderLogin -> Rep ProviderLogin x)
-> (forall x. Rep ProviderLogin x -> ProviderLogin)
-> Generic ProviderLogin
forall x. Rep ProviderLogin x -> ProviderLogin
forall x. ProviderLogin -> Rep ProviderLogin x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. ProviderLogin -> Rep ProviderLogin x
from :: forall x. ProviderLogin -> Rep ProviderLogin x
$cto :: forall x. Rep ProviderLogin x -> ProviderLogin
to :: forall x. Rep ProviderLogin x -> ProviderLogin
Generic)
deriving (Gen ProviderLogin
Gen ProviderLogin
-> (ProviderLogin -> [ProviderLogin]) -> Arbitrary ProviderLogin
ProviderLogin -> [ProviderLogin]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen ProviderLogin
arbitrary :: Gen ProviderLogin
$cshrink :: ProviderLogin -> [ProviderLogin]
shrink :: ProviderLogin -> [ProviderLogin]
Arbitrary) via (GenericUniform ProviderLogin)
deriving ([ProviderLogin] -> Value
[ProviderLogin] -> Encoding
ProviderLogin -> Value
ProviderLogin -> Encoding
(ProviderLogin -> Value)
-> (ProviderLogin -> Encoding)
-> ([ProviderLogin] -> Value)
-> ([ProviderLogin] -> Encoding)
-> ToJSON ProviderLogin
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: ProviderLogin -> Value
toJSON :: ProviderLogin -> Value
$ctoEncoding :: ProviderLogin -> Encoding
toEncoding :: ProviderLogin -> Encoding
$ctoJSONList :: [ProviderLogin] -> Value
toJSONList :: [ProviderLogin] -> Value
$ctoEncodingList :: [ProviderLogin] -> Encoding
toEncodingList :: [ProviderLogin] -> Encoding
A.ToJSON, Value -> Parser [ProviderLogin]
Value -> Parser ProviderLogin
(Value -> Parser ProviderLogin)
-> (Value -> Parser [ProviderLogin]) -> FromJSON ProviderLogin
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser ProviderLogin
parseJSON :: Value -> Parser ProviderLogin
$cparseJSONList :: Value -> Parser [ProviderLogin]
parseJSONList :: Value -> Parser [ProviderLogin]
A.FromJSON, Typeable ProviderLogin
Typeable ProviderLogin =>
(Proxy ProviderLogin -> Declare (Definitions Schema) NamedSchema)
-> ToSchema ProviderLogin
Proxy ProviderLogin -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy ProviderLogin -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy ProviderLogin -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema ProviderLogin
instance ToSchema ProviderLogin where
schema :: ValueSchema NamedSwaggerDoc ProviderLogin
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin ProviderLogin
-> ValueSchema NamedSwaggerDoc ProviderLogin
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"ProviderLogin" (SchemaP SwaggerDoc Object [Pair] ProviderLogin ProviderLogin
-> ValueSchema NamedSwaggerDoc ProviderLogin)
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin ProviderLogin
-> ValueSchema NamedSwaggerDoc ProviderLogin
forall a b. (a -> b) -> a -> b
$
EmailAddress -> PlainTextPassword6 -> ProviderLogin
ProviderLogin
(EmailAddress -> PlainTextPassword6 -> ProviderLogin)
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin EmailAddress
-> SchemaP
SwaggerDoc
Object
[Pair]
ProviderLogin
(PlainTextPassword6 -> ProviderLogin)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ProviderLogin -> EmailAddress
providerLoginEmail (ProviderLogin -> EmailAddress)
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin EmailAddress
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"email" SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
ProviderLogin
(PlainTextPassword6 -> ProviderLogin)
-> SchemaP
SwaggerDoc Object [Pair] ProviderLogin PlainTextPassword6
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin ProviderLogin
forall a b.
SchemaP SwaggerDoc Object [Pair] ProviderLogin (a -> b)
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin a
-> SchemaP SwaggerDoc Object [Pair] ProviderLogin b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ProviderLogin -> PlainTextPassword6
providerLoginPassword (ProviderLogin -> PlainTextPassword6)
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] ProviderLogin PlainTextPassword6
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
newtype DeleteProvider = DeleteProvider
{DeleteProvider -> PlainTextPassword6
deleteProviderPassword :: PlainTextPassword6}
deriving stock (DeleteProvider -> DeleteProvider -> Bool
(DeleteProvider -> DeleteProvider -> Bool)
-> (DeleteProvider -> DeleteProvider -> Bool) -> Eq DeleteProvider
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DeleteProvider -> DeleteProvider -> Bool
== :: DeleteProvider -> DeleteProvider -> Bool
$c/= :: DeleteProvider -> DeleteProvider -> Bool
/= :: DeleteProvider -> DeleteProvider -> Bool
Eq, Int -> DeleteProvider -> ShowS
[DeleteProvider] -> ShowS
DeleteProvider -> String
(Int -> DeleteProvider -> ShowS)
-> (DeleteProvider -> String)
-> ([DeleteProvider] -> ShowS)
-> Show DeleteProvider
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DeleteProvider -> ShowS
showsPrec :: Int -> DeleteProvider -> ShowS
$cshow :: DeleteProvider -> String
show :: DeleteProvider -> String
$cshowList :: [DeleteProvider] -> ShowS
showList :: [DeleteProvider] -> ShowS
Show)
deriving newtype (Gen DeleteProvider
Gen DeleteProvider
-> (DeleteProvider -> [DeleteProvider]) -> Arbitrary DeleteProvider
DeleteProvider -> [DeleteProvider]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen DeleteProvider
arbitrary :: Gen DeleteProvider
$cshrink :: DeleteProvider -> [DeleteProvider]
shrink :: DeleteProvider -> [DeleteProvider]
Arbitrary)
deriving ([DeleteProvider] -> Value
[DeleteProvider] -> Encoding
DeleteProvider -> Value
DeleteProvider -> Encoding
(DeleteProvider -> Value)
-> (DeleteProvider -> Encoding)
-> ([DeleteProvider] -> Value)
-> ([DeleteProvider] -> Encoding)
-> ToJSON DeleteProvider
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: DeleteProvider -> Value
toJSON :: DeleteProvider -> Value
$ctoEncoding :: DeleteProvider -> Encoding
toEncoding :: DeleteProvider -> Encoding
$ctoJSONList :: [DeleteProvider] -> Value
toJSONList :: [DeleteProvider] -> Value
$ctoEncodingList :: [DeleteProvider] -> Encoding
toEncodingList :: [DeleteProvider] -> Encoding
A.ToJSON, Value -> Parser [DeleteProvider]
Value -> Parser DeleteProvider
(Value -> Parser DeleteProvider)
-> (Value -> Parser [DeleteProvider]) -> FromJSON DeleteProvider
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser DeleteProvider
parseJSON :: Value -> Parser DeleteProvider
$cparseJSONList :: Value -> Parser [DeleteProvider]
parseJSONList :: Value -> Parser [DeleteProvider]
A.FromJSON, Typeable DeleteProvider
Typeable DeleteProvider =>
(Proxy DeleteProvider -> Declare (Definitions Schema) NamedSchema)
-> ToSchema DeleteProvider
Proxy DeleteProvider -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy DeleteProvider -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy DeleteProvider -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema DeleteProvider
instance ToSchema DeleteProvider where
schema :: ValueSchema NamedSwaggerDoc DeleteProvider
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] DeleteProvider DeleteProvider
-> ValueSchema NamedSwaggerDoc DeleteProvider
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"DeleteProvider" (SchemaP SwaggerDoc Object [Pair] DeleteProvider DeleteProvider
-> ValueSchema NamedSwaggerDoc DeleteProvider)
-> SchemaP SwaggerDoc Object [Pair] DeleteProvider DeleteProvider
-> ValueSchema NamedSwaggerDoc DeleteProvider
forall a b. (a -> b) -> a -> b
$
PlainTextPassword6 -> DeleteProvider
DeleteProvider
(PlainTextPassword6 -> DeleteProvider)
-> SchemaP
SwaggerDoc Object [Pair] DeleteProvider PlainTextPassword6
-> SchemaP SwaggerDoc Object [Pair] DeleteProvider DeleteProvider
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> DeleteProvider -> PlainTextPassword6
deleteProviderPassword (DeleteProvider -> PlainTextPassword6)
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] DeleteProvider PlainTextPassword6
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
newtype PasswordReset = PasswordReset {PasswordReset -> EmailAddress
email :: EmailAddress}
deriving stock (PasswordReset -> PasswordReset -> Bool
(PasswordReset -> PasswordReset -> Bool)
-> (PasswordReset -> PasswordReset -> Bool) -> Eq PasswordReset
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PasswordReset -> PasswordReset -> Bool
== :: PasswordReset -> PasswordReset -> Bool
$c/= :: PasswordReset -> PasswordReset -> Bool
/= :: PasswordReset -> PasswordReset -> Bool
Eq, Int -> PasswordReset -> ShowS
[PasswordReset] -> ShowS
PasswordReset -> String
(Int -> PasswordReset -> ShowS)
-> (PasswordReset -> String)
-> ([PasswordReset] -> ShowS)
-> Show PasswordReset
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PasswordReset -> ShowS
showsPrec :: Int -> PasswordReset -> ShowS
$cshow :: PasswordReset -> String
show :: PasswordReset -> String
$cshowList :: [PasswordReset] -> ShowS
showList :: [PasswordReset] -> ShowS
Show)
deriving newtype (Gen PasswordReset
Gen PasswordReset
-> (PasswordReset -> [PasswordReset]) -> Arbitrary PasswordReset
PasswordReset -> [PasswordReset]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen PasswordReset
arbitrary :: Gen PasswordReset
$cshrink :: PasswordReset -> [PasswordReset]
shrink :: PasswordReset -> [PasswordReset]
Arbitrary)
deriving ([PasswordReset] -> Value
[PasswordReset] -> Encoding
PasswordReset -> Value
PasswordReset -> Encoding
(PasswordReset -> Value)
-> (PasswordReset -> Encoding)
-> ([PasswordReset] -> Value)
-> ([PasswordReset] -> Encoding)
-> ToJSON PasswordReset
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: PasswordReset -> Value
toJSON :: PasswordReset -> Value
$ctoEncoding :: PasswordReset -> Encoding
toEncoding :: PasswordReset -> Encoding
$ctoJSONList :: [PasswordReset] -> Value
toJSONList :: [PasswordReset] -> Value
$ctoEncodingList :: [PasswordReset] -> Encoding
toEncodingList :: [PasswordReset] -> Encoding
A.ToJSON, Value -> Parser [PasswordReset]
Value -> Parser PasswordReset
(Value -> Parser PasswordReset)
-> (Value -> Parser [PasswordReset]) -> FromJSON PasswordReset
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser PasswordReset
parseJSON :: Value -> Parser PasswordReset
$cparseJSONList :: Value -> Parser [PasswordReset]
parseJSONList :: Value -> Parser [PasswordReset]
A.FromJSON, Typeable PasswordReset
Typeable PasswordReset =>
(Proxy PasswordReset -> Declare (Definitions Schema) NamedSchema)
-> ToSchema PasswordReset
Proxy PasswordReset -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy PasswordReset -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy PasswordReset -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema PasswordReset
instance ToSchema PasswordReset where
schema :: ValueSchema NamedSwaggerDoc PasswordReset
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] PasswordReset PasswordReset
-> ValueSchema NamedSwaggerDoc PasswordReset
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"PasswordReset" (SchemaP SwaggerDoc Object [Pair] PasswordReset PasswordReset
-> ValueSchema NamedSwaggerDoc PasswordReset)
-> SchemaP SwaggerDoc Object [Pair] PasswordReset PasswordReset
-> ValueSchema NamedSwaggerDoc PasswordReset
forall a b. (a -> b) -> a -> b
$
EmailAddress -> PasswordReset
PasswordReset
(EmailAddress -> PasswordReset)
-> SchemaP SwaggerDoc Object [Pair] PasswordReset EmailAddress
-> SchemaP SwaggerDoc Object [Pair] PasswordReset PasswordReset
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (.email) (PasswordReset -> EmailAddress)
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] PasswordReset EmailAddress
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"email" SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
data CompletePasswordReset = CompletePasswordReset
{ CompletePasswordReset -> Key
key :: Code.Key,
CompletePasswordReset -> Value
code :: Code.Value,
CompletePasswordReset -> PlainTextPassword6
password :: PlainTextPassword6
}
deriving stock (CompletePasswordReset -> CompletePasswordReset -> Bool
(CompletePasswordReset -> CompletePasswordReset -> Bool)
-> (CompletePasswordReset -> CompletePasswordReset -> Bool)
-> Eq CompletePasswordReset
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CompletePasswordReset -> CompletePasswordReset -> Bool
== :: CompletePasswordReset -> CompletePasswordReset -> Bool
$c/= :: CompletePasswordReset -> CompletePasswordReset -> Bool
/= :: CompletePasswordReset -> CompletePasswordReset -> Bool
Eq, Int -> CompletePasswordReset -> ShowS
[CompletePasswordReset] -> ShowS
CompletePasswordReset -> String
(Int -> CompletePasswordReset -> ShowS)
-> (CompletePasswordReset -> String)
-> ([CompletePasswordReset] -> ShowS)
-> Show CompletePasswordReset
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CompletePasswordReset -> ShowS
showsPrec :: Int -> CompletePasswordReset -> ShowS
$cshow :: CompletePasswordReset -> String
show :: CompletePasswordReset -> String
$cshowList :: [CompletePasswordReset] -> ShowS
showList :: [CompletePasswordReset] -> ShowS
Show, (forall x. CompletePasswordReset -> Rep CompletePasswordReset x)
-> (forall x. Rep CompletePasswordReset x -> CompletePasswordReset)
-> Generic CompletePasswordReset
forall x. Rep CompletePasswordReset x -> CompletePasswordReset
forall x. CompletePasswordReset -> Rep CompletePasswordReset x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. CompletePasswordReset -> Rep CompletePasswordReset x
from :: forall x. CompletePasswordReset -> Rep CompletePasswordReset x
$cto :: forall x. Rep CompletePasswordReset x -> CompletePasswordReset
to :: forall x. Rep CompletePasswordReset x -> CompletePasswordReset
Generic)
deriving (Gen CompletePasswordReset
Gen CompletePasswordReset
-> (CompletePasswordReset -> [CompletePasswordReset])
-> Arbitrary CompletePasswordReset
CompletePasswordReset -> [CompletePasswordReset]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen CompletePasswordReset
arbitrary :: Gen CompletePasswordReset
$cshrink :: CompletePasswordReset -> [CompletePasswordReset]
shrink :: CompletePasswordReset -> [CompletePasswordReset]
Arbitrary) via (GenericUniform CompletePasswordReset)
deriving ([CompletePasswordReset] -> Value
[CompletePasswordReset] -> Encoding
CompletePasswordReset -> Value
CompletePasswordReset -> Encoding
(CompletePasswordReset -> Value)
-> (CompletePasswordReset -> Encoding)
-> ([CompletePasswordReset] -> Value)
-> ([CompletePasswordReset] -> Encoding)
-> ToJSON CompletePasswordReset
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: CompletePasswordReset -> Value
toJSON :: CompletePasswordReset -> Value
$ctoEncoding :: CompletePasswordReset -> Encoding
toEncoding :: CompletePasswordReset -> Encoding
$ctoJSONList :: [CompletePasswordReset] -> Value
toJSONList :: [CompletePasswordReset] -> Value
$ctoEncodingList :: [CompletePasswordReset] -> Encoding
toEncodingList :: [CompletePasswordReset] -> Encoding
A.ToJSON, Value -> Parser [CompletePasswordReset]
Value -> Parser CompletePasswordReset
(Value -> Parser CompletePasswordReset)
-> (Value -> Parser [CompletePasswordReset])
-> FromJSON CompletePasswordReset
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser CompletePasswordReset
parseJSON :: Value -> Parser CompletePasswordReset
$cparseJSONList :: Value -> Parser [CompletePasswordReset]
parseJSONList :: Value -> Parser [CompletePasswordReset]
A.FromJSON, Typeable CompletePasswordReset
Typeable CompletePasswordReset =>
(Proxy CompletePasswordReset
-> Declare (Definitions Schema) NamedSchema)
-> ToSchema CompletePasswordReset
Proxy CompletePasswordReset
-> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy CompletePasswordReset
-> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy CompletePasswordReset
-> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema CompletePasswordReset
instance ToSchema CompletePasswordReset where
schema :: ValueSchema NamedSwaggerDoc CompletePasswordReset
schema =
Text
-> SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
CompletePasswordReset
-> ValueSchema NamedSwaggerDoc CompletePasswordReset
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"CompletePasswordReset" (SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
CompletePasswordReset
-> ValueSchema NamedSwaggerDoc CompletePasswordReset)
-> SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
CompletePasswordReset
-> ValueSchema NamedSwaggerDoc CompletePasswordReset
forall a b. (a -> b) -> a -> b
$
Key -> Value -> PlainTextPassword6 -> CompletePasswordReset
CompletePasswordReset
(Key -> Value -> PlainTextPassword6 -> CompletePasswordReset)
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset Key
-> SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
(Value -> PlainTextPassword6 -> CompletePasswordReset)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> CompletePasswordReset -> Key
key (CompletePasswordReset -> Key)
-> SchemaP SwaggerDoc Object [Pair] Key Key
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset Key
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value Key Key
-> SchemaP SwaggerDoc Object [Pair] Key Key
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"key" SchemaP NamedSwaggerDoc Value Value Key Key
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
(Value -> PlainTextPassword6 -> CompletePasswordReset)
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset Value
-> SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
(PlainTextPassword6 -> CompletePasswordReset)
forall a b.
SchemaP SwaggerDoc Object [Pair] CompletePasswordReset (a -> b)
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset a
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (.code) (CompletePasswordReset -> Value)
-> SchemaP SwaggerDoc Object [Pair] Value Value
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset Value
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value Value Value
-> SchemaP SwaggerDoc Object [Pair] Value Value
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"code" SchemaP NamedSwaggerDoc Value Value Value Value
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
(PlainTextPassword6 -> CompletePasswordReset)
-> SchemaP
SwaggerDoc Object [Pair] CompletePasswordReset PlainTextPassword6
-> SchemaP
SwaggerDoc
Object
[Pair]
CompletePasswordReset
CompletePasswordReset
forall a b.
SchemaP SwaggerDoc Object [Pair] CompletePasswordReset (a -> b)
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset a
-> SchemaP SwaggerDoc Object [Pair] CompletePasswordReset b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> (.password) (CompletePasswordReset -> PlainTextPassword6)
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] CompletePasswordReset PlainTextPassword6
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
data PasswordChange = PasswordChange
{ PasswordChange -> PlainTextPassword6
oldPassword :: PlainTextPassword6,
PasswordChange -> PlainTextPassword6
newPassword :: PlainTextPassword6
}
deriving stock (PasswordChange -> PasswordChange -> Bool
(PasswordChange -> PasswordChange -> Bool)
-> (PasswordChange -> PasswordChange -> Bool) -> Eq PasswordChange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PasswordChange -> PasswordChange -> Bool
== :: PasswordChange -> PasswordChange -> Bool
$c/= :: PasswordChange -> PasswordChange -> Bool
/= :: PasswordChange -> PasswordChange -> Bool
Eq, Int -> PasswordChange -> ShowS
[PasswordChange] -> ShowS
PasswordChange -> String
(Int -> PasswordChange -> ShowS)
-> (PasswordChange -> String)
-> ([PasswordChange] -> ShowS)
-> Show PasswordChange
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PasswordChange -> ShowS
showsPrec :: Int -> PasswordChange -> ShowS
$cshow :: PasswordChange -> String
show :: PasswordChange -> String
$cshowList :: [PasswordChange] -> ShowS
showList :: [PasswordChange] -> ShowS
Show, (forall x. PasswordChange -> Rep PasswordChange x)
-> (forall x. Rep PasswordChange x -> PasswordChange)
-> Generic PasswordChange
forall x. Rep PasswordChange x -> PasswordChange
forall x. PasswordChange -> Rep PasswordChange x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PasswordChange -> Rep PasswordChange x
from :: forall x. PasswordChange -> Rep PasswordChange x
$cto :: forall x. Rep PasswordChange x -> PasswordChange
to :: forall x. Rep PasswordChange x -> PasswordChange
Generic)
deriving (Gen PasswordChange
Gen PasswordChange
-> (PasswordChange -> [PasswordChange]) -> Arbitrary PasswordChange
PasswordChange -> [PasswordChange]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen PasswordChange
arbitrary :: Gen PasswordChange
$cshrink :: PasswordChange -> [PasswordChange]
shrink :: PasswordChange -> [PasswordChange]
Arbitrary) via (GenericUniform PasswordChange)
deriving ([PasswordChange] -> Value
[PasswordChange] -> Encoding
PasswordChange -> Value
PasswordChange -> Encoding
(PasswordChange -> Value)
-> (PasswordChange -> Encoding)
-> ([PasswordChange] -> Value)
-> ([PasswordChange] -> Encoding)
-> ToJSON PasswordChange
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: PasswordChange -> Value
toJSON :: PasswordChange -> Value
$ctoEncoding :: PasswordChange -> Encoding
toEncoding :: PasswordChange -> Encoding
$ctoJSONList :: [PasswordChange] -> Value
toJSONList :: [PasswordChange] -> Value
$ctoEncodingList :: [PasswordChange] -> Encoding
toEncodingList :: [PasswordChange] -> Encoding
A.ToJSON, Value -> Parser [PasswordChange]
Value -> Parser PasswordChange
(Value -> Parser PasswordChange)
-> (Value -> Parser [PasswordChange]) -> FromJSON PasswordChange
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser PasswordChange
parseJSON :: Value -> Parser PasswordChange
$cparseJSONList :: Value -> Parser [PasswordChange]
parseJSONList :: Value -> Parser [PasswordChange]
A.FromJSON, Typeable PasswordChange
Typeable PasswordChange =>
(Proxy PasswordChange -> Declare (Definitions Schema) NamedSchema)
-> ToSchema PasswordChange
Proxy PasswordChange -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy PasswordChange -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy PasswordChange -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema PasswordChange
instance ToSchema PasswordChange where
schema :: ValueSchema NamedSwaggerDoc PasswordChange
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] PasswordChange PasswordChange
-> ValueSchema NamedSwaggerDoc PasswordChange
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"PasswordChange" (SchemaP SwaggerDoc Object [Pair] PasswordChange PasswordChange
-> ValueSchema NamedSwaggerDoc PasswordChange)
-> SchemaP SwaggerDoc Object [Pair] PasswordChange PasswordChange
-> ValueSchema NamedSwaggerDoc PasswordChange
forall a b. (a -> b) -> a -> b
$
PlainTextPassword6 -> PlainTextPassword6 -> PasswordChange
PasswordChange
(PlainTextPassword6 -> PlainTextPassword6 -> PasswordChange)
-> SchemaP
SwaggerDoc Object [Pair] PasswordChange PlainTextPassword6
-> SchemaP
SwaggerDoc
Object
[Pair]
PasswordChange
(PlainTextPassword6 -> PasswordChange)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> PasswordChange -> PlainTextPassword6
oldPassword (PasswordChange -> PlainTextPassword6)
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PasswordChange PlainTextPassword6
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"old_password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
SchemaP
SwaggerDoc
Object
[Pair]
PasswordChange
(PlainTextPassword6 -> PasswordChange)
-> SchemaP
SwaggerDoc Object [Pair] PasswordChange PlainTextPassword6
-> SchemaP SwaggerDoc Object [Pair] PasswordChange PasswordChange
forall a b.
SchemaP SwaggerDoc Object [Pair] PasswordChange (a -> b)
-> SchemaP SwaggerDoc Object [Pair] PasswordChange a
-> SchemaP SwaggerDoc Object [Pair] PasswordChange b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> PasswordChange -> PlainTextPassword6
newPassword (PasswordChange -> PlainTextPassword6)
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PasswordChange PlainTextPassword6
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
-> SchemaP
SwaggerDoc Object [Pair] PlainTextPassword6 PlainTextPassword6
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"new_password" SchemaP
NamedSwaggerDoc Value Value PlainTextPassword6 PlainTextPassword6
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema
newtype EmailUpdate = EmailUpdate {EmailUpdate -> EmailAddress
email :: EmailAddress}
deriving stock (EmailUpdate -> EmailUpdate -> Bool
(EmailUpdate -> EmailUpdate -> Bool)
-> (EmailUpdate -> EmailUpdate -> Bool) -> Eq EmailUpdate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EmailUpdate -> EmailUpdate -> Bool
== :: EmailUpdate -> EmailUpdate -> Bool
$c/= :: EmailUpdate -> EmailUpdate -> Bool
/= :: EmailUpdate -> EmailUpdate -> Bool
Eq, Int -> EmailUpdate -> ShowS
[EmailUpdate] -> ShowS
EmailUpdate -> String
(Int -> EmailUpdate -> ShowS)
-> (EmailUpdate -> String)
-> ([EmailUpdate] -> ShowS)
-> Show EmailUpdate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EmailUpdate -> ShowS
showsPrec :: Int -> EmailUpdate -> ShowS
$cshow :: EmailUpdate -> String
show :: EmailUpdate -> String
$cshowList :: [EmailUpdate] -> ShowS
showList :: [EmailUpdate] -> ShowS
Show, (forall x. EmailUpdate -> Rep EmailUpdate x)
-> (forall x. Rep EmailUpdate x -> EmailUpdate)
-> Generic EmailUpdate
forall x. Rep EmailUpdate x -> EmailUpdate
forall x. EmailUpdate -> Rep EmailUpdate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. EmailUpdate -> Rep EmailUpdate x
from :: forall x. EmailUpdate -> Rep EmailUpdate x
$cto :: forall x. Rep EmailUpdate x -> EmailUpdate
to :: forall x. Rep EmailUpdate x -> EmailUpdate
Generic)
deriving newtype (Gen EmailUpdate
Gen EmailUpdate
-> (EmailUpdate -> [EmailUpdate]) -> Arbitrary EmailUpdate
EmailUpdate -> [EmailUpdate]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
$carbitrary :: Gen EmailUpdate
arbitrary :: Gen EmailUpdate
$cshrink :: EmailUpdate -> [EmailUpdate]
shrink :: EmailUpdate -> [EmailUpdate]
Arbitrary)
deriving ([EmailUpdate] -> Value
[EmailUpdate] -> Encoding
EmailUpdate -> Value
EmailUpdate -> Encoding
(EmailUpdate -> Value)
-> (EmailUpdate -> Encoding)
-> ([EmailUpdate] -> Value)
-> ([EmailUpdate] -> Encoding)
-> ToJSON EmailUpdate
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: EmailUpdate -> Value
toJSON :: EmailUpdate -> Value
$ctoEncoding :: EmailUpdate -> Encoding
toEncoding :: EmailUpdate -> Encoding
$ctoJSONList :: [EmailUpdate] -> Value
toJSONList :: [EmailUpdate] -> Value
$ctoEncodingList :: [EmailUpdate] -> Encoding
toEncodingList :: [EmailUpdate] -> Encoding
A.ToJSON, Value -> Parser [EmailUpdate]
Value -> Parser EmailUpdate
(Value -> Parser EmailUpdate)
-> (Value -> Parser [EmailUpdate]) -> FromJSON EmailUpdate
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser EmailUpdate
parseJSON :: Value -> Parser EmailUpdate
$cparseJSONList :: Value -> Parser [EmailUpdate]
parseJSONList :: Value -> Parser [EmailUpdate]
A.FromJSON, Typeable EmailUpdate
Typeable EmailUpdate =>
(Proxy EmailUpdate -> Declare (Definitions Schema) NamedSchema)
-> ToSchema EmailUpdate
Proxy EmailUpdate -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a =>
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy EmailUpdate -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy EmailUpdate -> Declare (Definitions Schema) NamedSchema
S.ToSchema) via Schema EmailUpdate
instance ToSchema EmailUpdate where
schema :: ValueSchema NamedSwaggerDoc EmailUpdate
schema =
Text
-> SchemaP SwaggerDoc Object [Pair] EmailUpdate EmailUpdate
-> ValueSchema NamedSwaggerDoc EmailUpdate
forall doc doc' a b.
HasObject doc doc' =>
Text
-> SchemaP doc Object [Pair] a b -> SchemaP doc' Value Value a b
object Text
"EmailUpdate" (SchemaP SwaggerDoc Object [Pair] EmailUpdate EmailUpdate
-> ValueSchema NamedSwaggerDoc EmailUpdate)
-> SchemaP SwaggerDoc Object [Pair] EmailUpdate EmailUpdate
-> ValueSchema NamedSwaggerDoc EmailUpdate
forall a b. (a -> b) -> a -> b
$
EmailAddress -> EmailUpdate
EmailUpdate
(EmailAddress -> EmailUpdate)
-> SchemaP SwaggerDoc Object [Pair] EmailUpdate EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailUpdate EmailUpdate
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (.email) (EmailUpdate -> EmailAddress)
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailUpdate EmailAddress
forall (p :: * -> * -> *) a a' b.
Profunctor p =>
(a -> a') -> p a' b -> p a b
.= Text
-> SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
-> SchemaP SwaggerDoc Object [Pair] EmailAddress EmailAddress
forall doc' doc a b.
HasField doc' doc =>
Text
-> SchemaP doc' Value Value a b -> SchemaP doc Object [Pair] a b
field Text
"email" SchemaP NamedSwaggerDoc Value Value EmailAddress EmailAddress
forall a. ToSchema a => ValueSchema NamedSwaggerDoc a
schema