{-# LANGUAGE ExplicitForAll #-} {-# LANGUAGE MultiWayIf #-} -- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator. {-# LANGUAGE OverloadedStrings #-} -- | Contains the different functions to run the operation getBalanceHistory module StripeAPI.Operations.GetBalanceHistory where import qualified Control.Monad.Fail import qualified Control.Monad.Trans.Reader import qualified Data.Aeson import qualified Data.Aeson as Data.Aeson.Encoding.Internal import qualified Data.Aeson as Data.Aeson.Types import qualified Data.Aeson as Data.Aeson.Types.FromJSON import qualified Data.Aeson as Data.Aeson.Types.Internal import qualified Data.Aeson as Data.Aeson.Types.ToJSON import qualified Data.ByteString.Char8 import qualified Data.ByteString.Char8 as Data.ByteString.Internal import qualified Data.Either import qualified Data.Functor import qualified Data.Scientific import qualified Data.Text import qualified Data.Text.Internal import qualified Data.Time.Calendar as Data.Time.Calendar.Days import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime import qualified Data.Vector import qualified GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified Network.HTTP.Client import qualified Network.HTTP.Client as Network.HTTP.Client.Request import qualified Network.HTTP.Client as Network.HTTP.Client.Types import qualified Network.HTTP.Simple import qualified Network.HTTP.Types import qualified Network.HTTP.Types as Network.HTTP.Types.Status import qualified Network.HTTP.Types as Network.HTTP.Types.URI import qualified StripeAPI.Common import StripeAPI.Types import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | > GET /v1/balance/history -- -- \

Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.\<\/p> -- -- \

Note that this endpoint was previously called “Balance history” and used the path \\/v1\/balance\/history\<\/code>.\<\/p> getBalanceHistory :: forall m. StripeAPI.Common.MonadHTTP m => -- | Contains all available parameters of this operation (query and path parameters) GetBalanceHistoryParameters -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response GetBalanceHistoryResponse) getBalanceHistory parameters = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either GetBalanceHistoryResponseError GHC.Base.id GHC.Base.. ( \response body -> if | (\status_1 -> Network.HTTP.Types.Status.statusCode status_1 GHC.Classes.== 200) (Network.HTTP.Client.Types.responseStatus response) -> GetBalanceHistoryResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String GetBalanceHistoryResponseBody200 ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> GetBalanceHistoryResponseDefault Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Error ) | GHC.Base.otherwise -> Data.Either.Left "Missing default response type" ) response_0 ) response_0 ) ( StripeAPI.Common.doCallWithConfigurationM (Data.Text.toUpper GHC.Base.$ Data.Text.pack "GET") (Data.Text.pack "/v1/balance/history") [ StripeAPI.Common.QueryParameter (Data.Text.pack "available_on") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryAvailableOn parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "created") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryCreated parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "currency") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryCurrency parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "ending_before") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryEndingBefore parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "expand") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryExpand parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "limit") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryLimit parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "payout") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryPayout parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "source") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQuerySource parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "starting_after") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryStartingAfter parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "type") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getBalanceHistoryParametersQueryType parameters) (Data.Text.pack "form") GHC.Types.True ] ) -- | Defines the object schema located at @paths.\/v1\/balance\/history.GET.parameters@ in the specification. data GetBalanceHistoryParameters = GetBalanceHistoryParameters { -- | queryAvailable_on: Represents the parameter named \'available_on\' getBalanceHistoryParametersQueryAvailableOn :: (GHC.Maybe.Maybe GetBalanceHistoryParametersQueryAvailableOn'Variants), -- | queryCreated: Represents the parameter named \'created\' getBalanceHistoryParametersQueryCreated :: (GHC.Maybe.Maybe GetBalanceHistoryParametersQueryCreated'Variants), -- | queryCurrency: Represents the parameter named \'currency\' -- -- Only return transactions in a certain currency. Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies). getBalanceHistoryParametersQueryCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryEnding_before: Represents the parameter named \'ending_before\' -- -- A cursor for use in pagination. \`ending_before\` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with \`obj_bar\`, your subsequent call can include \`ending_before=obj_bar\` in order to fetch the previous page of the list. -- -- Constraints: -- -- * Maximum length of 5000 getBalanceHistoryParametersQueryEndingBefore :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryExpand: Represents the parameter named \'expand\' -- -- Specifies which fields in the response should be expanded. getBalanceHistoryParametersQueryExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | queryLimit: Represents the parameter named \'limit\' -- -- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. getBalanceHistoryParametersQueryLimit :: (GHC.Maybe.Maybe GHC.Types.Int), -- | queryPayout: Represents the parameter named \'payout\' -- -- For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID. -- -- Constraints: -- -- * Maximum length of 5000 getBalanceHistoryParametersQueryPayout :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | querySource: Represents the parameter named \'source\' -- -- Only returns the original transaction. -- -- Constraints: -- -- * Maximum length of 5000 getBalanceHistoryParametersQuerySource :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryStarting_after: Represents the parameter named \'starting_after\' -- -- A cursor for use in pagination. \`starting_after\` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with \`obj_foo\`, your subsequent call can include \`starting_after=obj_foo\` in order to fetch the next page of the list. -- -- Constraints: -- -- * Maximum length of 5000 getBalanceHistoryParametersQueryStartingAfter :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryType: Represents the parameter named \'type\' -- -- Only returns transactions of the given type. One of: \`adjustment\`, \`advance\`, \`advance_funding\`, \`anticipation_repayment\`, \`application_fee\`, \`application_fee_refund\`, \`charge\`, \`connect_collection_transfer\`, \`contribution\`, \`issuing_authorization_hold\`, \`issuing_authorization_release\`, \`issuing_dispute\`, \`issuing_transaction\`, \`payment\`, \`payment_failure_refund\`, \`payment_refund\`, \`payout\`, \`payout_cancel\`, \`payout_failure\`, \`refund\`, \`refund_failure\`, \`reserve_transaction\`, \`reserved_funds\`, \`stripe_fee\`, \`stripe_fx_fee\`, \`tax_fee\`, \`topup\`, \`topup_reversal\`, \`transfer\`, \`transfer_cancel\`, \`transfer_failure\`, or \`transfer_refund\`. -- -- Constraints: -- -- * Maximum length of 5000 getBalanceHistoryParametersQueryType :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetBalanceHistoryParameters where toJSON obj = Data.Aeson.Types.Internal.object ("queryAvailable_on" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn obj : "queryCreated" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated obj : "queryCurrency" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCurrency obj : "queryEnding_before" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryEndingBefore obj : "queryExpand" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryExpand obj : "queryLimit" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryLimit obj : "queryPayout" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryPayout obj : "querySource" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQuerySource obj : "queryStarting_after" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryStartingAfter obj : "queryType" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryType obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("queryAvailable_on" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn obj) GHC.Base.<> (("queryCreated" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated obj) GHC.Base.<> (("queryCurrency" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCurrency obj) GHC.Base.<> (("queryEnding_before" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryEndingBefore obj) GHC.Base.<> (("queryExpand" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryExpand obj) GHC.Base.<> (("queryLimit" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryLimit obj) GHC.Base.<> (("queryPayout" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryPayout obj) GHC.Base.<> (("querySource" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQuerySource obj) GHC.Base.<> (("queryStarting_after" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryStartingAfter obj) GHC.Base.<> ("queryType" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryType obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON GetBalanceHistoryParameters where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetBalanceHistoryParameters" (\obj -> (((((((((GHC.Base.pure GetBalanceHistoryParameters GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryAvailable_on")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryCreated")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryCurrency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryEnding_before")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryExpand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryLimit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryPayout")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "querySource")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryStarting_after")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryType")) -- | Create a new 'GetBalanceHistoryParameters' with all required fields. mkGetBalanceHistoryParameters :: GetBalanceHistoryParameters mkGetBalanceHistoryParameters = GetBalanceHistoryParameters { getBalanceHistoryParametersQueryAvailableOn = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryCreated = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryCurrency = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryEndingBefore = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryExpand = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryLimit = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryPayout = GHC.Maybe.Nothing, getBalanceHistoryParametersQuerySource = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryStartingAfter = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryType = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/balance\/history.GET.parameters.properties.queryAvailable_on.anyOf@ in the specification. data GetBalanceHistoryParametersQueryAvailableOn'OneOf1 = GetBalanceHistoryParametersQueryAvailableOn'OneOf1 { -- | gt getBalanceHistoryParametersQueryAvailableOn'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | gte getBalanceHistoryParametersQueryAvailableOn'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lt getBalanceHistoryParametersQueryAvailableOn'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lte getBalanceHistoryParametersQueryAvailableOn'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetBalanceHistoryParametersQueryAvailableOn'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("gt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Gt obj : "gte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Gte obj : "lt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Lt obj : "lte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Lte obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("gt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Gt obj) GHC.Base.<> (("gte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Gte obj) GHC.Base.<> (("lt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Lt obj) GHC.Base.<> ("lte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryAvailableOn'OneOf1Lte obj)))) instance Data.Aeson.Types.FromJSON.FromJSON GetBalanceHistoryParametersQueryAvailableOn'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetBalanceHistoryParametersQueryAvailableOn'OneOf1" (\obj -> (((GHC.Base.pure GetBalanceHistoryParametersQueryAvailableOn'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "gt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "gte")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "lt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "lte")) -- | Create a new 'GetBalanceHistoryParametersQueryAvailableOn'OneOf1' with all required fields. mkGetBalanceHistoryParametersQueryAvailableOn'OneOf1 :: GetBalanceHistoryParametersQueryAvailableOn'OneOf1 mkGetBalanceHistoryParametersQueryAvailableOn'OneOf1 = GetBalanceHistoryParametersQueryAvailableOn'OneOf1 { getBalanceHistoryParametersQueryAvailableOn'OneOf1Gt = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryAvailableOn'OneOf1Gte = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryAvailableOn'OneOf1Lt = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryAvailableOn'OneOf1Lte = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/balance\/history.GET.parameters.properties.queryAvailable_on.anyOf@ in the specification. -- -- Represents the parameter named \'available_on\' data GetBalanceHistoryParametersQueryAvailableOn'Variants = GetBalanceHistoryParametersQueryAvailableOn'GetBalanceHistoryParametersQueryAvailableOn'OneOf1 GetBalanceHistoryParametersQueryAvailableOn'OneOf1 | GetBalanceHistoryParametersQueryAvailableOn'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetBalanceHistoryParametersQueryAvailableOn'Variants where toJSON (GetBalanceHistoryParametersQueryAvailableOn'GetBalanceHistoryParametersQueryAvailableOn'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetBalanceHistoryParametersQueryAvailableOn'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetBalanceHistoryParametersQueryAvailableOn'Variants where parseJSON val = case (GetBalanceHistoryParametersQueryAvailableOn'GetBalanceHistoryParametersQueryAvailableOn'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetBalanceHistoryParametersQueryAvailableOn'Int Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched") of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/balance\/history.GET.parameters.properties.queryCreated.anyOf@ in the specification. data GetBalanceHistoryParametersQueryCreated'OneOf1 = GetBalanceHistoryParametersQueryCreated'OneOf1 { -- | gt getBalanceHistoryParametersQueryCreated'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | gte getBalanceHistoryParametersQueryCreated'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lt getBalanceHistoryParametersQueryCreated'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lte getBalanceHistoryParametersQueryCreated'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetBalanceHistoryParametersQueryCreated'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("gt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Gt obj : "gte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Gte obj : "lt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Lt obj : "lte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Lte obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("gt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Gt obj) GHC.Base.<> (("gte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Gte obj) GHC.Base.<> (("lt" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Lt obj) GHC.Base.<> ("lte" Data.Aeson.Types.ToJSON..= getBalanceHistoryParametersQueryCreated'OneOf1Lte obj)))) instance Data.Aeson.Types.FromJSON.FromJSON GetBalanceHistoryParametersQueryCreated'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetBalanceHistoryParametersQueryCreated'OneOf1" (\obj -> (((GHC.Base.pure GetBalanceHistoryParametersQueryCreated'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "gt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "gte")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "lt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "lte")) -- | Create a new 'GetBalanceHistoryParametersQueryCreated'OneOf1' with all required fields. mkGetBalanceHistoryParametersQueryCreated'OneOf1 :: GetBalanceHistoryParametersQueryCreated'OneOf1 mkGetBalanceHistoryParametersQueryCreated'OneOf1 = GetBalanceHistoryParametersQueryCreated'OneOf1 { getBalanceHistoryParametersQueryCreated'OneOf1Gt = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryCreated'OneOf1Gte = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryCreated'OneOf1Lt = GHC.Maybe.Nothing, getBalanceHistoryParametersQueryCreated'OneOf1Lte = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/balance\/history.GET.parameters.properties.queryCreated.anyOf@ in the specification. -- -- Represents the parameter named \'created\' data GetBalanceHistoryParametersQueryCreated'Variants = GetBalanceHistoryParametersQueryCreated'GetBalanceHistoryParametersQueryCreated'OneOf1 GetBalanceHistoryParametersQueryCreated'OneOf1 | GetBalanceHistoryParametersQueryCreated'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetBalanceHistoryParametersQueryCreated'Variants where toJSON (GetBalanceHistoryParametersQueryCreated'GetBalanceHistoryParametersQueryCreated'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetBalanceHistoryParametersQueryCreated'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetBalanceHistoryParametersQueryCreated'Variants where parseJSON val = case (GetBalanceHistoryParametersQueryCreated'GetBalanceHistoryParametersQueryCreated'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetBalanceHistoryParametersQueryCreated'Int Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched") of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Represents a response of the operation 'getBalanceHistory'. -- -- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'GetBalanceHistoryResponseError' is used. data GetBalanceHistoryResponse = -- | Means either no matching case available or a parse error GetBalanceHistoryResponseError GHC.Base.String | -- | Successful response. GetBalanceHistoryResponse200 GetBalanceHistoryResponseBody200 | -- | Error response. GetBalanceHistoryResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq) -- | Defines the object schema located at @paths.\/v1\/balance\/history.GET.responses.200.content.application\/json.schema@ in the specification. data GetBalanceHistoryResponseBody200 = GetBalanceHistoryResponseBody200 { -- | data getBalanceHistoryResponseBody200Data :: ([BalanceTransaction]), -- | has_more: True if this list has another page of items after this one that can be fetched. getBalanceHistoryResponseBody200HasMore :: GHC.Types.Bool, -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 -- * Must match pattern \'^\/v1\/balance_transactions\' getBalanceHistoryResponseBody200Url :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetBalanceHistoryResponseBody200 where toJSON obj = Data.Aeson.Types.Internal.object ("data" Data.Aeson.Types.ToJSON..= getBalanceHistoryResponseBody200Data obj : "has_more" Data.Aeson.Types.ToJSON..= getBalanceHistoryResponseBody200HasMore obj : "url" Data.Aeson.Types.ToJSON..= getBalanceHistoryResponseBody200Url obj : "object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "list" : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("data" Data.Aeson.Types.ToJSON..= getBalanceHistoryResponseBody200Data obj) GHC.Base.<> (("has_more" Data.Aeson.Types.ToJSON..= getBalanceHistoryResponseBody200HasMore obj) GHC.Base.<> (("url" Data.Aeson.Types.ToJSON..= getBalanceHistoryResponseBody200Url obj) GHC.Base.<> ("object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "list")))) instance Data.Aeson.Types.FromJSON.FromJSON GetBalanceHistoryResponseBody200 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetBalanceHistoryResponseBody200" (\obj -> ((GHC.Base.pure GetBalanceHistoryResponseBody200 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Create a new 'GetBalanceHistoryResponseBody200' with all required fields. mkGetBalanceHistoryResponseBody200 :: -- | 'getBalanceHistoryResponseBody200Data' [BalanceTransaction] -> -- | 'getBalanceHistoryResponseBody200HasMore' GHC.Types.Bool -> -- | 'getBalanceHistoryResponseBody200Url' Data.Text.Internal.Text -> GetBalanceHistoryResponseBody200 mkGetBalanceHistoryResponseBody200 getBalanceHistoryResponseBody200Data getBalanceHistoryResponseBody200HasMore getBalanceHistoryResponseBody200Url = GetBalanceHistoryResponseBody200 { getBalanceHistoryResponseBody200Data = getBalanceHistoryResponseBody200Data, getBalanceHistoryResponseBody200HasMore = getBalanceHistoryResponseBody200HasMore, getBalanceHistoryResponseBody200Url = getBalanceHistoryResponseBody200Url }