{-# 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 postOrdersIdReturns
module StripeAPI.Operations.PostOrdersIdReturns 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

-- | > POST /v1/orders/{id}/returns
--
-- \<p>Return all or part of an order. The order must have a status of \<code>paid\<\/code> or \<code>fulfilled\<\/code> before it can be returned. Once all items have been returned, the order will become \<code>canceled\<\/code> or \<code>returned\<\/code> depending on which status the order started in.\<\/p>
postOrdersIdReturns ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | id | Constraints: Maximum length of 5000
  Data.Text.Internal.Text ->
  -- | The request body to send
  GHC.Maybe.Maybe PostOrdersIdReturnsRequestBody ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostOrdersIdReturnsResponse)
postOrdersIdReturns :: Text
-> Maybe PostOrdersIdReturnsRequestBody
-> ClientT m (Response PostOrdersIdReturnsResponse)
postOrdersIdReturns
  Text
id
  Maybe PostOrdersIdReturnsRequestBody
body =
    (Response ByteString -> Response PostOrdersIdReturnsResponse)
-> ClientT m (Response ByteString)
-> ClientT m (Response PostOrdersIdReturnsResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
      ( \Response ByteString
response_0 ->
          (ByteString -> PostOrdersIdReturnsResponse)
-> Response ByteString -> Response PostOrdersIdReturnsResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
            ( (String -> PostOrdersIdReturnsResponse)
-> (PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse)
-> Either String PostOrdersIdReturnsResponse
-> PostOrdersIdReturnsResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> PostOrdersIdReturnsResponse
PostOrdersIdReturnsResponseError PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse
forall a. a -> a
GHC.Base.id
                (Either String PostOrdersIdReturnsResponse
 -> PostOrdersIdReturnsResponse)
-> (ByteString -> Either String PostOrdersIdReturnsResponse)
-> ByteString
-> PostOrdersIdReturnsResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. ( \Response ByteString
response ByteString
body ->
                               if
                                   | (\Status
status_1 -> Status -> Int
Network.HTTP.Types.Status.statusCode Status
status_1 Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Int
200) (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     OrderReturn -> PostOrdersIdReturnsResponse
PostOrdersIdReturnsResponse200
                                       (OrderReturn -> PostOrdersIdReturnsResponse)
-> Either String OrderReturn
-> Either String PostOrdersIdReturnsResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String OrderReturn
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              OrderReturn
                                                        )
                                   | Bool -> Status -> Bool
forall a b. a -> b -> a
GHC.Base.const Bool
GHC.Types.True (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     Error -> PostOrdersIdReturnsResponse
PostOrdersIdReturnsResponseDefault
                                       (Error -> PostOrdersIdReturnsResponse)
-> Either String Error -> Either String PostOrdersIdReturnsResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Error
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              Error
                                                        )
                                   | Bool
GHC.Base.otherwise -> String -> Either String PostOrdersIdReturnsResponse
forall a b. a -> Either a b
Data.Either.Left String
"Missing default response type"
                           )
                  Response ByteString
response_0
            )
            Response ByteString
response_0
      )
      (Text
-> Text
-> [QueryParameter]
-> Maybe PostOrdersIdReturnsRequestBody
-> RequestBodyEncoding
-> ClientT m (Response ByteString)
forall (m :: * -> *) body.
(MonadHTTP m, ToJSON body) =>
Text
-> Text
-> [QueryParameter]
-> Maybe body
-> RequestBodyEncoding
-> ClientT m (Response ByteString)
StripeAPI.Common.doBodyCallWithConfigurationM (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"POST") (String -> Text
Data.Text.pack (String
"/v1/orders/" String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (ByteString -> String
Data.ByteString.Char8.unpack (Bool -> ByteString -> ByteString
Network.HTTP.Types.URI.urlEncode Bool
GHC.Types.True (ByteString -> ByteString) -> ByteString -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ (String -> ByteString
Data.ByteString.Char8.pack (String -> ByteString) -> String -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ Text -> String
forall a. StringifyModel a => a -> String
StripeAPI.Common.stringifyModel Text
id)) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ String
"/returns"))) [QueryParameter]
forall a. Monoid a => a
GHC.Base.mempty Maybe PostOrdersIdReturnsRequestBody
body RequestBodyEncoding
StripeAPI.Common.RequestBodyEncodingFormData)

-- | Defines the object schema located at @paths.\/v1\/orders\/{id}\/returns.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification.
data PostOrdersIdReturnsRequestBody = PostOrdersIdReturnsRequestBody
  { -- | expand: Specifies which fields in the response should be expanded.
    PostOrdersIdReturnsRequestBody -> Maybe [Text]
postOrdersIdReturnsRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
    -- | items: List of items to return.
    PostOrdersIdReturnsRequestBody
-> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
postOrdersIdReturnsRequestBodyItems :: (GHC.Maybe.Maybe PostOrdersIdReturnsRequestBodyItems'Variants)
  }
  deriving
    ( Int -> PostOrdersIdReturnsRequestBody -> String -> String
[PostOrdersIdReturnsRequestBody] -> String -> String
PostOrdersIdReturnsRequestBody -> String
(Int -> PostOrdersIdReturnsRequestBody -> String -> String)
-> (PostOrdersIdReturnsRequestBody -> String)
-> ([PostOrdersIdReturnsRequestBody] -> String -> String)
-> Show PostOrdersIdReturnsRequestBody
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostOrdersIdReturnsRequestBody] -> String -> String
$cshowList :: [PostOrdersIdReturnsRequestBody] -> String -> String
show :: PostOrdersIdReturnsRequestBody -> String
$cshow :: PostOrdersIdReturnsRequestBody -> String
showsPrec :: Int -> PostOrdersIdReturnsRequestBody -> String -> String
$cshowsPrec :: Int -> PostOrdersIdReturnsRequestBody -> String -> String
GHC.Show.Show,
      PostOrdersIdReturnsRequestBody
-> PostOrdersIdReturnsRequestBody -> Bool
(PostOrdersIdReturnsRequestBody
 -> PostOrdersIdReturnsRequestBody -> Bool)
-> (PostOrdersIdReturnsRequestBody
    -> PostOrdersIdReturnsRequestBody -> Bool)
-> Eq PostOrdersIdReturnsRequestBody
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostOrdersIdReturnsRequestBody
-> PostOrdersIdReturnsRequestBody -> Bool
$c/= :: PostOrdersIdReturnsRequestBody
-> PostOrdersIdReturnsRequestBody -> Bool
== :: PostOrdersIdReturnsRequestBody
-> PostOrdersIdReturnsRequestBody -> Bool
$c== :: PostOrdersIdReturnsRequestBody
-> PostOrdersIdReturnsRequestBody -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostOrdersIdReturnsRequestBody where
  toJSON :: PostOrdersIdReturnsRequestBody -> Value
toJSON PostOrdersIdReturnsRequestBody
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"expand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBody -> Maybe [Text]
postOrdersIdReturnsRequestBodyExpand PostOrdersIdReturnsRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"items" Text -> Maybe PostOrdersIdReturnsRequestBodyItems'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBody
-> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
postOrdersIdReturnsRequestBodyItems PostOrdersIdReturnsRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostOrdersIdReturnsRequestBody -> Encoding
toEncoding PostOrdersIdReturnsRequestBody
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"expand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBody -> Maybe [Text]
postOrdersIdReturnsRequestBodyExpand PostOrdersIdReturnsRequestBody
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"items" Text
-> Maybe PostOrdersIdReturnsRequestBodyItems'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBody
-> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
postOrdersIdReturnsRequestBodyItems PostOrdersIdReturnsRequestBody
obj))

