{-
   Gitea API

   This documentation describes the Gitea API.

   OpenAPI Version: 3.0.1
   Gitea API API version: 1.23.1
   Generated by OpenAPI Generator (https://openapi-generator.tech)
-}

{-|
Module : Gitea.API.Package
-}

{-# 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 Gitea.API.Package where

import Gitea.Core
import Gitea.MimeTypes
import Gitea.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

-- * Operations


-- ** Package

-- *** deletePackage

-- | @DELETE \/packages\/{owner}\/{type}\/{name}\/{version}@
-- 
-- Delete a package
-- 
-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'
-- 
deletePackage
  :: Owner -- ^ "owner" -  owner of the package
  -> ParamTypeText -- ^ "_type" -  type of the package
  -> Name -- ^ "name" -  name of the package
  -> Version -- ^ "version" -  version of the package
  -> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
deletePackage :: Owner
-> ParamTypeText
-> Name
-> Version
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
deletePackage (Owner Text
owner) (ParamTypeText Text
_type) (Name Text
name) (Version Text
version) =
  Method
-> [ByteString]
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall req contentType res accept.
Method -> [ByteString] -> GiteaRequest req contentType res accept
_mkRequest Method
"DELETE" [ByteString
"/packages/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
owner,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
_type,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
name,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
version]
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthApiKeyTOTPHeader
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyTOTPHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthApiKeyAuthorizationHeaderToken
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAuthorizationHeaderToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthApiKeySudoHeader
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoHeader)
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthBasicBasicAuth
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthBasicBasicAuth
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthBasicBasicAuth)
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthApiKeyAccessToken
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAccessToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAccessToken)
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthApiKeySudoParam
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoParam
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoParam)
    GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
-> Proxy AuthApiKeyToken
-> GiteaRequest DeletePackage MimeNoContent NoContent MimeNoContent
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyToken)

data DeletePackage  
instance Produces DeletePackage MimeNoContent


-- *** getPackage

-- | @GET \/packages\/{owner}\/{type}\/{name}\/{version}@
-- 
-- Gets a package
-- 
-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'
-- 
getPackage
  :: Owner -- ^ "owner" -  owner of the package
  -> ParamTypeText -- ^ "_type" -  type of the package
  -> Name -- ^ "name" -  name of the package
  -> Version -- ^ "version" -  version of the package
  -> GiteaRequest GetPackage MimeNoContent Package MimeJSON
getPackage :: Owner
-> ParamTypeText
-> Name
-> Version
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
getPackage (Owner Text
owner) (ParamTypeText Text
_type) (Name Text
name) (Version Text
version) =
  Method
-> [ByteString]
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall req contentType res accept.
Method -> [ByteString] -> GiteaRequest req contentType res accept
_mkRequest Method
"GET" [ByteString
"/packages/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
owner,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
_type,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
name,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
version]
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthApiKeyTOTPHeader
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyTOTPHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthApiKeyAuthorizationHeaderToken
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAuthorizationHeaderToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthApiKeySudoHeader
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoHeader)
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthBasicBasicAuth
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthBasicBasicAuth
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthBasicBasicAuth)
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthApiKeyAccessToken
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAccessToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAccessToken)
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthApiKeySudoParam
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoParam
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoParam)
    GiteaRequest GetPackage MimeNoContent Package MimeJSON
-> Proxy AuthApiKeyToken
-> GiteaRequest GetPackage MimeNoContent Package MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyToken)

data GetPackage  
-- | @application/json@
instance Produces GetPackage MimeJSON


-- *** listPackageFiles

-- | @GET \/packages\/{owner}\/{type}\/{name}\/{version}\/files@
-- 
-- Gets all files of a package
-- 
-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'
-- 
listPackageFiles
  :: Owner -- ^ "owner" -  owner of the package
  -> ParamTypeText -- ^ "_type" -  type of the package
  -> Name -- ^ "name" -  name of the package
  -> Version -- ^ "version" -  version of the package
  -> GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
listPackageFiles :: Owner
-> ParamTypeText
-> Name
-> Version
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
listPackageFiles (Owner Text
owner) (ParamTypeText Text
_type) (Name Text
name) (Version Text
version) =
  Method
-> [ByteString]
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall req contentType res accept.
Method -> [ByteString] -> GiteaRequest req contentType res accept
_mkRequest Method
"GET" [ByteString
"/packages/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
owner,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
_type,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
name,ByteString
"/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
version,ByteString
"/files"]
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthApiKeyTOTPHeader
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyTOTPHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthApiKeyAuthorizationHeaderToken
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAuthorizationHeaderToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthApiKeySudoHeader
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoHeader)
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthBasicBasicAuth
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthBasicBasicAuth
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthBasicBasicAuth)
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthApiKeyAccessToken
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAccessToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAccessToken)
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthApiKeySudoParam
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoParam
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoParam)
    GiteaRequest ListPackageFiles MimeNoContent [PackageFile] MimeJSON
-> Proxy AuthApiKeyToken
-> GiteaRequest
     ListPackageFiles MimeNoContent [PackageFile] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyToken)

data ListPackageFiles  
-- | @application/json@
instance Produces ListPackageFiles MimeJSON


-- *** listPackages

