{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DerivingStrategies #-}

module Hercules.API.Organizations.PaymentLink where

import Data.OpenApi qualified as O3
import Hercules.API.Prelude

data PaymentLink = PaymentLink
  { PaymentLink -> Text
url :: Text,
    PaymentLink -> Integer
productId :: Integer
  }
  deriving ((forall x. PaymentLink -> Rep PaymentLink x)
-> (forall x. Rep PaymentLink x -> PaymentLink)
-> Generic PaymentLink
forall x. Rep PaymentLink x -> PaymentLink
forall x. PaymentLink -> Rep PaymentLink x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. PaymentLink -> Rep PaymentLink x
from :: forall x. PaymentLink -> Rep PaymentLink x
$cto :: forall x. Rep PaymentLink x -> PaymentLink
to :: forall x. Rep PaymentLink x -> PaymentLink
Generic, Int -> PaymentLink -> ShowS
[PaymentLink] -> ShowS
PaymentLink -> String
(Int -> PaymentLink -> ShowS)
-> (PaymentLink -> String)
-> ([PaymentLink] -> ShowS)
-> Show PaymentLink
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PaymentLink -> ShowS
showsPrec :: Int -> PaymentLink -> ShowS
$cshow :: PaymentLink -> String
show :: PaymentLink -> String
$cshowList :: [PaymentLink] -> ShowS
showList :: [PaymentLink] -> ShowS
Show, PaymentLink -> PaymentLink -> Bool
(PaymentLink -> PaymentLink -> Bool)
-> (PaymentLink -> PaymentLink -> Bool) -> Eq PaymentLink
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PaymentLink -> PaymentLink -> Bool
== :: PaymentLink -> PaymentLink -> Bool
$c/= :: PaymentLink -> PaymentLink -> Bool
/= :: PaymentLink -> PaymentLink -> Bool
Eq)
  deriving anyclass (PaymentLink -> ()
(PaymentLink -> ()) -> NFData PaymentLink
forall a. (a -> ()) -> NFData a
$crnf :: PaymentLink -> ()
rnf :: PaymentLink -> ()
NFData, [PaymentLink] -> Value
[PaymentLink] -> Encoding
PaymentLink -> Value
PaymentLink -> Encoding
(PaymentLink -> Value)
-> (PaymentLink -> Encoding)
-> ([PaymentLink] -> Value)
-> ([PaymentLink] -> Encoding)
-> ToJSON PaymentLink
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
$ctoJSON :: PaymentLink -> Value
toJSON :: PaymentLink -> Value
$ctoEncoding :: PaymentLink -> Encoding
toEncoding :: PaymentLink -> Encoding
$ctoJSONList :: [PaymentLink] -> Value
toJSONList :: [PaymentLink] -> Value
$ctoEncodingList :: [PaymentLink] -> Encoding
toEncodingList :: [PaymentLink] -> Encoding
ToJSON, Value -> Parser [PaymentLink]
Value -> Parser PaymentLink
(Value -> Parser PaymentLink)
-> (Value -> Parser [PaymentLink]) -> FromJSON PaymentLink
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
$cparseJSON :: Value -> Parser PaymentLink
parseJSON :: Value -> Parser PaymentLink
$cparseJSONList :: Value -> Parser [PaymentLink]
parseJSONList :: Value -> Parser [PaymentLink]
FromJSON, Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema
(Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema)
-> ToSchema PaymentLink
forall a.
(Proxy a -> Declare (Definitions Schema) NamedSchema) -> ToSchema a
$cdeclareNamedSchema :: Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema
ToSchema, Typeable PaymentLink
Typeable PaymentLink
-> (Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema)
-> ToSchema PaymentLink
Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema
forall a.
Typeable a
-> (Proxy a -> Declare (Definitions Schema) NamedSchema)
-> ToSchema a
$cdeclareNamedSchema :: Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema
declareNamedSchema :: Proxy PaymentLink -> Declare (Definitions Schema) NamedSchema
O3.ToSchema)