instance Data.Aeson.Types.FromJSON.FromJSON PostOrdersIdReturnsRequestBody where
  parseJSON :: Value -> Parser PostOrdersIdReturnsRequestBody
parseJSON = String
-> (Object -> Parser PostOrdersIdReturnsRequestBody)
-> Value
-> Parser PostOrdersIdReturnsRequestBody
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostOrdersIdReturnsRequestBody" (\Object
obj -> ((Maybe [Text]
 -> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
 -> PostOrdersIdReturnsRequestBody)
-> Parser
     (Maybe [Text]
      -> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
      -> PostOrdersIdReturnsRequestBody)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text]
-> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBody
PostOrdersIdReturnsRequestBody Parser
  (Maybe [Text]
   -> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
   -> PostOrdersIdReturnsRequestBody)
-> Parser (Maybe [Text])
-> Parser
     (Maybe PostOrdersIdReturnsRequestBodyItems'Variants
      -> PostOrdersIdReturnsRequestBody)
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
"expand")) Parser
  (Maybe PostOrdersIdReturnsRequestBodyItems'Variants
   -> PostOrdersIdReturnsRequestBody)
-> Parser (Maybe PostOrdersIdReturnsRequestBodyItems'Variants)
-> Parser PostOrdersIdReturnsRequestBody
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostOrdersIdReturnsRequestBodyItems'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"items"))

-- | Create a new 'PostOrdersIdReturnsRequestBody' with all required fields.
mkPostOrdersIdReturnsRequestBody :: PostOrdersIdReturnsRequestBody
mkPostOrdersIdReturnsRequestBody :: PostOrdersIdReturnsRequestBody
mkPostOrdersIdReturnsRequestBody =
  PostOrdersIdReturnsRequestBody :: Maybe [Text]
-> Maybe PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBody
PostOrdersIdReturnsRequestBody
    { postOrdersIdReturnsRequestBodyExpand :: Maybe [Text]
postOrdersIdReturnsRequestBodyExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
      postOrdersIdReturnsRequestBodyItems :: Maybe PostOrdersIdReturnsRequestBodyItems'Variants
postOrdersIdReturnsRequestBodyItems = Maybe PostOrdersIdReturnsRequestBodyItems'Variants
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/orders\/{id}\/returns.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.anyOf.items@ in the specification.
data PostOrdersIdReturnsRequestBodyItems'OneOf1 = PostOrdersIdReturnsRequestBodyItems'OneOf1
  { -- | amount
    PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | description
    --
    -- Constraints:
    --
    -- * Maximum length of 1000
    PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | parent
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Parent :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | quantity
    PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Quantity :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | type
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PostOrdersIdReturnsRequestBodyItems'OneOf1
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
postOrdersIdReturnsRequestBodyItems'OneOf1Type :: (GHC.Maybe.Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type')
  }
  deriving
    ( Int
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String -> String
[PostOrdersIdReturnsRequestBodyItems'OneOf1] -> String -> String
PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String
(Int
 -> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String -> String)
-> (PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String)
-> ([PostOrdersIdReturnsRequestBodyItems'OneOf1]
    -> String -> String)
-> Show PostOrdersIdReturnsRequestBodyItems'OneOf1
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostOrdersIdReturnsRequestBodyItems'OneOf1] -> String -> String
$cshowList :: [PostOrdersIdReturnsRequestBodyItems'OneOf1] -> String -> String
show :: PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String
$cshow :: PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String
showsPrec :: Int
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String -> String
$cshowsPrec :: Int
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> String -> String
GHC.Show.Show,
      PostOrdersIdReturnsRequestBodyItems'OneOf1
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool
(PostOrdersIdReturnsRequestBodyItems'OneOf1
 -> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool)
-> (PostOrdersIdReturnsRequestBodyItems'OneOf1
    -> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool)
-> Eq PostOrdersIdReturnsRequestBodyItems'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostOrdersIdReturnsRequestBodyItems'OneOf1
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool
$c/= :: PostOrdersIdReturnsRequestBodyItems'OneOf1
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool
== :: PostOrdersIdReturnsRequestBodyItems'OneOf1
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool
$c== :: PostOrdersIdReturnsRequestBodyItems'OneOf1
-> PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PostOrdersIdReturnsRequestBodyItems'OneOf1 where
  toJSON :: PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Value
toJSON PostOrdersIdReturnsRequestBodyItems'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Amount PostOrdersIdReturnsRequestBodyItems'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Description PostOrdersIdReturnsRequestBodyItems'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"parent" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Parent PostOrdersIdReturnsRequestBodyItems'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"quantity" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Quantity PostOrdersIdReturnsRequestBodyItems'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
postOrdersIdReturnsRequestBodyItems'OneOf1Type PostOrdersIdReturnsRequestBodyItems'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Encoding
toEncoding PostOrdersIdReturnsRequestBodyItems'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Amount PostOrdersIdReturnsRequestBodyItems'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Description PostOrdersIdReturnsRequestBodyItems'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"parent" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Parent PostOrdersIdReturnsRequestBodyItems'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"quantity" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1 -> Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Quantity PostOrdersIdReturnsRequestBodyItems'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"type" Text
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PostOrdersIdReturnsRequestBodyItems'OneOf1
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
postOrdersIdReturnsRequestBodyItems'OneOf1Type PostOrdersIdReturnsRequestBodyItems'OneOf1
obj)))))

