{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module RecurlyClient.Types.AddOnCreate 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.AddOnPricing
import {-# SOURCE #-} RecurlyClient.Types.PercentageTiersByCurrency
import {-# SOURCE #-} RecurlyClient.Types.Tier
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data AddOnCreate = AddOnCreate
{ AddOnCreate -> Maybe Text
addOnCreateAccounting_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe AddOnCreateAdd_on_type
addOnCreateAdd_on_type :: (GHC.Maybe.Maybe AddOnCreateAdd_on_type)
, AddOnCreate -> Maybe Int
addOnCreateAvalara_service_type :: (GHC.Maybe.Maybe GHC.Types.Int)
, AddOnCreate -> Maybe Int
addOnCreateAvalara_transaction_type :: (GHC.Maybe.Maybe GHC.Types.Int)
, AddOnCreate -> Text
addOnCreateCode :: Data.Text.Internal.Text
, AddOnCreate -> Maybe (NonEmpty AddOnPricing)
addOnCreateCurrencies :: (GHC.Maybe.Maybe (GHC.Base.NonEmpty AddOnPricing))
, AddOnCreate -> Maybe Int
addOnCreateDefault_quantity :: (GHC.Maybe.Maybe GHC.Types.Int)
, AddOnCreate -> Maybe Bool
addOnCreateDisplay_quantity :: (GHC.Maybe.Maybe GHC.Types.Bool)
, AddOnCreate -> Maybe Text
addOnCreateItem_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe Text
addOnCreateItem_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe Text
addOnCreateLiability_gl_account_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe Text
addOnCreateMeasured_unit_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe Text
addOnCreateMeasured_unit_name :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Text
addOnCreateName :: Data.Text.Internal.Text
, AddOnCreate -> Maybe Bool
addOnCreateOptional :: (GHC.Maybe.Maybe GHC.Types.Bool)
, AddOnCreate -> Maybe [PercentageTiersByCurrency]
addOnCreatePercentage_tiers :: (GHC.Maybe.Maybe [PercentageTiersByCurrency])
, AddOnCreate -> Maybe Text
addOnCreatePerformance_obligation_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe Text
addOnCreatePlan_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe Text
addOnCreateRevenue_gl_account_id :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe AddOnCreateRevenue_schedule_type
addOnCreateRevenue_schedule_type :: (GHC.Maybe.Maybe AddOnCreateRevenue_schedule_type)
, AddOnCreate -> Maybe Text
addOnCreateTax_code :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AddOnCreate -> Maybe AddOnCreateTier_type
addOnCreateTier_type :: (GHC.Maybe.Maybe AddOnCreateTier_type)
, AddOnCreate -> Maybe [Tier]
addOnCreateTiers :: (GHC.Maybe.Maybe [Tier])
, AddOnCreate -> Maybe AddOnCreateUsage_calculation_type
addOnCreateUsage_calculation_type :: (GHC.Maybe.Maybe AddOnCreateUsage_calculation_type)
, AddOnCreate -> Maybe Float
addOnCreateUsage_percentage :: (GHC.Maybe.Maybe GHC.Types.Float)
, AddOnCreate -> Maybe AddOnCreateUsage_timeframe
addOnCreateUsage_timeframe :: (GHC.Maybe.Maybe AddOnCreateUsage_timeframe)
, AddOnCreate -> Maybe AddOnCreateUsage_type
addOnCreateUsage_type :: (GHC.Maybe.Maybe AddOnCreateUsage_type)
}
deriving
( Int -> AddOnCreate -> ShowS
[AddOnCreate] -> ShowS
AddOnCreate -> String
(Int -> AddOnCreate -> ShowS)
-> (AddOnCreate -> String)
-> ([AddOnCreate] -> ShowS)
-> Show AddOnCreate
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreate -> ShowS
showsPrec :: Int -> AddOnCreate -> ShowS
$cshow :: AddOnCreate -> String
show :: AddOnCreate -> String
$cshowList :: [AddOnCreate] -> ShowS
showList :: [AddOnCreate] -> ShowS
GHC.Show.Show
, AddOnCreate -> AddOnCreate -> Bool
(AddOnCreate -> AddOnCreate -> Bool)
-> (AddOnCreate -> AddOnCreate -> Bool) -> Eq AddOnCreate
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreate -> AddOnCreate -> Bool
== :: AddOnCreate -> AddOnCreate -> Bool
$c/= :: AddOnCreate -> AddOnCreate -> Bool
/= :: AddOnCreate -> AddOnCreate -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreate where
toJSON :: AddOnCreate -> Value
toJSON AddOnCreate
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([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
"accounting_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..=)) (AddOnCreate -> Maybe Text
addOnCreateAccounting_code AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AddOnCreateAdd_on_type -> [Pair])
-> Maybe AddOnCreateAdd_on_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])
-> (AddOnCreateAdd_on_type -> Pair)
-> AddOnCreateAdd_on_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"add_on_type" Key -> AddOnCreateAdd_on_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateAdd_on_type
addOnCreateAdd_on_type AddOnCreate
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
"avalara_service_type" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Int
addOnCreateAvalara_service_type AddOnCreate
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
"avalara_transaction_type" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Int
addOnCreateAvalara_transaction_type AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Key
"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..= AddOnCreate -> Text
addOnCreateCode AddOnCreate
obj] [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (NonEmpty AddOnPricing -> [Pair])
-> Maybe (NonEmpty AddOnPricing)
-> [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])
-> (NonEmpty AddOnPricing -> Pair)
-> NonEmpty AddOnPricing
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"currencies" Key -> NonEmpty AddOnPricing -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe (NonEmpty AddOnPricing)
addOnCreateCurrencies AddOnCreate
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
"default_quantity" Key -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Int
addOnCreateDefault_quantity AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Bool -> [Pair]) -> Maybe Bool -> [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]) -> (Bool -> Pair) -> Bool -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"display_quantity" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Bool
addOnCreateDisplay_quantity AddOnCreate
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
"item_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..=)) (AddOnCreate -> Maybe Text
addOnCreateItem_code AddOnCreate
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
"item_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..=)) (AddOnCreate -> Maybe Text
addOnCreateItem_id AddOnCreate
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
"liability_gl_account_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..=)) (AddOnCreate -> Maybe Text
addOnCreateLiability_gl_account_id AddOnCreate
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
"measured_unit_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..=)) (AddOnCreate -> Maybe Text
addOnCreateMeasured_unit_id AddOnCreate
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
"measured_unit_name" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Text
addOnCreateMeasured_unit_name AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Key
"name" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..= AddOnCreate -> Text
addOnCreateName AddOnCreate
obj] [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Bool -> [Pair]) -> Maybe Bool -> [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]) -> (Bool -> Pair) -> Bool -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"optional" Key -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Bool
addOnCreateOptional AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> ([PercentageTiersByCurrency] -> [Pair])
-> Maybe [PercentageTiersByCurrency]
-> [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])
-> ([PercentageTiersByCurrency] -> Pair)
-> [PercentageTiersByCurrency]
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"percentage_tiers" Key -> [PercentageTiersByCurrency] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe [PercentageTiersByCurrency]
addOnCreatePercentage_tiers AddOnCreate
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
"performance_obligation_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..=)) (AddOnCreate -> Maybe Text
addOnCreatePerformance_obligation_id AddOnCreate
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
"plan_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..=)) (AddOnCreate -> Maybe Text
addOnCreatePlan_id AddOnCreate
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
"revenue_gl_account_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..=)) (AddOnCreate -> Maybe Text
addOnCreateRevenue_gl_account_id AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AddOnCreateRevenue_schedule_type -> [Pair])
-> Maybe AddOnCreateRevenue_schedule_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])
-> (AddOnCreateRevenue_schedule_type -> Pair)
-> AddOnCreateRevenue_schedule_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"revenue_schedule_type" Key -> AddOnCreateRevenue_schedule_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateRevenue_schedule_type
addOnCreateRevenue_schedule_type AddOnCreate
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
"tax_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..=)) (AddOnCreate -> Maybe Text
addOnCreateTax_code AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AddOnCreateTier_type -> [Pair])
-> Maybe AddOnCreateTier_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])
-> (AddOnCreateTier_type -> Pair) -> AddOnCreateTier_type -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tier_type" Key -> AddOnCreateTier_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateTier_type
addOnCreateTier_type AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> ([Tier] -> [Pair]) -> Maybe [Tier] -> [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]) -> ([Tier] -> Pair) -> [Tier] -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tiers" Key -> [Tier] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe [Tier]
addOnCreateTiers AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AddOnCreateUsage_calculation_type -> [Pair])
-> Maybe AddOnCreateUsage_calculation_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])
-> (AddOnCreateUsage_calculation_type -> Pair)
-> AddOnCreateUsage_calculation_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"usage_calculation_type" Key -> AddOnCreateUsage_calculation_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateUsage_calculation_type
addOnCreateUsage_calculation_type AddOnCreate
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
"usage_percentage" Key -> Float -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Float
addOnCreateUsage_percentage AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AddOnCreateUsage_timeframe -> [Pair])
-> Maybe AddOnCreateUsage_timeframe
-> [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])
-> (AddOnCreateUsage_timeframe -> Pair)
-> AddOnCreateUsage_timeframe
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"usage_timeframe" Key -> AddOnCreateUsage_timeframe -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateUsage_timeframe
addOnCreateUsage_timeframe AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AddOnCreateUsage_type -> [Pair])
-> Maybe AddOnCreateUsage_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])
-> (AddOnCreateUsage_type -> Pair)
-> AddOnCreateUsage_type
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"usage_type" Key -> AddOnCreateUsage_type -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateUsage_type
addOnCreateUsage_type AddOnCreate
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: AddOnCreate -> Encoding
toEncoding AddOnCreate
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] -> (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
"accounting_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..=)) (AddOnCreate -> Maybe Text
addOnCreateAccounting_code AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AddOnCreateAdd_on_type -> [Series])
-> Maybe AddOnCreateAdd_on_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])
-> (AddOnCreateAdd_on_type -> Series)
-> AddOnCreateAdd_on_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"add_on_type" Key -> AddOnCreateAdd_on_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateAdd_on_type
addOnCreateAdd_on_type AddOnCreate
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
"avalara_service_type" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Int
addOnCreateAvalara_service_type AddOnCreate
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
"avalara_transaction_type" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Int
addOnCreateAvalara_transaction_type AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Key
"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..= AddOnCreate -> Text
addOnCreateCode AddOnCreate
obj] [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (NonEmpty AddOnPricing -> [Series])
-> Maybe (NonEmpty AddOnPricing)
-> [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])
-> (NonEmpty AddOnPricing -> Series)
-> NonEmpty AddOnPricing
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"currencies" Key -> NonEmpty AddOnPricing -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe (NonEmpty AddOnPricing)
addOnCreateCurrencies AddOnCreate
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
"default_quantity" Key -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Int
addOnCreateDefault_quantity AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Bool -> [Series]) -> Maybe Bool -> [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]) -> (Bool -> Series) -> Bool -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"display_quantity" Key -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Bool
addOnCreateDisplay_quantity AddOnCreate
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
"item_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..=)) (AddOnCreate -> Maybe Text
addOnCreateItem_code AddOnCreate
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
"item_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..=)) (AddOnCreate -> Maybe Text
addOnCreateItem_id AddOnCreate
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
"liability_gl_account_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..=)) (AddOnCreate -> Maybe Text
addOnCreateLiability_gl_account_id AddOnCreate
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
"measured_unit_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..=)) (AddOnCreate -> Maybe Text
addOnCreateMeasured_unit_id AddOnCreate
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
"measured_unit_name" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Text
addOnCreateMeasured_unit_name AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Key
"name" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..= AddOnCreate -> Text
addOnCreateName AddOnCreate
obj] [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Bool -> [Series]) -> Maybe Bool -> [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]) -> (Bool -> Series) -> Bool -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"optional" Key -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Bool
addOnCreateOptional AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> ([PercentageTiersByCurrency] -> [Series])
-> Maybe [PercentageTiersByCurrency]
-> [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])
-> ([PercentageTiersByCurrency] -> Series)
-> [PercentageTiersByCurrency]
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"percentage_tiers" Key -> [PercentageTiersByCurrency] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe [PercentageTiersByCurrency]
addOnCreatePercentage_tiers AddOnCreate
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
"performance_obligation_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..=)) (AddOnCreate -> Maybe Text
addOnCreatePerformance_obligation_id AddOnCreate
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
"plan_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..=)) (AddOnCreate -> Maybe Text
addOnCreatePlan_id AddOnCreate
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
"revenue_gl_account_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..=)) (AddOnCreate -> Maybe Text
addOnCreateRevenue_gl_account_id AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AddOnCreateRevenue_schedule_type -> [Series])
-> Maybe AddOnCreateRevenue_schedule_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])
-> (AddOnCreateRevenue_schedule_type -> Series)
-> AddOnCreateRevenue_schedule_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"revenue_schedule_type" Key -> AddOnCreateRevenue_schedule_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateRevenue_schedule_type
addOnCreateRevenue_schedule_type AddOnCreate
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
"tax_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..=)) (AddOnCreate -> Maybe Text
addOnCreateTax_code AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AddOnCreateTier_type -> [Series])
-> Maybe AddOnCreateTier_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])
-> (AddOnCreateTier_type -> Series)
-> AddOnCreateTier_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tier_type" Key -> AddOnCreateTier_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateTier_type
addOnCreateTier_type AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> ([Tier] -> [Series]) -> Maybe [Tier] -> [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]) -> ([Tier] -> Series) -> [Tier] -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"tiers" Key -> [Tier] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe [Tier]
addOnCreateTiers AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AddOnCreateUsage_calculation_type -> [Series])
-> Maybe AddOnCreateUsage_calculation_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])
-> (AddOnCreateUsage_calculation_type -> Series)
-> AddOnCreateUsage_calculation_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"usage_calculation_type" Key -> AddOnCreateUsage_calculation_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateUsage_calculation_type
addOnCreateUsage_calculation_type AddOnCreate
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
"usage_percentage" Key -> Float -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe Float
addOnCreateUsage_percentage AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AddOnCreateUsage_timeframe -> [Series])
-> Maybe AddOnCreateUsage_timeframe
-> [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])
-> (AddOnCreateUsage_timeframe -> Series)
-> AddOnCreateUsage_timeframe
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"usage_timeframe" Key -> AddOnCreateUsage_timeframe -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateUsage_timeframe
addOnCreateUsage_timeframe AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AddOnCreateUsage_type -> [Series])
-> Maybe AddOnCreateUsage_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])
-> (AddOnCreateUsage_type -> Series)
-> AddOnCreateUsage_type
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"usage_type" Key -> AddOnCreateUsage_type -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AddOnCreate -> Maybe AddOnCreateUsage_type
addOnCreateUsage_type AddOnCreate
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreate where
parseJSON :: Value -> Parser AddOnCreate
parseJSON = String
-> (Object -> Parser AddOnCreate) -> Value -> Parser AddOnCreate
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"AddOnCreate" (\Object
obj -> (((((((((((((((((((((((((((Maybe Text
-> Maybe AddOnCreateAdd_on_type
-> Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser
(Maybe Text
-> Maybe AddOnCreateAdd_on_type
-> Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe AddOnCreateAdd_on_type
-> Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate
AddOnCreate Parser
(Maybe Text
-> Maybe AddOnCreateAdd_on_type
-> Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe AddOnCreateAdd_on_type
-> Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"accounting_code")) Parser
(Maybe AddOnCreateAdd_on_type
-> Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe AddOnCreateAdd_on_type)
-> Parser
(Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 AddOnCreateAdd_on_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"add_on_type")) Parser
(Maybe Int
-> Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"avalara_service_type")) Parser
(Maybe Int
-> Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Int)
-> Parser
(Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"avalara_transaction_type")) Parser
(Text
-> Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser Text
-> Parser
(Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"code")) Parser
(Maybe (NonEmpty AddOnPricing)
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe (NonEmpty AddOnPricing))
-> Parser
(Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 (NonEmpty AddOnPricing))
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"currencies")) Parser
(Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Int)
-> Parser
(Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"default_quantity")) Parser
(Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Bool)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"display_quantity")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"item_code")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"item_id")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"liability_gl_account_id")) Parser
(Maybe Text
-> Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"measured_unit_id")) Parser
(Maybe Text
-> Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"measured_unit_name")) Parser
(Text
-> Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser Text
-> Parser
(Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"name")) Parser
(Maybe Bool
-> Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Bool)
-> Parser
(Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 Bool)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"optional")) Parser
(Maybe [PercentageTiersByCurrency]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe [PercentageTiersByCurrency])
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 [PercentageTiersByCurrency])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"percentage_tiers")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"performance_obligation_id")) Parser
(Maybe Text
-> Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"plan_id")) Parser
(Maybe Text
-> Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"revenue_gl_account_id")) Parser
(Maybe AddOnCreateRevenue_schedule_type
-> Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe AddOnCreateRevenue_schedule_type)
-> Parser
(Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 AddOnCreateRevenue_schedule_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"revenue_schedule_type")) Parser
(Maybe Text
-> Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Text)
-> Parser
(Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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
"tax_code")) Parser
(Maybe AddOnCreateTier_type
-> Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe AddOnCreateTier_type)
-> Parser
(Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 AddOnCreateTier_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"tier_type")) Parser
(Maybe [Tier]
-> Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe [Tier])
-> Parser
(Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 [Tier])
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"tiers")) Parser
(Maybe AddOnCreateUsage_calculation_type
-> Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe AddOnCreateUsage_calculation_type)
-> Parser
(Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
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 AddOnCreateUsage_calculation_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"usage_calculation_type")) Parser
(Maybe Float
-> Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type
-> AddOnCreate)
-> Parser (Maybe Float)
-> Parser
(Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type -> AddOnCreate)
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
"usage_percentage")) Parser
(Maybe AddOnCreateUsage_timeframe
-> Maybe AddOnCreateUsage_type -> AddOnCreate)
-> Parser (Maybe AddOnCreateUsage_timeframe)
-> Parser (Maybe AddOnCreateUsage_type -> AddOnCreate)
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 AddOnCreateUsage_timeframe)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"usage_timeframe")) Parser (Maybe AddOnCreateUsage_type -> AddOnCreate)
-> Parser (Maybe AddOnCreateUsage_type) -> Parser AddOnCreate
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 AddOnCreateUsage_type)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"usage_type"))
mkAddOnCreate ::
Data.Text.Internal.Text ->
Data.Text.Internal.Text ->
AddOnCreate
mkAddOnCreate :: Text -> Text -> AddOnCreate
mkAddOnCreate Text
addOnCreateCode Text
addOnCreateName =
AddOnCreate
{ addOnCreateAccounting_code :: Maybe Text
addOnCreateAccounting_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateAdd_on_type :: Maybe AddOnCreateAdd_on_type
addOnCreateAdd_on_type = Maybe AddOnCreateAdd_on_type
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateAvalara_service_type :: Maybe Int
addOnCreateAvalara_service_type = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateAvalara_transaction_type :: Maybe Int
addOnCreateAvalara_transaction_type = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateCode :: Text
addOnCreateCode = Text
addOnCreateCode
, addOnCreateCurrencies :: Maybe (NonEmpty AddOnPricing)
addOnCreateCurrencies = Maybe (NonEmpty AddOnPricing)
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateDefault_quantity :: Maybe Int
addOnCreateDefault_quantity = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateDisplay_quantity :: Maybe Bool
addOnCreateDisplay_quantity = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateItem_code :: Maybe Text
addOnCreateItem_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateItem_id :: Maybe Text
addOnCreateItem_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateLiability_gl_account_id :: Maybe Text
addOnCreateLiability_gl_account_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateMeasured_unit_id :: Maybe Text
addOnCreateMeasured_unit_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateMeasured_unit_name :: Maybe Text
addOnCreateMeasured_unit_name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateName :: Text
addOnCreateName = Text
addOnCreateName
, addOnCreateOptional :: Maybe Bool
addOnCreateOptional = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreatePercentage_tiers :: Maybe [PercentageTiersByCurrency]
addOnCreatePercentage_tiers = Maybe [PercentageTiersByCurrency]
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreatePerformance_obligation_id :: Maybe Text
addOnCreatePerformance_obligation_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreatePlan_id :: Maybe Text
addOnCreatePlan_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateRevenue_gl_account_id :: Maybe Text
addOnCreateRevenue_gl_account_id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateRevenue_schedule_type :: Maybe AddOnCreateRevenue_schedule_type
addOnCreateRevenue_schedule_type = Maybe AddOnCreateRevenue_schedule_type
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateTax_code :: Maybe Text
addOnCreateTax_code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateTier_type :: Maybe AddOnCreateTier_type
addOnCreateTier_type = Maybe AddOnCreateTier_type
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateTiers :: Maybe [Tier]
addOnCreateTiers = Maybe [Tier]
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateUsage_calculation_type :: Maybe AddOnCreateUsage_calculation_type
addOnCreateUsage_calculation_type = Maybe AddOnCreateUsage_calculation_type
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateUsage_percentage :: Maybe Float
addOnCreateUsage_percentage = Maybe Float
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateUsage_timeframe :: Maybe AddOnCreateUsage_timeframe
addOnCreateUsage_timeframe = Maybe AddOnCreateUsage_timeframe
forall a. Maybe a
GHC.Maybe.Nothing
, addOnCreateUsage_type :: Maybe AddOnCreateUsage_type
addOnCreateUsage_type = Maybe AddOnCreateUsage_type
forall a. Maybe a
GHC.Maybe.Nothing
}
data AddOnCreateAdd_on_type
=
AddOnCreateAdd_on_typeOther Data.Aeson.Types.Internal.Value
|
AddOnCreateAdd_on_typeTyped Data.Text.Internal.Text
|
AddOnCreateAdd_on_typeEnumFixed
|
AddOnCreateAdd_on_typeEnumUsage
deriving (Int -> AddOnCreateAdd_on_type -> ShowS
[AddOnCreateAdd_on_type] -> ShowS
AddOnCreateAdd_on_type -> String
(Int -> AddOnCreateAdd_on_type -> ShowS)
-> (AddOnCreateAdd_on_type -> String)
-> ([AddOnCreateAdd_on_type] -> ShowS)
-> Show AddOnCreateAdd_on_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreateAdd_on_type -> ShowS
showsPrec :: Int -> AddOnCreateAdd_on_type -> ShowS
$cshow :: AddOnCreateAdd_on_type -> String
show :: AddOnCreateAdd_on_type -> String
$cshowList :: [AddOnCreateAdd_on_type] -> ShowS
showList :: [AddOnCreateAdd_on_type] -> ShowS
GHC.Show.Show, AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool
(AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool)
-> (AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool)
-> Eq AddOnCreateAdd_on_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool
== :: AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool
$c/= :: AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool
/= :: AddOnCreateAdd_on_type -> AddOnCreateAdd_on_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreateAdd_on_type where
toJSON :: AddOnCreateAdd_on_type -> Value
toJSON (AddOnCreateAdd_on_typeOther Value
val) = Value
val
toJSON (AddOnCreateAdd_on_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AddOnCreateAdd_on_type
AddOnCreateAdd_on_typeEnumFixed) = Value
"fixed"
toJSON (AddOnCreateAdd_on_type
AddOnCreateAdd_on_typeEnumUsage) = Value
"usage"
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreateAdd_on_type where
parseJSON :: Value -> Parser AddOnCreateAdd_on_type
parseJSON Value
val =
AddOnCreateAdd_on_type -> Parser AddOnCreateAdd_on_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
"fixed" -> AddOnCreateAdd_on_type
AddOnCreateAdd_on_typeEnumFixed
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"usage" -> AddOnCreateAdd_on_type
AddOnCreateAdd_on_typeEnumUsage
| Bool
GHC.Base.otherwise -> Value -> AddOnCreateAdd_on_type
AddOnCreateAdd_on_typeOther Value
val
)
data AddOnCreateRevenue_schedule_type
=
AddOnCreateRevenue_schedule_typeOther Data.Aeson.Types.Internal.Value
|
AddOnCreateRevenue_schedule_typeTyped Data.Text.Internal.Text
|
AddOnCreateRevenue_schedule_typeEnumAt_range_end
|
AddOnCreateRevenue_schedule_typeEnumAt_range_start
|
AddOnCreateRevenue_schedule_typeEnumEvenly
|
AddOnCreateRevenue_schedule_typeEnumNever
deriving (Int -> AddOnCreateRevenue_schedule_type -> ShowS
[AddOnCreateRevenue_schedule_type] -> ShowS
AddOnCreateRevenue_schedule_type -> String
(Int -> AddOnCreateRevenue_schedule_type -> ShowS)
-> (AddOnCreateRevenue_schedule_type -> String)
-> ([AddOnCreateRevenue_schedule_type] -> ShowS)
-> Show AddOnCreateRevenue_schedule_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreateRevenue_schedule_type -> ShowS
showsPrec :: Int -> AddOnCreateRevenue_schedule_type -> ShowS
$cshow :: AddOnCreateRevenue_schedule_type -> String
show :: AddOnCreateRevenue_schedule_type -> String
$cshowList :: [AddOnCreateRevenue_schedule_type] -> ShowS
showList :: [AddOnCreateRevenue_schedule_type] -> ShowS
GHC.Show.Show, AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool
(AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool)
-> (AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool)
-> Eq AddOnCreateRevenue_schedule_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool
== :: AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool
$c/= :: AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool
/= :: AddOnCreateRevenue_schedule_type
-> AddOnCreateRevenue_schedule_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreateRevenue_schedule_type where
toJSON :: AddOnCreateRevenue_schedule_type -> Value
toJSON (AddOnCreateRevenue_schedule_typeOther Value
val) = Value
val
toJSON (AddOnCreateRevenue_schedule_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumAt_range_end) = Value
"at_range_end"
toJSON (AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumAt_range_start) = Value
"at_range_start"
toJSON (AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumEvenly) = Value
"evenly"
toJSON (AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumNever) = Value
"never"
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreateRevenue_schedule_type where
parseJSON :: Value -> Parser AddOnCreateRevenue_schedule_type
parseJSON Value
val =
AddOnCreateRevenue_schedule_type
-> Parser AddOnCreateRevenue_schedule_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
"at_range_end" -> AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumAt_range_end
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"at_range_start" -> AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumAt_range_start
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"evenly" -> AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumEvenly
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"never" -> AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeEnumNever
| Bool
GHC.Base.otherwise -> Value -> AddOnCreateRevenue_schedule_type
AddOnCreateRevenue_schedule_typeOther Value
val
)
data AddOnCreateTier_type
=
AddOnCreateTier_typeOther Data.Aeson.Types.Internal.Value
|
AddOnCreateTier_typeTyped Data.Text.Internal.Text
|
AddOnCreateTier_typeEnumFlat
|
AddOnCreateTier_typeEnumTiered
|
AddOnCreateTier_typeEnumStairstep
|
AddOnCreateTier_typeEnumVolume
deriving (Int -> AddOnCreateTier_type -> ShowS
[AddOnCreateTier_type] -> ShowS
AddOnCreateTier_type -> String
(Int -> AddOnCreateTier_type -> ShowS)
-> (AddOnCreateTier_type -> String)
-> ([AddOnCreateTier_type] -> ShowS)
-> Show AddOnCreateTier_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreateTier_type -> ShowS
showsPrec :: Int -> AddOnCreateTier_type -> ShowS
$cshow :: AddOnCreateTier_type -> String
show :: AddOnCreateTier_type -> String
$cshowList :: [AddOnCreateTier_type] -> ShowS
showList :: [AddOnCreateTier_type] -> ShowS
GHC.Show.Show, AddOnCreateTier_type -> AddOnCreateTier_type -> Bool
(AddOnCreateTier_type -> AddOnCreateTier_type -> Bool)
-> (AddOnCreateTier_type -> AddOnCreateTier_type -> Bool)
-> Eq AddOnCreateTier_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreateTier_type -> AddOnCreateTier_type -> Bool
== :: AddOnCreateTier_type -> AddOnCreateTier_type -> Bool
$c/= :: AddOnCreateTier_type -> AddOnCreateTier_type -> Bool
/= :: AddOnCreateTier_type -> AddOnCreateTier_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreateTier_type where
toJSON :: AddOnCreateTier_type -> Value
toJSON (AddOnCreateTier_typeOther Value
val) = Value
val
toJSON (AddOnCreateTier_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AddOnCreateTier_type
AddOnCreateTier_typeEnumFlat) = Value
"flat"
toJSON (AddOnCreateTier_type
AddOnCreateTier_typeEnumTiered) = Value
"tiered"
toJSON (AddOnCreateTier_type
AddOnCreateTier_typeEnumStairstep) = Value
"stairstep"
toJSON (AddOnCreateTier_type
AddOnCreateTier_typeEnumVolume) = Value
"volume"
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreateTier_type where
parseJSON :: Value -> Parser AddOnCreateTier_type
parseJSON Value
val =
AddOnCreateTier_type -> Parser AddOnCreateTier_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
"flat" -> AddOnCreateTier_type
AddOnCreateTier_typeEnumFlat
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"tiered" -> AddOnCreateTier_type
AddOnCreateTier_typeEnumTiered
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"stairstep" -> AddOnCreateTier_type
AddOnCreateTier_typeEnumStairstep
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"volume" -> AddOnCreateTier_type
AddOnCreateTier_typeEnumVolume
| Bool
GHC.Base.otherwise -> Value -> AddOnCreateTier_type
AddOnCreateTier_typeOther Value
val
)
data AddOnCreateUsage_calculation_type
=
AddOnCreateUsage_calculation_typeOther Data.Aeson.Types.Internal.Value
|
AddOnCreateUsage_calculation_typeTyped Data.Text.Internal.Text
|
AddOnCreateUsage_calculation_typeEnumCumulative
|
AddOnCreateUsage_calculation_typeEnumLast_in_period
deriving (Int -> AddOnCreateUsage_calculation_type -> ShowS
[AddOnCreateUsage_calculation_type] -> ShowS
AddOnCreateUsage_calculation_type -> String
(Int -> AddOnCreateUsage_calculation_type -> ShowS)
-> (AddOnCreateUsage_calculation_type -> String)
-> ([AddOnCreateUsage_calculation_type] -> ShowS)
-> Show AddOnCreateUsage_calculation_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreateUsage_calculation_type -> ShowS
showsPrec :: Int -> AddOnCreateUsage_calculation_type -> ShowS
$cshow :: AddOnCreateUsage_calculation_type -> String
show :: AddOnCreateUsage_calculation_type -> String
$cshowList :: [AddOnCreateUsage_calculation_type] -> ShowS
showList :: [AddOnCreateUsage_calculation_type] -> ShowS
GHC.Show.Show, AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool
(AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool)
-> (AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool)
-> Eq AddOnCreateUsage_calculation_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool
== :: AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool
$c/= :: AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool
/= :: AddOnCreateUsage_calculation_type
-> AddOnCreateUsage_calculation_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreateUsage_calculation_type where
toJSON :: AddOnCreateUsage_calculation_type -> Value
toJSON (AddOnCreateUsage_calculation_typeOther Value
val) = Value
val
toJSON (AddOnCreateUsage_calculation_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AddOnCreateUsage_calculation_type
AddOnCreateUsage_calculation_typeEnumCumulative) = Value
"cumulative"
toJSON (AddOnCreateUsage_calculation_type
AddOnCreateUsage_calculation_typeEnumLast_in_period) = Value
"last_in_period"
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreateUsage_calculation_type where
parseJSON :: Value -> Parser AddOnCreateUsage_calculation_type
parseJSON Value
val =
AddOnCreateUsage_calculation_type
-> Parser AddOnCreateUsage_calculation_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
"cumulative" -> AddOnCreateUsage_calculation_type
AddOnCreateUsage_calculation_typeEnumCumulative
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"last_in_period" -> AddOnCreateUsage_calculation_type
AddOnCreateUsage_calculation_typeEnumLast_in_period
| Bool
GHC.Base.otherwise -> Value -> AddOnCreateUsage_calculation_type
AddOnCreateUsage_calculation_typeOther Value
val
)
data AddOnCreateUsage_timeframe
=
AddOnCreateUsage_timeframeOther Data.Aeson.Types.Internal.Value
|
AddOnCreateUsage_timeframeTyped Data.Text.Internal.Text
|
AddOnCreateUsage_timeframeEnumBilling_period
|
AddOnCreateUsage_timeframeEnumSubscription_term
deriving (Int -> AddOnCreateUsage_timeframe -> ShowS
[AddOnCreateUsage_timeframe] -> ShowS
AddOnCreateUsage_timeframe -> String
(Int -> AddOnCreateUsage_timeframe -> ShowS)
-> (AddOnCreateUsage_timeframe -> String)
-> ([AddOnCreateUsage_timeframe] -> ShowS)
-> Show AddOnCreateUsage_timeframe
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreateUsage_timeframe -> ShowS
showsPrec :: Int -> AddOnCreateUsage_timeframe -> ShowS
$cshow :: AddOnCreateUsage_timeframe -> String
show :: AddOnCreateUsage_timeframe -> String
$cshowList :: [AddOnCreateUsage_timeframe] -> ShowS
showList :: [AddOnCreateUsage_timeframe] -> ShowS
GHC.Show.Show, AddOnCreateUsage_timeframe -> AddOnCreateUsage_timeframe -> Bool
(AddOnCreateUsage_timeframe -> AddOnCreateUsage_timeframe -> Bool)
-> (AddOnCreateUsage_timeframe
-> AddOnCreateUsage_timeframe -> Bool)
-> Eq AddOnCreateUsage_timeframe
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreateUsage_timeframe -> AddOnCreateUsage_timeframe -> Bool
== :: AddOnCreateUsage_timeframe -> AddOnCreateUsage_timeframe -> Bool
$c/= :: AddOnCreateUsage_timeframe -> AddOnCreateUsage_timeframe -> Bool
/= :: AddOnCreateUsage_timeframe -> AddOnCreateUsage_timeframe -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreateUsage_timeframe where
toJSON :: AddOnCreateUsage_timeframe -> Value
toJSON (AddOnCreateUsage_timeframeOther Value
val) = Value
val
toJSON (AddOnCreateUsage_timeframeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AddOnCreateUsage_timeframe
AddOnCreateUsage_timeframeEnumBilling_period) = Value
"billing_period"
toJSON (AddOnCreateUsage_timeframe
AddOnCreateUsage_timeframeEnumSubscription_term) = Value
"subscription_term"
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreateUsage_timeframe where
parseJSON :: Value -> Parser AddOnCreateUsage_timeframe
parseJSON Value
val =
AddOnCreateUsage_timeframe -> Parser AddOnCreateUsage_timeframe
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
"billing_period" -> AddOnCreateUsage_timeframe
AddOnCreateUsage_timeframeEnumBilling_period
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"subscription_term" -> AddOnCreateUsage_timeframe
AddOnCreateUsage_timeframeEnumSubscription_term
| Bool
GHC.Base.otherwise -> Value -> AddOnCreateUsage_timeframe
AddOnCreateUsage_timeframeOther Value
val
)
data AddOnCreateUsage_type
=
AddOnCreateUsage_typeOther Data.Aeson.Types.Internal.Value
|
AddOnCreateUsage_typeTyped Data.Text.Internal.Text
|
AddOnCreateUsage_typeEnumPrice
|
AddOnCreateUsage_typeEnumPercentage
deriving (Int -> AddOnCreateUsage_type -> ShowS
[AddOnCreateUsage_type] -> ShowS
AddOnCreateUsage_type -> String
(Int -> AddOnCreateUsage_type -> ShowS)
-> (AddOnCreateUsage_type -> String)
-> ([AddOnCreateUsage_type] -> ShowS)
-> Show AddOnCreateUsage_type
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AddOnCreateUsage_type -> ShowS
showsPrec :: Int -> AddOnCreateUsage_type -> ShowS
$cshow :: AddOnCreateUsage_type -> String
show :: AddOnCreateUsage_type -> String
$cshowList :: [AddOnCreateUsage_type] -> ShowS
showList :: [AddOnCreateUsage_type] -> ShowS
GHC.Show.Show, AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool
(AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool)
-> (AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool)
-> Eq AddOnCreateUsage_type
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool
== :: AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool
$c/= :: AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool
/= :: AddOnCreateUsage_type -> AddOnCreateUsage_type -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AddOnCreateUsage_type where
toJSON :: AddOnCreateUsage_type -> Value
toJSON (AddOnCreateUsage_typeOther Value
val) = Value
val
toJSON (AddOnCreateUsage_typeTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AddOnCreateUsage_type
AddOnCreateUsage_typeEnumPrice) = Value
"price"
toJSON (AddOnCreateUsage_type
AddOnCreateUsage_typeEnumPercentage) = Value
"percentage"
instance Data.Aeson.Types.FromJSON.FromJSON AddOnCreateUsage_type where
parseJSON :: Value -> Parser AddOnCreateUsage_type
parseJSON Value
val =
AddOnCreateUsage_type -> Parser AddOnCreateUsage_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
"price" -> AddOnCreateUsage_type
AddOnCreateUsage_typeEnumPrice
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"percentage" -> AddOnCreateUsage_type
AddOnCreateUsage_typeEnumPercentage
| Bool
GHC.Base.otherwise -> Value -> AddOnCreateUsage_type
AddOnCreateUsage_typeOther Value
val
)