{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module StripeAPI.Types.GelatoIdNumberReport where
import qualified Control.Monad.Fail
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified StripeAPI.Common
import StripeAPI.TypeAlias
import {-# SOURCE #-} StripeAPI.Types.GelatoDataIdNumberReportDate
import {-# SOURCE #-} StripeAPI.Types.GelatoIdNumberReportError
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data GelatoIdNumberReport = GelatoIdNumberReport
{
GelatoIdNumberReport -> Maybe GelatoIdNumberReportDob'
gelatoIdNumberReportDob :: (GHC.Maybe.Maybe GelatoIdNumberReportDob'),
GelatoIdNumberReport -> Maybe GelatoIdNumberReportError'
gelatoIdNumberReportError :: (GHC.Maybe.Maybe GelatoIdNumberReportError'),
GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportFirstName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportIdNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
GelatoIdNumberReport -> Maybe GelatoIdNumberReportIdNumberType'
gelatoIdNumberReportIdNumberType :: (GHC.Maybe.Maybe GelatoIdNumberReportIdNumberType'),
GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportLastName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
GelatoIdNumberReport -> GelatoIdNumberReportStatus'
gelatoIdNumberReportStatus :: GelatoIdNumberReportStatus'
}
deriving
( Int -> GelatoIdNumberReport -> ShowS
[GelatoIdNumberReport] -> ShowS
GelatoIdNumberReport -> String
(Int -> GelatoIdNumberReport -> ShowS)
-> (GelatoIdNumberReport -> String)
-> ([GelatoIdNumberReport] -> ShowS)
-> Show GelatoIdNumberReport
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GelatoIdNumberReport] -> ShowS
$cshowList :: [GelatoIdNumberReport] -> ShowS
show :: GelatoIdNumberReport -> String
$cshow :: GelatoIdNumberReport -> String
showsPrec :: Int -> GelatoIdNumberReport -> ShowS
$cshowsPrec :: Int -> GelatoIdNumberReport -> ShowS
GHC.Show.Show,
GelatoIdNumberReport -> GelatoIdNumberReport -> Bool
(GelatoIdNumberReport -> GelatoIdNumberReport -> Bool)
-> (GelatoIdNumberReport -> GelatoIdNumberReport -> Bool)
-> Eq GelatoIdNumberReport
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GelatoIdNumberReport -> GelatoIdNumberReport -> Bool
$c/= :: GelatoIdNumberReport -> GelatoIdNumberReport -> Bool
== :: GelatoIdNumberReport -> GelatoIdNumberReport -> Bool
$c== :: GelatoIdNumberReport -> GelatoIdNumberReport -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON GelatoIdNumberReport where
toJSON :: GelatoIdNumberReport -> Value
toJSON GelatoIdNumberReport
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"dob" Text -> Maybe GelatoIdNumberReportDob' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe GelatoIdNumberReportDob'
gelatoIdNumberReportDob GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"error" Text -> Maybe GelatoIdNumberReportError' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe GelatoIdNumberReportError'
gelatoIdNumberReportError GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"first_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportFirstName GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportIdNumber GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id_number_type" Text -> Maybe GelatoIdNumberReportIdNumberType' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe GelatoIdNumberReportIdNumberType'
gelatoIdNumberReportIdNumberType GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportLastName GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> GelatoIdNumberReportStatus' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> GelatoIdNumberReportStatus'
gelatoIdNumberReportStatus GelatoIdNumberReport
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: GelatoIdNumberReport -> Encoding
toEncoding GelatoIdNumberReport
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"dob" Text -> Maybe GelatoIdNumberReportDob' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe GelatoIdNumberReportDob'
gelatoIdNumberReportDob GelatoIdNumberReport
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"error" Text -> Maybe GelatoIdNumberReportError' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe GelatoIdNumberReportError'
gelatoIdNumberReportError GelatoIdNumberReport
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"first_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportFirstName GelatoIdNumberReport
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportIdNumber GelatoIdNumberReport
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id_number_type" Text -> Maybe GelatoIdNumberReportIdNumberType' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe GelatoIdNumberReportIdNumberType'
gelatoIdNumberReportIdNumberType GelatoIdNumberReport
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> Maybe Text
gelatoIdNumberReportLastName GelatoIdNumberReport
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"status" Text -> GelatoIdNumberReportStatus' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReport -> GelatoIdNumberReportStatus'
gelatoIdNumberReportStatus GelatoIdNumberReport
obj)))))))
instance Data.Aeson.Types.FromJSON.FromJSON GelatoIdNumberReport where
parseJSON :: Value -> Parser GelatoIdNumberReport
parseJSON = String
-> (Object -> Parser GelatoIdNumberReport)
-> Value
-> Parser GelatoIdNumberReport
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GelatoIdNumberReport" (\Object
obj -> (((((((Maybe GelatoIdNumberReportDob'
-> Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
-> Parser
(Maybe GelatoIdNumberReportDob'
-> Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe GelatoIdNumberReportDob'
-> Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport
GelatoIdNumberReport Parser
(Maybe GelatoIdNumberReportDob'
-> Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
-> Parser (Maybe GelatoIdNumberReportDob')
-> Parser
(Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe GelatoIdNumberReportDob')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"dob")) Parser
(Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
-> Parser (Maybe GelatoIdNumberReportError')
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe GelatoIdNumberReportError')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"error")) Parser
(Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"first_name")) Parser
(Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
-> Parser (Maybe Text)
-> Parser
(Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"id_number")) Parser
(Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport)
-> Parser (Maybe GelatoIdNumberReportIdNumberType')
-> Parser
(Maybe Text -> GelatoIdNumberReportStatus' -> GelatoIdNumberReport)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe GelatoIdNumberReportIdNumberType')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"id_number_type")) Parser
(Maybe Text -> GelatoIdNumberReportStatus' -> GelatoIdNumberReport)
-> Parser (Maybe Text)
-> Parser (GelatoIdNumberReportStatus' -> GelatoIdNumberReport)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"last_name")) Parser (GelatoIdNumberReportStatus' -> GelatoIdNumberReport)
-> Parser GelatoIdNumberReportStatus'
-> Parser GelatoIdNumberReport
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser GelatoIdNumberReportStatus'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"status"))
mkGelatoIdNumberReport ::
GelatoIdNumberReportStatus' ->
GelatoIdNumberReport
mkGelatoIdNumberReport :: GelatoIdNumberReportStatus' -> GelatoIdNumberReport
mkGelatoIdNumberReport GelatoIdNumberReportStatus'
gelatoIdNumberReportStatus =
GelatoIdNumberReport :: Maybe GelatoIdNumberReportDob'
-> Maybe GelatoIdNumberReportError'
-> Maybe Text
-> Maybe Text
-> Maybe GelatoIdNumberReportIdNumberType'
-> Maybe Text
-> GelatoIdNumberReportStatus'
-> GelatoIdNumberReport
GelatoIdNumberReport
{ gelatoIdNumberReportDob :: Maybe GelatoIdNumberReportDob'
gelatoIdNumberReportDob = Maybe GelatoIdNumberReportDob'
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportError :: Maybe GelatoIdNumberReportError'
gelatoIdNumberReportError = Maybe GelatoIdNumberReportError'
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportFirstName :: Maybe Text
gelatoIdNumberReportFirstName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportIdNumber :: Maybe Text
gelatoIdNumberReportIdNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportIdNumberType :: Maybe GelatoIdNumberReportIdNumberType'
gelatoIdNumberReportIdNumberType = Maybe GelatoIdNumberReportIdNumberType'
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportLastName :: Maybe Text
gelatoIdNumberReportLastName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportStatus :: GelatoIdNumberReportStatus'
gelatoIdNumberReportStatus = GelatoIdNumberReportStatus'
gelatoIdNumberReportStatus
}
data GelatoIdNumberReportDob' = GelatoIdNumberReportDob'
{
GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Day :: (GHC.Maybe.Maybe GHC.Types.Int),
GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Month :: (GHC.Maybe.Maybe GHC.Types.Int),
GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Year :: (GHC.Maybe.Maybe GHC.Types.Int)
}
deriving
( Int -> GelatoIdNumberReportDob' -> ShowS
[GelatoIdNumberReportDob'] -> ShowS
GelatoIdNumberReportDob' -> String
(Int -> GelatoIdNumberReportDob' -> ShowS)
-> (GelatoIdNumberReportDob' -> String)
-> ([GelatoIdNumberReportDob'] -> ShowS)
-> Show GelatoIdNumberReportDob'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GelatoIdNumberReportDob'] -> ShowS
$cshowList :: [GelatoIdNumberReportDob'] -> ShowS
show :: GelatoIdNumberReportDob' -> String
$cshow :: GelatoIdNumberReportDob' -> String
showsPrec :: Int -> GelatoIdNumberReportDob' -> ShowS
$cshowsPrec :: Int -> GelatoIdNumberReportDob' -> ShowS
GHC.Show.Show,
GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool
(GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool)
-> (GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool)
-> Eq GelatoIdNumberReportDob'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool
$c/= :: GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool
== :: GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool
$c== :: GelatoIdNumberReportDob' -> GelatoIdNumberReportDob' -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON GelatoIdNumberReportDob' where
toJSON :: GelatoIdNumberReportDob' -> Value
toJSON GelatoIdNumberReportDob'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"day" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Day GelatoIdNumberReportDob'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"month" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Month GelatoIdNumberReportDob'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"year" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Year GelatoIdNumberReportDob'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: GelatoIdNumberReportDob' -> Encoding
toEncoding GelatoIdNumberReportDob'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"day" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Day GelatoIdNumberReportDob'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"month" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Month GelatoIdNumberReportDob'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"year" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportDob' -> Maybe Int
gelatoIdNumberReportDob'Year GelatoIdNumberReportDob'
obj)))
instance Data.Aeson.Types.FromJSON.FromJSON GelatoIdNumberReportDob' where
parseJSON :: Value -> Parser GelatoIdNumberReportDob'
parseJSON = String
-> (Object -> Parser GelatoIdNumberReportDob')
-> Value
-> Parser GelatoIdNumberReportDob'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GelatoIdNumberReportDob'" (\Object
obj -> (((Maybe Int -> Maybe Int -> Maybe Int -> GelatoIdNumberReportDob')
-> Parser
(Maybe Int -> Maybe Int -> Maybe Int -> GelatoIdNumberReportDob')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int -> Maybe Int -> Maybe Int -> GelatoIdNumberReportDob'
GelatoIdNumberReportDob' Parser
(Maybe Int -> Maybe Int -> Maybe Int -> GelatoIdNumberReportDob')
-> Parser (Maybe Int)
-> Parser (Maybe Int -> Maybe Int -> GelatoIdNumberReportDob')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"day")) Parser (Maybe Int -> Maybe Int -> GelatoIdNumberReportDob')
-> Parser (Maybe Int)
-> Parser (Maybe Int -> GelatoIdNumberReportDob')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"month")) Parser (Maybe Int -> GelatoIdNumberReportDob')
-> Parser (Maybe Int) -> Parser GelatoIdNumberReportDob'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"year"))
mkGelatoIdNumberReportDob' :: GelatoIdNumberReportDob'
mkGelatoIdNumberReportDob' :: GelatoIdNumberReportDob'
mkGelatoIdNumberReportDob' =
GelatoIdNumberReportDob' :: Maybe Int -> Maybe Int -> Maybe Int -> GelatoIdNumberReportDob'
GelatoIdNumberReportDob'
{ gelatoIdNumberReportDob'Day :: Maybe Int
gelatoIdNumberReportDob'Day = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportDob'Month :: Maybe Int
gelatoIdNumberReportDob'Month = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportDob'Year :: Maybe Int
gelatoIdNumberReportDob'Year = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
}
data GelatoIdNumberReportError' = GelatoIdNumberReportError'
{
GelatoIdNumberReportError' -> Maybe GelatoIdNumberReportError'Code'
gelatoIdNumberReportError'Code :: (GHC.Maybe.Maybe GelatoIdNumberReportError'Code'),
GelatoIdNumberReportError' -> Maybe Text
gelatoIdNumberReportError'Reason :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> GelatoIdNumberReportError' -> ShowS
[GelatoIdNumberReportError'] -> ShowS
GelatoIdNumberReportError' -> String
(Int -> GelatoIdNumberReportError' -> ShowS)
-> (GelatoIdNumberReportError' -> String)
-> ([GelatoIdNumberReportError'] -> ShowS)
-> Show GelatoIdNumberReportError'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GelatoIdNumberReportError'] -> ShowS
$cshowList :: [GelatoIdNumberReportError'] -> ShowS
show :: GelatoIdNumberReportError' -> String
$cshow :: GelatoIdNumberReportError' -> String
showsPrec :: Int -> GelatoIdNumberReportError' -> ShowS
$cshowsPrec :: Int -> GelatoIdNumberReportError' -> ShowS
GHC.Show.Show,
GelatoIdNumberReportError' -> GelatoIdNumberReportError' -> Bool
(GelatoIdNumberReportError' -> GelatoIdNumberReportError' -> Bool)
-> (GelatoIdNumberReportError'
-> GelatoIdNumberReportError' -> Bool)
-> Eq GelatoIdNumberReportError'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GelatoIdNumberReportError' -> GelatoIdNumberReportError' -> Bool
$c/= :: GelatoIdNumberReportError' -> GelatoIdNumberReportError' -> Bool
== :: GelatoIdNumberReportError' -> GelatoIdNumberReportError' -> Bool
$c== :: GelatoIdNumberReportError' -> GelatoIdNumberReportError' -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON GelatoIdNumberReportError' where
toJSON :: GelatoIdNumberReportError' -> Value
toJSON GelatoIdNumberReportError'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"code" Text -> Maybe GelatoIdNumberReportError'Code' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportError' -> Maybe GelatoIdNumberReportError'Code'
gelatoIdNumberReportError'Code GelatoIdNumberReportError'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"reason" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportError' -> Maybe Text
gelatoIdNumberReportError'Reason GelatoIdNumberReportError'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: GelatoIdNumberReportError' -> Encoding
toEncoding GelatoIdNumberReportError'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"code" Text -> Maybe GelatoIdNumberReportError'Code' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportError' -> Maybe GelatoIdNumberReportError'Code'
gelatoIdNumberReportError'Code GelatoIdNumberReportError'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"reason" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GelatoIdNumberReportError' -> Maybe Text
gelatoIdNumberReportError'Reason GelatoIdNumberReportError'
obj))
instance Data.Aeson.Types.FromJSON.FromJSON GelatoIdNumberReportError' where
parseJSON :: Value -> Parser GelatoIdNumberReportError'
parseJSON = String
-> (Object -> Parser GelatoIdNumberReportError')
-> Value
-> Parser GelatoIdNumberReportError'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GelatoIdNumberReportError'" (\Object
obj -> ((Maybe GelatoIdNumberReportError'Code'
-> Maybe Text -> GelatoIdNumberReportError')
-> Parser
(Maybe GelatoIdNumberReportError'Code'
-> Maybe Text -> GelatoIdNumberReportError')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe GelatoIdNumberReportError'Code'
-> Maybe Text -> GelatoIdNumberReportError'
GelatoIdNumberReportError' Parser
(Maybe GelatoIdNumberReportError'Code'
-> Maybe Text -> GelatoIdNumberReportError')
-> Parser (Maybe GelatoIdNumberReportError'Code')
-> Parser (Maybe Text -> GelatoIdNumberReportError')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe GelatoIdNumberReportError'Code')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"code")) Parser (Maybe Text -> GelatoIdNumberReportError')
-> Parser (Maybe Text) -> Parser GelatoIdNumberReportError'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"reason"))
mkGelatoIdNumberReportError' :: GelatoIdNumberReportError'
mkGelatoIdNumberReportError' :: GelatoIdNumberReportError'
mkGelatoIdNumberReportError' =
GelatoIdNumberReportError' :: Maybe GelatoIdNumberReportError'Code'
-> Maybe Text -> GelatoIdNumberReportError'
GelatoIdNumberReportError'
{ gelatoIdNumberReportError'Code :: Maybe GelatoIdNumberReportError'Code'
gelatoIdNumberReportError'Code = Maybe GelatoIdNumberReportError'Code'
forall a. Maybe a
GHC.Maybe.Nothing,
gelatoIdNumberReportError'Reason :: Maybe Text
gelatoIdNumberReportError'Reason = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}
data GelatoIdNumberReportError'Code'
=
GelatoIdNumberReportError'Code'Other Data.Aeson.Types.Internal.Value
|
GelatoIdNumberReportError'Code'Typed Data.Text.Internal.Text
|
GelatoIdNumberReportError'Code'EnumIdNumberInsufficientDocumentData
|
GelatoIdNumberReportError'Code'EnumIdNumberMismatch
|
GelatoIdNumberReportError'Code'EnumIdNumberUnverifiedOther
deriving (Int -> GelatoIdNumberReportError'Code' -> ShowS
[GelatoIdNumberReportError'Code'] -> ShowS
GelatoIdNumberReportError'Code' -> String
(Int -> GelatoIdNumberReportError'Code' -> ShowS)
-> (GelatoIdNumberReportError'Code' -> String)
-> ([GelatoIdNumberReportError'Code'] -> ShowS)
-> Show GelatoIdNumberReportError'Code'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GelatoIdNumberReportError'Code'] -> ShowS
$cshowList :: [GelatoIdNumberReportError'Code'] -> ShowS
show :: GelatoIdNumberReportError'Code' -> String
$cshow :: GelatoIdNumberReportError'Code' -> String
showsPrec :: Int -> GelatoIdNumberReportError'Code' -> ShowS
$cshowsPrec :: Int -> GelatoIdNumberReportError'Code' -> ShowS
GHC.Show.Show, GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool
(GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool)
-> (GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool)
-> Eq GelatoIdNumberReportError'Code'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool
$c/= :: GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool
== :: GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool
$c== :: GelatoIdNumberReportError'Code'
-> GelatoIdNumberReportError'Code' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON GelatoIdNumberReportError'Code' where
toJSON :: GelatoIdNumberReportError'Code' -> Value
toJSON (GelatoIdNumberReportError'Code'Other Value
val) = Value
val
toJSON (GelatoIdNumberReportError'Code'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'EnumIdNumberInsufficientDocumentData) = Value
"id_number_insufficient_document_data"
toJSON (GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'EnumIdNumberMismatch) = Value
"id_number_mismatch"
toJSON (GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'EnumIdNumberUnverifiedOther) = Value
"id_number_unverified_other"
instance Data.Aeson.Types.FromJSON.FromJSON GelatoIdNumberReportError'Code' where
parseJSON :: Value -> Parser GelatoIdNumberReportError'Code'
parseJSON Value
val =
GelatoIdNumberReportError'Code'
-> Parser GelatoIdNumberReportError'Code'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
( if
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"id_number_insufficient_document_data" -> GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'EnumIdNumberInsufficientDocumentData
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"id_number_mismatch" -> GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'EnumIdNumberMismatch
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"id_number_unverified_other" -> GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'EnumIdNumberUnverifiedOther
| Bool
GHC.Base.otherwise -> Value -> GelatoIdNumberReportError'Code'
GelatoIdNumberReportError'Code'Other Value
val
)
data GelatoIdNumberReportIdNumberType'
=
GelatoIdNumberReportIdNumberType'Other Data.Aeson.Types.Internal.Value
|
GelatoIdNumberReportIdNumberType'Typed Data.Text.Internal.Text
|
GelatoIdNumberReportIdNumberType'EnumBrCpf
|
GelatoIdNumberReportIdNumberType'EnumSgNric
|
GelatoIdNumberReportIdNumberType'EnumUsSsn
deriving (Int -> GelatoIdNumberReportIdNumberType' -> ShowS
[GelatoIdNumberReportIdNumberType'] -> ShowS
GelatoIdNumberReportIdNumberType' -> String
(Int -> GelatoIdNumberReportIdNumberType' -> ShowS)
-> (GelatoIdNumberReportIdNumberType' -> String)
-> ([GelatoIdNumberReportIdNumberType'] -> ShowS)
-> Show GelatoIdNumberReportIdNumberType'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GelatoIdNumberReportIdNumberType'] -> ShowS
$cshowList :: [GelatoIdNumberReportIdNumberType'] -> ShowS
show :: GelatoIdNumberReportIdNumberType' -> String
$cshow :: GelatoIdNumberReportIdNumberType' -> String
showsPrec :: Int -> GelatoIdNumberReportIdNumberType' -> ShowS
$cshowsPrec :: Int -> GelatoIdNumberReportIdNumberType' -> ShowS
GHC.Show.Show, GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool
(GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool)
-> (GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool)
-> Eq GelatoIdNumberReportIdNumberType'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool
$c/= :: GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool
== :: GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool
$c== :: GelatoIdNumberReportIdNumberType'
-> GelatoIdNumberReportIdNumberType' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON GelatoIdNumberReportIdNumberType' where
toJSON :: GelatoIdNumberReportIdNumberType' -> Value
toJSON (GelatoIdNumberReportIdNumberType'Other Value
val) = Value
val
toJSON (GelatoIdNumberReportIdNumberType'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'EnumBrCpf) = Value
"br_cpf"
toJSON (GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'EnumSgNric) = Value
"sg_nric"
toJSON (GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'EnumUsSsn) = Value
"us_ssn"
instance Data.Aeson.Types.FromJSON.FromJSON GelatoIdNumberReportIdNumberType' where
parseJSON :: Value -> Parser GelatoIdNumberReportIdNumberType'
parseJSON Value
val =
GelatoIdNumberReportIdNumberType'
-> Parser GelatoIdNumberReportIdNumberType'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
( if
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"br_cpf" -> GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'EnumBrCpf
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sg_nric" -> GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'EnumSgNric
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"us_ssn" -> GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'EnumUsSsn
| Bool
GHC.Base.otherwise -> Value -> GelatoIdNumberReportIdNumberType'
GelatoIdNumberReportIdNumberType'Other Value
val
)
data GelatoIdNumberReportStatus'
=
GelatoIdNumberReportStatus'Other Data.Aeson.Types.Internal.Value
|
GelatoIdNumberReportStatus'Typed Data.Text.Internal.Text
|
GelatoIdNumberReportStatus'EnumUnverified
|
GelatoIdNumberReportStatus'EnumVerified
deriving (Int -> GelatoIdNumberReportStatus' -> ShowS
[GelatoIdNumberReportStatus'] -> ShowS
GelatoIdNumberReportStatus' -> String
(Int -> GelatoIdNumberReportStatus' -> ShowS)
-> (GelatoIdNumberReportStatus' -> String)
-> ([GelatoIdNumberReportStatus'] -> ShowS)
-> Show GelatoIdNumberReportStatus'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GelatoIdNumberReportStatus'] -> ShowS
$cshowList :: [GelatoIdNumberReportStatus'] -> ShowS
show :: GelatoIdNumberReportStatus' -> String
$cshow :: GelatoIdNumberReportStatus' -> String
showsPrec :: Int -> GelatoIdNumberReportStatus' -> ShowS
$cshowsPrec :: Int -> GelatoIdNumberReportStatus' -> ShowS
GHC.Show.Show, GelatoIdNumberReportStatus' -> GelatoIdNumberReportStatus' -> Bool
(GelatoIdNumberReportStatus'
-> GelatoIdNumberReportStatus' -> Bool)
-> (GelatoIdNumberReportStatus'
-> GelatoIdNumberReportStatus' -> Bool)
-> Eq GelatoIdNumberReportStatus'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GelatoIdNumberReportStatus' -> GelatoIdNumberReportStatus' -> Bool
$c/= :: GelatoIdNumberReportStatus' -> GelatoIdNumberReportStatus' -> Bool
== :: GelatoIdNumberReportStatus' -> GelatoIdNumberReportStatus' -> Bool
$c== :: GelatoIdNumberReportStatus' -> GelatoIdNumberReportStatus' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON GelatoIdNumberReportStatus' where
toJSON :: GelatoIdNumberReportStatus' -> Value
toJSON (GelatoIdNumberReportStatus'Other Value
val) = Value
val
toJSON (GelatoIdNumberReportStatus'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (GelatoIdNumberReportStatus'
GelatoIdNumberReportStatus'EnumUnverified) = Value
"unverified"
toJSON (GelatoIdNumberReportStatus'
GelatoIdNumberReportStatus'EnumVerified) = Value
"verified"
instance Data.Aeson.Types.FromJSON.FromJSON GelatoIdNumberReportStatus' where
parseJSON :: Value -> Parser GelatoIdNumberReportStatus'
parseJSON Value
val =
GelatoIdNumberReportStatus' -> Parser GelatoIdNumberReportStatus'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
( if
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"unverified" -> GelatoIdNumberReportStatus'
GelatoIdNumberReportStatus'EnumUnverified
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"verified" -> GelatoIdNumberReportStatus'
GelatoIdNumberReportStatus'EnumVerified
| Bool
GHC.Base.otherwise -> Value -> GelatoIdNumberReportStatus'
GelatoIdNumberReportStatus'Other Value
val
)