module Paddle.Client.DeleteModifier where

import Data.Aeson (ToJSON, toJSON, genericToJSON)
import Protolude
import Prelude ()
import Paddle.FieldModifier (customJSONOptions)


data DeleteModifier = DeleteModifier 
  { DeleteModifier -> Int
vendorId :: Int
  , DeleteModifier -> Text
vendorAuthCode :: Text
  , DeleteModifier -> Integer
modifierId :: Integer
  } deriving (Int -> DeleteModifier -> ShowS
[DeleteModifier] -> ShowS
DeleteModifier -> String
(Int -> DeleteModifier -> ShowS)
-> (DeleteModifier -> String)
-> ([DeleteModifier] -> ShowS)
-> Show DeleteModifier
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteModifier] -> ShowS
$cshowList :: [DeleteModifier] -> ShowS
show :: DeleteModifier -> String
$cshow :: DeleteModifier -> String
showsPrec :: Int -> DeleteModifier -> ShowS
$cshowsPrec :: Int -> DeleteModifier -> ShowS
Show, (forall x. DeleteModifier -> Rep DeleteModifier x)
-> (forall x. Rep DeleteModifier x -> DeleteModifier)
-> Generic DeleteModifier
forall x. Rep DeleteModifier x -> DeleteModifier
forall x. DeleteModifier -> Rep DeleteModifier x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteModifier x -> DeleteModifier
$cfrom :: forall x. DeleteModifier -> Rep DeleteModifier x
Generic)

instance ToJSON DeleteModifier where
  toJSON :: DeleteModifier -> Value
toJSON = Options -> DeleteModifier -> Value
forall a.
(Generic a, GToJSON' Value Zero (Rep a)) =>
Options -> a -> Value
genericToJSON Options
customJSONOptions