{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module OpenAPIPetstore.API.Pet where
import OpenAPIPetstore.Core
import OpenAPIPetstore.MimeTypes
import OpenAPIPetstore.Model as M
import qualified Data.Aeson as A
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
import qualified Data.Foldable as P
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Set as Set
import qualified Data.String as P
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified Data.Time as TI
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
addPet
:: (Consumes AddPet contentType, MimeRender contentType Pet)
=> ContentType contentType
-> Pet
-> OpenAPIPetstoreRequest AddPet contentType NoContent MimeNoContent
addPet :: ContentType contentType
-> Pet
-> OpenAPIPetstoreRequest
AddPet contentType NoContent MimeNoContent
addPet ContentType contentType
_ Pet
body =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
AddPet contentType NoContent MimeNoContent
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/pet"]
OpenAPIPetstoreRequest AddPet contentType NoContent MimeNoContent
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
AddPet contentType NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
OpenAPIPetstoreRequest AddPet contentType NoContent MimeNoContent
-> Pet
-> OpenAPIPetstoreRequest
AddPet contentType NoContent MimeNoContent
forall req param contentType res accept.
(HasBodyParam req param, Consumes req contentType,
MimeRender contentType param) =>
OpenAPIPetstoreRequest req contentType res accept
-> param -> OpenAPIPetstoreRequest req contentType res accept
`setBodyParam` Pet
body
data AddPet
instance HasBodyParam AddPet Pet
instance Consumes AddPet MimeXML
instance Consumes AddPet MimeJSON
instance Produces AddPet MimeNoContent
deletePet
:: PetId
-> OpenAPIPetstoreRequest DeletePet MimeNoContent NoContent MimeNoContent
deletePet :: PetId
-> OpenAPIPetstoreRequest
DeletePet MimeNoContent NoContent MimeNoContent
deletePet (PetId Integer
petId) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
DeletePet MimeNoContent NoContent MimeNoContent
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"DELETE" [ByteString
"/pet/",Integer -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Integer
petId]
OpenAPIPetstoreRequest
DeletePet MimeNoContent NoContent MimeNoContent
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
DeletePet MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data DeletePet
instance HasOptionalParam DeletePet ApiKey where
applyOptionalParam :: OpenAPIPetstoreRequest DeletePet contentType res accept
-> ApiKey
-> OpenAPIPetstoreRequest DeletePet contentType res accept
applyOptionalParam OpenAPIPetstoreRequest DeletePet contentType res accept
req (ApiKey Text
xs) =
OpenAPIPetstoreRequest DeletePet contentType res accept
req OpenAPIPetstoreRequest DeletePet contentType res accept
-> [Header]
-> OpenAPIPetstoreRequest DeletePet contentType res accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> [Header] -> OpenAPIPetstoreRequest req contentType res accept
`addHeader` (HeaderName, Text) -> [Header]
forall a. ToHttpApiData a => (HeaderName, a) -> [Header]
toHeader (HeaderName
"api_key", Text
xs)
instance Produces DeletePet MimeNoContent
findPetsByStatus
:: Accept accept
-> Status
-> OpenAPIPetstoreRequest FindPetsByStatus MimeNoContent [Pet] accept
findPetsByStatus :: Accept accept
-> Status
-> OpenAPIPetstoreRequest
FindPetsByStatus MimeNoContent [Pet] accept
findPetsByStatus Accept accept
_ (Status [E'Status2]
status) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
FindPetsByStatus MimeNoContent [Pet] accept
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"GET" [ByteString
"/pet/findByStatus"]
OpenAPIPetstoreRequest FindPetsByStatus MimeNoContent [Pet] accept
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
FindPetsByStatus MimeNoContent [Pet] accept
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
OpenAPIPetstoreRequest FindPetsByStatus MimeNoContent [Pet] accept
-> [QueryItem]
-> OpenAPIPetstoreRequest
FindPetsByStatus MimeNoContent [Pet] accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> [QueryItem] -> OpenAPIPetstoreRequest req contentType res accept
`addQuery` CollectionFormat -> (Method, Maybe [E'Status2]) -> [QueryItem]
forall a.
ToHttpApiData a =>
CollectionFormat -> (Method, Maybe [a]) -> [QueryItem]
toQueryColl CollectionFormat
CommaSeparated (Method
"status", [E'Status2] -> Maybe [E'Status2]
forall a. a -> Maybe a
Just [E'Status2]
status)
data FindPetsByStatus
instance Produces FindPetsByStatus MimeXML
instance Produces FindPetsByStatus MimeJSON
findPetsByTags
:: Accept accept
-> Tags
-> OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
findPetsByTags :: Accept accept
-> Tags
-> OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
findPetsByTags Accept accept
_ (Tags [Text]
tags) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"GET" [ByteString
"/pet/findByTags"]
OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
-> [QueryItem]
-> OpenAPIPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> [QueryItem] -> OpenAPIPetstoreRequest req contentType res accept
`addQuery` CollectionFormat -> (Method, Maybe [Text]) -> [QueryItem]
forall a.
ToHttpApiData a =>
CollectionFormat -> (Method, Maybe [a]) -> [QueryItem]
toQueryColl CollectionFormat
CommaSeparated (Method
"tags", [Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
tags)
{-# DEPRECATED findPetsByTags "" #-}
data FindPetsByTags
instance Produces FindPetsByTags MimeXML
instance Produces FindPetsByTags MimeJSON
getPetById
:: Accept accept
-> PetId
-> OpenAPIPetstoreRequest GetPetById MimeNoContent Pet accept
getPetById :: Accept accept
-> PetId
-> OpenAPIPetstoreRequest GetPetById MimeNoContent Pet accept
getPetById Accept accept
_ (PetId Integer
petId) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest GetPetById MimeNoContent Pet accept
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"GET" [ByteString
"/pet/",Integer -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Integer
petId]
OpenAPIPetstoreRequest GetPetById MimeNoContent Pet accept
-> Proxy AuthApiKeyApiKey
-> OpenAPIPetstoreRequest GetPetById MimeNoContent Pet accept
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyApiKey
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyApiKey)
data GetPetById
instance Produces GetPetById MimeXML
instance Produces GetPetById MimeJSON
updatePet
:: (Consumes UpdatePet contentType, MimeRender contentType Pet)
=> ContentType contentType
-> Pet
-> OpenAPIPetstoreRequest UpdatePet contentType NoContent MimeNoContent
updatePet :: ContentType contentType
-> Pet
-> OpenAPIPetstoreRequest
UpdatePet contentType NoContent MimeNoContent
updatePet ContentType contentType
_ Pet
body =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
UpdatePet contentType NoContent MimeNoContent
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"PUT" [ByteString
"/pet"]
OpenAPIPetstoreRequest
UpdatePet contentType NoContent MimeNoContent
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
UpdatePet contentType NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
OpenAPIPetstoreRequest
UpdatePet contentType NoContent MimeNoContent
-> Pet
-> OpenAPIPetstoreRequest
UpdatePet contentType NoContent MimeNoContent
forall req param contentType res accept.
(HasBodyParam req param, Consumes req contentType,
MimeRender contentType param) =>
OpenAPIPetstoreRequest req contentType res accept
-> param -> OpenAPIPetstoreRequest req contentType res accept
`setBodyParam` Pet
body
data UpdatePet
instance HasBodyParam UpdatePet Pet
instance Consumes UpdatePet MimeXML
instance Consumes UpdatePet MimeJSON
instance Produces UpdatePet MimeNoContent
updatePetWithForm
:: (Consumes UpdatePetWithForm MimeFormUrlEncoded)
=> PetId
-> OpenAPIPetstoreRequest UpdatePetWithForm MimeFormUrlEncoded NoContent MimeNoContent
updatePetWithForm :: PetId
-> OpenAPIPetstoreRequest
UpdatePetWithForm MimeFormUrlEncoded NoContent MimeNoContent
updatePetWithForm (PetId Integer
petId) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
UpdatePetWithForm MimeFormUrlEncoded NoContent MimeNoContent
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/pet/",Integer -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Integer
petId]
OpenAPIPetstoreRequest
UpdatePetWithForm MimeFormUrlEncoded NoContent MimeNoContent
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
UpdatePetWithForm MimeFormUrlEncoded NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UpdatePetWithForm
instance HasOptionalParam UpdatePetWithForm Name2 where
applyOptionalParam :: OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
-> Name2
-> OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
applyOptionalParam OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
req (Name2 Text
xs) =
OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
req OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
-> Form
-> OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> Form -> OpenAPIPetstoreRequest req contentType res accept
`addForm` (Method, Text) -> Form
forall v. ToHttpApiData v => (Method, v) -> Form
toForm (Method
"name", Text
xs)
instance HasOptionalParam UpdatePetWithForm StatusText where
applyOptionalParam :: OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
-> StatusText
-> OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
applyOptionalParam OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
req (StatusText Text
xs) =
OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
req OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
-> Form
-> OpenAPIPetstoreRequest UpdatePetWithForm contentType res accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> Form -> OpenAPIPetstoreRequest req contentType res accept
`addForm` (Method, Text) -> Form
forall v. ToHttpApiData v => (Method, v) -> Form
toForm (Method
"status", Text
xs)
instance Consumes UpdatePetWithForm MimeFormUrlEncoded
instance Produces UpdatePetWithForm MimeNoContent
uploadFile
:: (Consumes UploadFile MimeMultipartFormData)
=> PetId
-> OpenAPIPetstoreRequest UploadFile MimeMultipartFormData ApiResponse MimeJSON
uploadFile :: PetId
-> OpenAPIPetstoreRequest
UploadFile MimeMultipartFormData ApiResponse MimeJSON
uploadFile (PetId Integer
petId) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
UploadFile MimeMultipartFormData ApiResponse MimeJSON
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/pet/",Integer -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Integer
petId,ByteString
"/uploadImage"]
OpenAPIPetstoreRequest
UploadFile MimeMultipartFormData ApiResponse MimeJSON
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
UploadFile MimeMultipartFormData ApiResponse MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UploadFile
instance HasOptionalParam UploadFile AdditionalMetadata where
applyOptionalParam :: OpenAPIPetstoreRequest UploadFile contentType res accept
-> AdditionalMetadata
-> OpenAPIPetstoreRequest UploadFile contentType res accept
applyOptionalParam OpenAPIPetstoreRequest UploadFile contentType res accept
req (AdditionalMetadata Text
xs) =
OpenAPIPetstoreRequest UploadFile contentType res accept
req OpenAPIPetstoreRequest UploadFile contentType res accept
-> Part -> OpenAPIPetstoreRequest UploadFile contentType res accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> Part -> OpenAPIPetstoreRequest req contentType res accept
`_addMultiFormPart` Text -> ByteString -> Part
forall (m :: * -> *).
Applicative m =>
Text -> ByteString -> PartM m
NH.partLBS Text
"additionalMetadata" (MimeMultipartFormData -> Text -> ByteString
forall mtype x. MimeRender mtype x => mtype -> x -> ByteString
mimeRender' MimeMultipartFormData
MimeMultipartFormData Text
xs)
instance HasOptionalParam UploadFile File2 where
applyOptionalParam :: OpenAPIPetstoreRequest UploadFile contentType res accept
-> File2
-> OpenAPIPetstoreRequest UploadFile contentType res accept
applyOptionalParam OpenAPIPetstoreRequest UploadFile contentType res accept
req (File2 FilePath
xs) =
OpenAPIPetstoreRequest UploadFile contentType res accept
req OpenAPIPetstoreRequest UploadFile contentType res accept
-> Part -> OpenAPIPetstoreRequest UploadFile contentType res accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> Part -> OpenAPIPetstoreRequest req contentType res accept
`_addMultiFormPart` Text -> FilePath -> Part
NH.partFileSource Text
"file" FilePath
xs
instance Consumes UploadFile MimeMultipartFormData
instance Produces UploadFile MimeJSON
uploadFileWithRequiredFile
:: (Consumes UploadFileWithRequiredFile MimeMultipartFormData)
=> RequiredFile
-> PetId
-> OpenAPIPetstoreRequest UploadFileWithRequiredFile MimeMultipartFormData ApiResponse MimeJSON
uploadFileWithRequiredFile :: RequiredFile
-> PetId
-> OpenAPIPetstoreRequest
UploadFileWithRequiredFile
MimeMultipartFormData
ApiResponse
MimeJSON
uploadFileWithRequiredFile (RequiredFile FilePath
requiredFile) (PetId Integer
petId) =
Method
-> [ByteString]
-> OpenAPIPetstoreRequest
UploadFileWithRequiredFile
MimeMultipartFormData
ApiResponse
MimeJSON
forall req contentType res accept.
Method
-> [ByteString]
-> OpenAPIPetstoreRequest req contentType res accept
_mkRequest Method
"POST" [ByteString
"/fake/",Integer -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Integer
petId,ByteString
"/uploadImageWithRequiredFile"]
OpenAPIPetstoreRequest
UploadFileWithRequiredFile
MimeMultipartFormData
ApiResponse
MimeJSON
-> Proxy AuthOAuthPetstoreAuth
-> OpenAPIPetstoreRequest
UploadFileWithRequiredFile
MimeMultipartFormData
ApiResponse
MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
OpenAPIPetstoreRequest req contentType res accept
-> Proxy authMethod
-> OpenAPIPetstoreRequest req contentType res accept
`_hasAuthType` (Proxy AuthOAuthPetstoreAuth
forall k (t :: k). Proxy t
P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
OpenAPIPetstoreRequest
UploadFileWithRequiredFile
MimeMultipartFormData
ApiResponse
MimeJSON
-> Part
-> OpenAPIPetstoreRequest
UploadFileWithRequiredFile
MimeMultipartFormData
ApiResponse
MimeJSON
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> Part -> OpenAPIPetstoreRequest req contentType res accept
`_addMultiFormPart` Text -> FilePath -> Part
NH.partFileSource Text
"requiredFile" FilePath
requiredFile
data UploadFileWithRequiredFile
instance HasOptionalParam UploadFileWithRequiredFile AdditionalMetadata where
applyOptionalParam :: OpenAPIPetstoreRequest
UploadFileWithRequiredFile contentType res accept
-> AdditionalMetadata
-> OpenAPIPetstoreRequest
UploadFileWithRequiredFile contentType res accept
applyOptionalParam OpenAPIPetstoreRequest
UploadFileWithRequiredFile contentType res accept
req (AdditionalMetadata Text
xs) =
OpenAPIPetstoreRequest
UploadFileWithRequiredFile contentType res accept
req OpenAPIPetstoreRequest
UploadFileWithRequiredFile contentType res accept
-> Part
-> OpenAPIPetstoreRequest
UploadFileWithRequiredFile contentType res accept
forall req contentType res accept.
OpenAPIPetstoreRequest req contentType res accept
-> Part -> OpenAPIPetstoreRequest req contentType res accept
`_addMultiFormPart` Text -> ByteString -> Part
forall (m :: * -> *).
Applicative m =>
Text -> ByteString -> PartM m
NH.partLBS Text
"additionalMetadata" (MimeMultipartFormData -> Text -> ByteString
forall mtype x. MimeRender mtype x => mtype -> x -> ByteString
mimeRender' MimeMultipartFormData
MimeMultipartFormData Text
xs)
instance Consumes UploadFileWithRequiredFile MimeMultipartFormData
instance Produces UploadFileWithRequiredFile MimeJSON