{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module RecurlyClient.Types.AccountAcquisition 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.AccountAcquisitionReadOnly
import {-# SOURCE #-} RecurlyClient.Types.AccountAcquisitionUpdate
import {-# SOURCE #-} RecurlyClient.Types.AccountMini
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data AccountAcquisition = AccountAcquisition
{ AccountAcquisition -> Maybe AccountMini
accountAcquisitionAccount :: (GHC.Maybe.Maybe AccountMini)
, AccountAcquisition -> Maybe Text
accountAcquisitionCampaign :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AccountAcquisition -> Maybe AccountAcquisitionChannel
accountAcquisitionChannel :: (GHC.Maybe.Maybe AccountAcquisitionChannel)
, AccountAcquisition -> Maybe AccountAcquisitionCost
accountAcquisitionCost :: (GHC.Maybe.Maybe AccountAcquisitionCost)
, AccountAcquisition -> Maybe JsonDateTime
accountAcquisitionCreated_at :: (GHC.Maybe.Maybe RecurlyClient.Common.JsonDateTime)
, AccountAcquisition -> Maybe Text
accountAcquisitionId :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AccountAcquisition -> Maybe Text
accountAcquisitionObject :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AccountAcquisition -> Maybe Text
accountAcquisitionSubchannel :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
, AccountAcquisition -> Maybe JsonDateTime
accountAcquisitionUpdated_at :: (GHC.Maybe.Maybe RecurlyClient.Common.JsonDateTime)
}
deriving
( Int -> AccountAcquisition -> ShowS
[AccountAcquisition] -> ShowS
AccountAcquisition -> String
(Int -> AccountAcquisition -> ShowS)
-> (AccountAcquisition -> String)
-> ([AccountAcquisition] -> ShowS)
-> Show AccountAcquisition
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AccountAcquisition -> ShowS
showsPrec :: Int -> AccountAcquisition -> ShowS
$cshow :: AccountAcquisition -> String
show :: AccountAcquisition -> String
$cshowList :: [AccountAcquisition] -> ShowS
showList :: [AccountAcquisition] -> ShowS
GHC.Show.Show
, AccountAcquisition -> AccountAcquisition -> Bool
(AccountAcquisition -> AccountAcquisition -> Bool)
-> (AccountAcquisition -> AccountAcquisition -> Bool)
-> Eq AccountAcquisition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AccountAcquisition -> AccountAcquisition -> Bool
== :: AccountAcquisition -> AccountAcquisition -> Bool
$c/= :: AccountAcquisition -> AccountAcquisition -> Bool
/= :: AccountAcquisition -> AccountAcquisition -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON AccountAcquisition where
toJSON :: AccountAcquisition -> Value
toJSON AccountAcquisition
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair] -> (AccountMini -> [Pair]) -> Maybe AccountMini -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (AccountMini -> Pair) -> AccountMini -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"account" Key -> AccountMini -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe AccountMini
accountAcquisitionAccount AccountAcquisition
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
"campaign" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionCampaign AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AccountAcquisitionChannel -> [Pair])
-> Maybe AccountAcquisitionChannel
-> [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])
-> (AccountAcquisitionChannel -> Pair)
-> AccountAcquisitionChannel
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"channel" Key -> AccountAcquisitionChannel -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe AccountAcquisitionChannel
accountAcquisitionChannel AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair]
-> (AccountAcquisitionCost -> [Pair])
-> Maybe AccountAcquisitionCost
-> [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])
-> (AccountAcquisitionCost -> Pair)
-> AccountAcquisitionCost
-> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"cost" Key -> AccountAcquisitionCost -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe AccountAcquisitionCost
accountAcquisitionCost AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (JsonDateTime -> [Pair]) -> Maybe JsonDateTime -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (JsonDateTime -> Pair) -> JsonDateTime -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"created_at" Key -> JsonDateTime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe JsonDateTime
accountAcquisitionCreated_at AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"id" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionId AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"object" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionObject AccountAcquisition
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
"subchannel" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionSubchannel AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (JsonDateTime -> [Pair]) -> Maybe JsonDateTime -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair])
-> (JsonDateTime -> Pair) -> JsonDateTime -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"updated_at" Key -> JsonDateTime -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe JsonDateTime
accountAcquisitionUpdated_at AccountAcquisition
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: AccountAcquisition -> Encoding
toEncoding AccountAcquisition
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ([Series] -> Series
forall a. Monoid a => [a] -> a
GHC.Base.mconcat ([[Series]] -> [Series]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Series]
-> (AccountMini -> [Series]) -> Maybe AccountMini -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (AccountMini -> Series) -> AccountMini -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"account" Key -> AccountMini -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe AccountMini
accountAcquisitionAccount AccountAcquisition
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
"campaign" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionCampaign AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AccountAcquisitionChannel -> [Series])
-> Maybe AccountAcquisitionChannel
-> [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])
-> (AccountAcquisitionChannel -> Series)
-> AccountAcquisitionChannel
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"channel" Key -> AccountAcquisitionChannel -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe AccountAcquisitionChannel
accountAcquisitionChannel AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (AccountAcquisitionCost -> [Series])
-> Maybe AccountAcquisitionCost
-> [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])
-> (AccountAcquisitionCost -> Series)
-> AccountAcquisitionCost
-> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"cost" Key -> AccountAcquisitionCost -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe AccountAcquisitionCost
accountAcquisitionCost AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (JsonDateTime -> [Series]) -> Maybe JsonDateTime -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (JsonDateTime -> Series) -> JsonDateTime -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"created_at" Key -> JsonDateTime -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe JsonDateTime
accountAcquisitionCreated_at AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"id" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionId AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"object" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionObject AccountAcquisition
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
"subchannel" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe Text
accountAcquisitionSubchannel AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series]
-> (JsonDateTime -> [Series]) -> Maybe JsonDateTime -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series])
-> (JsonDateTime -> Series) -> JsonDateTime -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"updated_at" Key -> JsonDateTime -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisition -> Maybe JsonDateTime
accountAcquisitionUpdated_at AccountAcquisition
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON AccountAcquisition where
parseJSON :: Value -> Parser AccountAcquisition
parseJSON = String
-> (Object -> Parser AccountAcquisition)
-> Value
-> Parser AccountAcquisition
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"AccountAcquisition" (\Object
obj -> (((((((((Maybe AccountMini
-> Maybe Text
-> Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser
(Maybe AccountMini
-> Maybe Text
-> Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe AccountMini
-> Maybe Text
-> Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition
AccountAcquisition Parser
(Maybe AccountMini
-> Maybe Text
-> Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser (Maybe AccountMini)
-> Parser
(Maybe Text
-> Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe AccountMini)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"account")) Parser
(Maybe Text
-> Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser (Maybe Text)
-> Parser
(Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
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
"campaign")) Parser
(Maybe AccountAcquisitionChannel
-> Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser (Maybe AccountAcquisitionChannel)
-> Parser
(Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
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 AccountAcquisitionChannel)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"channel")) Parser
(Maybe AccountAcquisitionCost
-> Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser (Maybe AccountAcquisitionCost)
-> Parser
(Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
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 AccountAcquisitionCost)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"cost")) Parser
(Maybe JsonDateTime
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser (Maybe JsonDateTime)
-> Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe JsonDateTime)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"created_at")) Parser
(Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe JsonDateTime
-> AccountAcquisition)
-> Parser (Maybe Text)
-> Parser
(Maybe Text
-> Maybe Text -> Maybe JsonDateTime -> AccountAcquisition)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"id")) Parser
(Maybe Text
-> Maybe Text -> Maybe JsonDateTime -> AccountAcquisition)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe JsonDateTime -> AccountAcquisition)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"object")) Parser (Maybe Text -> Maybe JsonDateTime -> AccountAcquisition)
-> Parser (Maybe Text)
-> Parser (Maybe JsonDateTime -> AccountAcquisition)
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
"subchannel")) Parser (Maybe JsonDateTime -> AccountAcquisition)
-> Parser (Maybe JsonDateTime) -> Parser AccountAcquisition
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe JsonDateTime)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"updated_at"))
mkAccountAcquisition :: AccountAcquisition
mkAccountAcquisition :: AccountAcquisition
mkAccountAcquisition =
AccountAcquisition
{ accountAcquisitionAccount :: Maybe AccountMini
accountAcquisitionAccount = Maybe AccountMini
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionCampaign :: Maybe Text
accountAcquisitionCampaign = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionChannel :: Maybe AccountAcquisitionChannel
accountAcquisitionChannel = Maybe AccountAcquisitionChannel
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionCost :: Maybe AccountAcquisitionCost
accountAcquisitionCost = Maybe AccountAcquisitionCost
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionCreated_at :: Maybe JsonDateTime
accountAcquisitionCreated_at = Maybe JsonDateTime
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionId :: Maybe Text
accountAcquisitionId = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionObject :: Maybe Text
accountAcquisitionObject = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionSubchannel :: Maybe Text
accountAcquisitionSubchannel = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionUpdated_at :: Maybe JsonDateTime
accountAcquisitionUpdated_at = Maybe JsonDateTime
forall a. Maybe a
GHC.Maybe.Nothing
}
data AccountAcquisitionChannel
=
AccountAcquisitionChannelOther Data.Aeson.Types.Internal.Value
|
AccountAcquisitionChannelTyped Data.Text.Internal.Text
|
AccountAcquisitionChannelEnumAdvertising
|
AccountAcquisitionChannelEnumBlog
|
AccountAcquisitionChannelEnumDirect_traffic
|
AccountAcquisitionChannelEnumEmail
|
AccountAcquisitionChannelEnumEvents
|
AccountAcquisitionChannelEnumMarketing_content
|
AccountAcquisitionChannelEnumOrganic_search
|
AccountAcquisitionChannelEnumOther
|
AccountAcquisitionChannelEnumOutbound_sales
|
AccountAcquisitionChannelEnumPaid_search
|
AccountAcquisitionChannelEnumPublic_relations
|
AccountAcquisitionChannelEnumReferral
|
AccountAcquisitionChannelEnumSocial_media
deriving (Int -> AccountAcquisitionChannel -> ShowS
[AccountAcquisitionChannel] -> ShowS
AccountAcquisitionChannel -> String
(Int -> AccountAcquisitionChannel -> ShowS)
-> (AccountAcquisitionChannel -> String)
-> ([AccountAcquisitionChannel] -> ShowS)
-> Show AccountAcquisitionChannel
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AccountAcquisitionChannel -> ShowS
showsPrec :: Int -> AccountAcquisitionChannel -> ShowS
$cshow :: AccountAcquisitionChannel -> String
show :: AccountAcquisitionChannel -> String
$cshowList :: [AccountAcquisitionChannel] -> ShowS
showList :: [AccountAcquisitionChannel] -> ShowS
GHC.Show.Show, AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool
(AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool)
-> (AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool)
-> Eq AccountAcquisitionChannel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool
== :: AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool
$c/= :: AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool
/= :: AccountAcquisitionChannel -> AccountAcquisitionChannel -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON AccountAcquisitionChannel where
toJSON :: AccountAcquisitionChannel -> Value
toJSON (AccountAcquisitionChannelOther Value
val) = Value
val
toJSON (AccountAcquisitionChannelTyped Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumAdvertising) = Value
"advertising"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumBlog) = Value
"blog"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumDirect_traffic) = Value
"direct_traffic"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumEmail) = Value
"email"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumEvents) = Value
"events"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumMarketing_content) = Value
"marketing_content"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumOrganic_search) = Value
"organic_search"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumOther) = Value
"other"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumOutbound_sales) = Value
"outbound_sales"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumPaid_search) = Value
"paid_search"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumPublic_relations) = Value
"public_relations"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumReferral) = Value
"referral"
toJSON (AccountAcquisitionChannel
AccountAcquisitionChannelEnumSocial_media) = Value
"social_media"
instance Data.Aeson.Types.FromJSON.FromJSON AccountAcquisitionChannel where
parseJSON :: Value -> Parser AccountAcquisitionChannel
parseJSON Value
val =
AccountAcquisitionChannel -> Parser AccountAcquisitionChannel
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
"advertising" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumAdvertising
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"blog" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumBlog
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"direct_traffic" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumDirect_traffic
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"email" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumEmail
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"events" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumEvents
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"marketing_content" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumMarketing_content
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"organic_search" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumOrganic_search
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"other" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumOther
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"outbound_sales" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumOutbound_sales
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"paid_search" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumPaid_search
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"public_relations" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumPublic_relations
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"referral" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumReferral
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"social_media" -> AccountAcquisitionChannel
AccountAcquisitionChannelEnumSocial_media
| Bool
GHC.Base.otherwise -> Value -> AccountAcquisitionChannel
AccountAcquisitionChannelOther Value
val
)
data AccountAcquisitionCost = AccountAcquisitionCost
{ AccountAcquisitionCost -> Maybe Float
accountAcquisitionCostAmount :: (GHC.Maybe.Maybe GHC.Types.Float)
, AccountAcquisitionCost -> Maybe Text
accountAcquisitionCostCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> AccountAcquisitionCost -> ShowS
[AccountAcquisitionCost] -> ShowS
AccountAcquisitionCost -> String
(Int -> AccountAcquisitionCost -> ShowS)
-> (AccountAcquisitionCost -> String)
-> ([AccountAcquisitionCost] -> ShowS)
-> Show AccountAcquisitionCost
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AccountAcquisitionCost -> ShowS
showsPrec :: Int -> AccountAcquisitionCost -> ShowS
$cshow :: AccountAcquisitionCost -> String
show :: AccountAcquisitionCost -> String
$cshowList :: [AccountAcquisitionCost] -> ShowS
showList :: [AccountAcquisitionCost] -> ShowS
GHC.Show.Show
, AccountAcquisitionCost -> AccountAcquisitionCost -> Bool
(AccountAcquisitionCost -> AccountAcquisitionCost -> Bool)
-> (AccountAcquisitionCost -> AccountAcquisitionCost -> Bool)
-> Eq AccountAcquisitionCost
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AccountAcquisitionCost -> AccountAcquisitionCost -> Bool
== :: AccountAcquisitionCost -> AccountAcquisitionCost -> Bool
$c/= :: AccountAcquisitionCost -> AccountAcquisitionCost -> Bool
/= :: AccountAcquisitionCost -> AccountAcquisitionCost -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON AccountAcquisitionCost where
toJSON :: AccountAcquisitionCost -> Value
toJSON AccountAcquisitionCost
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object ([[Pair]] -> [Pair]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
Data.Foldable.concat ([Pair] -> (Float -> [Pair]) -> Maybe Float -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Float -> Pair) -> Float -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"amount" Key -> Float -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisitionCost -> Maybe Float
accountAcquisitionCostAmount AccountAcquisitionCost
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [Pair] -> (Text -> [Pair]) -> Maybe Text -> [Pair]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Pair]
forall a. Monoid a => a
GHC.Base.mempty (Pair -> [Pair]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Pair -> [Pair]) -> (Text -> Pair) -> Text -> [Pair]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"currency" Key -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
Data.Aeson.Types.ToJSON..=)) (AccountAcquisitionCost -> Maybe Text
accountAcquisitionCostCurrency AccountAcquisitionCost
obj) [Pair] -> [[Pair]] -> [[Pair]]
forall a. a -> [a] -> [a]
: [[Pair]]
forall a. Monoid a => a
GHC.Base.mempty))
toEncoding :: AccountAcquisitionCost -> Encoding
toEncoding AccountAcquisitionCost
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] -> (Float -> [Series]) -> Maybe Float -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Float -> Series) -> Float -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"amount" Key -> Float -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisitionCost -> Maybe Float
accountAcquisitionCostAmount AccountAcquisitionCost
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [Series] -> (Text -> [Series]) -> Maybe Text -> [Series]
forall b a. b -> (a -> b) -> Maybe a -> b
Data.Maybe.maybe [Series]
forall a. Monoid a => a
GHC.Base.mempty (Series -> [Series]
forall a. a -> [a]
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure (Series -> [Series]) -> (Text -> Series) -> Text -> [Series]
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. (Key
"currency" Key -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Series
Data.Aeson.Types.ToJSON..=)) (AccountAcquisitionCost -> Maybe Text
accountAcquisitionCostCurrency AccountAcquisitionCost
obj) [Series] -> [[Series]] -> [[Series]]
forall a. a -> [a] -> [a]
: [[Series]]
forall a. Monoid a => a
GHC.Base.mempty)))
instance Data.Aeson.Types.FromJSON.FromJSON AccountAcquisitionCost where
parseJSON :: Value -> Parser AccountAcquisitionCost
parseJSON = String
-> (Object -> Parser AccountAcquisitionCost)
-> Value
-> Parser AccountAcquisitionCost
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"AccountAcquisitionCost" (\Object
obj -> ((Maybe Float -> Maybe Text -> AccountAcquisitionCost)
-> Parser (Maybe Float -> Maybe Text -> AccountAcquisitionCost)
forall a. a -> Parser a
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Float -> Maybe Text -> AccountAcquisitionCost
AccountAcquisitionCost Parser (Maybe Float -> Maybe Text -> AccountAcquisitionCost)
-> Parser (Maybe Float)
-> Parser (Maybe Text -> AccountAcquisitionCost)
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Float)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"amount")) Parser (Maybe Text -> AccountAcquisitionCost)
-> Parser (Maybe Text) -> Parser AccountAcquisitionCost
forall a b. Parser (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Key -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Key
"currency"))
mkAccountAcquisitionCost :: AccountAcquisitionCost
mkAccountAcquisitionCost :: AccountAcquisitionCost
mkAccountAcquisitionCost =
AccountAcquisitionCost
{ accountAcquisitionCostAmount :: Maybe Float
accountAcquisitionCostAmount = Maybe Float
forall a. Maybe a
GHC.Maybe.Nothing
, accountAcquisitionCostCurrency :: Maybe Text
accountAcquisitionCostCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}