module TD.Query.AddLoginPasskey
(AddLoginPasskey(..)
, defaultAddLoginPasskey
) where
import qualified Data.Aeson as A
import qualified Data.Aeson.Types as AT
import qualified TD.Lib.Internal as I
import qualified Data.Text as T
import qualified Data.ByteString as BS
data AddLoginPasskey
= AddLoginPasskey
{ AddLoginPasskey -> Maybe Text
client_data :: Maybe T.Text
, AddLoginPasskey -> Maybe ByteString
attestation_object :: Maybe BS.ByteString
}
deriving (AddLoginPasskey -> AddLoginPasskey -> Bool
(AddLoginPasskey -> AddLoginPasskey -> Bool)
-> (AddLoginPasskey -> AddLoginPasskey -> Bool)
-> Eq AddLoginPasskey
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddLoginPasskey -> AddLoginPasskey -> Bool
== :: AddLoginPasskey -> AddLoginPasskey -> Bool
$c/= :: AddLoginPasskey -> AddLoginPasskey -> Bool
/= :: AddLoginPasskey -> AddLoginPasskey -> Bool
Eq, Int -> AddLoginPasskey -> ShowS
[AddLoginPasskey] -> ShowS
AddLoginPasskey -> String
(Int -> AddLoginPasskey -> ShowS)
-> (AddLoginPasskey -> String)
-> ([AddLoginPasskey] -> ShowS)
-> Show AddLoginPasskey
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddLoginPasskey -> ShowS
showsPrec :: Int -> AddLoginPasskey -> ShowS
$cshow :: AddLoginPasskey -> String
show :: AddLoginPasskey -> String
$cshowList :: [AddLoginPasskey] -> ShowS
showList :: [AddLoginPasskey] -> ShowS
Show)
instance I.ShortShow AddLoginPasskey where
shortShow :: AddLoginPasskey -> String
shortShow
AddLoginPasskey
{ client_data :: AddLoginPasskey -> Maybe Text
client_data = Maybe Text
client_data_
, attestation_object :: AddLoginPasskey -> Maybe ByteString
attestation_object = Maybe ByteString
attestation_object_
}
= String
"AddLoginPasskey"
String -> ShowS
forall a. [a] -> [a] -> [a]
++ [String] -> String
I.cc
[ String
"client_data" String -> Maybe Text -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe Text
client_data_
, String
"attestation_object" String -> Maybe ByteString -> String
forall a. ShortShow a => String -> Maybe a -> String
`I.p` Maybe ByteString
attestation_object_
]
instance AT.ToJSON AddLoginPasskey where
toJSON :: AddLoginPasskey -> Value
toJSON
AddLoginPasskey
{ client_data :: AddLoginPasskey -> Maybe Text
client_data = Maybe Text
client_data_
, attestation_object :: AddLoginPasskey -> Maybe ByteString
attestation_object = Maybe ByteString
attestation_object_
}
= [Pair] -> Value
A.object
[ Key
"@type" Key -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
A..= Text -> Value
AT.String Text
"addLoginPasskey"
, Key
"client_data" Key -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
A..= Maybe Text
client_data_
, Key
"attestation_object" Key -> Maybe Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
A..= (ByteString -> Value) -> Maybe ByteString -> Maybe Value
forall a b. (a -> b) -> Maybe a -> Maybe b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ByteString -> Value
I.writeBytes Maybe ByteString
attestation_object_
]
defaultAddLoginPasskey :: AddLoginPasskey
defaultAddLoginPasskey :: AddLoginPasskey
defaultAddLoginPasskey =
AddLoginPasskey
{ client_data :: Maybe Text
client_data = Maybe Text
forall a. Maybe a
Nothing
, attestation_object :: Maybe ByteString
attestation_object = Maybe ByteString
forall a. Maybe a
Nothing
}