{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module StripeAPI.Types.SubscriptionSchedule 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.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
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 GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified StripeAPI.Common
import StripeAPI.TypeAlias
import {-# SOURCE #-} StripeAPI.Types.Customer
import {-# SOURCE #-} StripeAPI.Types.DeletedCustomer
import {-# SOURCE #-} StripeAPI.Types.Subscription
import {-# SOURCE #-} StripeAPI.Types.SubscriptionScheduleCurrentPhase
import {-# SOURCE #-} StripeAPI.Types.SubscriptionSchedulePhaseConfiguration
import {-# SOURCE #-} StripeAPI.Types.SubscriptionSchedulesResourceDefaultSettings
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
data SubscriptionSchedule = SubscriptionSchedule
{
SubscriptionSchedule -> Maybe Int
subscriptionScheduleCanceledAt :: (GHC.Maybe.Maybe GHC.Types.Int),
SubscriptionSchedule -> Maybe Int
subscriptionScheduleCompletedAt :: (GHC.Maybe.Maybe GHC.Types.Int),
SubscriptionSchedule -> Int
subscriptionScheduleCreated :: GHC.Types.Int,
SubscriptionSchedule -> Maybe SubscriptionScheduleCurrentPhase'
subscriptionScheduleCurrentPhase :: (GHC.Maybe.Maybe SubscriptionScheduleCurrentPhase'),
SubscriptionSchedule -> SubscriptionScheduleCustomer'Variants
subscriptionScheduleCustomer :: SubscriptionScheduleCustomer'Variants,
SubscriptionSchedule
-> SubscriptionSchedulesResourceDefaultSettings
subscriptionScheduleDefaultSettings :: SubscriptionSchedulesResourceDefaultSettings,
SubscriptionSchedule -> SubscriptionScheduleEndBehavior'
subscriptionScheduleEndBehavior :: SubscriptionScheduleEndBehavior',
SubscriptionSchedule -> Text
subscriptionScheduleId :: Data.Text.Internal.Text,
SubscriptionSchedule -> Bool
subscriptionScheduleLivemode :: GHC.Types.Bool,
SubscriptionSchedule -> Maybe Object
subscriptionScheduleMetadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
SubscriptionSchedule -> [SubscriptionSchedulePhaseConfiguration]
subscriptionSchedulePhases :: ([SubscriptionSchedulePhaseConfiguration]),
SubscriptionSchedule -> Maybe Int
subscriptionScheduleReleasedAt :: (GHC.Maybe.Maybe GHC.Types.Int),
SubscriptionSchedule -> Maybe Text
subscriptionScheduleReleasedSubscription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
SubscriptionSchedule -> SubscriptionScheduleStatus'
subscriptionScheduleStatus :: SubscriptionScheduleStatus',
SubscriptionSchedule
-> Maybe SubscriptionScheduleSubscription'Variants
subscriptionScheduleSubscription :: (GHC.Maybe.Maybe SubscriptionScheduleSubscription'Variants)
}
deriving
( Int -> SubscriptionSchedule -> ShowS
[SubscriptionSchedule] -> ShowS
SubscriptionSchedule -> String
(Int -> SubscriptionSchedule -> ShowS)
-> (SubscriptionSchedule -> String)
-> ([SubscriptionSchedule] -> ShowS)
-> Show SubscriptionSchedule
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscriptionSchedule] -> ShowS
$cshowList :: [SubscriptionSchedule] -> ShowS
show :: SubscriptionSchedule -> String
$cshow :: SubscriptionSchedule -> String
showsPrec :: Int -> SubscriptionSchedule -> ShowS
$cshowsPrec :: Int -> SubscriptionSchedule -> ShowS
GHC.Show.Show,
SubscriptionSchedule -> SubscriptionSchedule -> Bool
(SubscriptionSchedule -> SubscriptionSchedule -> Bool)
-> (SubscriptionSchedule -> SubscriptionSchedule -> Bool)
-> Eq SubscriptionSchedule
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscriptionSchedule -> SubscriptionSchedule -> Bool
$c/= :: SubscriptionSchedule -> SubscriptionSchedule -> Bool
== :: SubscriptionSchedule -> SubscriptionSchedule -> Bool
$c== :: SubscriptionSchedule -> SubscriptionSchedule -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON SubscriptionSchedule where
toJSON :: SubscriptionSchedule -> Value
toJSON SubscriptionSchedule
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"canceled_at" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Int
subscriptionScheduleCanceledAt SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"completed_at" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Int
subscriptionScheduleCompletedAt SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"created" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Int
subscriptionScheduleCreated SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"current_phase" Text -> Maybe SubscriptionScheduleCurrentPhase' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe SubscriptionScheduleCurrentPhase'
subscriptionScheduleCurrentPhase SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text -> SubscriptionScheduleCustomer'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> SubscriptionScheduleCustomer'Variants
subscriptionScheduleCustomer SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_settings" Text -> SubscriptionSchedulesResourceDefaultSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule
-> SubscriptionSchedulesResourceDefaultSettings
subscriptionScheduleDefaultSettings SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"end_behavior" Text -> SubscriptionScheduleEndBehavior' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> SubscriptionScheduleEndBehavior'
subscriptionScheduleEndBehavior SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Text
subscriptionScheduleId SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"livemode" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Bool
subscriptionScheduleLivemode SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text -> Maybe Object -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Object
subscriptionScheduleMetadata SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"phases" Text -> [SubscriptionSchedulePhaseConfiguration] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> [SubscriptionSchedulePhaseConfiguration]
subscriptionSchedulePhases SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"released_at" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Int
subscriptionScheduleReleasedAt SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"released_subscription" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Text
subscriptionScheduleReleasedSubscription SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> SubscriptionScheduleStatus' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> SubscriptionScheduleStatus'
subscriptionScheduleStatus SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"subscription" Text -> Maybe SubscriptionScheduleSubscription'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule
-> Maybe SubscriptionScheduleSubscription'Variants
subscriptionScheduleSubscription SubscriptionSchedule
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"subscription_schedule" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: SubscriptionSchedule -> Encoding
toEncoding SubscriptionSchedule
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"canceled_at" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Int
subscriptionScheduleCanceledAt SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"completed_at" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Int
subscriptionScheduleCompletedAt SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"created" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Int
subscriptionScheduleCreated SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"current_phase" Text -> Maybe SubscriptionScheduleCurrentPhase' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe SubscriptionScheduleCurrentPhase'
subscriptionScheduleCurrentPhase SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text -> SubscriptionScheduleCustomer'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> SubscriptionScheduleCustomer'Variants
subscriptionScheduleCustomer SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_settings" Text -> SubscriptionSchedulesResourceDefaultSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule
-> SubscriptionSchedulesResourceDefaultSettings
subscriptionScheduleDefaultSettings SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"end_behavior" Text -> SubscriptionScheduleEndBehavior' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> SubscriptionScheduleEndBehavior'
subscriptionScheduleEndBehavior SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Text
subscriptionScheduleId SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"livemode" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Bool
subscriptionScheduleLivemode SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text -> Maybe Object -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Object
subscriptionScheduleMetadata SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"phases" Text -> [SubscriptionSchedulePhaseConfiguration] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> [SubscriptionSchedulePhaseConfiguration]
subscriptionSchedulePhases SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"released_at" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Int
subscriptionScheduleReleasedAt SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"released_subscription" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> Maybe Text
subscriptionScheduleReleasedSubscription SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"status" Text -> SubscriptionScheduleStatus' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule -> SubscriptionScheduleStatus'
subscriptionScheduleStatus SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"subscription" Text -> Maybe SubscriptionScheduleSubscription'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionSchedule
-> Maybe SubscriptionScheduleSubscription'Variants
subscriptionScheduleSubscription SubscriptionSchedule
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"subscription_schedule"))))))))))))))))
instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedule where
parseJSON :: Value -> Parser SubscriptionSchedule
parseJSON = String
-> (Object -> Parser SubscriptionSchedule)
-> Value
-> Parser SubscriptionSchedule
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SubscriptionSchedule" (\Object
obj -> (((((((((((((((Maybe Int
-> Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser
(Maybe Int
-> Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule
SubscriptionSchedule Parser
(Maybe Int
-> Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe Int)
-> Parser
(Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"canceled_at")) Parser
(Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe Int)
-> Parser
(Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"completed_at")) Parser
(Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser Int
-> Parser
(Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"created")) Parser
(Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe SubscriptionScheduleCurrentPhase')
-> Parser
(SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SubscriptionScheduleCurrentPhase')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"current_phase")) Parser
(SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser SubscriptionScheduleCustomer'Variants
-> Parser
(SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser SubscriptionScheduleCustomer'Variants
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"customer")) Parser
(SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser SubscriptionSchedulesResourceDefaultSettings
-> Parser
(SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser SubscriptionSchedulesResourceDefaultSettings
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"default_settings")) Parser
(SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser SubscriptionScheduleEndBehavior'
-> Parser
(Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser SubscriptionScheduleEndBehavior'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"end_behavior")) Parser
(Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser Text
-> Parser
(Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"id")) Parser
(Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser Bool
-> Parser
(Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"livemode")) Parser
(Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe Object)
-> Parser
([SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Object)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
([SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser [SubscriptionSchedulePhaseConfiguration]
-> Parser
(Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser [SubscriptionSchedulePhaseConfiguration]
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"phases")) Parser
(Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe Int)
-> Parser
(Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"released_at")) Parser
(Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe Text)
-> Parser
(SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"released_subscription")) Parser
(SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser SubscriptionScheduleStatus'
-> Parser
(Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser SubscriptionScheduleStatus'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"status")) Parser
(Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule)
-> Parser (Maybe SubscriptionScheduleSubscription'Variants)
-> Parser SubscriptionSchedule
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe SubscriptionScheduleSubscription'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"subscription"))
mkSubscriptionSchedule ::
GHC.Types.Int ->
SubscriptionScheduleCustomer'Variants ->
SubscriptionSchedulesResourceDefaultSettings ->
SubscriptionScheduleEndBehavior' ->
Data.Text.Internal.Text ->
GHC.Types.Bool ->
[SubscriptionSchedulePhaseConfiguration] ->
SubscriptionScheduleStatus' ->
SubscriptionSchedule
mkSubscriptionSchedule :: Int
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> [SubscriptionSchedulePhaseConfiguration]
-> SubscriptionScheduleStatus'
-> SubscriptionSchedule
mkSubscriptionSchedule Int
subscriptionScheduleCreated SubscriptionScheduleCustomer'Variants
subscriptionScheduleCustomer SubscriptionSchedulesResourceDefaultSettings
subscriptionScheduleDefaultSettings SubscriptionScheduleEndBehavior'
subscriptionScheduleEndBehavior Text
subscriptionScheduleId Bool
subscriptionScheduleLivemode [SubscriptionSchedulePhaseConfiguration]
subscriptionSchedulePhases SubscriptionScheduleStatus'
subscriptionScheduleStatus =
SubscriptionSchedule :: Maybe Int
-> Maybe Int
-> Int
-> Maybe SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCustomer'Variants
-> SubscriptionSchedulesResourceDefaultSettings
-> SubscriptionScheduleEndBehavior'
-> Text
-> Bool
-> Maybe Object
-> [SubscriptionSchedulePhaseConfiguration]
-> Maybe Int
-> Maybe Text
-> SubscriptionScheduleStatus'
-> Maybe SubscriptionScheduleSubscription'Variants
-> SubscriptionSchedule
SubscriptionSchedule
{ subscriptionScheduleCanceledAt :: Maybe Int
subscriptionScheduleCanceledAt = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionScheduleCompletedAt :: Maybe Int
subscriptionScheduleCompletedAt = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionScheduleCreated :: Int
subscriptionScheduleCreated = Int
subscriptionScheduleCreated,
subscriptionScheduleCurrentPhase :: Maybe SubscriptionScheduleCurrentPhase'
subscriptionScheduleCurrentPhase = Maybe SubscriptionScheduleCurrentPhase'
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionScheduleCustomer :: SubscriptionScheduleCustomer'Variants
subscriptionScheduleCustomer = SubscriptionScheduleCustomer'Variants
subscriptionScheduleCustomer,
subscriptionScheduleDefaultSettings :: SubscriptionSchedulesResourceDefaultSettings
subscriptionScheduleDefaultSettings = SubscriptionSchedulesResourceDefaultSettings
subscriptionScheduleDefaultSettings,
subscriptionScheduleEndBehavior :: SubscriptionScheduleEndBehavior'
subscriptionScheduleEndBehavior = SubscriptionScheduleEndBehavior'
subscriptionScheduleEndBehavior,
subscriptionScheduleId :: Text
subscriptionScheduleId = Text
subscriptionScheduleId,
subscriptionScheduleLivemode :: Bool
subscriptionScheduleLivemode = Bool
subscriptionScheduleLivemode,
subscriptionScheduleMetadata :: Maybe Object
subscriptionScheduleMetadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionSchedulePhases :: [SubscriptionSchedulePhaseConfiguration]
subscriptionSchedulePhases = [SubscriptionSchedulePhaseConfiguration]
subscriptionSchedulePhases,
subscriptionScheduleReleasedAt :: Maybe Int
subscriptionScheduleReleasedAt = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionScheduleReleasedSubscription :: Maybe Text
subscriptionScheduleReleasedSubscription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionScheduleStatus :: SubscriptionScheduleStatus'
subscriptionScheduleStatus = SubscriptionScheduleStatus'
subscriptionScheduleStatus,
subscriptionScheduleSubscription :: Maybe SubscriptionScheduleSubscription'Variants
subscriptionScheduleSubscription = Maybe SubscriptionScheduleSubscription'Variants
forall a. Maybe a
GHC.Maybe.Nothing
}
data SubscriptionScheduleCurrentPhase' = SubscriptionScheduleCurrentPhase'
{
SubscriptionScheduleCurrentPhase' -> Maybe Int
subscriptionScheduleCurrentPhase'EndDate :: (GHC.Maybe.Maybe GHC.Types.Int),
SubscriptionScheduleCurrentPhase' -> Maybe Int
subscriptionScheduleCurrentPhase'StartDate :: (GHC.Maybe.Maybe GHC.Types.Int)
}
deriving
( Int -> SubscriptionScheduleCurrentPhase' -> ShowS
[SubscriptionScheduleCurrentPhase'] -> ShowS
SubscriptionScheduleCurrentPhase' -> String
(Int -> SubscriptionScheduleCurrentPhase' -> ShowS)
-> (SubscriptionScheduleCurrentPhase' -> String)
-> ([SubscriptionScheduleCurrentPhase'] -> ShowS)
-> Show SubscriptionScheduleCurrentPhase'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscriptionScheduleCurrentPhase'] -> ShowS
$cshowList :: [SubscriptionScheduleCurrentPhase'] -> ShowS
show :: SubscriptionScheduleCurrentPhase' -> String
$cshow :: SubscriptionScheduleCurrentPhase' -> String
showsPrec :: Int -> SubscriptionScheduleCurrentPhase' -> ShowS
$cshowsPrec :: Int -> SubscriptionScheduleCurrentPhase' -> ShowS
GHC.Show.Show,
SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool
(SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool)
-> (SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool)
-> Eq SubscriptionScheduleCurrentPhase'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool
$c/= :: SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool
== :: SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool
$c== :: SubscriptionScheduleCurrentPhase'
-> SubscriptionScheduleCurrentPhase' -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON SubscriptionScheduleCurrentPhase' where
toJSON :: SubscriptionScheduleCurrentPhase' -> Value
toJSON SubscriptionScheduleCurrentPhase'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"end_date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionScheduleCurrentPhase' -> Maybe Int
subscriptionScheduleCurrentPhase'EndDate SubscriptionScheduleCurrentPhase'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"start_date" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionScheduleCurrentPhase' -> Maybe Int
subscriptionScheduleCurrentPhase'StartDate SubscriptionScheduleCurrentPhase'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: SubscriptionScheduleCurrentPhase' -> Encoding
toEncoding SubscriptionScheduleCurrentPhase'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"end_date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionScheduleCurrentPhase' -> Maybe Int
subscriptionScheduleCurrentPhase'EndDate SubscriptionScheduleCurrentPhase'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"start_date" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SubscriptionScheduleCurrentPhase' -> Maybe Int
subscriptionScheduleCurrentPhase'StartDate SubscriptionScheduleCurrentPhase'
obj))
instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleCurrentPhase' where
parseJSON :: Value -> Parser SubscriptionScheduleCurrentPhase'
parseJSON = String
-> (Object -> Parser SubscriptionScheduleCurrentPhase')
-> Value
-> Parser SubscriptionScheduleCurrentPhase'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SubscriptionScheduleCurrentPhase'" (\Object
obj -> ((Maybe Int -> Maybe Int -> SubscriptionScheduleCurrentPhase')
-> Parser
(Maybe Int -> Maybe Int -> SubscriptionScheduleCurrentPhase')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int -> Maybe Int -> SubscriptionScheduleCurrentPhase'
SubscriptionScheduleCurrentPhase' Parser
(Maybe Int -> Maybe Int -> SubscriptionScheduleCurrentPhase')
-> Parser (Maybe Int)
-> Parser (Maybe Int -> SubscriptionScheduleCurrentPhase')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"end_date")) Parser (Maybe Int -> SubscriptionScheduleCurrentPhase')
-> Parser (Maybe Int) -> Parser SubscriptionScheduleCurrentPhase'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"start_date"))
mkSubscriptionScheduleCurrentPhase' :: SubscriptionScheduleCurrentPhase'
mkSubscriptionScheduleCurrentPhase' :: SubscriptionScheduleCurrentPhase'
mkSubscriptionScheduleCurrentPhase' =
SubscriptionScheduleCurrentPhase' :: Maybe Int -> Maybe Int -> SubscriptionScheduleCurrentPhase'
SubscriptionScheduleCurrentPhase'
{ subscriptionScheduleCurrentPhase'EndDate :: Maybe Int
subscriptionScheduleCurrentPhase'EndDate = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
subscriptionScheduleCurrentPhase'StartDate :: Maybe Int
subscriptionScheduleCurrentPhase'StartDate = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
}
data SubscriptionScheduleCustomer'Variants
= SubscriptionScheduleCustomer'Text Data.Text.Internal.Text
| SubscriptionScheduleCustomer'Customer Customer
| SubscriptionScheduleCustomer'DeletedCustomer DeletedCustomer
deriving (Int -> SubscriptionScheduleCustomer'Variants -> ShowS
[SubscriptionScheduleCustomer'Variants] -> ShowS
SubscriptionScheduleCustomer'Variants -> String
(Int -> SubscriptionScheduleCustomer'Variants -> ShowS)
-> (SubscriptionScheduleCustomer'Variants -> String)
-> ([SubscriptionScheduleCustomer'Variants] -> ShowS)
-> Show SubscriptionScheduleCustomer'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscriptionScheduleCustomer'Variants] -> ShowS
$cshowList :: [SubscriptionScheduleCustomer'Variants] -> ShowS
show :: SubscriptionScheduleCustomer'Variants -> String
$cshow :: SubscriptionScheduleCustomer'Variants -> String
showsPrec :: Int -> SubscriptionScheduleCustomer'Variants -> ShowS
$cshowsPrec :: Int -> SubscriptionScheduleCustomer'Variants -> ShowS
GHC.Show.Show, SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool
(SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool)
-> (SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool)
-> Eq SubscriptionScheduleCustomer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool
$c/= :: SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool
== :: SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool
$c== :: SubscriptionScheduleCustomer'Variants
-> SubscriptionScheduleCustomer'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON SubscriptionScheduleCustomer'Variants where
toJSON :: SubscriptionScheduleCustomer'Variants -> Value
toJSON (SubscriptionScheduleCustomer'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (SubscriptionScheduleCustomer'Customer Customer
a) = Customer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Customer
a
toJSON (SubscriptionScheduleCustomer'DeletedCustomer DeletedCustomer
a) = DeletedCustomer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON DeletedCustomer
a
instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleCustomer'Variants where
parseJSON :: Value -> Parser SubscriptionScheduleCustomer'Variants
parseJSON Value
val = case (Text -> SubscriptionScheduleCustomer'Variants
SubscriptionScheduleCustomer'Text (Text -> SubscriptionScheduleCustomer'Variants)
-> Result Text -> Result SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SubscriptionScheduleCustomer'Variants
-> Result SubscriptionScheduleCustomer'Variants
-> Result SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer -> SubscriptionScheduleCustomer'Variants
SubscriptionScheduleCustomer'Customer (Customer -> SubscriptionScheduleCustomer'Variants)
-> Result Customer -> Result SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Customer
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SubscriptionScheduleCustomer'Variants
-> Result SubscriptionScheduleCustomer'Variants
-> Result SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer -> SubscriptionScheduleCustomer'Variants
SubscriptionScheduleCustomer'DeletedCustomer (DeletedCustomer -> SubscriptionScheduleCustomer'Variants)
-> Result DeletedCustomer
-> Result SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result DeletedCustomer
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SubscriptionScheduleCustomer'Variants
-> Result SubscriptionScheduleCustomer'Variants
-> Result SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SubscriptionScheduleCustomer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
Data.Aeson.Types.Internal.Success SubscriptionScheduleCustomer'Variants
a -> SubscriptionScheduleCustomer'Variants
-> Parser SubscriptionScheduleCustomer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SubscriptionScheduleCustomer'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser SubscriptionScheduleCustomer'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data SubscriptionScheduleEndBehavior'
=
SubscriptionScheduleEndBehavior'Other Data.Aeson.Types.Internal.Value
|
SubscriptionScheduleEndBehavior'Typed Data.Text.Internal.Text
|
SubscriptionScheduleEndBehavior'EnumCancel
|
SubscriptionScheduleEndBehavior'EnumNone
|
SubscriptionScheduleEndBehavior'EnumRelease
|
SubscriptionScheduleEndBehavior'EnumRenew
deriving (Int -> SubscriptionScheduleEndBehavior' -> ShowS
[SubscriptionScheduleEndBehavior'] -> ShowS
SubscriptionScheduleEndBehavior' -> String
(Int -> SubscriptionScheduleEndBehavior' -> ShowS)
-> (SubscriptionScheduleEndBehavior' -> String)
-> ([SubscriptionScheduleEndBehavior'] -> ShowS)
-> Show SubscriptionScheduleEndBehavior'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscriptionScheduleEndBehavior'] -> ShowS
$cshowList :: [SubscriptionScheduleEndBehavior'] -> ShowS
show :: SubscriptionScheduleEndBehavior' -> String
$cshow :: SubscriptionScheduleEndBehavior' -> String
showsPrec :: Int -> SubscriptionScheduleEndBehavior' -> ShowS
$cshowsPrec :: Int -> SubscriptionScheduleEndBehavior' -> ShowS
GHC.Show.Show, SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool
(SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool)
-> (SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool)
-> Eq SubscriptionScheduleEndBehavior'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool
$c/= :: SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool
== :: SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool
$c== :: SubscriptionScheduleEndBehavior'
-> SubscriptionScheduleEndBehavior' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON SubscriptionScheduleEndBehavior' where
toJSON :: SubscriptionScheduleEndBehavior' -> Value
toJSON (SubscriptionScheduleEndBehavior'Other Value
val) = Value
val
toJSON (SubscriptionScheduleEndBehavior'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumCancel) = Value
"cancel"
toJSON (SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumNone) = Value
"none"
toJSON (SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumRelease) = Value
"release"
toJSON (SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumRenew) = Value
"renew"
instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleEndBehavior' where
parseJSON :: Value -> Parser SubscriptionScheduleEndBehavior'
parseJSON Value
val =
SubscriptionScheduleEndBehavior'
-> Parser SubscriptionScheduleEndBehavior'
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
"cancel" -> SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumCancel
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"none" -> SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumNone
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"release" -> SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumRelease
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"renew" -> SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'EnumRenew
| Bool
GHC.Base.otherwise -> Value -> SubscriptionScheduleEndBehavior'
SubscriptionScheduleEndBehavior'Other Value
val
)
data SubscriptionScheduleStatus'
=
SubscriptionScheduleStatus'Other Data.Aeson.Types.Internal.Value
|
SubscriptionScheduleStatus'Typed Data.Text.Internal.Text
|
SubscriptionScheduleStatus'EnumActive
|
SubscriptionScheduleStatus'EnumCanceled
|
SubscriptionScheduleStatus'EnumCompleted
|
SubscriptionScheduleStatus'EnumNotStarted
|
SubscriptionScheduleStatus'EnumReleased
deriving (Int -> SubscriptionScheduleStatus' -> ShowS
[SubscriptionScheduleStatus'] -> ShowS
SubscriptionScheduleStatus' -> String
(Int -> SubscriptionScheduleStatus' -> ShowS)
-> (SubscriptionScheduleStatus' -> String)
-> ([SubscriptionScheduleStatus'] -> ShowS)
-> Show SubscriptionScheduleStatus'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscriptionScheduleStatus'] -> ShowS
$cshowList :: [SubscriptionScheduleStatus'] -> ShowS
show :: SubscriptionScheduleStatus' -> String
$cshow :: SubscriptionScheduleStatus' -> String
showsPrec :: Int -> SubscriptionScheduleStatus' -> ShowS
$cshowsPrec :: Int -> SubscriptionScheduleStatus' -> ShowS
GHC.Show.Show, SubscriptionScheduleStatus' -> SubscriptionScheduleStatus' -> Bool
(SubscriptionScheduleStatus'
-> SubscriptionScheduleStatus' -> Bool)
-> (SubscriptionScheduleStatus'
-> SubscriptionScheduleStatus' -> Bool)
-> Eq SubscriptionScheduleStatus'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscriptionScheduleStatus' -> SubscriptionScheduleStatus' -> Bool
$c/= :: SubscriptionScheduleStatus' -> SubscriptionScheduleStatus' -> Bool
== :: SubscriptionScheduleStatus' -> SubscriptionScheduleStatus' -> Bool
$c== :: SubscriptionScheduleStatus' -> SubscriptionScheduleStatus' -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON SubscriptionScheduleStatus' where
toJSON :: SubscriptionScheduleStatus' -> Value
toJSON (SubscriptionScheduleStatus'Other Value
val) = Value
val
toJSON (SubscriptionScheduleStatus'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
toJSON (SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumActive) = Value
"active"
toJSON (SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumCanceled) = Value
"canceled"
toJSON (SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumCompleted) = Value
"completed"
toJSON (SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumNotStarted) = Value
"not_started"
toJSON (SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumReleased) = Value
"released"
instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleStatus' where
parseJSON :: Value -> Parser SubscriptionScheduleStatus'
parseJSON Value
val =
SubscriptionScheduleStatus' -> Parser SubscriptionScheduleStatus'
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
"active" -> SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumActive
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"canceled" -> SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumCanceled
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"completed" -> SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumCompleted
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"not_started" -> SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumNotStarted
| Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"released" -> SubscriptionScheduleStatus'
SubscriptionScheduleStatus'EnumReleased
| Bool
GHC.Base.otherwise -> Value -> SubscriptionScheduleStatus'
SubscriptionScheduleStatus'Other Value
val
)
data SubscriptionScheduleSubscription'Variants
= SubscriptionScheduleSubscription'Text Data.Text.Internal.Text
| SubscriptionScheduleSubscription'Subscription Subscription
deriving (Int -> SubscriptionScheduleSubscription'Variants -> ShowS
[SubscriptionScheduleSubscription'Variants] -> ShowS
SubscriptionScheduleSubscription'Variants -> String
(Int -> SubscriptionScheduleSubscription'Variants -> ShowS)
-> (SubscriptionScheduleSubscription'Variants -> String)
-> ([SubscriptionScheduleSubscription'Variants] -> ShowS)
-> Show SubscriptionScheduleSubscription'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscriptionScheduleSubscription'Variants] -> ShowS
$cshowList :: [SubscriptionScheduleSubscription'Variants] -> ShowS
show :: SubscriptionScheduleSubscription'Variants -> String
$cshow :: SubscriptionScheduleSubscription'Variants -> String
showsPrec :: Int -> SubscriptionScheduleSubscription'Variants -> ShowS
$cshowsPrec :: Int -> SubscriptionScheduleSubscription'Variants -> ShowS
GHC.Show.Show, SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool
(SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool)
-> (SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool)
-> Eq SubscriptionScheduleSubscription'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool
$c/= :: SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool
== :: SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool
$c== :: SubscriptionScheduleSubscription'Variants
-> SubscriptionScheduleSubscription'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON SubscriptionScheduleSubscription'Variants where
toJSON :: SubscriptionScheduleSubscription'Variants -> Value
toJSON (SubscriptionScheduleSubscription'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
toJSON (SubscriptionScheduleSubscription'Subscription Subscription
a) = Subscription -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Subscription
a
instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleSubscription'Variants where
parseJSON :: Value -> Parser SubscriptionScheduleSubscription'Variants
parseJSON Value
val = case (Text -> SubscriptionScheduleSubscription'Variants
SubscriptionScheduleSubscription'Text (Text -> SubscriptionScheduleSubscription'Variants)
-> Result Text -> Result SubscriptionScheduleSubscription'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SubscriptionScheduleSubscription'Variants
-> Result SubscriptionScheduleSubscription'Variants
-> Result SubscriptionScheduleSubscription'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Subscription -> SubscriptionScheduleSubscription'Variants
SubscriptionScheduleSubscription'Subscription (Subscription -> SubscriptionScheduleSubscription'Variants)
-> Result Subscription
-> Result SubscriptionScheduleSubscription'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Subscription
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SubscriptionScheduleSubscription'Variants
-> Result SubscriptionScheduleSubscription'Variants
-> Result SubscriptionScheduleSubscription'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SubscriptionScheduleSubscription'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success SubscriptionScheduleSubscription'Variants
a -> SubscriptionScheduleSubscription'Variants
-> Parser SubscriptionScheduleSubscription'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SubscriptionScheduleSubscription'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser SubscriptionScheduleSubscription'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a