instance Data.Aeson.Types.FromJSON.FromJSON PostOrdersIdReturnsRequestBodyItems'OneOf1 where
  parseJSON :: Value -> Parser PostOrdersIdReturnsRequestBodyItems'OneOf1
parseJSON = String
-> (Object -> Parser PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Value
-> Parser PostOrdersIdReturnsRequestBodyItems'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PostOrdersIdReturnsRequestBodyItems'OneOf1" (\Object
obj -> (((((Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
 -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
      -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1
PostOrdersIdReturnsRequestBodyItems'OneOf1 Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
   -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
      -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
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
"amount")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
   -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
      -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
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
"description")) Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
   -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
      -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
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
"parent")) Parser
  (Maybe Int
   -> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
   -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Parser (Maybe Int)
-> Parser
     (Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
      -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
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
"quantity")) Parser
  (Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
   -> PostOrdersIdReturnsRequestBodyItems'OneOf1)
-> Parser (Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type')
-> Parser PostOrdersIdReturnsRequestBodyItems'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"type"))

-- | Create a new 'PostOrdersIdReturnsRequestBodyItems'OneOf1' with all required fields.
mkPostOrdersIdReturnsRequestBodyItems'OneOf1 :: PostOrdersIdReturnsRequestBodyItems'OneOf1
mkPostOrdersIdReturnsRequestBodyItems'OneOf1 :: PostOrdersIdReturnsRequestBodyItems'OneOf1
mkPostOrdersIdReturnsRequestBodyItems'OneOf1 =
  PostOrdersIdReturnsRequestBodyItems'OneOf1 :: Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1
PostOrdersIdReturnsRequestBodyItems'OneOf1
    { postOrdersIdReturnsRequestBodyItems'OneOf1Amount :: Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postOrdersIdReturnsRequestBodyItems'OneOf1Description :: Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Description = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postOrdersIdReturnsRequestBodyItems'OneOf1Parent :: Maybe Text
postOrdersIdReturnsRequestBodyItems'OneOf1Parent = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      postOrdersIdReturnsRequestBodyItems'OneOf1Quantity :: Maybe Int
postOrdersIdReturnsRequestBodyItems'OneOf1Quantity = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      postOrdersIdReturnsRequestBodyItems'OneOf1Type :: Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
postOrdersIdReturnsRequestBodyItems'OneOf1Type = Maybe PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/orders\/{id}\/returns.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.anyOf.items.properties.type@ in the specification.
data PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"discount"@
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumDiscount
  | -- | Represents the JSON value @"shipping"@
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumShipping
  | -- | Represents the JSON value @"sku"@
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumSku
  | -- | Represents the JSON value @"tax"@
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumTax
  deriving (Int
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> String
-> String
[PostOrdersIdReturnsRequestBodyItems'OneOf1Type']
-> String -> String
PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> String
(Int
 -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
 -> String
 -> String)
-> (PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> String)
-> ([PostOrdersIdReturnsRequestBodyItems'OneOf1Type']
    -> String -> String)
-> Show PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostOrdersIdReturnsRequestBodyItems'OneOf1Type']
-> String -> String
$cshowList :: [PostOrdersIdReturnsRequestBodyItems'OneOf1Type']
-> String -> String
show :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> String
$cshow :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> String
showsPrec :: Int
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> String
-> String
$cshowsPrec :: Int
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> String
-> String
GHC.Show.Show, PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool
(PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
 -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool)
-> (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
    -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool)
-> Eq PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool
$c/= :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool
== :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool
$c== :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostOrdersIdReturnsRequestBodyItems'OneOf1Type' where
  toJSON :: PostOrdersIdReturnsRequestBodyItems'OneOf1Type' -> Value
toJSON (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'Other Value
val) = Value
val
  toJSON (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumDiscount) = Value
"discount"
  toJSON (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumShipping) = Value
"shipping"
  toJSON (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumSku) = Value
"sku"
  toJSON (PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumTax) = Value
"tax"

instance Data.Aeson.Types.FromJSON.FromJSON PostOrdersIdReturnsRequestBodyItems'OneOf1Type' where
  parseJSON :: Value -> Parser PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
parseJSON Value
val =
    PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
-> Parser PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
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
"discount" -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumDiscount
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"shipping" -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumShipping
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sku" -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumSku
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"tax" -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'EnumTax
            | Bool
GHC.Base.otherwise -> Value -> PostOrdersIdReturnsRequestBodyItems'OneOf1Type'
PostOrdersIdReturnsRequestBodyItems'OneOf1Type'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/orders\/{id}\/returns.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.items.anyOf@ in the specification.
--
-- List of items to return.
data PostOrdersIdReturnsRequestBodyItems'Variants
  = -- | Represents the JSON value @""@
    PostOrdersIdReturnsRequestBodyItems'EmptyString
  | PostOrdersIdReturnsRequestBodyItems'ListTPostOrdersIdReturnsRequestBodyItems'OneOf1 ([PostOrdersIdReturnsRequestBodyItems'OneOf1])
  deriving (Int
-> PostOrdersIdReturnsRequestBodyItems'Variants -> String -> String
[PostOrdersIdReturnsRequestBodyItems'Variants] -> String -> String
PostOrdersIdReturnsRequestBodyItems'Variants -> String
(Int
 -> PostOrdersIdReturnsRequestBodyItems'Variants
 -> String
 -> String)
-> (PostOrdersIdReturnsRequestBodyItems'Variants -> String)
-> ([PostOrdersIdReturnsRequestBodyItems'Variants]
    -> String -> String)
-> Show PostOrdersIdReturnsRequestBodyItems'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostOrdersIdReturnsRequestBodyItems'Variants] -> String -> String
$cshowList :: [PostOrdersIdReturnsRequestBodyItems'Variants] -> String -> String
show :: PostOrdersIdReturnsRequestBodyItems'Variants -> String
$cshow :: PostOrdersIdReturnsRequestBodyItems'Variants -> String
showsPrec :: Int
-> PostOrdersIdReturnsRequestBodyItems'Variants -> String -> String
$cshowsPrec :: Int
-> PostOrdersIdReturnsRequestBodyItems'Variants -> String -> String
GHC.Show.Show, PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool
(PostOrdersIdReturnsRequestBodyItems'Variants
 -> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool)
-> (PostOrdersIdReturnsRequestBodyItems'Variants
    -> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool)
-> Eq PostOrdersIdReturnsRequestBodyItems'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool
$c/= :: PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool
== :: PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool
$c== :: PostOrdersIdReturnsRequestBodyItems'Variants
-> PostOrdersIdReturnsRequestBodyItems'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON PostOrdersIdReturnsRequestBodyItems'Variants where
  toJSON :: PostOrdersIdReturnsRequestBodyItems'Variants -> Value
toJSON (PostOrdersIdReturnsRequestBodyItems'ListTPostOrdersIdReturnsRequestBodyItems'OneOf1 [PostOrdersIdReturnsRequestBodyItems'OneOf1]
a) = [PostOrdersIdReturnsRequestBodyItems'OneOf1] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON [PostOrdersIdReturnsRequestBodyItems'OneOf1]
a
  toJSON (PostOrdersIdReturnsRequestBodyItems'Variants
PostOrdersIdReturnsRequestBodyItems'EmptyString) = Value
""

instance Data.Aeson.Types.FromJSON.FromJSON PostOrdersIdReturnsRequestBodyItems'Variants where
  parseJSON :: Value -> Parser PostOrdersIdReturnsRequestBodyItems'Variants
parseJSON Value
val =
    if
        | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"" -> PostOrdersIdReturnsRequestBodyItems'Variants
-> Parser PostOrdersIdReturnsRequestBodyItems'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostOrdersIdReturnsRequestBodyItems'Variants
PostOrdersIdReturnsRequestBodyItems'EmptyString
        | Bool
GHC.Base.otherwise -> case ([PostOrdersIdReturnsRequestBodyItems'OneOf1]
-> PostOrdersIdReturnsRequestBodyItems'Variants
PostOrdersIdReturnsRequestBodyItems'ListTPostOrdersIdReturnsRequestBodyItems'OneOf1 ([PostOrdersIdReturnsRequestBodyItems'OneOf1]
 -> PostOrdersIdReturnsRequestBodyItems'Variants)
-> Result [PostOrdersIdReturnsRequestBodyItems'OneOf1]
-> Result PostOrdersIdReturnsRequestBodyItems'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result [PostOrdersIdReturnsRequestBodyItems'OneOf1]
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result PostOrdersIdReturnsRequestBodyItems'Variants
-> Result PostOrdersIdReturnsRequestBodyItems'Variants
-> Result PostOrdersIdReturnsRequestBodyItems'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result PostOrdersIdReturnsRequestBodyItems'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched" of
          Data.Aeson.Types.Internal.Success PostOrdersIdReturnsRequestBodyItems'Variants
a -> PostOrdersIdReturnsRequestBodyItems'Variants
-> Parser PostOrdersIdReturnsRequestBodyItems'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure PostOrdersIdReturnsRequestBodyItems'Variants
a
          Data.Aeson.Types.Internal.Error String
a -> String -> Parser PostOrdersIdReturnsRequestBodyItems'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Represents a response of the operation 'postOrdersIdReturns'.
--
-- 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), 'PostOrdersIdReturnsResponseError' is used.
data PostOrdersIdReturnsResponse
  = -- | Means either no matching case available or a parse error
    PostOrdersIdReturnsResponseError GHC.Base.String
  | -- | Successful response.
    PostOrdersIdReturnsResponse200 OrderReturn
  | -- | Error response.
    PostOrdersIdReturnsResponseDefault Error
  deriving (Int -> PostOrdersIdReturnsResponse -> String -> String
[PostOrdersIdReturnsResponse] -> String -> String
PostOrdersIdReturnsResponse -> String
(Int -> PostOrdersIdReturnsResponse -> String -> String)
-> (PostOrdersIdReturnsResponse -> String)
-> ([PostOrdersIdReturnsResponse] -> String -> String)
-> Show PostOrdersIdReturnsResponse
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [PostOrdersIdReturnsResponse] -> String -> String
$cshowList :: [PostOrdersIdReturnsResponse] -> String -> String
show :: PostOrdersIdReturnsResponse -> String
$cshow :: PostOrdersIdReturnsResponse -> String
showsPrec :: Int -> PostOrdersIdReturnsResponse -> String -> String
$cshowsPrec :: Int -> PostOrdersIdReturnsResponse -> String -> String
GHC.Show.Show, PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse -> Bool
(PostOrdersIdReturnsResponse
 -> PostOrdersIdReturnsResponse -> Bool)
-> (PostOrdersIdReturnsResponse
    -> PostOrdersIdReturnsResponse -> Bool)
-> Eq PostOrdersIdReturnsResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse -> Bool
$c/= :: PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse -> Bool
== :: PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse -> Bool
$c== :: PostOrdersIdReturnsResponse -> PostOrdersIdReturnsResponse -> Bool
GHC.Classes.Eq)