{-# 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 getSubscriptionSchedules module StripeAPI.Operations.GetSubscriptionSchedules 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/subscription_schedules -- -- \

Retrieves the list of your subscription schedules.\<\/p> getSubscriptionSchedules :: forall m. StripeAPI.Common.MonadHTTP m => -- | Contains all available parameters of this operation (query and path parameters) GetSubscriptionSchedulesParameters -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response GetSubscriptionSchedulesResponse) getSubscriptionSchedules parameters = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either GetSubscriptionSchedulesResponseError 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) -> GetSubscriptionSchedulesResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String GetSubscriptionSchedulesResponseBody200 ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> GetSubscriptionSchedulesResponseDefault 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/subscription_schedules") [ StripeAPI.Common.QueryParameter (Data.Text.pack "canceled_at") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryCanceledAt parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "completed_at") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryCompletedAt parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "created") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryCreated parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "customer") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryCustomer parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "ending_before") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryEndingBefore parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "expand") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryExpand parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "limit") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryLimit parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "released_at") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryReleasedAt parameters) (Data.Text.pack "deepObject") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "scheduled") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryScheduled parameters) (Data.Text.pack "form") GHC.Types.True, StripeAPI.Common.QueryParameter (Data.Text.pack "starting_after") (Data.Aeson.Types.ToJSON.toJSON Data.Functor.<$> getSubscriptionSchedulesParametersQueryStartingAfter parameters) (Data.Text.pack "form") GHC.Types.True ] ) -- | Defines the object schema located at @paths.\/v1\/subscription_schedules.GET.parameters@ in the specification. data GetSubscriptionSchedulesParameters = GetSubscriptionSchedulesParameters { -- | queryCanceled_at: Represents the parameter named \'canceled_at\' -- -- Only return subscription schedules that were created canceled the given date interval. getSubscriptionSchedulesParametersQueryCanceledAt :: (GHC.Maybe.Maybe GetSubscriptionSchedulesParametersQueryCanceledAt'Variants), -- | queryCompleted_at: Represents the parameter named \'completed_at\' -- -- Only return subscription schedules that completed during the given date interval. getSubscriptionSchedulesParametersQueryCompletedAt :: (GHC.Maybe.Maybe GetSubscriptionSchedulesParametersQueryCompletedAt'Variants), -- | queryCreated: Represents the parameter named \'created\' -- -- Only return subscription schedules that were created during the given date interval. getSubscriptionSchedulesParametersQueryCreated :: (GHC.Maybe.Maybe GetSubscriptionSchedulesParametersQueryCreated'Variants), -- | queryCustomer: Represents the parameter named \'customer\' -- -- Only return subscription schedules for the given customer. -- -- Constraints: -- -- * Maximum length of 5000 getSubscriptionSchedulesParametersQueryCustomer :: (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 getSubscriptionSchedulesParametersQueryEndingBefore :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | queryExpand: Represents the parameter named \'expand\' -- -- Specifies which fields in the response should be expanded. getSubscriptionSchedulesParametersQueryExpand :: (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. getSubscriptionSchedulesParametersQueryLimit :: (GHC.Maybe.Maybe GHC.Types.Int), -- | queryReleased_at: Represents the parameter named \'released_at\' -- -- Only return subscription schedules that were released during the given date interval. getSubscriptionSchedulesParametersQueryReleasedAt :: (GHC.Maybe.Maybe GetSubscriptionSchedulesParametersQueryReleasedAt'Variants), -- | queryScheduled: Represents the parameter named \'scheduled\' -- -- Only return subscription schedules that have not started yet. getSubscriptionSchedulesParametersQueryScheduled :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | 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 getSubscriptionSchedulesParametersQueryStartingAfter :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParameters where toJSON obj = Data.Aeson.Types.Internal.object ("queryCanceled_at" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt obj : "queryCompleted_at" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt obj : "queryCreated" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated obj : "queryCustomer" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCustomer obj : "queryEnding_before" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryEndingBefore obj : "queryExpand" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryExpand obj : "queryLimit" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryLimit obj : "queryReleased_at" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt obj : "queryScheduled" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryScheduled obj : "queryStarting_after" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryStartingAfter obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("queryCanceled_at" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt obj) GHC.Base.<> (("queryCompleted_at" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt obj) GHC.Base.<> (("queryCreated" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated obj) GHC.Base.<> (("queryCustomer" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCustomer obj) GHC.Base.<> (("queryEnding_before" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryEndingBefore obj) GHC.Base.<> (("queryExpand" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryExpand obj) GHC.Base.<> (("queryLimit" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryLimit obj) GHC.Base.<> (("queryReleased_at" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt obj) GHC.Base.<> (("queryScheduled" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryScheduled obj) GHC.Base.<> ("queryStarting_after" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryStartingAfter obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParameters where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetSubscriptionSchedulesParameters" (\obj -> (((((((((GHC.Base.pure GetSubscriptionSchedulesParameters GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryCanceled_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryCompleted_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryCreated")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryCustomer")) 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..:? "queryReleased_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryScheduled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "queryStarting_after")) -- | Create a new 'GetSubscriptionSchedulesParameters' with all required fields. mkGetSubscriptionSchedulesParameters :: GetSubscriptionSchedulesParameters mkGetSubscriptionSchedulesParameters = GetSubscriptionSchedulesParameters { getSubscriptionSchedulesParametersQueryCanceledAt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCompletedAt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCreated = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCustomer = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryEndingBefore = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryExpand = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryLimit = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryReleasedAt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryScheduled = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryStartingAfter = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/subscription_schedules.GET.parameters.properties.queryCanceled_at.anyOf@ in the specification. data GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 = GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 { -- | gt getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | gte getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lt getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lte getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gt obj : "gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gte obj : "lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lt obj : "lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lte obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gt obj) GHC.Base.<> (("gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gte obj) GHC.Base.<> (("lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lt obj) GHC.Base.<> ("lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lte obj)))) instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1" (\obj -> (((GHC.Base.pure GetSubscriptionSchedulesParametersQueryCanceledAt'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 'GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1' with all required fields. mkGetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 :: GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 mkGetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 = GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 { getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Gte = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCanceledAt'OneOf1Lte = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/subscription_schedules.GET.parameters.properties.queryCanceled_at.anyOf@ in the specification. -- -- Represents the parameter named \'canceled_at\' -- -- Only return subscription schedules that were created canceled the given date interval. data GetSubscriptionSchedulesParametersQueryCanceledAt'Variants = GetSubscriptionSchedulesParametersQueryCanceledAt'GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 | GetSubscriptionSchedulesParametersQueryCanceledAt'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryCanceledAt'Variants where toJSON (GetSubscriptionSchedulesParametersQueryCanceledAt'GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetSubscriptionSchedulesParametersQueryCanceledAt'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryCanceledAt'Variants where parseJSON val = case (GetSubscriptionSchedulesParametersQueryCanceledAt'GetSubscriptionSchedulesParametersQueryCanceledAt'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetSubscriptionSchedulesParametersQueryCanceledAt'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\/subscription_schedules.GET.parameters.properties.queryCompleted_at.anyOf@ in the specification. data GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 = GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 { -- | gt getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | gte getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lt getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lte getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gt obj : "gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gte obj : "lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lt obj : "lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lte obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gt obj) GHC.Base.<> (("gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gte obj) GHC.Base.<> (("lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lt obj) GHC.Base.<> ("lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lte obj)))) instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1" (\obj -> (((GHC.Base.pure GetSubscriptionSchedulesParametersQueryCompletedAt'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 'GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1' with all required fields. mkGetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 :: GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 mkGetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 = GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 { getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Gte = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCompletedAt'OneOf1Lte = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/subscription_schedules.GET.parameters.properties.queryCompleted_at.anyOf@ in the specification. -- -- Represents the parameter named \'completed_at\' -- -- Only return subscription schedules that completed during the given date interval. data GetSubscriptionSchedulesParametersQueryCompletedAt'Variants = GetSubscriptionSchedulesParametersQueryCompletedAt'GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 | GetSubscriptionSchedulesParametersQueryCompletedAt'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryCompletedAt'Variants where toJSON (GetSubscriptionSchedulesParametersQueryCompletedAt'GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetSubscriptionSchedulesParametersQueryCompletedAt'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryCompletedAt'Variants where parseJSON val = case (GetSubscriptionSchedulesParametersQueryCompletedAt'GetSubscriptionSchedulesParametersQueryCompletedAt'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetSubscriptionSchedulesParametersQueryCompletedAt'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\/subscription_schedules.GET.parameters.properties.queryCreated.anyOf@ in the specification. data GetSubscriptionSchedulesParametersQueryCreated'OneOf1 = GetSubscriptionSchedulesParametersQueryCreated'OneOf1 { -- | gt getSubscriptionSchedulesParametersQueryCreated'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | gte getSubscriptionSchedulesParametersQueryCreated'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lt getSubscriptionSchedulesParametersQueryCreated'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lte getSubscriptionSchedulesParametersQueryCreated'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryCreated'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Gt obj : "gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Gte obj : "lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Lt obj : "lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Lte obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Gt obj) GHC.Base.<> (("gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Gte obj) GHC.Base.<> (("lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Lt obj) GHC.Base.<> ("lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryCreated'OneOf1Lte obj)))) instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryCreated'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetSubscriptionSchedulesParametersQueryCreated'OneOf1" (\obj -> (((GHC.Base.pure GetSubscriptionSchedulesParametersQueryCreated'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 'GetSubscriptionSchedulesParametersQueryCreated'OneOf1' with all required fields. mkGetSubscriptionSchedulesParametersQueryCreated'OneOf1 :: GetSubscriptionSchedulesParametersQueryCreated'OneOf1 mkGetSubscriptionSchedulesParametersQueryCreated'OneOf1 = GetSubscriptionSchedulesParametersQueryCreated'OneOf1 { getSubscriptionSchedulesParametersQueryCreated'OneOf1Gt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCreated'OneOf1Gte = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCreated'OneOf1Lt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryCreated'OneOf1Lte = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/subscription_schedules.GET.parameters.properties.queryCreated.anyOf@ in the specification. -- -- Represents the parameter named \'created\' -- -- Only return subscription schedules that were created during the given date interval. data GetSubscriptionSchedulesParametersQueryCreated'Variants = GetSubscriptionSchedulesParametersQueryCreated'GetSubscriptionSchedulesParametersQueryCreated'OneOf1 GetSubscriptionSchedulesParametersQueryCreated'OneOf1 | GetSubscriptionSchedulesParametersQueryCreated'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryCreated'Variants where toJSON (GetSubscriptionSchedulesParametersQueryCreated'GetSubscriptionSchedulesParametersQueryCreated'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetSubscriptionSchedulesParametersQueryCreated'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryCreated'Variants where parseJSON val = case (GetSubscriptionSchedulesParametersQueryCreated'GetSubscriptionSchedulesParametersQueryCreated'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetSubscriptionSchedulesParametersQueryCreated'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\/subscription_schedules.GET.parameters.properties.queryReleased_at.anyOf@ in the specification. data GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 = GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 { -- | gt getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | gte getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lt getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | lte getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gt obj : "gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gte obj : "lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lt obj : "lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lte obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("gt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gt obj) GHC.Base.<> (("gte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gte obj) GHC.Base.<> (("lt" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lt obj) GHC.Base.<> ("lte" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lte obj)))) instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1" (\obj -> (((GHC.Base.pure GetSubscriptionSchedulesParametersQueryReleasedAt'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 'GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1' with all required fields. mkGetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 :: GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 mkGetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 = GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 { getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Gte = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lt = GHC.Maybe.Nothing, getSubscriptionSchedulesParametersQueryReleasedAt'OneOf1Lte = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/subscription_schedules.GET.parameters.properties.queryReleased_at.anyOf@ in the specification. -- -- Represents the parameter named \'released_at\' -- -- Only return subscription schedules that were released during the given date interval. data GetSubscriptionSchedulesParametersQueryReleasedAt'Variants = GetSubscriptionSchedulesParametersQueryReleasedAt'GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 | GetSubscriptionSchedulesParametersQueryReleasedAt'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesParametersQueryReleasedAt'Variants where toJSON (GetSubscriptionSchedulesParametersQueryReleasedAt'GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (GetSubscriptionSchedulesParametersQueryReleasedAt'Int a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesParametersQueryReleasedAt'Variants where parseJSON val = case (GetSubscriptionSchedulesParametersQueryReleasedAt'GetSubscriptionSchedulesParametersQueryReleasedAt'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((GetSubscriptionSchedulesParametersQueryReleasedAt'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 'getSubscriptionSchedules'. -- -- 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), 'GetSubscriptionSchedulesResponseError' is used. data GetSubscriptionSchedulesResponse = -- | Means either no matching case available or a parse error GetSubscriptionSchedulesResponseError GHC.Base.String | -- | Successful response. GetSubscriptionSchedulesResponse200 GetSubscriptionSchedulesResponseBody200 | -- | Error response. GetSubscriptionSchedulesResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq) -- | Defines the object schema located at @paths.\/v1\/subscription_schedules.GET.responses.200.content.application\/json.schema@ in the specification. data GetSubscriptionSchedulesResponseBody200 = GetSubscriptionSchedulesResponseBody200 { -- | data getSubscriptionSchedulesResponseBody200Data :: ([SubscriptionSchedule]), -- | has_more: True if this list has another page of items after this one that can be fetched. getSubscriptionSchedulesResponseBody200HasMore :: GHC.Types.Bool, -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 -- * Must match pattern \'^\/v1\/subscription_schedules\' getSubscriptionSchedulesResponseBody200Url :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON GetSubscriptionSchedulesResponseBody200 where toJSON obj = Data.Aeson.Types.Internal.object ("data" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesResponseBody200Data obj : "has_more" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesResponseBody200HasMore obj : "url" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesResponseBody200Url 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..= getSubscriptionSchedulesResponseBody200Data obj) GHC.Base.<> (("has_more" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesResponseBody200HasMore obj) GHC.Base.<> (("url" Data.Aeson.Types.ToJSON..= getSubscriptionSchedulesResponseBody200Url obj) GHC.Base.<> ("object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "list")))) instance Data.Aeson.Types.FromJSON.FromJSON GetSubscriptionSchedulesResponseBody200 where parseJSON = Data.Aeson.Types.FromJSON.withObject "GetSubscriptionSchedulesResponseBody200" (\obj -> ((GHC.Base.pure GetSubscriptionSchedulesResponseBody200 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 'GetSubscriptionSchedulesResponseBody200' with all required fields. mkGetSubscriptionSchedulesResponseBody200 :: -- | 'getSubscriptionSchedulesResponseBody200Data' [SubscriptionSchedule] -> -- | 'getSubscriptionSchedulesResponseBody200HasMore' GHC.Types.Bool -> -- | 'getSubscriptionSchedulesResponseBody200Url' Data.Text.Internal.Text -> GetSubscriptionSchedulesResponseBody200 mkGetSubscriptionSchedulesResponseBody200 getSubscriptionSchedulesResponseBody200Data getSubscriptionSchedulesResponseBody200HasMore getSubscriptionSchedulesResponseBody200Url = GetSubscriptionSchedulesResponseBody200 { getSubscriptionSchedulesResponseBody200Data = getSubscriptionSchedulesResponseBody200Data, getSubscriptionSchedulesResponseBody200HasMore = getSubscriptionSchedulesResponseBody200HasMore, getSubscriptionSchedulesResponseBody200Url = getSubscriptionSchedulesResponseBody200Url }