-- | @GET \/packages\/{owner}@
-- 
-- Gets all packages of an owner
-- 
-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'
-- 
listPackages
  :: Owner -- ^ "owner" -  owner of the packages
  -> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
listPackages :: Owner -> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
listPackages (Owner Text
owner) =
  Method
-> [ByteString]
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall req contentType res accept.
Method -> [ByteString] -> GiteaRequest req contentType res accept
_mkRequest Method
"GET" [ByteString
"/packages/",Text -> ByteString
forall a. ToHttpApiData a => a -> ByteString
toPath Text
owner]
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthApiKeyTOTPHeader
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyTOTPHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthApiKeyAuthorizationHeaderToken
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAuthorizationHeaderToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthApiKeySudoHeader
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoHeader
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoHeader)
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthBasicBasicAuth
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthBasicBasicAuth
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthBasicBasicAuth)
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthApiKeyAccessToken
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyAccessToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyAccessToken)
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthApiKeySudoParam
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeySudoParam
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeySudoParam)
    GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
-> Proxy AuthApiKeyToken
-> GiteaRequest ListPackages MimeNoContent [Package] MimeJSON
forall authMethod req contentType res accept.
AuthMethod authMethod =>
GiteaRequest req contentType res accept
-> Proxy authMethod -> GiteaRequest req contentType res accept
`_hasAuthType` (Proxy AuthApiKeyToken
forall {k} (t :: k). Proxy t
P.Proxy :: P.Proxy AuthApiKeyToken)

data ListPackages  

-- | /Optional Param/ "page" - page number of results to return (1-based)
instance HasOptionalParam ListPackages Page where
  applyOptionalParam :: forall contentType res accept.
GiteaRequest ListPackages contentType res accept
-> Page -> GiteaRequest ListPackages contentType res accept
applyOptionalParam GiteaRequest ListPackages contentType res accept
req (Page Int
xs) =
    GiteaRequest ListPackages contentType res accept
req GiteaRequest ListPackages contentType res accept
-> [QueryItem] -> GiteaRequest ListPackages contentType res accept
forall req contentType res accept.
GiteaRequest req contentType res accept
-> [QueryItem] -> GiteaRequest req contentType res accept
`addQuery` (Method, Maybe Int) -> [QueryItem]
forall a. ToHttpApiData a => (Method, Maybe a) -> [QueryItem]
toQuery (Method
"page", Int -> Maybe Int
forall a. a -> Maybe a
Just Int
xs)

-- | /Optional Param/ "limit" - page size of results
instance HasOptionalParam ListPackages Limit where
  applyOptionalParam :: forall contentType res accept.
GiteaRequest ListPackages contentType res accept
-> Limit -> GiteaRequest ListPackages contentType res accept
applyOptionalParam GiteaRequest ListPackages contentType res accept
req (Limit Int
xs) =
    GiteaRequest ListPackages contentType res accept
req GiteaRequest ListPackages contentType res accept
-> [QueryItem] -> GiteaRequest ListPackages contentType res accept
forall req contentType res accept.
GiteaRequest req contentType res accept
-> [QueryItem] -> GiteaRequest req contentType res accept
`addQuery` (Method, Maybe Int) -> [QueryItem]
forall a. ToHttpApiData a => (Method, Maybe a) -> [QueryItem]
toQuery (Method
"limit", Int -> Maybe Int
forall a. a -> Maybe a
Just Int
xs)

-- | /Optional Param/ "type" - package type filter
instance HasOptionalParam ListPackages ParamType where
  applyOptionalParam :: forall contentType res accept.
GiteaRequest ListPackages contentType res accept
-> ParamType -> GiteaRequest ListPackages contentType res accept
applyOptionalParam GiteaRequest ListPackages contentType res accept
req (ParamType E'Type2
xs) =
    GiteaRequest ListPackages contentType res accept
req GiteaRequest ListPackages contentType res accept
-> [QueryItem] -> GiteaRequest ListPackages contentType res accept
forall req contentType res accept.
GiteaRequest req contentType res accept
-> [QueryItem] -> GiteaRequest req contentType res accept
`addQuery` (Method, Maybe E'Type2) -> [QueryItem]
forall a. ToHttpApiData a => (Method, Maybe a) -> [QueryItem]
toQuery (Method
"type", E'Type2 -> Maybe E'Type2
forall a. a -> Maybe a
Just E'Type2
xs)

-- | /Optional Param/ "q" - name filter
instance HasOptionalParam ListPackages Q where
  applyOptionalParam :: forall contentType res accept.
GiteaRequest ListPackages contentType res accept
-> Q -> GiteaRequest ListPackages contentType res accept
applyOptionalParam GiteaRequest ListPackages contentType res accept
req (Q Text
xs) =
    GiteaRequest ListPackages contentType res accept
req GiteaRequest ListPackages contentType res accept
-> [QueryItem] -> GiteaRequest ListPackages contentType res accept
forall req contentType res accept.
GiteaRequest req contentType res accept
-> [QueryItem] -> GiteaRequest req contentType res accept
`addQuery` (Method, Maybe Text) -> [QueryItem]
forall a. ToHttpApiData a => (Method, Maybe a) -> [QueryItem]
toQuery (Method
"q", Text -> Maybe Text
forall a. a -> Maybe a
Just Text
xs)
-- | @application/json@
instance Produces ListPackages MimeJSON