module Paddle.Client.CreateModifierResponse where

import Data.Aeson (FromJSON, parseJSON, genericParseJSON)
import Protolude
import Prelude ()
import Paddle.FieldModifier (customJSONOptions)
  
data CreateModifierResponse = CreateModifierResponse
  { CreateModifierResponse -> Integer
modifierId :: Integer
  , CreateModifierResponse -> Integer
subscriptionId :: Integer
  } deriving (Int -> CreateModifierResponse -> ShowS
[CreateModifierResponse] -> ShowS
CreateModifierResponse -> String
(Int -> CreateModifierResponse -> ShowS)
-> (CreateModifierResponse -> String)
-> ([CreateModifierResponse] -> ShowS)
-> Show CreateModifierResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateModifierResponse] -> ShowS
$cshowList :: [CreateModifierResponse] -> ShowS
show :: CreateModifierResponse -> String
$cshow :: CreateModifierResponse -> String
showsPrec :: Int -> CreateModifierResponse -> ShowS
$cshowsPrec :: Int -> CreateModifierResponse -> ShowS
Show, (forall x. CreateModifierResponse -> Rep CreateModifierResponse x)
-> (forall x.
    Rep CreateModifierResponse x -> CreateModifierResponse)
-> Generic CreateModifierResponse
forall x. Rep CreateModifierResponse x -> CreateModifierResponse
forall x. CreateModifierResponse -> Rep CreateModifierResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateModifierResponse x -> CreateModifierResponse
$cfrom :: forall x. CreateModifierResponse -> Rep CreateModifierResponse x
Generic)

instance FromJSON CreateModifierResponse where
  parseJSON :: Value -> Parser CreateModifierResponse
parseJSON = Options -> Value -> Parser CreateModifierResponse
forall a.
(Generic a, GFromJSON Zero (Rep a)) =>
Options -> Value -> Parser a
genericParseJSON Options
customJSONOptions