module SwaggerPetstore.API.Pet where
import SwaggerPetstore.Core
import SwaggerPetstore.MimeTypes
import SwaggerPetstore.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
-> Accept accept
-> Pet
-> SwaggerPetstoreRequest AddPet contentType res accept
addPet _ _ body =
_mkRequest "POST" ["/pet"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
`setBodyParam` body
data AddPet
instance HasBodyParam AddPet Pet
instance Consumes AddPet MimeJSON
instance Consumes AddPet MimeXML
instance Produces AddPet MimeXML
instance Produces AddPet MimeJSON
deletePet
:: Accept accept
-> PetId
-> SwaggerPetstoreRequest DeletePet MimeNoContent res accept
deletePet _ (PetId petId) =
_mkRequest "DELETE" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data DeletePet
instance HasOptionalParam DeletePet ApiKey where
applyOptionalParam req (ApiKey xs) =
req `setHeader` toHeader ("api_key", xs)
instance Produces DeletePet MimeXML
instance Produces DeletePet MimeJSON
findPetsByStatus
:: Accept accept
-> Status
-> SwaggerPetstoreRequest FindPetsByStatus MimeNoContent [Pet] accept
findPetsByStatus _ (Status status) =
_mkRequest "GET" ["/pet/findByStatus"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
`setQuery` toQueryColl CommaSeparated ("status", Just status)
data FindPetsByStatus
instance Produces FindPetsByStatus MimeXML
instance Produces FindPetsByStatus MimeJSON
findPetsByTags
:: Accept accept
-> Tags
-> SwaggerPetstoreRequest FindPetsByTags MimeNoContent [Pet] accept
findPetsByTags _ (Tags tags) =
_mkRequest "GET" ["/pet/findByTags"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
`setQuery` toQueryColl CommaSeparated ("tags", Just tags)
data FindPetsByTags
instance Produces FindPetsByTags MimeXML
instance Produces FindPetsByTags MimeJSON
getPetById
:: Accept accept
-> PetId
-> SwaggerPetstoreRequest GetPetById MimeNoContent Pet accept
getPetById _ (PetId petId) =
_mkRequest "GET" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyApiKey)
data GetPetById
instance Produces GetPetById MimeXML
instance Produces GetPetById MimeJSON
updatePet
:: (Consumes UpdatePet contentType, MimeRender contentType Pet)
=> ContentType contentType
-> Accept accept
-> Pet
-> SwaggerPetstoreRequest UpdatePet contentType res accept
updatePet _ _ body =
_mkRequest "PUT" ["/pet"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
`setBodyParam` body
data UpdatePet
instance HasBodyParam UpdatePet Pet
instance Consumes UpdatePet MimeJSON
instance Consumes UpdatePet MimeXML
instance Produces UpdatePet MimeXML
instance Produces UpdatePet MimeJSON
updatePetWithForm
:: (Consumes UpdatePetWithForm contentType)
=> ContentType contentType
-> Accept accept
-> PetId
-> SwaggerPetstoreRequest UpdatePetWithForm contentType res accept
updatePetWithForm _ _ (PetId petId) =
_mkRequest "POST" ["/pet/",toPath petId]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UpdatePetWithForm
instance HasOptionalParam UpdatePetWithForm Name2 where
applyOptionalParam req (Name2 xs) =
req `addForm` toForm ("name", xs)
instance HasOptionalParam UpdatePetWithForm StatusText where
applyOptionalParam req (StatusText xs) =
req `addForm` toForm ("status", xs)
instance Consumes UpdatePetWithForm MimeFormUrlEncoded
instance Produces UpdatePetWithForm MimeXML
instance Produces UpdatePetWithForm MimeJSON
uploadFile
:: (Consumes UploadFile contentType)
=> ContentType contentType
-> Accept accept
-> PetId
-> SwaggerPetstoreRequest UploadFile contentType ApiResponse accept
uploadFile _ _ (PetId petId) =
_mkRequest "POST" ["/pet/",toPath petId,"/uploadImage"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthOAuthPetstoreAuth)
data UploadFile
instance HasOptionalParam UploadFile AdditionalMetadata where
applyOptionalParam req (AdditionalMetadata xs) =
req `_addMultiFormPart` NH.partLBS "additionalMetadata" (mimeRender' MimeMultipartFormData xs)
instance HasOptionalParam UploadFile File where
applyOptionalParam req (File xs) =
req `_addMultiFormPart` NH.partFileSource "file" xs
instance Consumes UploadFile MimeMultipartFormData
instance Produces UploadFile MimeJSON