{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module RecurlyClient.Types.CreditPayment 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
import qualified Data.ByteString as Data.ByteString.Internal
import qualified Data.Foldable
import qualified Data.Functor
import qualified Data.Maybe
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text as 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 RecurlyClient.Common
import RecurlyClient.TypeAlias
import {-# SOURCE #-} RecurlyClient.Types.AccountMini
import {-# SOURCE #-} RecurlyClient.Types.InvoiceMini
import {-# SOURCE #-} RecurlyClient.Types.Transaction
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data CreditPayment = CreditPayment
{ CreditPayment -> Maybe AccountMini
creditPaymentAccount :: (GHC.Maybe.Maybe AccountMini)
, CreditPayment -> Maybe CreditPaymentAction
creditPaymentAction :: (GHC.Maybe.Maybe CreditPaymentAction)
, CreditPayment -> Maybe Float
creditPaymentAmount :: (GHC.Maybe.Maybe GHC.Types.Float)
, CreditPayment -> Maybe InvoiceMini
creditPaymentApplied_to_invoice :: (GHC.Maybe.Maybe InvoiceMini)
, CreditPayment -> Maybe JsonDateTime
creditPaymentCreated_at :: (GHC.Maybe.Maybe RecurlyClient.Common.JsonDateTime)
, CreditPayment -> Maybe Text
creditPaymentCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, CreditPayment -> Maybe Text
creditPaymentId :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, CreditPayment -> Maybe Text
creditPaymentObject :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, CreditPayment -> Maybe Text
creditPaymentOriginal_credit_payment_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, CreditPayment -> Maybe InvoiceMini
creditPaymentOriginal_invoice :: (GHC.Maybe.Maybe InvoiceMini)
, CreditPayment -> Maybe Transaction
creditPaymentRefund_transaction :: (GHC.Maybe.Maybe Transaction)
, CreditPayment -> Maybe JsonDateTime
creditPaymentUpdated_at :: (GHC.Maybe.Maybe RecurlyClient.Common.JsonDateTime)
, CreditPayment -> Maybe Text
creditPaymentUuid :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, CreditPayment -> Maybe JsonDateTime
creditPaymentVoided_at :: (GHC.Maybe.Maybe RecurlyClient.Common.JsonDateTime)
}
deriving
( Int -> CreditPayment -> ShowS
[CreditPayment] -> ShowS
CreditPayment -> String
(Int -> CreditPayment -> ShowS)
-> (CreditPayment -> String)
-> ([CreditPayment] -> ShowS)
-> Show CreditPayment
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreditPayment -> ShowS
showsPrec :: Int -> CreditPayment -> ShowS
$cshow :: CreditPayment -> String
show :: CreditPayment -> String
$cshowList :: [CreditPayment] -> ShowS
showList :: [CreditPayment] -> ShowS
GHC.Show.Show
, CreditPayment -> CreditPayment -> Bool
(CreditPayment -> CreditPayment -> Bool)
-> (CreditPayment -> CreditPayment -> Bool) -> Eq CreditPayment
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreditPayment -> CreditPayment -> Bool
== :: CreditPayment -> CreditPayment -> Bool
$c/= :: CreditPayment -> CreditPayment -> Bool
/= :: CreditPayment -> CreditPayment -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON CreditPayment where
toJSON :: CreditPayment -> Value
toJSON CreditPayment
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair] -> (AccountMini -> [Pair]) -> Maybe AccountMini -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (AccountMini -> Pair) -> AccountMini -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"account" Key -> AccountMini -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe AccountMini
creditPaymentAccount CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (CreditPaymentAction -> [Pair])
-> Maybe CreditPaymentAction
-> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (CreditPaymentAction -> Pair) -> CreditPaymentAction -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"action" Key -> CreditPaymentAction -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe CreditPaymentAction
creditPaymentAction CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Float -> [Pair]) -> Maybe Float -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Float -> Pair) -> Float -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"amount" Key -> Float -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Float
creditPaymentAmount CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (InvoiceMini -> [Pair]) -> Maybe InvoiceMini -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (InvoiceMini -> Pair) -> InvoiceMini -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"applied_to_invoice" Key -> InvoiceMini -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe InvoiceMini
creditPaymentApplied_to_invoice CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (JsonDateTime -> [Pair]) -> Maybe JsonDateTime -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (JsonDateTime -> Pair) -> JsonDateTime -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"created_at" Key -> JsonDateTime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe JsonDateTime
creditPaymentCreated_at CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"currency" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentCurrency CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentId CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"object" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentObject CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"original_credit_payment_id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentOriginal_credit_payment_id CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (InvoiceMini -> [Pair]) -> Maybe InvoiceMini -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (InvoiceMini -> Pair) -> InvoiceMini -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"original_invoice" Key -> InvoiceMini -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe InvoiceMini
creditPaymentOriginal_invoice CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Transaction -> [Pair]) -> Maybe Transaction -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Transaction -> Pair) -> Transaction -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"refund_transaction" Key -> Transaction -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Transaction
creditPaymentRefund_transaction CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (JsonDateTime -> [Pair]) -> Maybe JsonDateTime -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (JsonDateTime -> Pair) -> JsonDateTime -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"updated_at" Key -> JsonDateTime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe JsonDateTime
creditPaymentUpdated_at CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"uuid" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentUuid CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (JsonDateTime -> [Pair]) -> Maybe JsonDateTime -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (JsonDateTime -> Pair) -> JsonDateTime -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"voided_at" Key -> JsonDateTime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe JsonDateTime
creditPaymentVoided_at CreditPayment
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: CreditPayment -> Encoding
toEncoding CreditPayment
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ([Series] -> Series
forall a. Monoid a => [a] -> a
GHC.Base.mconcat ([[Series]] -> [Series]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Series]
-> (AccountMini -> [Series]) -> Maybe AccountMini -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (AccountMini -> Series) -> AccountMini -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"account" Key -> AccountMini -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe AccountMini
creditPaymentAccount CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (CreditPaymentAction -> [Series])
-> Maybe CreditPaymentAction
-> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (CreditPaymentAction -> Series)
-> CreditPaymentAction
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"action" Key -> CreditPaymentAction -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe CreditPaymentAction
creditPaymentAction CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Float -> [Series]) -> Maybe Float -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Float -> Series) -> Float -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"amount" Key -> Float -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Float
creditPaymentAmount CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (InvoiceMini -> [Series]) -> Maybe InvoiceMini -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (InvoiceMini -> Series) -> InvoiceMini -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"applied_to_invoice" Key -> InvoiceMini -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe InvoiceMini
creditPaymentApplied_to_invoice CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (JsonDateTime -> [Series]) -> Maybe JsonDateTime -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (JsonDateTime -> Series) -> JsonDateTime -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"created_at" Key -> JsonDateTime -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe JsonDateTime
creditPaymentCreated_at CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"currency" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentCurrency CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentId CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"object" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentObject CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"original_credit_payment_id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentOriginal_credit_payment_id CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (InvoiceMini -> [Series]) -> Maybe InvoiceMini -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (InvoiceMini -> Series) -> InvoiceMini -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"original_invoice" Key -> InvoiceMini -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe InvoiceMini
creditPaymentOriginal_invoice CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (Transaction -> [Series]) -> Maybe Transaction -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (Transaction -> Series) -> Transaction -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"refund_transaction" Key -> Transaction -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Transaction
creditPaymentRefund_transaction CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (JsonDateTime -> [Series]) -> Maybe JsonDateTime -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (JsonDateTime -> Series) -> JsonDateTime -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"updated_at" Key -> JsonDateTime -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe JsonDateTime
creditPaymentUpdated_at CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"uuid" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe Text
creditPaymentUuid CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (JsonDateTime -> [Series]) -> Maybe JsonDateTime -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (JsonDateTime -> Series) -> JsonDateTime -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"voided_at" Key -> JsonDateTime -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (CreditPayment -> Maybe JsonDateTime
creditPaymentVoided_at CreditPayment
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON CreditPayment where
parseJSON :: Value -> Parser CreditPayment
parseJSON = String
-> (Object -> Parser CreditPayment)
-> Value
-> Parser CreditPayment
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"CreditPayment" (\Object
obj -> ((((((((((((((Maybe AccountMini
-> Maybe CreditPaymentAction
-> Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser
(Maybe AccountMini
-> Maybe CreditPaymentAction
-> Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe AccountMini
-> Maybe CreditPaymentAction
-> Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment
CreditPayment Parser
(Maybe AccountMini
-> Maybe CreditPaymentAction
-> Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe AccountMini)
-> Parser
(Maybe CreditPaymentAction
-> Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe AccountMini)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"account")) Parser
(Maybe CreditPaymentAction
-> Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe CreditPaymentAction)
-> Parser
(Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe CreditPaymentAction)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"action")) Parser
(Maybe Float
-> Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe Float)
-> Parser
(Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Float)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"amount")) Parser
(Maybe InvoiceMini
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe InvoiceMini)
-> Parser
(Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe InvoiceMini)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"applied_to_invoice")) Parser
(Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe JsonDateTime)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe JsonDateTime)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"created_at")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"currency")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"id")) Parser
(Maybe Text
-> Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"object")) Parser
(Maybe Text
-> Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe Text)
-> Parser
(Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"original_credit_payment_id")) Parser
(Maybe InvoiceMini
-> Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe InvoiceMini)
-> Parser
(Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe InvoiceMini)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"original_invoice")) Parser
(Maybe Transaction
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe JsonDateTime
-> CreditPayment)
-> Parser (Maybe Transaction)
-> Parser
(Maybe JsonDateTime
-> Maybe Text -> Maybe JsonDateTime -> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Transaction)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"refund_transaction")) Parser
(Maybe JsonDateTime
-> Maybe Text -> Maybe JsonDateTime -> CreditPayment)
-> Parser (Maybe JsonDateTime)
-> Parser (Maybe Text -> Maybe JsonDateTime -> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe JsonDateTime)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"updated_at")) Parser (Maybe Text -> Maybe JsonDateTime -> CreditPayment)
-> Parser (Maybe Text)
-> Parser (Maybe JsonDateTime -> CreditPayment)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"uuid")) Parser (Maybe JsonDateTime -> CreditPayment)
-> Parser (Maybe JsonDateTime) -> Parser CreditPayment
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe JsonDateTime)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"voided_at"))
mkCreditPayment :: CreditPayment
mkCreditPayment :: CreditPayment
mkCreditPayment =
CreditPayment
{ creditPaymentAccount :: Maybe AccountMini
creditPaymentAccount = Maybe AccountMini
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentAction :: Maybe CreditPaymentAction
creditPaymentAction = Maybe CreditPaymentAction
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentAmount :: Maybe Float
creditPaymentAmount = Maybe Float
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentApplied_to_invoice :: Maybe InvoiceMini
creditPaymentApplied_to_invoice = Maybe InvoiceMini
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentCreated_at :: Maybe JsonDateTime
creditPaymentCreated_at = Maybe JsonDateTime
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentCurrency :: Maybe Text
creditPaymentCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentId :: Maybe Text
creditPaymentId = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentObject :: Maybe Text
creditPaymentObject = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentOriginal_credit_payment_id :: Maybe Text
creditPaymentOriginal_credit_payment_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentOriginal_invoice :: Maybe InvoiceMini
creditPaymentOriginal_invoice = Maybe InvoiceMini
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentRefund_transaction :: Maybe Transaction
creditPaymentRefund_transaction = Maybe Transaction
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentUpdated_at :: Maybe JsonDateTime
creditPaymentUpdated_at = Maybe JsonDateTime
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentUuid :: Maybe Text
creditPaymentUuid = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, creditPaymentVoided_at :: Maybe JsonDateTime
creditPaymentVoided_at = Maybe JsonDateTime
forall a. Maybe a
GHC.Maybe.Nothing
}
data CreditPaymentAction
=
CreditPaymentActionOther Data.Aeson.Types.Internal.Value
|
CreditPaymentActionTyped Data.Text.Internal.Text
|
CreditPaymentActionEnumPayment
|
CreditPaymentActionEnumReduction
|
CreditPaymentActionEnumRefund
|
CreditPaymentActionEnumWrite_off
deriving (Int -> CreditPaymentAction -> ShowS
[CreditPaymentAction] -> ShowS
CreditPaymentAction -> String
(Int -> CreditPaymentAction -> ShowS)
-> (CreditPaymentAction -> String)
-> ([CreditPaymentAction] -> ShowS)
-> Show CreditPaymentAction
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CreditPaymentAction -> ShowS
showsPrec :: Int -> CreditPaymentAction -> ShowS
$cshow :: CreditPaymentAction -> String
show :: CreditPaymentAction -> String
$cshowList :: [CreditPaymentAction] -> ShowS
showList :: [CreditPaymentAction] -> ShowS
GHC.Show.Show, CreditPaymentAction -> CreditPaymentAction -> Bool
(CreditPaymentAction -> CreditPaymentAction -> Bool)
-> (CreditPaymentAction -> CreditPaymentAction -> Bool)
-> Eq CreditPaymentAction
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CreditPaymentAction -> CreditPaymentAction -> Bool
== :: CreditPaymentAction -> CreditPaymentAction -> Bool
$c/= :: CreditPaymentAction -> CreditPaymentAction -> Bool
/= :: CreditPaymentAction -> CreditPaymentAction -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON CreditPaymentAction where
toJSON :: CreditPaymentAction -> Value
toJSON (CreditPaymentActionOther Value
val) = Value
val
toJSON (CreditPaymentActionTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (CreditPaymentAction
CreditPaymentActionEnumPayment) = Value
"payment"
toJSON (CreditPaymentAction
CreditPaymentActionEnumReduction) = Value
"reduction"
toJSON (CreditPaymentAction
CreditPaymentActionEnumRefund) = Value
"refund"
toJSON (CreditPaymentAction
CreditPaymentActionEnumWrite_off) = Value
"write_off"
instance Data.Aeson.Types.FromJSON.FromJSON CreditPaymentAction where
parseJSON :: Value -> Parser CreditPaymentAction
parseJSON Value
val =
CreditPaymentAction -> Parser CreditPaymentAction
forall a. a -> Parser a
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
"payment" -> CreditPaymentAction
CreditPaymentActionEnumPayment
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"reduction" -> CreditPaymentAction
CreditPaymentActionEnumReduction
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"refund" -> CreditPaymentAction
CreditPaymentActionEnumRefund
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"write_off" -> CreditPaymentAction
CreditPaymentActionEnumWrite_off
| Bool
GHC.Base.otherwise -> Value -> CreditPaymentAction
CreditPaymentActionOther Value
val
)