{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module RecurlyClient.Types.PurchaseCreate 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.AccountPurchase
import {-# SOURCE #-} RecurlyClient.Types.LineItemCreate
import {-# SOURCE #-} RecurlyClient.Types.ShippingAddressCreate
import {-# SOURCE #-} RecurlyClient.Types.ShippingFeeCreate
import {-# SOURCE #-} RecurlyClient.Types.SubscriptionPurchase
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data PurchaseCreate = PurchaseCreate
{ PurchaseCreate -> AccountPurchase
purchaseCreateAccount :: AccountPurchase
, PurchaseCreate -> Maybe Text
purchaseCreateBilling_info_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe Text
purchaseCreateBusiness_entity_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe Text
purchaseCreateBusiness_entity_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe PurchaseCreateCollection_method
purchaseCreateCollection_method :: (GHC.Maybe.Maybe PurchaseCreateCollection_method)
, PurchaseCreate -> Maybe [Text]
purchaseCreateCoupon_codes :: (GHC.Maybe.Maybe [Data.Text.Internal.Text])
, PurchaseCreate -> Maybe Text
purchaseCreateCredit_customer_notes :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Text
purchaseCreateCurrency :: Data.Text.Internal.Text
, PurchaseCreate -> Maybe Text
purchaseCreateCustomer_notes :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe Text
purchaseCreateGateway_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe Text
purchaseCreateGift_card_redemption_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe [LineItemCreate]
purchaseCreateLine_items :: (GHC.Maybe.Maybe [LineItemCreate])
, PurchaseCreate -> Maybe Int
purchaseCreateNet_terms :: (GHC.Maybe.Maybe GHC.Types.Int)
, PurchaseCreate -> Maybe PurchaseCreateNet_terms_type
purchaseCreateNet_terms_type :: (GHC.Maybe.Maybe PurchaseCreateNet_terms_type)
, PurchaseCreate -> Maybe Text
purchaseCreatePo_number :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe PurchaseCreateShipping
purchaseCreateShipping :: (GHC.Maybe.Maybe PurchaseCreateShipping)
, PurchaseCreate -> Maybe [SubscriptionPurchase]
purchaseCreateSubscriptions :: (GHC.Maybe.Maybe [SubscriptionPurchase])
, PurchaseCreate -> Maybe Text
purchaseCreateTerms_and_conditions :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreate -> Maybe PurchaseCreateTransaction_type
purchaseCreateTransaction_type :: (GHC.Maybe.Maybe PurchaseCreateTransaction_type)
, PurchaseCreate -> Maybe Text
purchaseCreateVat_reverse_charge_notes :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> PurchaseCreate -> ShowS
[PurchaseCreate] -> ShowS
PurchaseCreate -> String
(Int -> PurchaseCreate -> ShowS)
-> (PurchaseCreate -> String)
-> ([PurchaseCreate] -> ShowS)
-> Show PurchaseCreate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PurchaseCreate -> ShowS
showsPrec :: Int -> PurchaseCreate -> ShowS
$cshow :: PurchaseCreate -> String
show :: PurchaseCreate -> String
$cshowList :: [PurchaseCreate] -> ShowS
showList :: [PurchaseCreate] -> ShowS
GHC.Show.Show
, PurchaseCreate -> PurchaseCreate -> Bool
(PurchaseCreate -> PurchaseCreate -> Bool)
-> (PurchaseCreate -> PurchaseCreate -> Bool) -> Eq PurchaseCreate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PurchaseCreate -> PurchaseCreate -> Bool
== :: PurchaseCreate -> PurchaseCreate -> Bool
$c/= :: PurchaseCreate -> PurchaseCreate -> Bool
/= :: PurchaseCreate -> PurchaseCreate -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON PurchaseCreate where
toJSON :: PurchaseCreate -> Value
toJSON PurchaseCreate
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Key
"account" Key -> AccountPurchase -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..= PurchaseCreate -> AccountPurchase
purchaseCreateAccount PurchaseCreate
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
"billing_info_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..=)) (PurchaseCreate -> Maybe Text
purchaseCreateBilling_info_id PurchaseCreate
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
"business_entity_code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateBusiness_entity_code PurchaseCreate
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
"business_entity_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..=)) (PurchaseCreate -> Maybe Text
purchaseCreateBusiness_entity_id PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PurchaseCreateCollection_method -> [Pair])
-> Maybe PurchaseCreateCollection_method
-> [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])
-> (PurchaseCreateCollection_method -> Pair)
-> PurchaseCreateCollection_method
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"collection_method" Key -> PurchaseCreateCollection_method -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateCollection_method
purchaseCreateCollection_method PurchaseCreate
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
"coupon_codes" Key -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe [Text]
purchaseCreateCoupon_codes PurchaseCreate
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
"credit_customer_notes" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateCredit_customer_notes PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [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..= PurchaseCreate -> Text
purchaseCreateCurrency PurchaseCreate
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
"customer_notes" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateCustomer_notes PurchaseCreate
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
"gateway_code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateGateway_code PurchaseCreate
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
"gift_card_redemption_code" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateGift_card_redemption_code PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([LineItemCreate] -> [Pair]) -> Maybe [LineItemCreate] -> [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])
-> ([LineItemCreate] -> Pair) -> [LineItemCreate] -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"line_items" Key -> [LineItemCreate] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe [LineItemCreate]
purchaseCreateLine_items PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Int -> [Pair]) -> Maybe Int -> [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]) -> (Int -> Pair) -> Int -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"net_terms" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Int
purchaseCreateNet_terms PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PurchaseCreateNet_terms_type -> [Pair])
-> Maybe PurchaseCreateNet_terms_type
-> [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])
-> (PurchaseCreateNet_terms_type -> Pair)
-> PurchaseCreateNet_terms_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"net_terms_type" Key -> PurchaseCreateNet_terms_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateNet_terms_type
purchaseCreateNet_terms_type PurchaseCreate
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
"po_number" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreatePo_number PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PurchaseCreateShipping -> [Pair])
-> Maybe PurchaseCreateShipping
-> [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])
-> (PurchaseCreateShipping -> Pair)
-> PurchaseCreateShipping
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"shipping" Key -> PurchaseCreateShipping -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateShipping
purchaseCreateShipping PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([SubscriptionPurchase] -> [Pair])
-> Maybe [SubscriptionPurchase]
-> [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])
-> ([SubscriptionPurchase] -> Pair)
-> [SubscriptionPurchase]
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"subscriptions" Key -> [SubscriptionPurchase] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe [SubscriptionPurchase]
purchaseCreateSubscriptions PurchaseCreate
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
"terms_and_conditions" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateTerms_and_conditions PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (PurchaseCreateTransaction_type -> [Pair])
-> Maybe PurchaseCreateTransaction_type
-> [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])
-> (PurchaseCreateTransaction_type -> Pair)
-> PurchaseCreateTransaction_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"transaction_type" Key -> PurchaseCreateTransaction_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateTransaction_type
purchaseCreateTransaction_type PurchaseCreate
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
"vat_reverse_charge_notes" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateVat_reverse_charge_notes PurchaseCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: PurchaseCreate -> Encoding
toEncoding PurchaseCreate
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 ([Key
"account" Key -> AccountPurchase -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..= PurchaseCreate -> AccountPurchase
purchaseCreateAccount PurchaseCreate
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
"billing_info_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..=)) (PurchaseCreate -> Maybe Text
purchaseCreateBilling_info_id PurchaseCreate
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
"business_entity_code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateBusiness_entity_code PurchaseCreate
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
"business_entity_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..=)) (PurchaseCreate -> Maybe Text
purchaseCreateBusiness_entity_id PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PurchaseCreateCollection_method -> [Series])
-> Maybe PurchaseCreateCollection_method
-> [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])
-> (PurchaseCreateCollection_method -> Series)
-> PurchaseCreateCollection_method
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"collection_method" Key -> PurchaseCreateCollection_method -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateCollection_method
purchaseCreateCollection_method PurchaseCreate
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
"coupon_codes" Key -> [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe [Text]
purchaseCreateCoupon_codes PurchaseCreate
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
"credit_customer_notes" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateCredit_customer_notes PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [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..= PurchaseCreate -> Text
purchaseCreateCurrency PurchaseCreate
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
"customer_notes" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateCustomer_notes PurchaseCreate
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
"gateway_code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateGateway_code PurchaseCreate
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
"gift_card_redemption_code" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateGift_card_redemption_code PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([LineItemCreate] -> [Series])
-> Maybe [LineItemCreate]
-> [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])
-> ([LineItemCreate] -> Series) -> [LineItemCreate] -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"line_items" Key -> [LineItemCreate] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe [LineItemCreate]
purchaseCreateLine_items PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Int -> [Series]) -> Maybe Int -> [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]) -> (Int -> Series) -> Int -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"net_terms" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Int
purchaseCreateNet_terms PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PurchaseCreateNet_terms_type -> [Series])
-> Maybe PurchaseCreateNet_terms_type
-> [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])
-> (PurchaseCreateNet_terms_type -> Series)
-> PurchaseCreateNet_terms_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"net_terms_type" Key -> PurchaseCreateNet_terms_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateNet_terms_type
purchaseCreateNet_terms_type PurchaseCreate
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
"po_number" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreatePo_number PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PurchaseCreateShipping -> [Series])
-> Maybe PurchaseCreateShipping
-> [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])
-> (PurchaseCreateShipping -> Series)
-> PurchaseCreateShipping
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"shipping" Key -> PurchaseCreateShipping -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateShipping
purchaseCreateShipping PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([SubscriptionPurchase] -> [Series])
-> Maybe [SubscriptionPurchase]
-> [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])
-> ([SubscriptionPurchase] -> Series)
-> [SubscriptionPurchase]
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"subscriptions" Key -> [SubscriptionPurchase] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe [SubscriptionPurchase]
purchaseCreateSubscriptions PurchaseCreate
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
"terms_and_conditions" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateTerms_and_conditions PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (PurchaseCreateTransaction_type -> [Series])
-> Maybe PurchaseCreateTransaction_type
-> [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])
-> (PurchaseCreateTransaction_type -> Series)
-> PurchaseCreateTransaction_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"transaction_type" Key -> PurchaseCreateTransaction_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe PurchaseCreateTransaction_type
purchaseCreateTransaction_type PurchaseCreate
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
"vat_reverse_charge_notes" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreate -> Maybe Text
purchaseCreateVat_reverse_charge_notes PurchaseCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON PurchaseCreate where
parseJSON :: Value -> Parser PurchaseCreate
parseJSON = String
-> (Object -> Parser PurchaseCreate)
-> Value
-> Parser PurchaseCreate
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PurchaseCreate" (\Object
obj -> ((((((((((((((((((((AccountPurchase
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser
(AccountPurchase
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure AccountPurchase
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate
PurchaseCreate Parser
(AccountPurchase
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser AccountPurchase
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 AccountPurchase
forall a. FromJSON a => Object -> Key -> Parser a
Data.Aeson.Types.FromJSON..: Key
"account")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"billing_info_id")) Parser
(Maybe Text
-> Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"business_entity_code")) Parser
(Maybe Text
-> Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"business_entity_id")) Parser
(Maybe PurchaseCreateCollection_method
-> Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe PurchaseCreateCollection_method)
-> Parser
(Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 PurchaseCreateCollection_method)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"collection_method")) Parser
(Maybe [Text]
-> Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe [Text])
-> Parser
(Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"coupon_codes")) Parser
(Maybe Text
-> Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"credit_customer_notes")) Parser
(Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser Text
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 Text
forall a. FromJSON a => Object -> Key -> Parser a
Data.Aeson.Types.FromJSON..: Key
"currency")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"customer_notes")) Parser
(Maybe Text
-> Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"gateway_code")) Parser
(Maybe Text
-> Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"gift_card_redemption_code")) Parser
(Maybe [LineItemCreate]
-> Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe [LineItemCreate])
-> Parser
(Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 [LineItemCreate])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"line_items")) Parser
(Maybe Int
-> Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 Int)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"net_terms")) Parser
(Maybe PurchaseCreateNet_terms_type
-> Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe PurchaseCreateNet_terms_type)
-> Parser
(Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 PurchaseCreateNet_terms_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"net_terms_type")) Parser
(Maybe Text
-> Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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
"po_number")) Parser
(Maybe PurchaseCreateShipping
-> Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe PurchaseCreateShipping)
-> Parser
(Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 PurchaseCreateShipping)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"shipping")) Parser
(Maybe [SubscriptionPurchase]
-> Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe [SubscriptionPurchase])
-> Parser
(Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
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 [SubscriptionPurchase])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"subscriptions")) Parser
(Maybe Text
-> Maybe PurchaseCreateTransaction_type
-> Maybe Text
-> PurchaseCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe PurchaseCreateTransaction_type
-> Maybe Text -> PurchaseCreate)
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
"terms_and_conditions")) Parser
(Maybe PurchaseCreateTransaction_type
-> Maybe Text -> PurchaseCreate)
-> Parser (Maybe PurchaseCreateTransaction_type)
-> Parser (Maybe Text -> PurchaseCreate)
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 PurchaseCreateTransaction_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"transaction_type")) Parser (Maybe Text -> PurchaseCreate)
-> Parser (Maybe Text) -> Parser PurchaseCreate
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
"vat_reverse_charge_notes"))
mkPurchaseCreate ::
AccountPurchase ->
Data.Text.Internal.Text ->
PurchaseCreate
mkPurchaseCreate :: AccountPurchase -> Text -> PurchaseCreate
mkPurchaseCreate AccountPurchase
purchaseCreateAccount Text
purchaseCreateCurrency =
PurchaseCreate
{ purchaseCreateAccount :: AccountPurchase
purchaseCreateAccount = AccountPurchase
purchaseCreateAccount
, purchaseCreateBilling_info_id :: Maybe Text
purchaseCreateBilling_info_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateBusiness_entity_code :: Maybe Text
purchaseCreateBusiness_entity_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateBusiness_entity_id :: Maybe Text
purchaseCreateBusiness_entity_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateCollection_method :: Maybe PurchaseCreateCollection_method
purchaseCreateCollection_method = Maybe PurchaseCreateCollection_method
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateCoupon_codes :: Maybe [Text]
purchaseCreateCoupon_codes = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateCredit_customer_notes :: Maybe Text
purchaseCreateCredit_customer_notes = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateCurrency :: Text
purchaseCreateCurrency = Text
purchaseCreateCurrency
, purchaseCreateCustomer_notes :: Maybe Text
purchaseCreateCustomer_notes = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateGateway_code :: Maybe Text
purchaseCreateGateway_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateGift_card_redemption_code :: Maybe Text
purchaseCreateGift_card_redemption_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateLine_items :: Maybe [LineItemCreate]
purchaseCreateLine_items = Maybe [LineItemCreate]
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateNet_terms :: Maybe Int
purchaseCreateNet_terms = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateNet_terms_type :: Maybe PurchaseCreateNet_terms_type
purchaseCreateNet_terms_type = Maybe PurchaseCreateNet_terms_type
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreatePo_number :: Maybe Text
purchaseCreatePo_number = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateShipping :: Maybe PurchaseCreateShipping
purchaseCreateShipping = Maybe PurchaseCreateShipping
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateSubscriptions :: Maybe [SubscriptionPurchase]
purchaseCreateSubscriptions = Maybe [SubscriptionPurchase]
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateTerms_and_conditions :: Maybe Text
purchaseCreateTerms_and_conditions = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateTransaction_type :: Maybe PurchaseCreateTransaction_type
purchaseCreateTransaction_type = Maybe PurchaseCreateTransaction_type
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateVat_reverse_charge_notes :: Maybe Text
purchaseCreateVat_reverse_charge_notes = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}
data PurchaseCreateCollection_method
=
PurchaseCreateCollection_methodOther Data.Aeson.Types.Internal.Value
|
PurchaseCreateCollection_methodTyped Data.Text.Internal.Text
|
PurchaseCreateCollection_methodEnumAutomatic
|
PurchaseCreateCollection_methodEnumManual
deriving (Int -> PurchaseCreateCollection_method -> ShowS
[PurchaseCreateCollection_method] -> ShowS
PurchaseCreateCollection_method -> String
(Int -> PurchaseCreateCollection_method -> ShowS)
-> (PurchaseCreateCollection_method -> String)
-> ([PurchaseCreateCollection_method] -> ShowS)
-> Show PurchaseCreateCollection_method
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PurchaseCreateCollection_method -> ShowS
showsPrec :: Int -> PurchaseCreateCollection_method -> ShowS
$cshow :: PurchaseCreateCollection_method -> String
show :: PurchaseCreateCollection_method -> String
$cshowList :: [PurchaseCreateCollection_method] -> ShowS
showList :: [PurchaseCreateCollection_method] -> ShowS
GHC.Show.Show, PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool
(PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool)
-> (PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool)
-> Eq PurchaseCreateCollection_method
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool
== :: PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool
$c/= :: PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool
/= :: PurchaseCreateCollection_method
-> PurchaseCreateCollection_method -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PurchaseCreateCollection_method where
toJSON :: PurchaseCreateCollection_method -> Value
toJSON (PurchaseCreateCollection_methodOther Value
val) = Value
val
toJSON (PurchaseCreateCollection_methodTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PurchaseCreateCollection_method
PurchaseCreateCollection_methodEnumAutomatic) = Value
"automatic"
toJSON (PurchaseCreateCollection_method
PurchaseCreateCollection_methodEnumManual) = Value
"manual"
instance Data.Aeson.Types.FromJSON.FromJSON PurchaseCreateCollection_method where
parseJSON :: Value -> Parser PurchaseCreateCollection_method
parseJSON Value
val =
PurchaseCreateCollection_method
-> Parser PurchaseCreateCollection_method
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
"automatic" -> PurchaseCreateCollection_method
PurchaseCreateCollection_methodEnumAutomatic
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"manual" -> PurchaseCreateCollection_method
PurchaseCreateCollection_methodEnumManual
| Bool
GHC.Base.otherwise -> Value -> PurchaseCreateCollection_method
PurchaseCreateCollection_methodOther Value
val
)
data PurchaseCreateNet_terms_type
=
PurchaseCreateNet_terms_typeOther Data.Aeson.Types.Internal.Value
|
PurchaseCreateNet_terms_typeTyped Data.Text.Internal.Text
|
PurchaseCreateNet_terms_typeEnumNet
|
PurchaseCreateNet_terms_typeEnumEom
deriving (Int -> PurchaseCreateNet_terms_type -> ShowS
[PurchaseCreateNet_terms_type] -> ShowS
PurchaseCreateNet_terms_type -> String
(Int -> PurchaseCreateNet_terms_type -> ShowS)
-> (PurchaseCreateNet_terms_type -> String)
-> ([PurchaseCreateNet_terms_type] -> ShowS)
-> Show PurchaseCreateNet_terms_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PurchaseCreateNet_terms_type -> ShowS
showsPrec :: Int -> PurchaseCreateNet_terms_type -> ShowS
$cshow :: PurchaseCreateNet_terms_type -> String
show :: PurchaseCreateNet_terms_type -> String
$cshowList :: [PurchaseCreateNet_terms_type] -> ShowS
showList :: [PurchaseCreateNet_terms_type] -> ShowS
GHC.Show.Show, PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool
(PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool)
-> (PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool)
-> Eq PurchaseCreateNet_terms_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool
== :: PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool
$c/= :: PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool
/= :: PurchaseCreateNet_terms_type
-> PurchaseCreateNet_terms_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PurchaseCreateNet_terms_type where
toJSON :: PurchaseCreateNet_terms_type -> Value
toJSON (PurchaseCreateNet_terms_typeOther Value
val) = Value
val
toJSON (PurchaseCreateNet_terms_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PurchaseCreateNet_terms_type
PurchaseCreateNet_terms_typeEnumNet) = Value
"net"
toJSON (PurchaseCreateNet_terms_type
PurchaseCreateNet_terms_typeEnumEom) = Value
"eom"
instance Data.Aeson.Types.FromJSON.FromJSON PurchaseCreateNet_terms_type where
parseJSON :: Value -> Parser PurchaseCreateNet_terms_type
parseJSON Value
val =
PurchaseCreateNet_terms_type -> Parser PurchaseCreateNet_terms_type
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
"net" -> PurchaseCreateNet_terms_type
PurchaseCreateNet_terms_typeEnumNet
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"eom" -> PurchaseCreateNet_terms_type
PurchaseCreateNet_terms_typeEnumEom
| Bool
GHC.Base.otherwise -> Value -> PurchaseCreateNet_terms_type
PurchaseCreateNet_terms_typeOther Value
val
)
data PurchaseCreateShipping = PurchaseCreateShipping
{ PurchaseCreateShipping -> Maybe ShippingAddressCreate
purchaseCreateShippingAddress :: (GHC.Maybe.Maybe ShippingAddressCreate)
, PurchaseCreateShipping -> Maybe Text
purchaseCreateShippingAddress_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, PurchaseCreateShipping -> Maybe [ShippingFeeCreate]
purchaseCreateShippingFees :: (GHC.Maybe.Maybe [ShippingFeeCreate])
}
deriving
( Int -> PurchaseCreateShipping -> ShowS
[PurchaseCreateShipping] -> ShowS
PurchaseCreateShipping -> String
(Int -> PurchaseCreateShipping -> ShowS)
-> (PurchaseCreateShipping -> String)
-> ([PurchaseCreateShipping] -> ShowS)
-> Show PurchaseCreateShipping
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PurchaseCreateShipping -> ShowS
showsPrec :: Int -> PurchaseCreateShipping -> ShowS
$cshow :: PurchaseCreateShipping -> String
show :: PurchaseCreateShipping -> String
$cshowList :: [PurchaseCreateShipping] -> ShowS
showList :: [PurchaseCreateShipping] -> ShowS
GHC.Show.Show
, PurchaseCreateShipping -> PurchaseCreateShipping -> Bool
(PurchaseCreateShipping -> PurchaseCreateShipping -> Bool)
-> (PurchaseCreateShipping -> PurchaseCreateShipping -> Bool)
-> Eq PurchaseCreateShipping
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PurchaseCreateShipping -> PurchaseCreateShipping -> Bool
== :: PurchaseCreateShipping -> PurchaseCreateShipping -> Bool
$c/= :: PurchaseCreateShipping -> PurchaseCreateShipping -> Bool
/= :: PurchaseCreateShipping -> PurchaseCreateShipping -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON PurchaseCreateShipping where
toJSON :: PurchaseCreateShipping -> Value
toJSON PurchaseCreateShipping
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair]
-> (ShippingAddressCreate -> [Pair])
-> Maybe ShippingAddressCreate
-> [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])
-> (ShippingAddressCreate -> Pair)
-> ShippingAddressCreate
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"address" Key -> ShippingAddressCreate -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreateShipping -> Maybe ShippingAddressCreate
purchaseCreateShippingAddress PurchaseCreateShipping
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
"address_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..=)) (PurchaseCreateShipping -> Maybe Text
purchaseCreateShippingAddress_id PurchaseCreateShipping
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([ShippingFeeCreate] -> [Pair])
-> Maybe [ShippingFeeCreate]
-> [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])
-> ([ShippingFeeCreate] -> Pair) -> [ShippingFeeCreate] -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"fees" Key -> [ShippingFeeCreate] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (PurchaseCreateShipping -> Maybe [ShippingFeeCreate]
purchaseCreateShippingFees PurchaseCreateShipping
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: PurchaseCreateShipping -> Encoding
toEncoding PurchaseCreateShipping
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]
-> (ShippingAddressCreate -> [Series])
-> Maybe ShippingAddressCreate
-> [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])
-> (ShippingAddressCreate -> Series)
-> ShippingAddressCreate
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"address" Key -> ShippingAddressCreate -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreateShipping -> Maybe ShippingAddressCreate
purchaseCreateShippingAddress PurchaseCreateShipping
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
"address_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..=)) (PurchaseCreateShipping -> Maybe Text
purchaseCreateShippingAddress_id PurchaseCreateShipping
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([ShippingFeeCreate] -> [Series])
-> Maybe [ShippingFeeCreate]
-> [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])
-> ([ShippingFeeCreate] -> Series)
-> [ShippingFeeCreate]
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"fees" Key -> [ShippingFeeCreate] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (PurchaseCreateShipping -> Maybe [ShippingFeeCreate]
purchaseCreateShippingFees PurchaseCreateShipping
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON PurchaseCreateShipping where
parseJSON :: Value -> Parser PurchaseCreateShipping
parseJSON = String
-> (Object -> Parser PurchaseCreateShipping)
-> Value
-> Parser PurchaseCreateShipping
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PurchaseCreateShipping" (\Object
obj -> (((Maybe ShippingAddressCreate
-> Maybe Text
-> Maybe [ShippingFeeCreate]
-> PurchaseCreateShipping)
-> Parser
(Maybe ShippingAddressCreate
-> Maybe Text
-> Maybe [ShippingFeeCreate]
-> PurchaseCreateShipping)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe ShippingAddressCreate
-> Maybe Text
-> Maybe [ShippingFeeCreate]
-> PurchaseCreateShipping
PurchaseCreateShipping Parser
(Maybe ShippingAddressCreate
-> Maybe Text
-> Maybe [ShippingFeeCreate]
-> PurchaseCreateShipping)
-> Parser (Maybe ShippingAddressCreate)
-> Parser
(Maybe Text -> Maybe [ShippingFeeCreate] -> PurchaseCreateShipping)
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 ShippingAddressCreate)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"address")) Parser
(Maybe Text -> Maybe [ShippingFeeCreate] -> PurchaseCreateShipping)
-> Parser (Maybe Text)
-> Parser (Maybe [ShippingFeeCreate] -> PurchaseCreateShipping)
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
"address_id")) Parser (Maybe [ShippingFeeCreate] -> PurchaseCreateShipping)
-> Parser (Maybe [ShippingFeeCreate])
-> Parser PurchaseCreateShipping
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 [ShippingFeeCreate])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"fees"))
mkPurchaseCreateShipping :: PurchaseCreateShipping
mkPurchaseCreateShipping :: PurchaseCreateShipping
mkPurchaseCreateShipping =
PurchaseCreateShipping
{ purchaseCreateShippingAddress :: Maybe ShippingAddressCreate
purchaseCreateShippingAddress = Maybe ShippingAddressCreate
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateShippingAddress_id :: Maybe Text
purchaseCreateShippingAddress_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, purchaseCreateShippingFees :: Maybe [ShippingFeeCreate]
purchaseCreateShippingFees = Maybe [ShippingFeeCreate]
forall a. Maybe a
GHC.Maybe.Nothing
}
data PurchaseCreateTransaction_type
=
PurchaseCreateTransaction_typeOther Data.Aeson.Types.Internal.Value
|
PurchaseCreateTransaction_typeTyped Data.Text.Internal.Text
|
PurchaseCreateTransaction_typeEnumMoto
deriving (Int -> PurchaseCreateTransaction_type -> ShowS
[PurchaseCreateTransaction_type] -> ShowS
PurchaseCreateTransaction_type -> String
(Int -> PurchaseCreateTransaction_type -> ShowS)
-> (PurchaseCreateTransaction_type -> String)
-> ([PurchaseCreateTransaction_type] -> ShowS)
-> Show PurchaseCreateTransaction_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PurchaseCreateTransaction_type -> ShowS
showsPrec :: Int -> PurchaseCreateTransaction_type -> ShowS
$cshow :: PurchaseCreateTransaction_type -> String
show :: PurchaseCreateTransaction_type -> String
$cshowList :: [PurchaseCreateTransaction_type] -> ShowS
showList :: [PurchaseCreateTransaction_type] -> ShowS
GHC.Show.Show, PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool
(PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool)
-> (PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool)
-> Eq PurchaseCreateTransaction_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool
== :: PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool
$c/= :: PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool
/= :: PurchaseCreateTransaction_type
-> PurchaseCreateTransaction_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON PurchaseCreateTransaction_type where
toJSON :: PurchaseCreateTransaction_type -> Value
toJSON (PurchaseCreateTransaction_typeOther Value
val) = Value
val
toJSON (PurchaseCreateTransaction_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (PurchaseCreateTransaction_type
PurchaseCreateTransaction_typeEnumMoto) = Value
"moto"
instance Data.Aeson.Types.FromJSON.FromJSON PurchaseCreateTransaction_type where
parseJSON :: Value -> Parser PurchaseCreateTransaction_type
parseJSON Value
val =
PurchaseCreateTransaction_type
-> Parser PurchaseCreateTransaction_type
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
"moto" -> PurchaseCreateTransaction_type
PurchaseCreateTransaction_typeEnumMoto
| Bool
GHC.Base.otherwise -> Value -> PurchaseCreateTransaction_type
PurchaseCreateTransaction_typeOther Value
val
)