{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module StripeAPI.Types.Review 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.Charge
import {-# SOURCE #-} StripeAPI.Types.PaymentIntent
import {-# SOURCE #-} StripeAPI.Types.RadarReviewResourceLocation
import {-# SOURCE #-} StripeAPI.Types.RadarReviewResourceSession
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data Review = Review
{
Review -> Maybe Text
reviewBillingZip :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Review -> Maybe ReviewCharge'Variants
reviewCharge :: (GHC.Maybe.Maybe ReviewCharge'Variants),
Review -> Maybe ReviewClosedReason'
reviewClosedReason :: (GHC.Maybe.Maybe ReviewClosedReason'),
Review -> Int
reviewCreated :: GHC.Types.Int,
Review -> Text
reviewId :: Data.Text.Internal.Text,
Review -> Maybe Text
reviewIpAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
Review -> Maybe ReviewIpAddressLocation'
reviewIpAddressLocation :: (GHC.Maybe.Maybe ReviewIpAddressLocation'),
Review -> Bool
reviewLivemode :: GHC.Types.Bool,
Review -> Bool
reviewOpen :: GHC.Types.Bool,
Review -> ReviewOpenedReason'
reviewOpenedReason :: ReviewOpenedReason',
Review -> Maybe ReviewPaymentIntent'Variants
reviewPaymentIntent :: (GHC.Maybe.Maybe ReviewPaymentIntent'Variants),
Review -> Text
reviewReason :: Data.Text.Internal.Text,
Review -> Maybe ReviewSession'
reviewSession :: (GHC.Maybe.Maybe ReviewSession')
}
deriving
( Int -> Review -> ShowS
[Review] -> ShowS
Review -> String
(Int -> Review -> ShowS)
-> (Review -> String) -> ([Review] -> ShowS) -> Show Review
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Review] -> ShowS
$cshowList :: [Review] -> ShowS
show :: Review -> String
$cshow :: Review -> String
showsPrec :: Int -> Review -> ShowS
$cshowsPrec :: Int -> Review -> ShowS
GHC.Show.Show,
Review -> Review -> Bool
(Review -> Review -> Bool)
-> (Review -> Review -> Bool) -> Eq Review
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Review -> Review -> Bool
$c/= :: Review -> Review -> Bool
== :: Review -> Review -> Bool
$c== :: Review -> Review -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON Review where
toJSON :: Review -> Value
toJSON Review
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"billing_zip" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe Text
reviewBillingZip Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"charge" Text -> Maybe ReviewCharge'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewCharge'Variants
reviewCharge Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"closed_reason" Text -> Maybe ReviewClosedReason' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewClosedReason'
reviewClosedReason Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"created" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Int
reviewCreated Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Text
reviewId Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ip_address" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe Text
reviewIpAddress Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ip_address_location" Text -> Maybe ReviewIpAddressLocation' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewIpAddressLocation'
reviewIpAddressLocation Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"livemode" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Bool
reviewLivemode Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"open" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Bool
reviewOpen Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"opened_reason" Text -> ReviewOpenedReason' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> ReviewOpenedReason'
reviewOpenedReason Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_intent" Text -> Maybe ReviewPaymentIntent'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewPaymentIntent'Variants
reviewPaymentIntent Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"reason" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Text
reviewReason Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"session" Text -> Maybe ReviewSession' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewSession'
reviewSession Review
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"review" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: Review -> Encoding
toEncoding Review
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"billing_zip" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe Text
reviewBillingZip Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"charge" Text -> Maybe ReviewCharge'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewCharge'Variants
reviewCharge Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"closed_reason" Text -> Maybe ReviewClosedReason' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewClosedReason'
reviewClosedReason Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"created" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Int
reviewCreated Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Text
reviewId Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ip_address" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe Text
reviewIpAddress Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ip_address_location" Text -> Maybe ReviewIpAddressLocation' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewIpAddressLocation'
reviewIpAddressLocation Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"livemode" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Bool
reviewLivemode Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"open" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Bool
reviewOpen Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"opened_reason" Text -> ReviewOpenedReason' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> ReviewOpenedReason'
reviewOpenedReason Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_intent" Text -> Maybe ReviewPaymentIntent'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewPaymentIntent'Variants
reviewPaymentIntent Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"reason" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Text
reviewReason Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"session" Text -> Maybe ReviewSession' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Review -> Maybe ReviewSession'
reviewSession Review
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"review"))))))))))))))
instance Data.Aeson.Types.FromJSON.FromJSON Review where
parseJSON :: Value -> Parser Review
parseJSON = String -> (Object -> Parser Review) -> Value -> Parser Review
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"Review" (\Object
obj -> (((((((((((((Maybe Text
-> Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser
(Maybe Text
-> Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review
Review Parser
(Maybe Text
-> Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser (Maybe Text)
-> Parser
(Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
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
"billing_zip")) Parser
(Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser (Maybe ReviewCharge'Variants)
-> Parser
(Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ReviewCharge'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"charge")) Parser
(Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser (Maybe ReviewClosedReason')
-> Parser
(Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ReviewClosedReason')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"closed_reason")) Parser
(Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser Int
-> Parser
(Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"created")) Parser
(Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser Text
-> Parser
(Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"id")) Parser
(Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser (Maybe Text)
-> Parser
(Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
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
"ip_address")) Parser
(Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser (Maybe ReviewIpAddressLocation')
-> Parser
(Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ReviewIpAddressLocation')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ip_address_location")) Parser
(Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser Bool
-> Parser
(Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"livemode")) Parser
(Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser Bool
-> Parser
(ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"open")) Parser
(ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review)
-> Parser ReviewOpenedReason'
-> Parser
(Maybe ReviewPaymentIntent'Variants
-> Text -> Maybe ReviewSession' -> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser ReviewOpenedReason'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"opened_reason")) Parser
(Maybe ReviewPaymentIntent'Variants
-> Text -> Maybe ReviewSession' -> Review)
-> Parser (Maybe ReviewPaymentIntent'Variants)
-> Parser (Text -> Maybe ReviewSession' -> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ReviewPaymentIntent'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_intent")) Parser (Text -> Maybe ReviewSession' -> Review)
-> Parser Text -> Parser (Maybe ReviewSession' -> Review)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"reason")) Parser (Maybe ReviewSession' -> Review)
-> Parser (Maybe ReviewSession') -> Parser Review
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ReviewSession')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"session"))
mkReview ::
GHC.Types.Int ->
Data.Text.Internal.Text ->
GHC.Types.Bool ->
GHC.Types.Bool ->
ReviewOpenedReason' ->
Data.Text.Internal.Text ->
Review
mkReview :: Int
-> Text -> Bool -> Bool -> ReviewOpenedReason' -> Text -> Review
mkReview Int
reviewCreated Text
reviewId Bool
reviewLivemode Bool
reviewOpen ReviewOpenedReason'
reviewOpenedReason Text
reviewReason =
Review :: Maybe Text
-> Maybe ReviewCharge'Variants
-> Maybe ReviewClosedReason'
-> Int
-> Text
-> Maybe Text
-> Maybe ReviewIpAddressLocation'
-> Bool
-> Bool
-> ReviewOpenedReason'
-> Maybe ReviewPaymentIntent'Variants
-> Text
-> Maybe ReviewSession'
-> Review
Review
{ reviewBillingZip :: Maybe Text
reviewBillingZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewCharge :: Maybe ReviewCharge'Variants
reviewCharge = Maybe ReviewCharge'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
reviewClosedReason :: Maybe ReviewClosedReason'
reviewClosedReason = Maybe ReviewClosedReason'
forall a. Maybe a
GHC.Maybe.Nothing,
reviewCreated :: Int
reviewCreated = Int
reviewCreated,
reviewId :: Text
reviewId = Text
reviewId,
reviewIpAddress :: Maybe Text
reviewIpAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewIpAddressLocation :: Maybe ReviewIpAddressLocation'
reviewIpAddressLocation = Maybe ReviewIpAddressLocation'
forall a. Maybe a
GHC.Maybe.Nothing,
reviewLivemode :: Bool
reviewLivemode = Bool
reviewLivemode,
reviewOpen :: Bool
reviewOpen = Bool
reviewOpen,
reviewOpenedReason :: ReviewOpenedReason'
reviewOpenedReason = ReviewOpenedReason'
reviewOpenedReason,
reviewPaymentIntent :: Maybe ReviewPaymentIntent'Variants
reviewPaymentIntent = Maybe ReviewPaymentIntent'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
reviewReason :: Text
reviewReason = Text
reviewReason,
reviewSession :: Maybe ReviewSession'
reviewSession = Maybe ReviewSession'
forall a. Maybe a
GHC.Maybe.Nothing
}
data ReviewCharge'Variants
= ReviewCharge'Text Data.Text.Internal.Text
| ReviewCharge'Charge Charge
deriving (Int -> ReviewCharge'Variants -> ShowS
[ReviewCharge'Variants] -> ShowS
ReviewCharge'Variants -> String
(Int -> ReviewCharge'Variants -> ShowS)
-> (ReviewCharge'Variants -> String)
-> ([ReviewCharge'Variants] -> ShowS)
-> Show ReviewCharge'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReviewCharge'Variants] -> ShowS
$cshowList :: [ReviewCharge'Variants] -> ShowS
show :: ReviewCharge'Variants -> String
$cshow :: ReviewCharge'Variants -> String
showsPrec :: Int -> ReviewCharge'Variants -> ShowS
$cshowsPrec :: Int -> ReviewCharge'Variants -> ShowS
GHC.Show.Show, ReviewCharge'Variants -> ReviewCharge'Variants -> Bool
(ReviewCharge'Variants -> ReviewCharge'Variants -> Bool)
-> (ReviewCharge'Variants -> ReviewCharge'Variants -> Bool)
-> Eq ReviewCharge'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReviewCharge'Variants -> ReviewCharge'Variants -> Bool
$c/= :: ReviewCharge'Variants -> ReviewCharge'Variants -> Bool
== :: ReviewCharge'Variants -> ReviewCharge'Variants -> Bool
$c== :: ReviewCharge'Variants -> ReviewCharge'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON ReviewCharge'Variants where
toJSON :: ReviewCharge'Variants -> Value
toJSON (ReviewCharge'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (ReviewCharge'Charge Charge
a) = Charge -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Charge
a
instance Data.Aeson.Types.FromJSON.FromJSON ReviewCharge'Variants where
parseJSON :: Value -> Parser ReviewCharge'Variants
parseJSON Value
val = case (Text -> ReviewCharge'Variants
ReviewCharge'Text (Text -> ReviewCharge'Variants)
-> Result Text -> Result ReviewCharge'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ReviewCharge'Variants
-> Result ReviewCharge'Variants -> Result ReviewCharge'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Charge -> ReviewCharge'Variants
ReviewCharge'Charge (Charge -> ReviewCharge'Variants)
-> Result Charge -> Result ReviewCharge'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Charge
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ReviewCharge'Variants
-> Result ReviewCharge'Variants -> Result ReviewCharge'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result ReviewCharge'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success ReviewCharge'Variants
a -> ReviewCharge'Variants -> Parser ReviewCharge'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure ReviewCharge'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser ReviewCharge'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data ReviewClosedReason'
=
ReviewClosedReason'Other Data.Aeson.Types.Internal.Value
|
ReviewClosedReason'Typed Data.Text.Internal.Text
|
ReviewClosedReason'EnumApproved
|
ReviewClosedReason'EnumDisputed
|
ReviewClosedReason'EnumRefunded
|
ReviewClosedReason'EnumRefundedAsFraud
deriving (Int -> ReviewClosedReason' -> ShowS
[ReviewClosedReason'] -> ShowS
ReviewClosedReason' -> String
(Int -> ReviewClosedReason' -> ShowS)
-> (ReviewClosedReason' -> String)
-> ([ReviewClosedReason'] -> ShowS)
-> Show ReviewClosedReason'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReviewClosedReason'] -> ShowS
$cshowList :: [ReviewClosedReason'] -> ShowS
show :: ReviewClosedReason' -> String
$cshow :: ReviewClosedReason' -> String
showsPrec :: Int -> ReviewClosedReason' -> ShowS
$cshowsPrec :: Int -> ReviewClosedReason' -> ShowS
GHC.Show.Show, ReviewClosedReason' -> ReviewClosedReason' -> Bool
(ReviewClosedReason' -> ReviewClosedReason' -> Bool)
-> (ReviewClosedReason' -> ReviewClosedReason' -> Bool)
-> Eq ReviewClosedReason'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReviewClosedReason' -> ReviewClosedReason' -> Bool
$c/= :: ReviewClosedReason' -> ReviewClosedReason' -> Bool
== :: ReviewClosedReason' -> ReviewClosedReason' -> Bool
$c== :: ReviewClosedReason' -> ReviewClosedReason' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON ReviewClosedReason' where
toJSON :: ReviewClosedReason' -> Value
toJSON (ReviewClosedReason'Other Value
val) = Value
val
toJSON (ReviewClosedReason'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (ReviewClosedReason'
ReviewClosedReason'EnumApproved) = Value
"approved"
toJSON (ReviewClosedReason'
ReviewClosedReason'EnumDisputed) = Value
"disputed"
toJSON (ReviewClosedReason'
ReviewClosedReason'EnumRefunded) = Value
"refunded"
toJSON (ReviewClosedReason'
ReviewClosedReason'EnumRefundedAsFraud) = Value
"refunded_as_fraud"
instance Data.Aeson.Types.FromJSON.FromJSON ReviewClosedReason' where
parseJSON :: Value -> Parser ReviewClosedReason'
parseJSON Value
val =
ReviewClosedReason' -> Parser ReviewClosedReason'
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
"approved" -> ReviewClosedReason'
ReviewClosedReason'EnumApproved
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"disputed" -> ReviewClosedReason'
ReviewClosedReason'EnumDisputed
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"refunded" -> ReviewClosedReason'
ReviewClosedReason'EnumRefunded
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"refunded_as_fraud" -> ReviewClosedReason'
ReviewClosedReason'EnumRefundedAsFraud
| Bool
GHC.Base.otherwise -> Value -> ReviewClosedReason'
ReviewClosedReason'Other Value
val
)
data ReviewIpAddressLocation' = ReviewIpAddressLocation'
{
ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
ReviewIpAddressLocation' -> Maybe Double
reviewIpAddressLocation'Latitude :: (GHC.Maybe.Maybe GHC.Types.Double),
ReviewIpAddressLocation' -> Maybe Double
reviewIpAddressLocation'Longitude :: (GHC.Maybe.Maybe GHC.Types.Double),
ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'Region :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> ReviewIpAddressLocation' -> ShowS
[ReviewIpAddressLocation'] -> ShowS
ReviewIpAddressLocation' -> String
(Int -> ReviewIpAddressLocation' -> ShowS)
-> (ReviewIpAddressLocation' -> String)
-> ([ReviewIpAddressLocation'] -> ShowS)
-> Show ReviewIpAddressLocation'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReviewIpAddressLocation'] -> ShowS
$cshowList :: [ReviewIpAddressLocation'] -> ShowS
show :: ReviewIpAddressLocation' -> String
$cshow :: ReviewIpAddressLocation' -> String
showsPrec :: Int -> ReviewIpAddressLocation' -> ShowS
$cshowsPrec :: Int -> ReviewIpAddressLocation' -> ShowS
GHC.Show.Show,
ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool
(ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool)
-> (ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool)
-> Eq ReviewIpAddressLocation'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool
$c/= :: ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool
== :: ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool
$c== :: ReviewIpAddressLocation' -> ReviewIpAddressLocation' -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON ReviewIpAddressLocation' where
toJSON :: ReviewIpAddressLocation' -> Value
toJSON ReviewIpAddressLocation'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'City ReviewIpAddressLocation'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'Country ReviewIpAddressLocation'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"latitude" Text -> Maybe Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Double
reviewIpAddressLocation'Latitude ReviewIpAddressLocation'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"longitude" Text -> Maybe Double -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Double
reviewIpAddressLocation'Longitude ReviewIpAddressLocation'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"region" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'Region ReviewIpAddressLocation'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: ReviewIpAddressLocation' -> Encoding
toEncoding ReviewIpAddressLocation'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'City ReviewIpAddressLocation'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'Country ReviewIpAddressLocation'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"latitude" Text -> Maybe Double -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Double
reviewIpAddressLocation'Latitude ReviewIpAddressLocation'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"longitude" Text -> Maybe Double -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Double
reviewIpAddressLocation'Longitude ReviewIpAddressLocation'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"region" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewIpAddressLocation' -> Maybe Text
reviewIpAddressLocation'Region ReviewIpAddressLocation'
obj)))))
instance Data.Aeson.Types.FromJSON.FromJSON ReviewIpAddressLocation' where
parseJSON :: Value -> Parser ReviewIpAddressLocation'
parseJSON = String
-> (Object -> Parser ReviewIpAddressLocation')
-> Value
-> Parser ReviewIpAddressLocation'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ReviewIpAddressLocation'" (\Object
obj -> (((((Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation')
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation'
ReviewIpAddressLocation' Parser
(Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation')
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation')
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
"city")) Parser
(Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation')
-> Parser (Maybe Text)
-> Parser
(Maybe Double
-> Maybe Double -> Maybe Text -> ReviewIpAddressLocation')
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
"country")) Parser
(Maybe Double
-> Maybe Double -> Maybe Text -> ReviewIpAddressLocation')
-> Parser (Maybe Double)
-> Parser (Maybe Double -> Maybe Text -> ReviewIpAddressLocation')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"latitude")) Parser (Maybe Double -> Maybe Text -> ReviewIpAddressLocation')
-> Parser (Maybe Double)
-> Parser (Maybe Text -> ReviewIpAddressLocation')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"longitude")) Parser (Maybe Text -> ReviewIpAddressLocation')
-> Parser (Maybe Text) -> Parser ReviewIpAddressLocation'
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
"region"))
mkReviewIpAddressLocation' :: ReviewIpAddressLocation'
mkReviewIpAddressLocation' :: ReviewIpAddressLocation'
mkReviewIpAddressLocation' =
ReviewIpAddressLocation' :: Maybe Text
-> Maybe Text
-> Maybe Double
-> Maybe Double
-> Maybe Text
-> ReviewIpAddressLocation'
ReviewIpAddressLocation'
{ reviewIpAddressLocation'City :: Maybe Text
reviewIpAddressLocation'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewIpAddressLocation'Country :: Maybe Text
reviewIpAddressLocation'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewIpAddressLocation'Latitude :: Maybe Double
reviewIpAddressLocation'Latitude = Maybe Double
forall a. Maybe a
GHC.Maybe.Nothing,
reviewIpAddressLocation'Longitude :: Maybe Double
reviewIpAddressLocation'Longitude = Maybe Double
forall a. Maybe a
GHC.Maybe.Nothing,
reviewIpAddressLocation'Region :: Maybe Text
reviewIpAddressLocation'Region = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}
data ReviewOpenedReason'
=
ReviewOpenedReason'Other Data.Aeson.Types.Internal.Value
|
ReviewOpenedReason'Typed Data.Text.Internal.Text
|
ReviewOpenedReason'EnumManual
|
ReviewOpenedReason'EnumRule
deriving (Int -> ReviewOpenedReason' -> ShowS
[ReviewOpenedReason'] -> ShowS
ReviewOpenedReason' -> String
(Int -> ReviewOpenedReason' -> ShowS)
-> (ReviewOpenedReason' -> String)
-> ([ReviewOpenedReason'] -> ShowS)
-> Show ReviewOpenedReason'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReviewOpenedReason'] -> ShowS
$cshowList :: [ReviewOpenedReason'] -> ShowS
show :: ReviewOpenedReason' -> String
$cshow :: ReviewOpenedReason' -> String
showsPrec :: Int -> ReviewOpenedReason' -> ShowS
$cshowsPrec :: Int -> ReviewOpenedReason' -> ShowS
GHC.Show.Show, ReviewOpenedReason' -> ReviewOpenedReason' -> Bool
(ReviewOpenedReason' -> ReviewOpenedReason' -> Bool)
-> (ReviewOpenedReason' -> ReviewOpenedReason' -> Bool)
-> Eq ReviewOpenedReason'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReviewOpenedReason' -> ReviewOpenedReason' -> Bool
$c/= :: ReviewOpenedReason' -> ReviewOpenedReason' -> Bool
== :: ReviewOpenedReason' -> ReviewOpenedReason' -> Bool
$c== :: ReviewOpenedReason' -> ReviewOpenedReason' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON ReviewOpenedReason' where
toJSON :: ReviewOpenedReason' -> Value
toJSON (ReviewOpenedReason'Other Value
val) = Value
val
toJSON (ReviewOpenedReason'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (ReviewOpenedReason'
ReviewOpenedReason'EnumManual) = Value
"manual"
toJSON (ReviewOpenedReason'
ReviewOpenedReason'EnumRule) = Value
"rule"
instance Data.Aeson.Types.FromJSON.FromJSON ReviewOpenedReason' where
parseJSON :: Value -> Parser ReviewOpenedReason'
parseJSON Value
val =
ReviewOpenedReason' -> Parser ReviewOpenedReason'
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
"manual" -> ReviewOpenedReason'
ReviewOpenedReason'EnumManual
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"rule" -> ReviewOpenedReason'
ReviewOpenedReason'EnumRule
| Bool
GHC.Base.otherwise -> Value -> ReviewOpenedReason'
ReviewOpenedReason'Other Value
val
)
data ReviewPaymentIntent'Variants
= ReviewPaymentIntent'Text Data.Text.Internal.Text
| ReviewPaymentIntent'PaymentIntent PaymentIntent
deriving (Int -> ReviewPaymentIntent'Variants -> ShowS
[ReviewPaymentIntent'Variants] -> ShowS
ReviewPaymentIntent'Variants -> String
(Int -> ReviewPaymentIntent'Variants -> ShowS)
-> (ReviewPaymentIntent'Variants -> String)
-> ([ReviewPaymentIntent'Variants] -> ShowS)
-> Show ReviewPaymentIntent'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReviewPaymentIntent'Variants] -> ShowS
$cshowList :: [ReviewPaymentIntent'Variants] -> ShowS
show :: ReviewPaymentIntent'Variants -> String
$cshow :: ReviewPaymentIntent'Variants -> String
showsPrec :: Int -> ReviewPaymentIntent'Variants -> ShowS
$cshowsPrec :: Int -> ReviewPaymentIntent'Variants -> ShowS
GHC.Show.Show, ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool
(ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool)
-> (ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool)
-> Eq ReviewPaymentIntent'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool
$c/= :: ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool
== :: ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool
$c== :: ReviewPaymentIntent'Variants
-> ReviewPaymentIntent'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON ReviewPaymentIntent'Variants where
toJSON :: ReviewPaymentIntent'Variants -> Value
toJSON (ReviewPaymentIntent'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (ReviewPaymentIntent'PaymentIntent PaymentIntent
a) = PaymentIntent -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON PaymentIntent
a
instance Data.Aeson.Types.FromJSON.FromJSON ReviewPaymentIntent'Variants where
parseJSON :: Value -> Parser ReviewPaymentIntent'Variants
parseJSON Value
val = case (Text -> ReviewPaymentIntent'Variants
ReviewPaymentIntent'Text (Text -> ReviewPaymentIntent'Variants)
-> Result Text -> Result ReviewPaymentIntent'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ReviewPaymentIntent'Variants
-> Result ReviewPaymentIntent'Variants
-> Result ReviewPaymentIntent'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((PaymentIntent -> ReviewPaymentIntent'Variants
ReviewPaymentIntent'PaymentIntent (PaymentIntent -> ReviewPaymentIntent'Variants)
-> Result PaymentIntent -> Result ReviewPaymentIntent'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result PaymentIntent
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ReviewPaymentIntent'Variants
-> Result ReviewPaymentIntent'Variants
-> Result ReviewPaymentIntent'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result ReviewPaymentIntent'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success ReviewPaymentIntent'Variants
a -> ReviewPaymentIntent'Variants -> Parser ReviewPaymentIntent'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure ReviewPaymentIntent'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser ReviewPaymentIntent'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data ReviewSession' = ReviewSession'
{
ReviewSession' -> Maybe Text
reviewSession'Browser :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
ReviewSession' -> Maybe Text
reviewSession'Device :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
ReviewSession' -> Maybe Text
reviewSession'Platform :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
ReviewSession' -> Maybe Text
reviewSession'Version :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> ReviewSession' -> ShowS
[ReviewSession'] -> ShowS
ReviewSession' -> String
(Int -> ReviewSession' -> ShowS)
-> (ReviewSession' -> String)
-> ([ReviewSession'] -> ShowS)
-> Show ReviewSession'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ReviewSession'] -> ShowS
$cshowList :: [ReviewSession'] -> ShowS
show :: ReviewSession' -> String
$cshow :: ReviewSession' -> String
showsPrec :: Int -> ReviewSession' -> ShowS
$cshowsPrec :: Int -> ReviewSession' -> ShowS
GHC.Show.Show,
ReviewSession' -> ReviewSession' -> Bool
(ReviewSession' -> ReviewSession' -> Bool)
-> (ReviewSession' -> ReviewSession' -> Bool) -> Eq ReviewSession'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReviewSession' -> ReviewSession' -> Bool
$c/= :: ReviewSession' -> ReviewSession' -> Bool
== :: ReviewSession' -> ReviewSession' -> Bool
$c== :: ReviewSession' -> ReviewSession' -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON ReviewSession' where
toJSON :: ReviewSession' -> Value
toJSON ReviewSession'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"browser" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Browser ReviewSession'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"device" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Device ReviewSession'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"platform" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Platform ReviewSession'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"version" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Version ReviewSession'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: ReviewSession' -> Encoding
toEncoding ReviewSession'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"browser" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Browser ReviewSession'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"device" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Device ReviewSession'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"platform" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Platform ReviewSession'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"version" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ReviewSession' -> Maybe Text
reviewSession'Version ReviewSession'
obj))))
instance Data.Aeson.Types.FromJSON.FromJSON ReviewSession' where
parseJSON :: Value -> Parser ReviewSession'
parseJSON = String
-> (Object -> Parser ReviewSession')
-> Value
-> Parser ReviewSession'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ReviewSession'" (\Object
obj -> ((((Maybe Text
-> Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession')
-> Parser
(Maybe Text
-> Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession'
ReviewSession' Parser
(Maybe Text
-> Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession')
-> Parser (Maybe Text)
-> Parser
(Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession')
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
"browser")) Parser (Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> ReviewSession')
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
"device")) Parser (Maybe Text -> Maybe Text -> ReviewSession')
-> Parser (Maybe Text) -> Parser (Maybe Text -> ReviewSession')
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
"platform")) Parser (Maybe Text -> ReviewSession')
-> Parser (Maybe Text) -> Parser ReviewSession'
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
"version"))
mkReviewSession' :: ReviewSession'
mkReviewSession' :: ReviewSession'
mkReviewSession' =
ReviewSession' :: Maybe Text
-> Maybe Text -> Maybe Text -> Maybe Text -> ReviewSession'
ReviewSession'
{ reviewSession'Browser :: Maybe Text
reviewSession'Browser = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewSession'Device :: Maybe Text
reviewSession'Device = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewSession'Platform :: Maybe Text
reviewSession'Platform = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
reviewSession'Version :: Maybe Text
reviewSession'Version = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}