gitea-api (empty) → 1.19.4.0
raw patch · 30 files changed
+54946/−0 lines, 30 filesdep +QuickCheckdep +aesondep +basesetup-changed
Dependencies added: QuickCheck, aeson, base, base64-bytestring, bytestring, case-insensitive, containers, deepseq, exceptions, gitea-api, hspec, http-api-data, http-client, http-client-tls, http-media, http-types, iso8601-time, katip, microlens, monad-logger, mtl, network, random, safe-exceptions, semigroups, text, time, transformers, unordered-containers, vector
Files
- ChangeLog.md +9/−0
- LICENSE +30/−0
- README.md +203/−0
- Setup.hs +2/−0
- gitea-api.cabal +131/−0
- lib/Gitea.hs +31/−0
- lib/Gitea/API.hs +37/−0
- lib/Gitea/API/Activitypub.hs +109/−0
- lib/Gitea/API/Admin.hs +650/−0
- lib/Gitea/API/Issue.hs +2073/−0
- lib/Gitea/API/Miscellaneous.hs +199/−0
- lib/Gitea/API/Notification.hs +357/−0
- lib/Gitea/API/Organization.hs +1355/−0
- lib/Gitea/API/Package.hs +190/−0
- lib/Gitea/API/Repository.hs +4528/−0
- lib/Gitea/API/Settings.hs +158/−0
- lib/Gitea/API/User.hs +1630/−0
- lib/Gitea/Client.hs +223/−0
- lib/Gitea/Core.hs +588/−0
- lib/Gitea/Logging.hs +33/−0
- lib/Gitea/LoggingKatip.hs +117/−0
- lib/Gitea/LoggingMonadLogger.hs +126/−0
- lib/Gitea/MimeTypes.hs +215/−0
- lib/Gitea/Model.hs +9243/−0
- lib/Gitea/ModelLens.hs +5849/−0
- openapi.yaml +24233/−0
- tests/ApproxEq.hs +81/−0
- tests/Instances.hs +2314/−0
- tests/PropMime.hs +51/−0
- tests/Test.hs +181/−0
+ ChangeLog.md view
@@ -0,0 +1,9 @@+# Revision history for gitea-api++## 1.11.6.0++* Autogenerated api bindings for Gitea API version 1.11.6++## 1.1.1.0++* Autogenerated api bindings for Gitea API version 1.1.1
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2018, Obsidian Systems LLC++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of Obsidian Systems LLC nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,203 @@+## OpenAPI Auto-Generated [http-client](https://www.stackage.org/lts-10.0/package/http-client-0.5.7.1) Bindings to `Gitea API.`++The library in `lib` provides auto-generated-from-OpenAPI [http-client](https://www.stackage.org/lts-10.0/package/http-client-0.5.7.1) bindings to the Gitea API. API.++OpenApi Version: 3.0.1++## Installation++Installation follows the standard approach to installing Stack-based projects.++1. Install the [Haskell `stack` tool](http://docs.haskellstack.org/en/stable/README).+2. To build the package, and generate the documentation (recommended):+```+stack haddock+```+which will generate docs for this lib in the `docs` folder.++To generate the docs in the normal location (to enable hyperlinks to external libs), remove+```+build:+ haddock-arguments:+ haddock-args:+ - "--odir=./docs"+```+from the stack.yaml file and run `stack haddock` again.++3. To run unit tests:+```+stack test+```++## OpenAPI-Generator++The code generator that produced this library, and which explains how+to obtain and use the openapi-generator cli tool lives at++https://openapi-generator.tech++The _generator-name_ argument (`--generator-name`) passed to the cli tool used should be++```+haskell-http-client+```++### Unsupported OpenAPI Features++* Model Inheritance++This is beta software; other cases may not be supported.++### Codegen "additional properties" parameters++These options allow some customization of the code generation process.++**haskell-http-client additional properties:**++| OPTION | DESCRIPTION | DEFAULT | ACTUAL |+|---------------------------------|-------------------------------------------------------------------------------------------------------------------------------|----------|---------------------------------------|+| allowFromJsonNulls | allow JSON Null during model decoding from JSON | true | true |+| allowNonUniqueOperationIds | allow *different* API modules to contain the same operationId. Each API must be imported qualified | false | false |+| allowToJsonNulls | allow emitting JSON Null during model encoding to JSON | false | false |+| baseModule | Set the base module namespace | | Gitea |+| cabalPackage | Set the cabal package name, which consists of one or more alphanumeric words separated by hyphens | | gitea-api |+| cabalVersion | Set the cabal version number, consisting of a sequence of one or more integers separated by dots | 0.1.0.0 | 1.19.4.0 |+| customTestInstanceModule | test module used to provide typeclass instances for types not known by the generator | | |+| configType | Set the name of the type used for configuration | | GiteaConfig |+| dateFormat | format string used to parse/render a date | %Y-%m-%d | %Y-%m-%d |+| dateTimeFormat | format string used to parse/render a datetime. (Defaults to [formatISO8601Millis][1] when not provided) | | |+| dateTimeParseFormat | overrides the format string used to parse a datetime | | |+| generateEnums | Generate specific datatypes for OpenAPI enums | true | true |+| generateFormUrlEncodedInstances | Generate FromForm/ToForm instances for models used by x-www-form-urlencoded operations (model fields must be primitive types) | true | true |+| generateLenses | Generate Lens optics for Models | true | true |+| generateModelConstructors | Generate smart constructors (only supply required fields) for models | true | true |+| inlineMimeTypes | Inline (hardcode) the content-type and accept parameters on operations, when there is only 1 option | true | true |+| modelDeriving | Additional classes to include in the deriving() clause of Models | | |+| requestType | Set the name of the type used to generate requests | | GiteaRequest |+| strictFields | Add strictness annotations to all model fields | true | true |+| useKatip | Sets the default value for the UseKatip cabal flag. If true, the katip package provides logging instead of monad-logger | true | true |+| queryExtraUnreserved | Configures additional querystring characters which must not be URI encoded, e.g. '+' or ':' | | |++[1]: https://www.stackage.org/haddock/lts-9.0/iso8601-time-0.1.4/Data-Time-ISO8601.html#v:formatISO8601Millis++An example setting _dateTimeFormat_ and _strictFields_:++```+java -jar openapi-generator-cli.jar generate -i petstore.yaml -g haskell-http-client -o output/haskell-http-client --additional-properties=dateTimeFormat="%Y-%m-%dT%H:%M:%S%Q%z" --additional-properties=strictFields=false+```++View the full list of Codegen "config option" parameters with the command:++```+java -jar openapi-generator-cli.jar config-help -g haskell-http-client+```++## Usage Notes++### Example Petstore Haddock documentation++An example of the generated haddock documentation targeting the server http://petstore.swagger.io/ (Petstore) can be found [here][2]++[2]: https://hackage.haskell.org/package/swagger-petstore++### Example Petstore App++An example application using the auto-generated haskell-http-client bindings for the server http://petstore.swagger.io/ can be found [here][3]++[3]: https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/haskell-http-client/example-app++This library is intended to be imported qualified.++### Modules++| MODULE | NOTES |+| ------------------- | --------------------------------------------------- |+| Gitea.Client | use the "dispatch" functions to send requests |+| Gitea.Core | core functions, config and request types |+| Gitea.API | construct api requests |+| Gitea.Model | describes api models |+| Gitea.MimeTypes | encoding/decoding MIME types (content-types/accept) |+| Gitea.ModelLens | lenses for model fields |+| Gitea.Logging | logging functions and utils |+++### MimeTypes++This library adds type safety around what OpenAPI specifies as+Produces and Consumes for each Operation (e.g. the list of MIME types an+Operation can Produce (using 'accept' headers) and Consume (using 'content-type' headers).++For example, if there is an Operation named _addFoo_, there will be a+data type generated named _AddFoo_ (note the capitalization), which+describes additional constraints and actions on the _addFoo_ operation+via its typeclass instances. These typeclass instances can be viewed+in GHCi or via the Haddocks.++* required parameters are included as function arguments to _addFoo_+* optional non-body parameters are included by using `applyOptionalParam`+* optional body parameters are set by using `setBodyParam`++Example code generated for pretend _addFoo_ operation:++```haskell+data AddFoo+instance Consumes AddFoo MimeJSON+instance Produces AddFoo MimeJSON+instance Produces AddFoo MimeXML+instance HasBodyParam AddFoo FooModel+instance HasOptionalParam AddFoo FooName+instance HasOptionalParam AddFoo FooId+```++this would indicate that:++* the _addFoo_ operation can consume JSON+* the _addFoo_ operation produces JSON or XML, depending on the argument passed to the dispatch function+* the _addFoo_ operation can set it's body param of _FooModel_ via `setBodyParam`+* the _addFoo_ operation can set 2 different optional parameters via `applyOptionalParam`++If the OpenAPI spec doesn't declare it can accept or produce a certain+MIME type for a given Operation, you should either add a Produces or+Consumes instance for the desired MIME types (assuming the server+supports it), use `dispatchLbsUnsafe` or modify the OpenAPI spec and+run the generator again.++New MIME type instances can be added via MimeType/MimeRender/MimeUnrender++Only JSON instances are generated by default, and in some case+x-www-form-urlencoded instances (FromFrom, ToForm) will also be+generated if the model fields are primitive types, and there are+Operations using x-www-form-urlencoded which use those models.++### Authentication++A haskell data type will be generated for each OpenAPI authentication type.++If for example the AuthMethod `AuthOAuthFoo` is generated for OAuth operations, then+`addAuthMethod` should be used to add the AuthMethod config.++When a request is dispatched, if a matching auth method is found in+the config, it will be applied to the request.++### Example++```haskell+mgr <- newManager defaultManagerSettings+config0 <- withStdoutLogging =<< newConfig+let config = config0+ `addAuthMethod` AuthOAuthFoo "secret-key"++let addFooRequest =+ addFoo+ (ContentType MimeJSON)+ (Accept MimeXML)+ (ParamBar paramBar)+ (ParamQux paramQux)+ modelBaz+ `applyOptionalParam` FooId 1+ `applyOptionalParam` FooName "name"+ `setHeader` [("qux_header","xxyy")]+addFooResult <- dispatchMime mgr config addFooRequest+```++See the example app and the haddocks for details.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ gitea-api.cabal view
@@ -0,0 +1,131 @@+name: gitea-api+version: 1.19.4.0+synopsis: Auto-generated gitea-api API Client+description: .+ Client library for calling the Gitea API. API based on http-client.+ .+ host: https+ .+ base path: http://https://gitea.com/api/v1+ .+ Gitea API. API version: 1.19.4+ .+ OpenAPI version: 3.0.1+ .+ Generator version: 7.6.0+ .+category: Web+homepage: https://openapi-generator.tech+author: Obsidian Systems LLC+maintainer: maintainer@obsidian.systems+copyright: 2020 Obsidian Systems LLC+license: BSD3+build-type: Simple+cabal-version: >= 1.10+tested-with: GHC ==8.6.5+license-file: LICENSE+++extra-source-files:+ ChangeLog.md+ README.md+ openapi.yaml++Flag UseKatip+ Description: Use the katip package to provide logging (if false, use the default monad-logger package)+ Default: True+ Manual: True++library+ hs-source-dirs:+ lib+ ghc-options: -Wall -funbox-strict-fields+ build-depends:+ aeson >=1.0 && <3.0+ , base >=4.7 && <5.0+ , base64-bytestring >1.0 && <2.0+ , bytestring >=0.10.0+ , case-insensitive+ , containers >=0.5.0.0 && <0.8+ , deepseq >= 1.4 && <1.6+ , exceptions >= 0.4+ , http-api-data >= 0.3.4 && <0.6+ , http-client >=0.5 && <0.8+ , http-client-tls+ , http-media >= 0.4 && < 0.9+ , http-types >=0.8 && <0.13+ , iso8601-time >=0.1.3 && <0.2.0+ , microlens >= 0.4.3+ , mtl >=2.2.1+ , network >=2.6.2 && <3.9+ , random >=1.1+ , safe-exceptions <0.2+ , text >=0.11 && <3+ , time >=1.5+ , transformers >=0.4.0.0+ , unordered-containers+ , vector >=0.10.9 && <0.14+ other-modules:+ Paths_gitea_api+ exposed-modules:+ Gitea+ Gitea.API+ Gitea.API.Activitypub+ Gitea.API.Admin+ Gitea.API.Issue+ Gitea.API.Miscellaneous+ Gitea.API.Notification+ Gitea.API.Organization+ Gitea.API.Package+ Gitea.API.Repository+ Gitea.API.Settings+ Gitea.API.User+ Gitea.Client+ Gitea.Core+ Gitea.Logging+ Gitea.MimeTypes+ Gitea.Model+ Gitea.ModelLens+ default-language: Haskell2010++ if flag(UseKatip)+ build-depends: katip >=0.8 && < 1.0+ other-modules: Gitea.LoggingKatip+ cpp-options: -DUSE_KATIP+ else+ build-depends: monad-logger >=0.3 && <0.4+ other-modules: Gitea.LoggingMonadLogger+ cpp-options: -DUSE_MONAD_LOGGER++test-suite tests+ type: exitcode-stdio-1.0+ main-is: Test.hs+ hs-source-dirs:+ tests+ ghc-options: -Wall -fno-warn-orphans+ build-depends:+ gitea-api+ , QuickCheck+ , aeson+ , base >=4.7 && <5.0+ , bytestring >=0.10.0+ , containers+ , hspec >=1.8+ , iso8601-time+ , mtl >=2.2.1+ , semigroups+ , text+ , time+ , transformers >=0.4.0.0+ , unordered-containers+ , vector+ other-modules:+ ApproxEq+ Instances+ PropMime+ default-language: Haskell2010++source-repository head+ type: git+ location: https://github.com/obsidiansystems/gitea-api+
+ lib/Gitea.hs view
@@ -0,0 +1,31 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea+-}++module Gitea+ ( module Gitea.API+ , module Gitea.Client+ , module Gitea.Core+ , module Gitea.Logging+ , module Gitea.MimeTypes+ , module Gitea.Model+ , module Gitea.ModelLens+ ) where++import Gitea.API+import Gitea.Client+import Gitea.Core+import Gitea.Logging+import Gitea.MimeTypes+import Gitea.Model+import Gitea.ModelLens
+ lib/Gitea/API.hs view
@@ -0,0 +1,37 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API+-}++module Gitea.API+ ( module Gitea.API.Activitypub+ , module Gitea.API.Admin+ , module Gitea.API.Issue+ , module Gitea.API.Miscellaneous+ , module Gitea.API.Notification+ , module Gitea.API.Organization+ , module Gitea.API.Package+ , module Gitea.API.Repository+ , module Gitea.API.Settings+ , module Gitea.API.User+ ) where++import Gitea.API.Activitypub+import Gitea.API.Admin+import Gitea.API.Issue+import Gitea.API.Miscellaneous+import Gitea.API.Notification+import Gitea.API.Organization+import Gitea.API.Package+import Gitea.API.Repository+import Gitea.API.Settings+import Gitea.API.User
+ lib/Gitea/API/Activitypub.hs view
@@ -0,0 +1,109 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Activitypub+-}++{-# 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.Activitypub 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+++-- ** Activitypub++-- *** activitypubPerson++-- | @GET \/activitypub\/user-id\/{user-id}@+-- +-- Returns the Person actor for a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +activitypubPerson+ :: UserId -- ^ "userId" - user ID of the user+ -> GiteaRequest ActivitypubPerson MimeNoContent ActivityPub MimeJSON+activitypubPerson (UserId userId) =+ _mkRequest "GET" ["/activitypub/user-id/",toPath userId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data ActivitypubPerson +-- | @application/json@+instance Produces ActivitypubPerson MimeJSON+++-- *** activitypubPersonInbox++-- | @POST \/activitypub\/user-id\/{user-id}\/inbox@+-- +-- Send to the inbox+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +activitypubPersonInbox+ :: UserId -- ^ "userId" - user ID of the user+ -> GiteaRequest ActivitypubPersonInbox MimeNoContent NoContent MimeNoContent+activitypubPersonInbox (UserId userId) =+ _mkRequest "POST" ["/activitypub/user-id/",toPath userId,"/inbox"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data ActivitypubPersonInbox +instance Produces ActivitypubPersonInbox MimeNoContent+
+ lib/Gitea/API/Admin.hs view
@@ -0,0 +1,650 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Admin+-}++{-# 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.Admin 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+++-- ** Admin++-- *** adminAdoptRepository++-- | @POST \/admin\/unadopted\/{owner}\/{repo}@+-- +-- Adopt unadopted files as a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminAdoptRepository+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest AdminAdoptRepository MimeNoContent NoContent MimeNoContent+adminAdoptRepository (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/admin/unadopted/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminAdoptRepository +instance Produces AdminAdoptRepository MimeNoContent+++-- *** adminCreateHook++-- | @POST \/admin\/hooks@+-- +-- Create a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCreateHook+ :: (Consumes AdminCreateHook MimeJSON, MimeRender MimeJSON CreateHookOption)+ => CreateHookOption -- ^ "body"+ -> GiteaRequest AdminCreateHook MimeJSON Hook MimeJSON+adminCreateHook body =+ _mkRequest "POST" ["/admin/hooks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data AdminCreateHook +instance HasBodyParam AdminCreateHook CreateHookOption ++-- | @application/json@+instance Consumes AdminCreateHook MimeJSON++-- | @application/json@+instance Produces AdminCreateHook MimeJSON+++-- *** adminCreateOrg++-- | @POST \/admin\/users\/{username}\/orgs@+-- +-- Create an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCreateOrg+ :: (Consumes AdminCreateOrg MimeJSON, MimeRender MimeJSON CreateOrgOption)+ => CreateOrgOption -- ^ "organization"+ -> Username -- ^ "username" - username of the user that will own the created organization+ -> GiteaRequest AdminCreateOrg MimeJSON Organization MimeJSON+adminCreateOrg organization (Username username) =+ _mkRequest "POST" ["/admin/users/",toPath username,"/orgs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` organization++data AdminCreateOrg +instance HasBodyParam AdminCreateOrg CreateOrgOption ++-- | @application/json@+instance Consumes AdminCreateOrg MimeJSON++-- | @application/json@+instance Produces AdminCreateOrg MimeJSON+++-- *** adminCreatePublicKey++-- | @POST \/admin\/users\/{username}\/keys@+-- +-- Add a public key on behalf of a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCreatePublicKey+ :: (Consumes AdminCreatePublicKey MimeJSON)+ => Username -- ^ "username" - username of the user+ -> GiteaRequest AdminCreatePublicKey MimeJSON PublicKey MimeJSON+adminCreatePublicKey (Username username) =+ _mkRequest "POST" ["/admin/users/",toPath username,"/keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminCreatePublicKey +instance HasBodyParam AdminCreatePublicKey CreateKeyOption ++-- | @application/json@+instance Consumes AdminCreatePublicKey MimeJSON++-- | @application/json@+instance Produces AdminCreatePublicKey MimeJSON+++-- *** adminCreateRepo++-- | @POST \/admin\/users\/{username}\/repos@+-- +-- Create a repository on behalf of a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCreateRepo+ :: (Consumes AdminCreateRepo MimeJSON, MimeRender MimeJSON CreateRepoOption)+ => CreateRepoOption -- ^ "repository"+ -> Username -- ^ "username" - username of the user. This user will own the created repository+ -> GiteaRequest AdminCreateRepo MimeJSON Repository MimeJSON+adminCreateRepo repository (Username username) =+ _mkRequest "POST" ["/admin/users/",toPath username,"/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` repository++data AdminCreateRepo +instance HasBodyParam AdminCreateRepo CreateRepoOption ++-- | @application/json@+instance Consumes AdminCreateRepo MimeJSON++-- | @application/json@+instance Produces AdminCreateRepo MimeJSON+++-- *** adminCreateUser++-- | @POST \/admin\/users@+-- +-- Create a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCreateUser+ :: (Consumes AdminCreateUser MimeJSON)+ => GiteaRequest AdminCreateUser MimeJSON User MimeJSON+adminCreateUser =+ _mkRequest "POST" ["/admin/users"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminCreateUser +instance HasBodyParam AdminCreateUser CreateUserOption ++-- | @application/json@+instance Consumes AdminCreateUser MimeJSON++-- | @application/json@+instance Produces AdminCreateUser MimeJSON+++-- *** adminCronList++-- | @GET \/admin\/cron@+-- +-- List cron tasks+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCronList+ :: GiteaRequest AdminCronList MimeNoContent [Cron] MimeJSON+adminCronList =+ _mkRequest "GET" ["/admin/cron"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminCronList ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam AdminCronList Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam AdminCronList Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces AdminCronList MimeJSON+++-- *** adminCronRun++-- | @POST \/admin\/cron\/{task}@+-- +-- Run cron task+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminCronRun+ :: Task -- ^ "task" - task to run+ -> GiteaRequest AdminCronRun MimeNoContent NoContent MimeNoContent+adminCronRun (Task task) =+ _mkRequest "POST" ["/admin/cron/",toPath task]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminCronRun +instance Produces AdminCronRun MimeNoContent+++-- *** adminDeleteHook++-- | @DELETE \/admin\/hooks\/{id}@+-- +-- Delete a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminDeleteHook+ :: Id -- ^ "id" - id of the hook to delete+ -> GiteaRequest AdminDeleteHook MimeNoContent NoContent MimeNoContent+adminDeleteHook (Id id) =+ _mkRequest "DELETE" ["/admin/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminDeleteHook +instance Produces AdminDeleteHook MimeNoContent+++-- *** adminDeleteUnadoptedRepository++-- | @DELETE \/admin\/unadopted\/{owner}\/{repo}@+-- +-- Delete unadopted files+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminDeleteUnadoptedRepository+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest AdminDeleteUnadoptedRepository MimeNoContent NoContent MimeNoContent+adminDeleteUnadoptedRepository (Owner owner) (Repo repo) =+ _mkRequest "DELETE" ["/admin/unadopted/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminDeleteUnadoptedRepository +instance Produces AdminDeleteUnadoptedRepository MimeNoContent+++-- *** adminDeleteUser++-- | @DELETE \/admin\/users\/{username}@+-- +-- Delete a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminDeleteUser+ :: Username -- ^ "username" - username of user to delete+ -> GiteaRequest AdminDeleteUser MimeNoContent NoContent MimeNoContent+adminDeleteUser (Username username) =+ _mkRequest "DELETE" ["/admin/users/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminDeleteUser ++-- | /Optional Param/ "purge" - purge the user from the system completely+instance HasOptionalParam AdminDeleteUser Purge where+ applyOptionalParam req (Purge xs) =+ req `addQuery` toQuery ("purge", Just xs)+instance Produces AdminDeleteUser MimeNoContent+++-- *** adminDeleteUserPublicKey++-- | @DELETE \/admin\/users\/{username}\/keys\/{id}@+-- +-- Delete a user's public key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminDeleteUserPublicKey+ :: Username -- ^ "username" - username of user+ -> Id -- ^ "id" - id of the key to delete+ -> GiteaRequest AdminDeleteUserPublicKey MimeNoContent NoContent MimeNoContent+adminDeleteUserPublicKey (Username username) (Id id) =+ _mkRequest "DELETE" ["/admin/users/",toPath username,"/keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminDeleteUserPublicKey +instance Produces AdminDeleteUserPublicKey MimeNoContent+++-- *** adminEditHook++-- | @PATCH \/admin\/hooks\/{id}@+-- +-- Update a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminEditHook+ :: (Consumes AdminEditHook MimeJSON)+ => Id -- ^ "id" - id of the hook to update+ -> GiteaRequest AdminEditHook MimeJSON Hook MimeJSON+adminEditHook (Id id) =+ _mkRequest "PATCH" ["/admin/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminEditHook +instance HasBodyParam AdminEditHook EditHookOption ++-- | @application/json@+instance Consumes AdminEditHook MimeJSON++-- | @application/json@+instance Produces AdminEditHook MimeJSON+++-- *** adminEditUser++-- | @PATCH \/admin\/users\/{username}@+-- +-- Edit an existing user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminEditUser+ :: (Consumes AdminEditUser MimeJSON)+ => Username -- ^ "username" - username of user to edit+ -> GiteaRequest AdminEditUser MimeJSON User MimeJSON+adminEditUser (Username username) =+ _mkRequest "PATCH" ["/admin/users/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminEditUser +instance HasBodyParam AdminEditUser EditUserOption ++-- | @application/json@+instance Consumes AdminEditUser MimeJSON++-- | @application/json@+instance Produces AdminEditUser MimeJSON+++-- *** adminGetAllOrgs++-- | @GET \/admin\/orgs@+-- +-- List all organizations+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminGetAllOrgs+ :: GiteaRequest AdminGetAllOrgs MimeNoContent [Organization] MimeJSON+adminGetAllOrgs =+ _mkRequest "GET" ["/admin/orgs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminGetAllOrgs ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam AdminGetAllOrgs Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam AdminGetAllOrgs Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces AdminGetAllOrgs MimeJSON+++-- *** adminGetAllUsers++-- | @GET \/admin\/users@+-- +-- List all users+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminGetAllUsers+ :: GiteaRequest AdminGetAllUsers MimeNoContent [User] MimeJSON+adminGetAllUsers =+ _mkRequest "GET" ["/admin/users"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminGetAllUsers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam AdminGetAllUsers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam AdminGetAllUsers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces AdminGetAllUsers MimeJSON+++-- *** adminGetHook++-- | @GET \/admin\/hooks\/{id}@+-- +-- Get a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminGetHook+ :: Id -- ^ "id" - id of the hook to get+ -> GiteaRequest AdminGetHook MimeNoContent Hook MimeJSON+adminGetHook (Id id) =+ _mkRequest "GET" ["/admin/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminGetHook +-- | @application/json@+instance Produces AdminGetHook MimeJSON+++-- *** adminListHooks++-- | @GET \/admin\/hooks@+-- +-- List system's webhooks+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminListHooks+ :: GiteaRequest AdminListHooks MimeNoContent [Hook] MimeJSON+adminListHooks =+ _mkRequest "GET" ["/admin/hooks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminListHooks ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam AdminListHooks Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam AdminListHooks Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces AdminListHooks MimeJSON+++-- *** adminUnadoptedList++-- | @GET \/admin\/unadopted@+-- +-- List unadopted repositories+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +adminUnadoptedList+ :: GiteaRequest AdminUnadoptedList MimeNoContent [Text] MimeJSON+adminUnadoptedList =+ _mkRequest "GET" ["/admin/unadopted"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AdminUnadoptedList ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam AdminUnadoptedList Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam AdminUnadoptedList Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)++-- | /Optional Param/ "pattern" - pattern of repositories to search for+instance HasOptionalParam AdminUnadoptedList Pattern where+ applyOptionalParam req (Pattern xs) =+ req `addQuery` toQuery ("pattern", Just xs)+-- | @application/json@+instance Produces AdminUnadoptedList MimeJSON+
+ lib/Gitea/API/Issue.hs view
@@ -0,0 +1,2073 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Issue+-}++{-# 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.Issue 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+++-- ** Issue++-- *** issueAddLabel++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/labels@+-- +-- Add a label to an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueAddLabel+ :: (Consumes IssueAddLabel MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueAddLabel MimeJSON [Label] MimeJSON+issueAddLabel (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueAddLabel +instance HasBodyParam IssueAddLabel IssueLabelsOption ++-- | @application/json@+instance Consumes IssueAddLabel MimeJSON++-- | @application/json@+instance Produces IssueAddLabel MimeJSON+++-- *** issueAddSubscription++-- | @PUT \/repos\/{owner}\/{repo}\/issues\/{index}\/subscriptions\/{user}@+-- +-- Subscribe user to issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueAddSubscription+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> User2 -- ^ "user" - user to subscribe+ -> GiteaRequest IssueAddSubscription MimeNoContent NoContent MimeNoContent+issueAddSubscription (Owner owner) (Repo repo) (Index index) (User2 user) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/subscriptions/",toPath user]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueAddSubscription +instance Produces IssueAddSubscription MimeNoContent+++-- *** issueAddTime++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/times@+-- +-- Add tracked time to a issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueAddTime+ :: (Consumes IssueAddTime MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueAddTime MimeJSON TrackedTime MimeJSON+issueAddTime (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/times"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueAddTime +instance HasBodyParam IssueAddTime AddTimeOption ++-- | @application/json@+instance Consumes IssueAddTime MimeJSON++-- | @application/json@+instance Produces IssueAddTime MimeJSON+++-- *** issueCheckSubscription++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/subscriptions\/check@+-- +-- Check if user is subscribed to an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCheckSubscription+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueCheckSubscription MimeNoContent WatchInfo MimeJSON+issueCheckSubscription (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/subscriptions/check"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueCheckSubscription +-- | @application/json@+instance Produces IssueCheckSubscription MimeJSON+++-- *** issueClearLabels++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/labels@+-- +-- Remove all labels from an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueClearLabels+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueClearLabels MimeNoContent NoContent MimeNoContent+issueClearLabels (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueClearLabels +instance Produces IssueClearLabels MimeNoContent+++-- *** issueCreateComment++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/comments@+-- +-- Add a comment to an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCreateComment+ :: (Consumes IssueCreateComment MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueCreateComment MimeJSON Comment MimeJSON+issueCreateComment (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/comments"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueCreateComment +instance HasBodyParam IssueCreateComment CreateIssueCommentOption ++-- | @application/json@+instance Consumes IssueCreateComment MimeJSON++-- | @application/json@+instance Produces IssueCreateComment MimeJSON+++-- *** issueCreateIssue++-- | @POST \/repos\/{owner}\/{repo}\/issues@+-- +-- Create an issue. If using deadline only the date will be taken into account, and time of day ignored.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCreateIssue+ :: (Consumes IssueCreateIssue MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueCreateIssue MimeJSON Issue MimeJSON+issueCreateIssue (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueCreateIssue +instance HasBodyParam IssueCreateIssue CreateIssueOption ++-- | @application/json@+instance Consumes IssueCreateIssue MimeJSON++-- | @application/json@+instance Produces IssueCreateIssue MimeJSON+++-- *** issueCreateIssueAttachment++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/assets@+-- +-- Create an issue attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCreateIssueAttachment+ :: (Consumes IssueCreateIssueAttachment MimeMultipartFormData)+ => Attachment2 -- ^ "attachment" - attachment to upload+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueCreateIssueAttachment MimeMultipartFormData Attachment MimeJSON+issueCreateIssueAttachment (Attachment2 attachment) (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/assets"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `_addMultiFormPart` NH.partFileSource "attachment" attachment++data IssueCreateIssueAttachment ++-- | /Optional Param/ "name" - name of the attachment+instance HasOptionalParam IssueCreateIssueAttachment Name where+ applyOptionalParam req (Name xs) =+ req `addQuery` toQuery ("name", Just xs)++-- | @multipart/form-data@+instance Consumes IssueCreateIssueAttachment MimeMultipartFormData++-- | @application/json@+instance Produces IssueCreateIssueAttachment MimeJSON+++-- *** issueCreateIssueCommentAttachment++-- | @POST \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/assets@+-- +-- Create a comment attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCreateIssueCommentAttachment+ :: (Consumes IssueCreateIssueCommentAttachment MimeMultipartFormData)+ => Attachment2 -- ^ "attachment" - attachment to upload+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment+ -> GiteaRequest IssueCreateIssueCommentAttachment MimeMultipartFormData Attachment MimeJSON+issueCreateIssueCommentAttachment (Attachment2 attachment) (Owner owner) (Repo repo) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/assets"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `_addMultiFormPart` NH.partFileSource "attachment" attachment++data IssueCreateIssueCommentAttachment ++-- | /Optional Param/ "name" - name of the attachment+instance HasOptionalParam IssueCreateIssueCommentAttachment Name where+ applyOptionalParam req (Name xs) =+ req `addQuery` toQuery ("name", Just xs)++-- | @multipart/form-data@+instance Consumes IssueCreateIssueCommentAttachment MimeMultipartFormData++-- | @application/json@+instance Produces IssueCreateIssueCommentAttachment MimeJSON+++-- *** issueCreateLabel++-- | @POST \/repos\/{owner}\/{repo}\/labels@+-- +-- Create a label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCreateLabel+ :: (Consumes IssueCreateLabel MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueCreateLabel MimeJSON Label MimeJSON+issueCreateLabel (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueCreateLabel +instance HasBodyParam IssueCreateLabel CreateLabelOption ++-- | @application/json@+instance Consumes IssueCreateLabel MimeJSON++-- | @application/json@+instance Produces IssueCreateLabel MimeJSON+++-- *** issueCreateMilestone++-- | @POST \/repos\/{owner}\/{repo}\/milestones@+-- +-- Create a milestone+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueCreateMilestone+ :: (Consumes IssueCreateMilestone MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueCreateMilestone MimeJSON Milestone MimeJSON+issueCreateMilestone (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/milestones"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueCreateMilestone +instance HasBodyParam IssueCreateMilestone CreateMilestoneOption ++-- | @application/json@+instance Consumes IssueCreateMilestone MimeJSON++-- | @application/json@+instance Produces IssueCreateMilestone MimeJSON+++-- *** issueDelete++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}@+-- +-- Delete an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDelete+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of issue to delete+ -> GiteaRequest IssueDelete MimeNoContent NoContent MimeNoContent+issueDelete (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDelete +instance Produces IssueDelete MimeNoContent+++-- *** issueDeleteComment++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/comments\/{id}@+-- +-- Delete a comment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteComment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of comment to delete+ -> GiteaRequest IssueDeleteComment MimeNoContent NoContent MimeNoContent+issueDeleteComment (Owner owner) (Repo repo) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteComment +instance Produces IssueDeleteComment MimeNoContent+++-- *** issueDeleteCommentDeprecated++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/comments\/{id}@+-- +-- Delete a comment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteCommentDeprecated+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IndexInt -- ^ "index" - this parameter is ignored+ -> Id -- ^ "id" - id of comment to delete+ -> GiteaRequest IssueDeleteCommentDeprecated MimeNoContent NoContent MimeNoContent+issueDeleteCommentDeprecated (Owner owner) (Repo repo) (IndexInt index) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/comments/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++{-# DEPRECATED issueDeleteCommentDeprecated "" #-}++data IssueDeleteCommentDeprecated +instance Produces IssueDeleteCommentDeprecated MimeNoContent+++-- *** issueDeleteCommentReaction++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/reactions@+-- +-- Remove a reaction from a comment of an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteCommentReaction+ :: (Consumes IssueDeleteCommentReaction MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment to edit+ -> GiteaRequest IssueDeleteCommentReaction MimeJSON NoContent MimeNoContent+issueDeleteCommentReaction (Owner owner) (Repo repo) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/reactions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteCommentReaction +instance HasBodyParam IssueDeleteCommentReaction EditReactionOption ++-- | @application/json@+instance Consumes IssueDeleteCommentReaction MimeJSON++instance Produces IssueDeleteCommentReaction MimeNoContent+++-- *** issueDeleteIssueAttachment++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/assets\/{attachment_id}@+-- +-- Delete an issue attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteIssueAttachment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to delete+ -> GiteaRequest IssueDeleteIssueAttachment MimeNoContent NoContent MimeNoContent+issueDeleteIssueAttachment (Owner owner) (Repo repo) (Index index) (AttachmentId attachmentId) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteIssueAttachment +instance Produces IssueDeleteIssueAttachment MimeNoContent+++-- *** issueDeleteIssueCommentAttachment++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/assets\/{attachment_id}@+-- +-- Delete a comment attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteIssueCommentAttachment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to delete+ -> GiteaRequest IssueDeleteIssueCommentAttachment MimeNoContent NoContent MimeNoContent+issueDeleteIssueCommentAttachment (Owner owner) (Repo repo) (Id id) (AttachmentId attachmentId) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteIssueCommentAttachment +instance Produces IssueDeleteIssueCommentAttachment MimeNoContent+++-- *** issueDeleteIssueReaction++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/reactions@+-- +-- Remove a reaction from an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteIssueReaction+ :: (Consumes IssueDeleteIssueReaction MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueDeleteIssueReaction MimeJSON NoContent MimeNoContent+issueDeleteIssueReaction (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/reactions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteIssueReaction +instance HasBodyParam IssueDeleteIssueReaction EditReactionOption ++-- | @application/json@+instance Consumes IssueDeleteIssueReaction MimeJSON++instance Produces IssueDeleteIssueReaction MimeNoContent+++-- *** issueDeleteLabel++-- | @DELETE \/repos\/{owner}\/{repo}\/labels\/{id}@+-- +-- Delete a label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteLabel+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the label to delete+ -> GiteaRequest IssueDeleteLabel MimeNoContent NoContent MimeNoContent+issueDeleteLabel (Owner owner) (Repo repo) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteLabel +instance Produces IssueDeleteLabel MimeNoContent+++-- *** issueDeleteMilestone++-- | @DELETE \/repos\/{owner}\/{repo}\/milestones\/{id}@+-- +-- Delete a milestone+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteMilestone+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IdText -- ^ "id" - the milestone to delete, identified by ID and if not available by name+ -> GiteaRequest IssueDeleteMilestone MimeNoContent NoContent MimeNoContent+issueDeleteMilestone (Owner owner) (Repo repo) (IdText id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/milestones/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteMilestone +instance Produces IssueDeleteMilestone MimeNoContent+++-- *** issueDeleteStopWatch++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/stopwatch\/delete@+-- +-- Delete an issue's existing stopwatch.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteStopWatch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to stop the stopwatch on+ -> GiteaRequest IssueDeleteStopWatch MimeNoContent NoContent MimeNoContent+issueDeleteStopWatch (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/stopwatch/delete"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteStopWatch +instance Produces IssueDeleteStopWatch MimeNoContent+++-- *** issueDeleteSubscription++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/subscriptions\/{user}@+-- +-- Unsubscribe user from issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteSubscription+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> User2 -- ^ "user" - user witch unsubscribe+ -> GiteaRequest IssueDeleteSubscription MimeNoContent NoContent MimeNoContent+issueDeleteSubscription (Owner owner) (Repo repo) (Index index) (User2 user) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/subscriptions/",toPath user]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteSubscription +instance Produces IssueDeleteSubscription MimeNoContent+++-- *** issueDeleteTime++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/times\/{id}@+-- +-- Delete specific tracked time+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueDeleteTime+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> Id -- ^ "id" - id of time to delete+ -> GiteaRequest IssueDeleteTime MimeNoContent NoContent MimeNoContent+issueDeleteTime (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/times/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueDeleteTime +instance Produces IssueDeleteTime MimeNoContent+++-- *** issueEditComment++-- | @PATCH \/repos\/{owner}\/{repo}\/issues\/comments\/{id}@+-- +-- Edit a comment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditComment+ :: (Consumes IssueEditComment MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment to edit+ -> GiteaRequest IssueEditComment MimeJSON Comment MimeJSON+issueEditComment (Owner owner) (Repo repo) (Id id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditComment +instance HasBodyParam IssueEditComment EditIssueCommentOption ++-- | @application/json@+instance Consumes IssueEditComment MimeJSON++-- | @application/json@+instance Produces IssueEditComment MimeJSON+++-- *** issueEditCommentDeprecated++-- | @PATCH \/repos\/{owner}\/{repo}\/issues\/{index}\/comments\/{id}@+-- +-- Edit a comment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditCommentDeprecated+ :: (Consumes IssueEditCommentDeprecated MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IndexInt -- ^ "index" - this parameter is ignored+ -> Id -- ^ "id" - id of the comment to edit+ -> GiteaRequest IssueEditCommentDeprecated MimeJSON Comment MimeJSON+issueEditCommentDeprecated (Owner owner) (Repo repo) (IndexInt index) (Id id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/comments/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++{-# DEPRECATED issueEditCommentDeprecated "" #-}++data IssueEditCommentDeprecated +instance HasBodyParam IssueEditCommentDeprecated EditIssueCommentOption ++-- | @application/json@+instance Consumes IssueEditCommentDeprecated MimeJSON++-- | @application/json@+instance Produces IssueEditCommentDeprecated MimeJSON+++-- *** issueEditIssue++-- | @PATCH \/repos\/{owner}\/{repo}\/issues\/{index}@+-- +-- Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditIssue+ :: (Consumes IssueEditIssue MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to edit+ -> GiteaRequest IssueEditIssue MimeJSON Issue MimeJSON+issueEditIssue (Owner owner) (Repo repo) (Index index) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditIssue +instance HasBodyParam IssueEditIssue EditIssueOption ++-- | @application/json@+instance Consumes IssueEditIssue MimeJSON++-- | @application/json@+instance Produces IssueEditIssue MimeJSON+++-- *** issueEditIssueAttachment++-- | @PATCH \/repos\/{owner}\/{repo}\/issues\/{index}\/assets\/{attachment_id}@+-- +-- Edit an issue attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditIssueAttachment+ :: (Consumes IssueEditIssueAttachment MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to edit+ -> GiteaRequest IssueEditIssueAttachment MimeJSON Attachment MimeJSON+issueEditIssueAttachment (Owner owner) (Repo repo) (Index index) (AttachmentId attachmentId) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditIssueAttachment +instance HasBodyParam IssueEditIssueAttachment EditAttachmentOptions ++-- | @application/json@+instance Consumes IssueEditIssueAttachment MimeJSON++-- | @application/json@+instance Produces IssueEditIssueAttachment MimeJSON+++-- *** issueEditIssueCommentAttachment++-- | @PATCH \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/assets\/{attachment_id}@+-- +-- Edit a comment attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditIssueCommentAttachment+ :: (Consumes IssueEditIssueCommentAttachment MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to edit+ -> GiteaRequest IssueEditIssueCommentAttachment MimeJSON Attachment MimeJSON+issueEditIssueCommentAttachment (Owner owner) (Repo repo) (Id id) (AttachmentId attachmentId) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditIssueCommentAttachment +instance HasBodyParam IssueEditIssueCommentAttachment EditAttachmentOptions ++-- | @application/json@+instance Consumes IssueEditIssueCommentAttachment MimeJSON++-- | @application/json@+instance Produces IssueEditIssueCommentAttachment MimeJSON+++-- *** issueEditIssueDeadline++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/deadline@+-- +-- Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditIssueDeadline+ :: (Consumes IssueEditIssueDeadline MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to create or update a deadline on+ -> GiteaRequest IssueEditIssueDeadline MimeJSON IssueDeadline MimeJSON+issueEditIssueDeadline (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/deadline"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditIssueDeadline +instance HasBodyParam IssueEditIssueDeadline EditDeadlineOption ++-- | @application/json@+instance Consumes IssueEditIssueDeadline MimeJSON++-- | @application/json@+instance Produces IssueEditIssueDeadline MimeJSON+++-- *** issueEditLabel++-- | @PATCH \/repos\/{owner}\/{repo}\/labels\/{id}@+-- +-- Update a label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditLabel+ :: (Consumes IssueEditLabel MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the label to edit+ -> GiteaRequest IssueEditLabel MimeJSON Label MimeJSON+issueEditLabel (Owner owner) (Repo repo) (Id id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditLabel +instance HasBodyParam IssueEditLabel EditLabelOption ++-- | @application/json@+instance Consumes IssueEditLabel MimeJSON++-- | @application/json@+instance Produces IssueEditLabel MimeJSON+++-- *** issueEditMilestone++-- | @PATCH \/repos\/{owner}\/{repo}\/milestones\/{id}@+-- +-- Update a milestone+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueEditMilestone+ :: (Consumes IssueEditMilestone MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IdText -- ^ "id" - the milestone to edit, identified by ID and if not available by name+ -> GiteaRequest IssueEditMilestone MimeJSON Milestone MimeJSON+issueEditMilestone (Owner owner) (Repo repo) (IdText id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/milestones/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueEditMilestone +instance HasBodyParam IssueEditMilestone EditMilestoneOption ++-- | @application/json@+instance Consumes IssueEditMilestone MimeJSON++-- | @application/json@+instance Produces IssueEditMilestone MimeJSON+++-- *** issueGetComment++-- | @GET \/repos\/{owner}\/{repo}\/issues\/comments\/{id}@+-- +-- Get a comment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetComment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment+ -> GiteaRequest IssueGetComment MimeNoContent Comment MimeJSON+issueGetComment (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetComment +-- | @application/json@+instance Produces IssueGetComment MimeJSON+++-- *** issueGetCommentReactions++-- | @GET \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/reactions@+-- +-- Get a list of reactions from a comment of an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetCommentReactions+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment to edit+ -> GiteaRequest IssueGetCommentReactions MimeNoContent [Reaction] MimeJSON+issueGetCommentReactions (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/reactions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetCommentReactions +-- | @application/json@+instance Produces IssueGetCommentReactions MimeJSON+++-- *** issueGetComments++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/comments@+-- +-- List all comments on an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetComments+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueGetComments MimeNoContent [Comment] MimeJSON+issueGetComments (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/comments"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetComments ++-- | /Optional Param/ "since" - if provided, only comments updated since the specified time are returned.+instance HasOptionalParam IssueGetComments Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - if provided, only comments updated before the provided time are returned.+instance HasOptionalParam IssueGetComments Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)+-- | @application/json@+instance Produces IssueGetComments MimeJSON+++-- *** issueGetCommentsAndTimeline++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/timeline@+-- +-- List all comments and events on an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetCommentsAndTimeline+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueGetCommentsAndTimeline MimeNoContent [TimelineComment] MimeJSON+issueGetCommentsAndTimeline (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/timeline"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetCommentsAndTimeline ++-- | /Optional Param/ "since" - if provided, only comments updated since the specified time are returned.+instance HasOptionalParam IssueGetCommentsAndTimeline Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueGetCommentsAndTimeline Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueGetCommentsAndTimeline Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)++-- | /Optional Param/ "before" - if provided, only comments updated before the provided time are returned.+instance HasOptionalParam IssueGetCommentsAndTimeline Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)+-- | @application/json@+instance Produces IssueGetCommentsAndTimeline MimeJSON+++-- *** issueGetIssue++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}@+-- +-- Get an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetIssue+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to get+ -> GiteaRequest IssueGetIssue MimeNoContent Issue MimeJSON+issueGetIssue (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetIssue +-- | @application/json@+instance Produces IssueGetIssue MimeJSON+++-- *** issueGetIssueAttachment++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/assets\/{attachment_id}@+-- +-- Get an issue attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetIssueAttachment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to get+ -> GiteaRequest IssueGetIssueAttachment MimeNoContent Attachment MimeJSON+issueGetIssueAttachment (Owner owner) (Repo repo) (Index index) (AttachmentId attachmentId) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetIssueAttachment +-- | @application/json@+instance Produces IssueGetIssueAttachment MimeJSON+++-- *** issueGetIssueCommentAttachment++-- | @GET \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/assets\/{attachment_id}@+-- +-- Get a comment attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetIssueCommentAttachment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to get+ -> GiteaRequest IssueGetIssueCommentAttachment MimeNoContent Attachment MimeJSON+issueGetIssueCommentAttachment (Owner owner) (Repo repo) (Id id) (AttachmentId attachmentId) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetIssueCommentAttachment +-- | @application/json@+instance Produces IssueGetIssueCommentAttachment MimeJSON+++-- *** issueGetIssueReactions++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/reactions@+-- +-- Get a list reactions of an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetIssueReactions+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueGetIssueReactions MimeNoContent [Reaction] MimeJSON+issueGetIssueReactions (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/reactions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetIssueReactions ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueGetIssueReactions Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueGetIssueReactions Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueGetIssueReactions MimeJSON+++-- *** issueGetLabel++-- | @GET \/repos\/{owner}\/{repo}\/labels\/{id}@+-- +-- Get a single label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetLabel+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the label to get+ -> GiteaRequest IssueGetLabel MimeNoContent Label MimeJSON+issueGetLabel (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetLabel +-- | @application/json@+instance Produces IssueGetLabel MimeJSON+++-- *** issueGetLabels++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/labels@+-- +-- Get an issue's labels+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetLabels+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueGetLabels MimeNoContent [Label] MimeJSON+issueGetLabels (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetLabels +-- | @application/json@+instance Produces IssueGetLabels MimeJSON+++-- *** issueGetMilestone++-- | @GET \/repos\/{owner}\/{repo}\/milestones\/{id}@+-- +-- Get a milestone+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetMilestone+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IdText -- ^ "id" - the milestone to get, identified by ID and if not available by name+ -> GiteaRequest IssueGetMilestone MimeNoContent Milestone MimeJSON+issueGetMilestone (Owner owner) (Repo repo) (IdText id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/milestones/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetMilestone +-- | @application/json@+instance Produces IssueGetMilestone MimeJSON+++-- *** issueGetMilestonesList++-- | @GET \/repos\/{owner}\/{repo}\/milestones@+-- +-- Get all of a repository's opened milestones+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetMilestonesList+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueGetMilestonesList MimeNoContent [Milestone] MimeJSON+issueGetMilestonesList (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/milestones"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetMilestonesList ++-- | /Optional Param/ "state" - Milestone state, Recognized values are open, closed and all. Defaults to \"open\"+instance HasOptionalParam IssueGetMilestonesList State where+ applyOptionalParam req (State xs) =+ req `addQuery` toQuery ("state", Just xs)++-- | /Optional Param/ "name" - filter by milestone name+instance HasOptionalParam IssueGetMilestonesList Name where+ applyOptionalParam req (Name xs) =+ req `addQuery` toQuery ("name", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueGetMilestonesList Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueGetMilestonesList Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueGetMilestonesList MimeJSON+++-- *** issueGetRepoComments++-- | @GET \/repos\/{owner}\/{repo}\/issues\/comments@+-- +-- List all comments in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueGetRepoComments+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueGetRepoComments MimeNoContent [Comment] MimeJSON+issueGetRepoComments (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueGetRepoComments ++-- | /Optional Param/ "since" - if provided, only comments updated since the provided time are returned.+instance HasOptionalParam IssueGetRepoComments Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - if provided, only comments updated before the provided time are returned.+instance HasOptionalParam IssueGetRepoComments Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueGetRepoComments Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueGetRepoComments Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueGetRepoComments MimeJSON+++-- *** issueListIssueAttachments++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/assets@+-- +-- List issue's attachments+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueListIssueAttachments+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueListIssueAttachments MimeNoContent [Attachment] MimeJSON+issueListIssueAttachments (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/assets"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueListIssueAttachments +-- | @application/json@+instance Produces IssueListIssueAttachments MimeJSON+++-- *** issueListIssueCommentAttachments++-- | @GET \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/assets@+-- +-- List comment's attachments+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueListIssueCommentAttachments+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment+ -> GiteaRequest IssueListIssueCommentAttachments MimeNoContent [Attachment] MimeJSON+issueListIssueCommentAttachments (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/assets"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueListIssueCommentAttachments +-- | @application/json@+instance Produces IssueListIssueCommentAttachments MimeJSON+++-- *** issueListIssues++-- | @GET \/repos\/{owner}\/{repo}\/issues@+-- +-- List a repository's issues+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueListIssues+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueListIssues MimeNoContent [Issue] MimeJSON+issueListIssues (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueListIssues ++-- | /Optional Param/ "state" - whether issue is open or closed+instance HasOptionalParam IssueListIssues State3 where+ applyOptionalParam req (State3 xs) =+ req `addQuery` toQuery ("state", Just xs)++-- | /Optional Param/ "labels" - comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded+instance HasOptionalParam IssueListIssues Labels where+ applyOptionalParam req (Labels xs) =+ req `addQuery` toQuery ("labels", Just xs)++-- | /Optional Param/ "q" - search string+instance HasOptionalParam IssueListIssues Q where+ applyOptionalParam req (Q xs) =+ req `addQuery` toQuery ("q", Just xs)++-- | /Optional Param/ "type" - filter by type (issues / pulls) if set+instance HasOptionalParam IssueListIssues ParamType2 where+ applyOptionalParam req (ParamType2 xs) =+ req `addQuery` toQuery ("type", Just xs)++-- | /Optional Param/ "milestones" - comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded+instance HasOptionalParam IssueListIssues Milestones where+ applyOptionalParam req (Milestones xs) =+ req `addQuery` toQuery ("milestones", Just xs)++-- | /Optional Param/ "since" - Only show items updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam IssueListIssues Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show items updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam IssueListIssues Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "created_by" - Only show items which were created by the the given user+instance HasOptionalParam IssueListIssues CreatedBy where+ applyOptionalParam req (CreatedBy xs) =+ req `addQuery` toQuery ("created_by", Just xs)++-- | /Optional Param/ "assigned_by" - Only show items for which the given user is assigned+instance HasOptionalParam IssueListIssues AssignedBy where+ applyOptionalParam req (AssignedBy xs) =+ req `addQuery` toQuery ("assigned_by", Just xs)++-- | /Optional Param/ "mentioned_by" - Only show items in which the given user was mentioned+instance HasOptionalParam IssueListIssues MentionedBy where+ applyOptionalParam req (MentionedBy xs) =+ req `addQuery` toQuery ("mentioned_by", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueListIssues Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueListIssues Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueListIssues MimeJSON+++-- *** issueListLabels++-- | @GET \/repos\/{owner}\/{repo}\/labels@+-- +-- Get all of a repository's labels+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueListLabels+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest IssueListLabels MimeNoContent [Label] MimeJSON+issueListLabels (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueListLabels ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueListLabels Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueListLabels Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueListLabels MimeJSON+++-- *** issuePostCommentReaction++-- | @POST \/repos\/{owner}\/{repo}\/issues\/comments\/{id}\/reactions@+-- +-- Add a reaction to a comment of an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issuePostCommentReaction+ :: (Consumes IssuePostCommentReaction MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the comment to edit+ -> GiteaRequest IssuePostCommentReaction MimeJSON Reaction MimeJSON+issuePostCommentReaction (Owner owner) (Repo repo) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/comments/",toPath id,"/reactions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssuePostCommentReaction +instance HasBodyParam IssuePostCommentReaction EditReactionOption ++-- | @application/json@+instance Consumes IssuePostCommentReaction MimeJSON++-- | @application/json@+instance Produces IssuePostCommentReaction MimeJSON+++-- *** issuePostIssueReaction++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/reactions@+-- +-- Add a reaction to an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issuePostIssueReaction+ :: (Consumes IssuePostIssueReaction MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssuePostIssueReaction MimeJSON Reaction MimeJSON+issuePostIssueReaction (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/reactions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssuePostIssueReaction +instance HasBodyParam IssuePostIssueReaction EditReactionOption ++-- | @application/json@+instance Consumes IssuePostIssueReaction MimeJSON++-- | @application/json@+instance Produces IssuePostIssueReaction MimeJSON+++-- *** issueRemoveLabel++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/labels\/{id}@+-- +-- Remove a label from an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueRemoveLabel+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> Id -- ^ "id" - id of the label to remove+ -> GiteaRequest IssueRemoveLabel MimeNoContent NoContent MimeNoContent+issueRemoveLabel (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueRemoveLabel +instance Produces IssueRemoveLabel MimeNoContent+++-- *** issueReplaceLabels++-- | @PUT \/repos\/{owner}\/{repo}\/issues\/{index}\/labels@+-- +-- Replace an issue's labels+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueReplaceLabels+ :: (Consumes IssueReplaceLabels MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueReplaceLabels MimeJSON [Label] MimeJSON+issueReplaceLabels (Owner owner) (Repo repo) (Index index) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueReplaceLabels +instance HasBodyParam IssueReplaceLabels IssueLabelsOption ++-- | @application/json@+instance Consumes IssueReplaceLabels MimeJSON++-- | @application/json@+instance Produces IssueReplaceLabels MimeJSON+++-- *** issueResetTime++-- | @DELETE \/repos\/{owner}\/{repo}\/issues\/{index}\/times@+-- +-- Reset a tracked time of an issue+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueResetTime+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to add tracked time to+ -> GiteaRequest IssueResetTime MimeNoContent NoContent MimeNoContent+issueResetTime (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/times"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueResetTime +instance Produces IssueResetTime MimeNoContent+++-- *** issueSearchIssues++-- | @GET \/repos\/issues\/search@+-- +-- Search for issues across the repositories that the user has access to+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueSearchIssues+ :: GiteaRequest IssueSearchIssues MimeNoContent [Issue] MimeJSON+issueSearchIssues =+ _mkRequest "GET" ["/repos/issues/search"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueSearchIssues ++-- | /Optional Param/ "state" - whether issue is open or closed+instance HasOptionalParam IssueSearchIssues State where+ applyOptionalParam req (State xs) =+ req `addQuery` toQuery ("state", Just xs)++-- | /Optional Param/ "labels" - comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded+instance HasOptionalParam IssueSearchIssues Labels where+ applyOptionalParam req (Labels xs) =+ req `addQuery` toQuery ("labels", Just xs)++-- | /Optional Param/ "milestones" - comma separated list of milestone names. Fetch only issues that have any of this milestones. Non existent are discarded+instance HasOptionalParam IssueSearchIssues Milestones where+ applyOptionalParam req (Milestones xs) =+ req `addQuery` toQuery ("milestones", Just xs)++-- | /Optional Param/ "q" - search string+instance HasOptionalParam IssueSearchIssues Q where+ applyOptionalParam req (Q xs) =+ req `addQuery` toQuery ("q", Just xs)++-- | /Optional Param/ "priority_repo_id" - repository to prioritize in the results+instance HasOptionalParam IssueSearchIssues PriorityRepoId where+ applyOptionalParam req (PriorityRepoId xs) =+ req `addQuery` toQuery ("priority_repo_id", Just xs)++-- | /Optional Param/ "type" - filter by type (issues / pulls) if set+instance HasOptionalParam IssueSearchIssues ParamTypeText where+ applyOptionalParam req (ParamTypeText xs) =+ req `addQuery` toQuery ("type", Just xs)++-- | /Optional Param/ "since" - Only show notifications updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam IssueSearchIssues Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show notifications updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam IssueSearchIssues Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "assigned" - filter (issues / pulls) assigned to you, default is false+instance HasOptionalParam IssueSearchIssues Assigned where+ applyOptionalParam req (Assigned xs) =+ req `addQuery` toQuery ("assigned", Just xs)++-- | /Optional Param/ "created" - filter (issues / pulls) created by you, default is false+instance HasOptionalParam IssueSearchIssues Created where+ applyOptionalParam req (Created xs) =+ req `addQuery` toQuery ("created", Just xs)++-- | /Optional Param/ "mentioned" - filter (issues / pulls) mentioning you, default is false+instance HasOptionalParam IssueSearchIssues Mentioned where+ applyOptionalParam req (Mentioned xs) =+ req `addQuery` toQuery ("mentioned", Just xs)++-- | /Optional Param/ "review_requested" - filter pulls requesting your review, default is false+instance HasOptionalParam IssueSearchIssues ReviewRequested where+ applyOptionalParam req (ReviewRequested xs) =+ req `addQuery` toQuery ("review_requested", Just xs)++-- | /Optional Param/ "owner" - filter by owner+instance HasOptionalParam IssueSearchIssues Owner where+ applyOptionalParam req (Owner xs) =+ req `addQuery` toQuery ("owner", Just xs)++-- | /Optional Param/ "team" - filter by team (requires organization owner parameter to be provided)+instance HasOptionalParam IssueSearchIssues Team2 where+ applyOptionalParam req (Team2 xs) =+ req `addQuery` toQuery ("team", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueSearchIssues Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueSearchIssues Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueSearchIssues MimeJSON+++-- *** issueStartStopWatch++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/stopwatch\/start@+-- +-- Start stopwatch on an issue.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueStartStopWatch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to create the stopwatch on+ -> GiteaRequest IssueStartStopWatch MimeNoContent NoContent MimeNoContent+issueStartStopWatch (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/stopwatch/start"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueStartStopWatch +instance Produces IssueStartStopWatch MimeNoContent+++-- *** issueStopStopWatch++-- | @POST \/repos\/{owner}\/{repo}\/issues\/{index}\/stopwatch\/stop@+-- +-- Stop an issue's existing stopwatch.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueStopStopWatch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue to stop the stopwatch on+ -> GiteaRequest IssueStopStopWatch MimeNoContent NoContent MimeNoContent+issueStopStopWatch (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/stopwatch/stop"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueStopStopWatch +instance Produces IssueStopStopWatch MimeNoContent+++-- *** issueSubscriptions++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/subscriptions@+-- +-- Get users who subscribed on an issue.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueSubscriptions+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueSubscriptions MimeNoContent [User] MimeJSON+issueSubscriptions (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/subscriptions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueSubscriptions ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueSubscriptions Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueSubscriptions Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueSubscriptions MimeJSON+++-- *** issueTrackedTimes++-- | @GET \/repos\/{owner}\/{repo}\/issues\/{index}\/times@+-- +-- List an issue's tracked times+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +issueTrackedTimes+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the issue+ -> GiteaRequest IssueTrackedTimes MimeNoContent [TrackedTime] MimeJSON+issueTrackedTimes (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issues/",toPath index,"/times"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data IssueTrackedTimes ++-- | /Optional Param/ "user" - optional filter by user (available for issue managers)+instance HasOptionalParam IssueTrackedTimes User2 where+ applyOptionalParam req (User2 xs) =+ req `addQuery` toQuery ("user", Just xs)++-- | /Optional Param/ "since" - Only show times updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam IssueTrackedTimes Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show times updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam IssueTrackedTimes Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam IssueTrackedTimes Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam IssueTrackedTimes Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces IssueTrackedTimes MimeJSON+
+ lib/Gitea/API/Miscellaneous.hs view
@@ -0,0 +1,199 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Miscellaneous+-}++{-# 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.Miscellaneous 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+++-- ** Miscellaneous++-- *** getNodeInfo++-- | @GET \/nodeinfo@+-- +-- Returns the nodeinfo of the Gitea application+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getNodeInfo+ :: GiteaRequest GetNodeInfo MimeNoContent NodeInfo MimeJSON+getNodeInfo =+ _mkRequest "GET" ["/nodeinfo"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetNodeInfo +-- | @application/json@+instance Produces GetNodeInfo MimeJSON+++-- *** getSigningKey++-- | @GET \/signing-key.gpg@+-- +-- Get default signing-key.gpg+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getSigningKey+ :: GiteaRequest GetSigningKey MimeNoContent Text MimePlainText+getSigningKey =+ _mkRequest "GET" ["/signing-key.gpg"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetSigningKey +-- | @text/plain@+instance Produces GetSigningKey MimePlainText+++-- *** getVersion++-- | @GET \/version@+-- +-- Returns the version of the Gitea application+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getVersion+ :: GiteaRequest GetVersion MimeNoContent ServerVersion MimeJSON+getVersion =+ _mkRequest "GET" ["/version"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetVersion +-- | @application/json@+instance Produces GetVersion MimeJSON+++-- *** renderMarkdown++-- | @POST \/markdown@+-- +-- Render a markdown document as HTML+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +renderMarkdown+ :: (Consumes RenderMarkdown MimeJSON)+ => GiteaRequest RenderMarkdown MimeJSON Text MimeTextHtml+renderMarkdown =+ _mkRequest "POST" ["/markdown"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RenderMarkdown +instance HasBodyParam RenderMarkdown MarkdownOption ++-- | @application/json@+instance Consumes RenderMarkdown MimeJSON++-- | @text/html@+instance Produces RenderMarkdown MimeTextHtml+++-- *** renderMarkdownRaw++-- | @POST \/markdown\/raw@+-- +-- Render raw markdown as HTML+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +renderMarkdownRaw+ :: (Consumes RenderMarkdownRaw MimePlainText, MimeRender MimePlainText Body)+ => Body -- ^ "body" - Request body to render+ -> GiteaRequest RenderMarkdownRaw MimePlainText Text MimeTextHtml+renderMarkdownRaw body =+ _mkRequest "POST" ["/markdown/raw"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RenderMarkdownRaw ++-- | /Body Param/ "body" - Request body to render+instance HasBodyParam RenderMarkdownRaw Body ++-- | @text/plain@+instance Consumes RenderMarkdownRaw MimePlainText++-- | @text/html@+instance Produces RenderMarkdownRaw MimeTextHtml+
+ lib/Gitea/API/Notification.hs view
@@ -0,0 +1,357 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Notification+-}++{-# 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.Notification 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+++-- ** Notification++-- *** notifyGetList++-- | @GET \/notifications@+-- +-- List users's notification threads+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyGetList+ :: GiteaRequest NotifyGetList MimeNoContent [NotificationThread] MimeJSON+notifyGetList =+ _mkRequest "GET" ["/notifications"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyGetList ++-- | /Optional Param/ "all" - If true, show notifications marked as read. Default value is false+instance HasOptionalParam NotifyGetList All where+ applyOptionalParam req (All xs) =+ req `addQuery` toQuery ("all", Just xs)++-- | /Optional Param/ "status-types" - Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread & pinned.+instance HasOptionalParam NotifyGetList StatusTypes where+ applyOptionalParam req (StatusTypes xs) =+ req `addQuery` toQueryColl MultiParamArray ("status-types", Just xs)++-- | /Optional Param/ "subject-type" - filter notifications by subject type+instance HasOptionalParam NotifyGetList SubjectType where+ applyOptionalParam req (SubjectType xs) =+ req `addQuery` toQueryColl MultiParamArray ("subject-type", Just xs)++-- | /Optional Param/ "since" - Only show notifications updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam NotifyGetList Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show notifications updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam NotifyGetList Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam NotifyGetList Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam NotifyGetList Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces NotifyGetList MimeJSON+++-- *** notifyGetRepoList++-- | @GET \/repos\/{owner}\/{repo}\/notifications@+-- +-- List users's notification threads on a specific repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyGetRepoList+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest NotifyGetRepoList MimeNoContent [NotificationThread] MimeJSON+notifyGetRepoList (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/notifications"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyGetRepoList ++-- | /Optional Param/ "all" - If true, show notifications marked as read. Default value is false+instance HasOptionalParam NotifyGetRepoList All where+ applyOptionalParam req (All xs) =+ req `addQuery` toQuery ("all", Just xs)++-- | /Optional Param/ "status-types" - Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread & pinned+instance HasOptionalParam NotifyGetRepoList StatusTypes where+ applyOptionalParam req (StatusTypes xs) =+ req `addQuery` toQueryColl MultiParamArray ("status-types", Just xs)++-- | /Optional Param/ "subject-type" - filter notifications by subject type+instance HasOptionalParam NotifyGetRepoList SubjectType where+ applyOptionalParam req (SubjectType xs) =+ req `addQuery` toQueryColl MultiParamArray ("subject-type", Just xs)++-- | /Optional Param/ "since" - Only show notifications updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam NotifyGetRepoList Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show notifications updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam NotifyGetRepoList Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam NotifyGetRepoList Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam NotifyGetRepoList Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces NotifyGetRepoList MimeJSON+++-- *** notifyGetThread++-- | @GET \/notifications\/threads\/{id}@+-- +-- Get notification thread by ID+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyGetThread+ :: IdText -- ^ "id" - id of notification thread+ -> GiteaRequest NotifyGetThread MimeNoContent NotificationThread MimeJSON+notifyGetThread (IdText id) =+ _mkRequest "GET" ["/notifications/threads/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyGetThread +-- | @application/json@+instance Produces NotifyGetThread MimeJSON+++-- *** notifyNewAvailable++-- | @GET \/notifications\/new@+-- +-- Check if unread notifications exist+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyNewAvailable+ :: Accept accept -- ^ request accept ('MimeType')+ -> GiteaRequest NotifyNewAvailable MimeNoContent NotificationCount accept+notifyNewAvailable _ =+ _mkRequest "GET" ["/notifications/new"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyNewAvailable +-- | @text/html@+instance Produces NotifyNewAvailable MimeTextHtml+-- | @application/json@+instance Produces NotifyNewAvailable MimeJSON+++-- *** notifyReadList++-- | @PUT \/notifications@+-- +-- Mark notification threads as read, pinned or unread+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyReadList+ :: GiteaRequest NotifyReadList MimeNoContent [NotificationThread] MimeJSON+notifyReadList =+ _mkRequest "PUT" ["/notifications"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyReadList ++-- | /Optional Param/ "last_read_at" - Describes the last point that notifications were checked. Anything updated since this time will not be updated.+instance HasOptionalParam NotifyReadList LastReadAt where+ applyOptionalParam req (LastReadAt xs) =+ req `addQuery` toQuery ("last_read_at", Just xs)++-- | /Optional Param/ "all" - If true, mark all notifications on this repo. Default value is false+instance HasOptionalParam NotifyReadList AllText where+ applyOptionalParam req (AllText xs) =+ req `addQuery` toQuery ("all", Just xs)++-- | /Optional Param/ "status-types" - Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.+instance HasOptionalParam NotifyReadList StatusTypes where+ applyOptionalParam req (StatusTypes xs) =+ req `addQuery` toQueryColl MultiParamArray ("status-types", Just xs)++-- | /Optional Param/ "to-status" - Status to mark notifications as, Defaults to read.+instance HasOptionalParam NotifyReadList ToStatus where+ applyOptionalParam req (ToStatus xs) =+ req `addQuery` toQuery ("to-status", Just xs)+-- | @application/json@+instance Produces NotifyReadList MimeJSON+++-- *** notifyReadRepoList++-- | @PUT \/repos\/{owner}\/{repo}\/notifications@+-- +-- Mark notification threads as read, pinned or unread on a specific repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyReadRepoList+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest NotifyReadRepoList MimeNoContent [NotificationThread] MimeJSON+notifyReadRepoList (Owner owner) (Repo repo) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/notifications"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyReadRepoList ++-- | /Optional Param/ "all" - If true, mark all notifications on this repo. Default value is false+instance HasOptionalParam NotifyReadRepoList AllText where+ applyOptionalParam req (AllText xs) =+ req `addQuery` toQuery ("all", Just xs)++-- | /Optional Param/ "status-types" - Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.+instance HasOptionalParam NotifyReadRepoList StatusTypes where+ applyOptionalParam req (StatusTypes xs) =+ req `addQuery` toQueryColl MultiParamArray ("status-types", Just xs)++-- | /Optional Param/ "to-status" - Status to mark notifications as. Defaults to read.+instance HasOptionalParam NotifyReadRepoList ToStatus where+ applyOptionalParam req (ToStatus xs) =+ req `addQuery` toQuery ("to-status", Just xs)++-- | /Optional Param/ "last_read_at" - Describes the last point that notifications were checked. Anything updated since this time will not be updated.+instance HasOptionalParam NotifyReadRepoList LastReadAt where+ applyOptionalParam req (LastReadAt xs) =+ req `addQuery` toQuery ("last_read_at", Just xs)+-- | @application/json@+instance Produces NotifyReadRepoList MimeJSON+++-- *** notifyReadThread++-- | @PATCH \/notifications\/threads\/{id}@+-- +-- Mark notification thread as read by ID+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +notifyReadThread+ :: IdText -- ^ "id" - id of notification thread+ -> GiteaRequest NotifyReadThread MimeNoContent NotificationThread MimeJSON+notifyReadThread (IdText id) =+ _mkRequest "PATCH" ["/notifications/threads/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data NotifyReadThread ++-- | /Optional Param/ "to-status" - Status to mark notifications as+instance HasOptionalParam NotifyReadThread ToStatus where+ applyOptionalParam req (ToStatus xs) =+ req `addQuery` toQuery ("to-status", Just xs)+-- | @application/json@+instance Produces NotifyReadThread MimeJSON+
+ lib/Gitea/API/Organization.hs view
@@ -0,0 +1,1355 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Organization+-}++{-# 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.Organization 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+++-- ** Organization++-- *** createOrgRepo++-- | @POST \/orgs\/{org}\/repos@+-- +-- Create a repository in an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +createOrgRepo+ :: (Consumes CreateOrgRepo MimeJSON)+ => Org -- ^ "org" - name of organization+ -> GiteaRequest CreateOrgRepo MimeJSON Repository MimeJSON+createOrgRepo (Org org) =+ _mkRequest "POST" ["/orgs/",toPath org,"/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data CreateOrgRepo +instance HasBodyParam CreateOrgRepo CreateRepoOption ++-- | @application/json@+instance Consumes CreateOrgRepo MimeJSON++-- | @application/json@+instance Produces CreateOrgRepo MimeJSON+++-- *** createOrgRepoDeprecated++-- | @POST \/org\/{org}\/repos@+-- +-- Create a repository in an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +createOrgRepoDeprecated+ :: (Consumes CreateOrgRepoDeprecated MimeJSON)+ => Org -- ^ "org" - name of organization+ -> GiteaRequest CreateOrgRepoDeprecated MimeJSON Repository MimeJSON+createOrgRepoDeprecated (Org org) =+ _mkRequest "POST" ["/org/",toPath org,"/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++{-# DEPRECATED createOrgRepoDeprecated "" #-}++data CreateOrgRepoDeprecated +instance HasBodyParam CreateOrgRepoDeprecated CreateRepoOption ++-- | @application/json@+instance Consumes CreateOrgRepoDeprecated MimeJSON++-- | @application/json@+instance Produces CreateOrgRepoDeprecated MimeJSON+++-- *** orgAddTeamMember++-- | @PUT \/teams\/{id}\/members\/{username}@+-- +-- Add a team member+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgAddTeamMember+ :: Id -- ^ "id" - id of the team+ -> Username -- ^ "username" - username of the user to add+ -> GiteaRequest OrgAddTeamMember MimeNoContent NoContent MimeNoContent+orgAddTeamMember (Id id) (Username username) =+ _mkRequest "PUT" ["/teams/",toPath id,"/members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgAddTeamMember +instance Produces OrgAddTeamMember MimeNoContent+++-- *** orgAddTeamRepository++-- | @PUT \/teams\/{id}\/repos\/{org}\/{repo}@+-- +-- Add a repository to a team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgAddTeamRepository+ :: Id -- ^ "id" - id of the team+ -> Org -- ^ "org" - organization that owns the repo to add+ -> Repo -- ^ "repo" - name of the repo to add+ -> GiteaRequest OrgAddTeamRepository MimeNoContent NoContent MimeNoContent+orgAddTeamRepository (Id id) (Org org) (Repo repo) =+ _mkRequest "PUT" ["/teams/",toPath id,"/repos/",toPath org,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgAddTeamRepository +instance Produces OrgAddTeamRepository MimeNoContent+++-- *** orgConcealMember++-- | @DELETE \/orgs\/{org}\/public_members\/{username}@+-- +-- Conceal a user's membership+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgConcealMember+ :: Org -- ^ "org" - name of the organization+ -> Username -- ^ "username" - username of the user+ -> GiteaRequest OrgConcealMember MimeNoContent NoContent MimeNoContent+orgConcealMember (Org org) (Username username) =+ _mkRequest "DELETE" ["/orgs/",toPath org,"/public_members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgConcealMember +instance Produces OrgConcealMember MimeNoContent+++-- *** orgCreate++-- | @POST \/orgs@+-- +-- Create an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgCreate+ :: (Consumes OrgCreate MimeJSON, MimeRender MimeJSON CreateOrgOption)+ => CreateOrgOption -- ^ "organization"+ -> GiteaRequest OrgCreate MimeJSON Organization MimeJSON+orgCreate organization =+ _mkRequest "POST" ["/orgs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` organization++data OrgCreate +instance HasBodyParam OrgCreate CreateOrgOption ++-- | @application/json@+instance Consumes OrgCreate MimeJSON++-- | @application/json@+instance Produces OrgCreate MimeJSON+++-- *** orgCreateHook++-- | @POST \/orgs\/{org}\/hooks@+-- +-- Create a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgCreateHook+ :: (Consumes OrgCreateHook MimeJSON, MimeRender MimeJSON CreateHookOption)+ => CreateHookOption -- ^ "body"+ -> Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgCreateHook MimeJSON Hook MimeJSON+orgCreateHook body (Org org) =+ _mkRequest "POST" ["/orgs/",toPath org,"/hooks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data OrgCreateHook +instance HasBodyParam OrgCreateHook CreateHookOption ++-- | @application/json@+instance Consumes OrgCreateHook MimeJSON++-- | @application/json@+instance Produces OrgCreateHook MimeJSON+++-- *** orgCreateLabel++-- | @POST \/orgs\/{org}\/labels@+-- +-- Create a label for an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgCreateLabel+ :: (Consumes OrgCreateLabel MimeJSON)+ => Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgCreateLabel MimeJSON Label MimeJSON+orgCreateLabel (Org org) =+ _mkRequest "POST" ["/orgs/",toPath org,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgCreateLabel +instance HasBodyParam OrgCreateLabel CreateLabelOption ++-- | @application/json@+instance Consumes OrgCreateLabel MimeJSON++-- | @application/json@+instance Produces OrgCreateLabel MimeJSON+++-- *** orgCreateTeam++-- | @POST \/orgs\/{org}\/teams@+-- +-- Create a team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgCreateTeam+ :: (Consumes OrgCreateTeam MimeJSON)+ => Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgCreateTeam MimeJSON Team MimeJSON+orgCreateTeam (Org org) =+ _mkRequest "POST" ["/orgs/",toPath org,"/teams"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgCreateTeam +instance HasBodyParam OrgCreateTeam CreateTeamOption ++-- | @application/json@+instance Consumes OrgCreateTeam MimeJSON++-- | @application/json@+instance Produces OrgCreateTeam MimeJSON+++-- *** orgDelete++-- | @DELETE \/orgs\/{org}@+-- +-- Delete an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgDelete+ :: Org -- ^ "org" - organization that is to be deleted+ -> GiteaRequest OrgDelete MimeNoContent NoContent MimeNoContent+orgDelete (Org org) =+ _mkRequest "DELETE" ["/orgs/",toPath org]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgDelete +instance Produces OrgDelete MimeNoContent+++-- *** orgDeleteHook++-- | @DELETE \/orgs\/{org}\/hooks\/{id}@+-- +-- Delete a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgDeleteHook+ :: Org -- ^ "org" - name of the organization+ -> Id -- ^ "id" - id of the hook to delete+ -> GiteaRequest OrgDeleteHook MimeNoContent NoContent MimeNoContent+orgDeleteHook (Org org) (Id id) =+ _mkRequest "DELETE" ["/orgs/",toPath org,"/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgDeleteHook +instance Produces OrgDeleteHook MimeNoContent+++-- *** orgDeleteLabel++-- | @DELETE \/orgs\/{org}\/labels\/{id}@+-- +-- Delete a label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgDeleteLabel+ :: Org -- ^ "org" - name of the organization+ -> Id -- ^ "id" - id of the label to delete+ -> GiteaRequest OrgDeleteLabel MimeNoContent NoContent MimeNoContent+orgDeleteLabel (Org org) (Id id) =+ _mkRequest "DELETE" ["/orgs/",toPath org,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgDeleteLabel +instance Produces OrgDeleteLabel MimeNoContent+++-- *** orgDeleteMember++-- | @DELETE \/orgs\/{org}\/members\/{username}@+-- +-- Remove a member from an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgDeleteMember+ :: Org -- ^ "org" - name of the organization+ -> Username -- ^ "username" - username of the user+ -> GiteaRequest OrgDeleteMember MimeNoContent NoContent MimeNoContent+orgDeleteMember (Org org) (Username username) =+ _mkRequest "DELETE" ["/orgs/",toPath org,"/members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgDeleteMember +instance Produces OrgDeleteMember MimeNoContent+++-- *** orgDeleteTeam++-- | @DELETE \/teams\/{id}@+-- +-- Delete a team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgDeleteTeam+ :: Id -- ^ "id" - id of the team to delete+ -> GiteaRequest OrgDeleteTeam MimeNoContent NoContent MimeNoContent+orgDeleteTeam (Id id) =+ _mkRequest "DELETE" ["/teams/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgDeleteTeam +instance Produces OrgDeleteTeam MimeNoContent+++-- *** orgEdit++-- | @PATCH \/orgs\/{org}@+-- +-- Edit an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgEdit+ :: (Consumes OrgEdit MimeJSON, MimeRender MimeJSON EditOrgOption)+ => EditOrgOption -- ^ "body"+ -> Org -- ^ "org" - name of the organization to edit+ -> GiteaRequest OrgEdit MimeJSON Organization MimeJSON+orgEdit body (Org org) =+ _mkRequest "PATCH" ["/orgs/",toPath org]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data OrgEdit +instance HasBodyParam OrgEdit EditOrgOption ++-- | @application/json@+instance Consumes OrgEdit MimeJSON++-- | @application/json@+instance Produces OrgEdit MimeJSON+++-- *** orgEditHook++-- | @PATCH \/orgs\/{org}\/hooks\/{id}@+-- +-- Update a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgEditHook+ :: (Consumes OrgEditHook MimeJSON)+ => Org -- ^ "org" - name of the organization+ -> Id -- ^ "id" - id of the hook to update+ -> GiteaRequest OrgEditHook MimeJSON Hook MimeJSON+orgEditHook (Org org) (Id id) =+ _mkRequest "PATCH" ["/orgs/",toPath org,"/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgEditHook +instance HasBodyParam OrgEditHook EditHookOption ++-- | @application/json@+instance Consumes OrgEditHook MimeJSON++-- | @application/json@+instance Produces OrgEditHook MimeJSON+++-- *** orgEditLabel++-- | @PATCH \/orgs\/{org}\/labels\/{id}@+-- +-- Update a label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgEditLabel+ :: (Consumes OrgEditLabel MimeJSON)+ => Org -- ^ "org" - name of the organization+ -> Id -- ^ "id" - id of the label to edit+ -> GiteaRequest OrgEditLabel MimeJSON Label MimeJSON+orgEditLabel (Org org) (Id id) =+ _mkRequest "PATCH" ["/orgs/",toPath org,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgEditLabel +instance HasBodyParam OrgEditLabel EditLabelOption ++-- | @application/json@+instance Consumes OrgEditLabel MimeJSON++-- | @application/json@+instance Produces OrgEditLabel MimeJSON+++-- *** orgEditTeam++-- | @PATCH \/teams\/{id}@+-- +-- Edit a team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgEditTeam+ :: (Consumes OrgEditTeam MimeJSON)+ => IdInt -- ^ "id" - id of the team to edit+ -> GiteaRequest OrgEditTeam MimeJSON Team MimeJSON+orgEditTeam (IdInt id) =+ _mkRequest "PATCH" ["/teams/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgEditTeam +instance HasBodyParam OrgEditTeam EditTeamOption ++-- | @application/json@+instance Consumes OrgEditTeam MimeJSON++-- | @application/json@+instance Produces OrgEditTeam MimeJSON+++-- *** orgGet++-- | @GET \/orgs\/{org}@+-- +-- Get an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgGet+ :: Org -- ^ "org" - name of the organization to get+ -> GiteaRequest OrgGet MimeNoContent Organization MimeJSON+orgGet (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgGet +-- | @application/json@+instance Produces OrgGet MimeJSON+++-- *** orgGetAll++-- | @GET \/orgs@+-- +-- Get list of organizations+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgGetAll+ :: GiteaRequest OrgGetAll MimeNoContent [Organization] MimeJSON+orgGetAll =+ _mkRequest "GET" ["/orgs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgGetAll ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgGetAll Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgGetAll Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgGetAll MimeJSON+++-- *** orgGetHook++-- | @GET \/orgs\/{org}\/hooks\/{id}@+-- +-- Get a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgGetHook+ :: Org -- ^ "org" - name of the organization+ -> Id -- ^ "id" - id of the hook to get+ -> GiteaRequest OrgGetHook MimeNoContent Hook MimeJSON+orgGetHook (Org org) (Id id) =+ _mkRequest "GET" ["/orgs/",toPath org,"/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgGetHook +-- | @application/json@+instance Produces OrgGetHook MimeJSON+++-- *** orgGetLabel++-- | @GET \/orgs\/{org}\/labels\/{id}@+-- +-- Get a single label+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgGetLabel+ :: Org -- ^ "org" - name of the organization+ -> Id -- ^ "id" - id of the label to get+ -> GiteaRequest OrgGetLabel MimeNoContent Label MimeJSON+orgGetLabel (Org org) (Id id) =+ _mkRequest "GET" ["/orgs/",toPath org,"/labels/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgGetLabel +-- | @application/json@+instance Produces OrgGetLabel MimeJSON+++-- *** orgGetTeam++-- | @GET \/teams\/{id}@+-- +-- Get a team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgGetTeam+ :: Id -- ^ "id" - id of the team to get+ -> GiteaRequest OrgGetTeam MimeNoContent Team MimeJSON+orgGetTeam (Id id) =+ _mkRequest "GET" ["/teams/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgGetTeam +-- | @application/json@+instance Produces OrgGetTeam MimeJSON+++-- *** orgGetUserPermissions++-- | @GET \/users\/{username}\/orgs\/{org}\/permissions@+-- +-- Get user permissions in organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgGetUserPermissions+ :: Username -- ^ "username" - username of user+ -> Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgGetUserPermissions MimeNoContent OrganizationPermissions MimeJSON+orgGetUserPermissions (Username username) (Org org) =+ _mkRequest "GET" ["/users/",toPath username,"/orgs/",toPath org,"/permissions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgGetUserPermissions +-- | @application/json@+instance Produces OrgGetUserPermissions MimeJSON+++-- *** orgIsMember++-- | @GET \/orgs\/{org}\/members\/{username}@+-- +-- Check if a user is a member of an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgIsMember+ :: Org -- ^ "org" - name of the organization+ -> Username -- ^ "username" - username of the user+ -> GiteaRequest OrgIsMember MimeNoContent NoContent MimeNoContent+orgIsMember (Org org) (Username username) =+ _mkRequest "GET" ["/orgs/",toPath org,"/members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgIsMember +instance Produces OrgIsMember MimeNoContent+++-- *** orgIsPublicMember++-- | @GET \/orgs\/{org}\/public_members\/{username}@+-- +-- Check if a user is a public member of an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgIsPublicMember+ :: Org -- ^ "org" - name of the organization+ -> Username -- ^ "username" - username of the user+ -> GiteaRequest OrgIsPublicMember MimeNoContent NoContent MimeNoContent+orgIsPublicMember (Org org) (Username username) =+ _mkRequest "GET" ["/orgs/",toPath org,"/public_members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgIsPublicMember +instance Produces OrgIsPublicMember MimeNoContent+++-- *** orgListCurrentUserOrgs++-- | @GET \/user\/orgs@+-- +-- List the current user's organizations+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListCurrentUserOrgs+ :: GiteaRequest OrgListCurrentUserOrgs MimeNoContent [Organization] MimeJSON+orgListCurrentUserOrgs =+ _mkRequest "GET" ["/user/orgs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListCurrentUserOrgs ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListCurrentUserOrgs Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListCurrentUserOrgs Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListCurrentUserOrgs MimeJSON+++-- *** orgListHooks++-- | @GET \/orgs\/{org}\/hooks@+-- +-- List an organization's webhooks+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListHooks+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgListHooks MimeNoContent [Hook] MimeJSON+orgListHooks (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/hooks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListHooks ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListHooks Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListHooks Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListHooks MimeJSON+++-- *** orgListLabels++-- | @GET \/orgs\/{org}\/labels@+-- +-- List an organization's labels+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListLabels+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgListLabels MimeNoContent [Label] MimeJSON+orgListLabels (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/labels"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListLabels ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListLabels Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListLabels Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListLabels MimeJSON+++-- *** orgListMembers++-- | @GET \/orgs\/{org}\/members@+-- +-- List an organization's members+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListMembers+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgListMembers MimeNoContent [User] MimeJSON+orgListMembers (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/members"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListMembers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListMembers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListMembers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListMembers MimeJSON+++-- *** orgListPublicMembers++-- | @GET \/orgs\/{org}\/public_members@+-- +-- List an organization's public members+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListPublicMembers+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgListPublicMembers MimeNoContent [User] MimeJSON+orgListPublicMembers (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/public_members"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListPublicMembers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListPublicMembers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListPublicMembers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListPublicMembers MimeJSON+++-- *** orgListRepos++-- | @GET \/orgs\/{org}\/repos@+-- +-- List an organization's repos+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListRepos+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgListRepos MimeNoContent [Repository] MimeJSON+orgListRepos (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListRepos ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListRepos Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListRepos Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListRepos MimeJSON+++-- *** orgListTeamMember++-- | @GET \/teams\/{id}\/members\/{username}@+-- +-- List a particular member of team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListTeamMember+ :: Id -- ^ "id" - id of the team+ -> Username -- ^ "username" - username of the member to list+ -> GiteaRequest OrgListTeamMember MimeNoContent User MimeJSON+orgListTeamMember (Id id) (Username username) =+ _mkRequest "GET" ["/teams/",toPath id,"/members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListTeamMember +-- | @application/json@+instance Produces OrgListTeamMember MimeJSON+++-- *** orgListTeamMembers++-- | @GET \/teams\/{id}\/members@+-- +-- List a team's members+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListTeamMembers+ :: Id -- ^ "id" - id of the team+ -> GiteaRequest OrgListTeamMembers MimeNoContent [User] MimeJSON+orgListTeamMembers (Id id) =+ _mkRequest "GET" ["/teams/",toPath id,"/members"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListTeamMembers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListTeamMembers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListTeamMembers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListTeamMembers MimeJSON+++-- *** orgListTeamRepo++-- | @GET \/teams\/{id}\/repos\/{org}\/{repo}@+-- +-- List a particular repo of team+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListTeamRepo+ :: Id -- ^ "id" - id of the team+ -> Org -- ^ "org" - organization that owns the repo to list+ -> Repo -- ^ "repo" - name of the repo to list+ -> GiteaRequest OrgListTeamRepo MimeNoContent Repository MimeJSON+orgListTeamRepo (Id id) (Org org) (Repo repo) =+ _mkRequest "GET" ["/teams/",toPath id,"/repos/",toPath org,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListTeamRepo +-- | @application/json@+instance Produces OrgListTeamRepo MimeJSON+++-- *** orgListTeamRepos++-- | @GET \/teams\/{id}\/repos@+-- +-- List a team's repos+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListTeamRepos+ :: Id -- ^ "id" - id of the team+ -> GiteaRequest OrgListTeamRepos MimeNoContent [Repository] MimeJSON+orgListTeamRepos (Id id) =+ _mkRequest "GET" ["/teams/",toPath id,"/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListTeamRepos ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListTeamRepos Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListTeamRepos Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListTeamRepos MimeJSON+++-- *** orgListTeams++-- | @GET \/orgs\/{org}\/teams@+-- +-- List an organization's teams+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListTeams+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest OrgListTeams MimeNoContent [Team] MimeJSON+orgListTeams (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/teams"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListTeams ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListTeams Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListTeams Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListTeams MimeJSON+++-- *** orgListUserOrgs++-- | @GET \/users\/{username}\/orgs@+-- +-- List a user's organizations+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgListUserOrgs+ :: Username -- ^ "username" - username of user+ -> GiteaRequest OrgListUserOrgs MimeNoContent [Organization] MimeJSON+orgListUserOrgs (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/orgs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgListUserOrgs ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam OrgListUserOrgs Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam OrgListUserOrgs Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces OrgListUserOrgs MimeJSON+++-- *** orgPublicizeMember++-- | @PUT \/orgs\/{org}\/public_members\/{username}@+-- +-- Publicize a user's membership+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgPublicizeMember+ :: Org -- ^ "org" - name of the organization+ -> Username -- ^ "username" - username of the user+ -> GiteaRequest OrgPublicizeMember MimeNoContent NoContent MimeNoContent+orgPublicizeMember (Org org) (Username username) =+ _mkRequest "PUT" ["/orgs/",toPath org,"/public_members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgPublicizeMember +instance Produces OrgPublicizeMember MimeNoContent+++-- *** orgRemoveTeamMember++-- | @DELETE \/teams\/{id}\/members\/{username}@+-- +-- Remove a team member+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgRemoveTeamMember+ :: Id -- ^ "id" - id of the team+ -> Username -- ^ "username" - username of the user to remove+ -> GiteaRequest OrgRemoveTeamMember MimeNoContent NoContent MimeNoContent+orgRemoveTeamMember (Id id) (Username username) =+ _mkRequest "DELETE" ["/teams/",toPath id,"/members/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgRemoveTeamMember +instance Produces OrgRemoveTeamMember MimeNoContent+++-- *** orgRemoveTeamRepository++-- | @DELETE \/teams\/{id}\/repos\/{org}\/{repo}@+-- +-- Remove a repository from a team+-- +-- This does not delete the repository, it only removes the repository from the team.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +orgRemoveTeamRepository+ :: Id -- ^ "id" - id of the team+ -> Org -- ^ "org" - organization that owns the repo to remove+ -> Repo -- ^ "repo" - name of the repo to remove+ -> GiteaRequest OrgRemoveTeamRepository MimeNoContent NoContent MimeNoContent+orgRemoveTeamRepository (Id id) (Org org) (Repo repo) =+ _mkRequest "DELETE" ["/teams/",toPath id,"/repos/",toPath org,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data OrgRemoveTeamRepository +instance Produces OrgRemoveTeamRepository MimeNoContent+++-- *** teamSearch++-- | @GET \/orgs\/{org}\/teams\/search@+-- +-- Search for teams within an organization+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +teamSearch+ :: Org -- ^ "org" - name of the organization+ -> GiteaRequest TeamSearch MimeNoContent TeamSearch200Response MimeJSON+teamSearch (Org org) =+ _mkRequest "GET" ["/orgs/",toPath org,"/teams/search"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data TeamSearch ++-- | /Optional Param/ "q" - keywords to search+instance HasOptionalParam TeamSearch Q where+ applyOptionalParam req (Q xs) =+ req `addQuery` toQuery ("q", Just xs)++-- | /Optional Param/ "include_desc" - include search within team description (defaults to true)+instance HasOptionalParam TeamSearch IncludeDesc where+ applyOptionalParam req (IncludeDesc xs) =+ req `addQuery` toQuery ("include_desc", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam TeamSearch Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam TeamSearch Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces TeamSearch MimeJSON+
+ lib/Gitea/API/Package.hs view
@@ -0,0 +1,190 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ 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 owner) (ParamTypeText _type) (Name name) (Version version) =+ _mkRequest "DELETE" ["/packages/",toPath owner,"/",toPath _type,"/",toPath name,"/",toPath version]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (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 owner) (ParamTypeText _type) (Name name) (Version version) =+ _mkRequest "GET" ["/packages/",toPath owner,"/",toPath _type,"/",toPath name,"/",toPath version]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (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 owner) (ParamTypeText _type) (Name name) (Version version) =+ _mkRequest "GET" ["/packages/",toPath owner,"/",toPath _type,"/",toPath name,"/",toPath version,"/files"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (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 owner) =+ _mkRequest "GET" ["/packages/",toPath owner]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data ListPackages ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam ListPackages Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam ListPackages Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)++-- | /Optional Param/ "type" - package type filter+instance HasOptionalParam ListPackages ParamType where+ applyOptionalParam req (ParamType xs) =+ req `addQuery` toQuery ("type", Just xs)++-- | /Optional Param/ "q" - name filter+instance HasOptionalParam ListPackages Q where+ applyOptionalParam req (Q xs) =+ req `addQuery` toQuery ("q", Just xs)+-- | @application/json@+instance Produces ListPackages MimeJSON+
+ lib/Gitea/API/Repository.hs view
@@ -0,0 +1,4528 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Repository+-}++{-# 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.Repository 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+++-- ** Repository++-- *** acceptRepoTransfer++-- | @POST \/repos\/{owner}\/{repo}\/transfer\/accept@+-- +-- Accept a repo transfer+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +acceptRepoTransfer+ :: Owner -- ^ "owner" - owner of the repo to transfer+ -> Repo -- ^ "repo" - name of the repo to transfer+ -> GiteaRequest AcceptRepoTransfer MimeNoContent Repository MimeJSON+acceptRepoTransfer (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/transfer/accept"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data AcceptRepoTransfer +-- | @application/json@+instance Produces AcceptRepoTransfer MimeJSON+++-- *** createCurrentUserRepo++-- | @POST \/user\/repos@+-- +-- Create a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +createCurrentUserRepo+ :: (Consumes CreateCurrentUserRepo MimeJSON)+ => GiteaRequest CreateCurrentUserRepo MimeJSON Repository MimeJSON+createCurrentUserRepo =+ _mkRequest "POST" ["/user/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data CreateCurrentUserRepo +instance HasBodyParam CreateCurrentUserRepo CreateRepoOption ++-- | @application/json@+instance Consumes CreateCurrentUserRepo MimeJSON++-- | @application/json@+instance Produces CreateCurrentUserRepo MimeJSON+++-- *** createFork++-- | @POST \/repos\/{owner}\/{repo}\/forks@+-- +-- Fork a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +createFork+ :: (Consumes CreateFork contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo to fork+ -> Repo -- ^ "repo" - name of the repo to fork+ -> GiteaRequest CreateFork contentType Repository MimeJSON+createFork _ (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/forks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data CreateFork +instance HasBodyParam CreateFork CreateForkOption ++-- | @application/json@+instance Consumes CreateFork MimeJSON+-- | @text/plain@+instance Consumes CreateFork MimePlainText++-- | @application/json@+instance Produces CreateFork MimeJSON+++-- *** generateRepo++-- | @POST \/repos\/{template_owner}\/{template_repo}\/generate@+-- +-- Create a repository using a template+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +generateRepo+ :: (Consumes GenerateRepo MimeJSON)+ => TemplateOwner -- ^ "templateOwner" - name of the template repository owner+ -> TemplateRepo -- ^ "templateRepo" - name of the template repository+ -> GiteaRequest GenerateRepo MimeJSON Repository MimeJSON+generateRepo (TemplateOwner templateOwner) (TemplateRepo templateRepo) =+ _mkRequest "POST" ["/repos/",toPath templateOwner,"/",toPath templateRepo,"/generate"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GenerateRepo +instance HasBodyParam GenerateRepo GenerateRepoOption ++-- | @application/json@+instance Consumes GenerateRepo MimeJSON++-- | @application/json@+instance Produces GenerateRepo MimeJSON+++-- *** getAnnotatedTag++-- | @GET \/repos\/{owner}\/{repo}\/git\/tags\/{sha}@+-- +-- Gets the tag object of an annotated tag (not lightweight tags)+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getAnnotatedTag+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - sha of the tag. The Git tags API only supports annotated tag objects, not lightweight tags.+ -> GiteaRequest GetAnnotatedTag MimeNoContent AnnotatedTag MimeJSON+getAnnotatedTag (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/tags/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetAnnotatedTag +-- | @application/json@+instance Produces GetAnnotatedTag MimeJSON+++-- *** getBlob++-- | @GET \/repos\/{owner}\/{repo}\/git\/blobs\/{sha}@+-- +-- Gets the blob of a repository.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getBlob+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - sha of the commit+ -> GiteaRequest GetBlob MimeNoContent GitBlobResponse MimeJSON+getBlob (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/blobs/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetBlob +-- | @application/json@+instance Produces GetBlob MimeJSON+++-- *** getTree++-- | @GET \/repos\/{owner}\/{repo}\/git\/trees\/{sha}@+-- +-- Gets the tree of a repository.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getTree+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - sha of the commit+ -> GiteaRequest GetTree MimeNoContent GitTreeResponse MimeJSON+getTree (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/trees/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetTree ++-- | /Optional Param/ "recursive" - show all directories and files+instance HasOptionalParam GetTree Recursive where+ applyOptionalParam req (Recursive xs) =+ req `addQuery` toQuery ("recursive", Just xs)++-- | /Optional Param/ "page" - page number; the 'truncated' field in the response will be true if there are still more items after this page, false if the last page+instance HasOptionalParam GetTree Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "per_page" - number of items per page+instance HasOptionalParam GetTree PerPage where+ applyOptionalParam req (PerPage xs) =+ req `addQuery` toQuery ("per_page", Just xs)+-- | @application/json@+instance Produces GetTree MimeJSON+++-- *** listForks++-- | @GET \/repos\/{owner}\/{repo}\/forks@+-- +-- List a repository's forks+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +listForks+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest ListForks MimeNoContent [Repository] MimeJSON+listForks (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/forks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data ListForks ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam ListForks Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam ListForks Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces ListForks MimeJSON+++-- *** rejectRepoTransfer++-- | @POST \/repos\/{owner}\/{repo}\/transfer\/reject@+-- +-- Reject a repo transfer+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +rejectRepoTransfer+ :: Owner -- ^ "owner" - owner of the repo to transfer+ -> Repo -- ^ "repo" - name of the repo to transfer+ -> GiteaRequest RejectRepoTransfer MimeNoContent Repository MimeJSON+rejectRepoTransfer (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/transfer/reject"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RejectRepoTransfer +-- | @application/json@+instance Produces RejectRepoTransfer MimeJSON+++-- *** repoAddCollaborator++-- | @PUT \/repos\/{owner}\/{repo}\/collaborators\/{collaborator}@+-- +-- Add a collaborator to a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoAddCollaborator+ :: (Consumes RepoAddCollaborator contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Collaborator -- ^ "collaborator" - username of the collaborator to add+ -> GiteaRequest RepoAddCollaborator contentType NoContent MimeNoContent+repoAddCollaborator _ (Owner owner) (Repo repo) (Collaborator collaborator) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/collaborators/",toPath collaborator]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoAddCollaborator +instance HasBodyParam RepoAddCollaborator AddCollaboratorOption ++-- | @application/json@+instance Consumes RepoAddCollaborator MimeJSON+-- | @text/plain@+instance Consumes RepoAddCollaborator MimePlainText++instance Produces RepoAddCollaborator MimeNoContent+++-- *** repoAddPushMirror++-- | @POST \/repos\/{owner}\/{repo}\/push_mirrors@+-- +-- add a push mirror to the repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoAddPushMirror+ :: (Consumes RepoAddPushMirror MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoAddPushMirror MimeJSON PushMirror MimeJSON+repoAddPushMirror (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/push_mirrors"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoAddPushMirror +instance HasBodyParam RepoAddPushMirror CreatePushMirrorOption ++-- | @application/json@+instance Consumes RepoAddPushMirror MimeJSON++-- | @application/json@+instance Produces RepoAddPushMirror MimeJSON+++-- *** repoAddTeam++-- | @PUT \/repos\/{owner}\/{repo}\/teams\/{team}@+-- +-- Add a team to a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoAddTeam+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Team2 -- ^ "team" - team name+ -> GiteaRequest RepoAddTeam MimeNoContent NoContent MimeNoContent+repoAddTeam (Owner owner) (Repo repo) (Team2 team) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/teams/",toPath team]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoAddTeam +instance Produces RepoAddTeam MimeNoContent+++-- *** repoAddTopic++-- | @PUT \/repos\/{owner}\/{repo}\/topics\/{topic}@+-- +-- Add a topic to a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoAddTopic+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> TopicText -- ^ "topic" - name of the topic to add+ -> GiteaRequest RepoAddTopic MimeNoContent NoContent MimeNoContent+repoAddTopic (Owner owner) (Repo repo) (TopicText topic) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/topics/",toPath topic]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoAddTopic +instance Produces RepoAddTopic MimeNoContent+++-- *** repoApplyDiffPatch++-- | @POST \/repos\/{owner}\/{repo}\/diffpatch@+-- +-- Apply diff patch to repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoApplyDiffPatch+ :: (Consumes RepoApplyDiffPatch MimeJSON, MimeRender MimeJSON UpdateFileOptions)+ => UpdateFileOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoApplyDiffPatch MimeJSON FileResponse MimeJSON+repoApplyDiffPatch body (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/diffpatch"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoApplyDiffPatch +instance HasBodyParam RepoApplyDiffPatch UpdateFileOptions ++-- | @application/json@+instance Consumes RepoApplyDiffPatch MimeJSON++-- | @application/json@+instance Produces RepoApplyDiffPatch MimeJSON+++-- *** repoCancelScheduledAutoMerge++-- | @DELETE \/repos\/{owner}\/{repo}\/pulls\/{index}\/merge@+-- +-- Cancel the scheduled auto merge for the given pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCancelScheduledAutoMerge+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to merge+ -> GiteaRequest RepoCancelScheduledAutoMerge MimeNoContent NoContent MimeNoContent+repoCancelScheduledAutoMerge (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/merge"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCancelScheduledAutoMerge +instance Produces RepoCancelScheduledAutoMerge MimeNoContent+++-- *** repoCheckCollaborator++-- | @GET \/repos\/{owner}\/{repo}\/collaborators\/{collaborator}@+-- +-- Check if a user is a collaborator of a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCheckCollaborator+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Collaborator -- ^ "collaborator" - username of the collaborator+ -> GiteaRequest RepoCheckCollaborator MimeNoContent NoContent MimeNoContent+repoCheckCollaborator (Owner owner) (Repo repo) (Collaborator collaborator) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/collaborators/",toPath collaborator]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCheckCollaborator +instance Produces RepoCheckCollaborator MimeNoContent+++-- *** repoCheckTeam++-- | @GET \/repos\/{owner}\/{repo}\/teams\/{team}@+-- +-- Check if a team is assigned to a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCheckTeam+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Team2 -- ^ "team" - team name+ -> GiteaRequest RepoCheckTeam MimeNoContent Team MimeJSON+repoCheckTeam (Owner owner) (Repo repo) (Team2 team) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/teams/",toPath team]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCheckTeam +-- | @application/json@+instance Produces RepoCheckTeam MimeJSON+++-- *** repoCreateBranch++-- | @POST \/repos\/{owner}\/{repo}\/branches@+-- +-- Create a branch+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateBranch+ :: (Consumes RepoCreateBranch MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateBranch MimeJSON Branch MimeJSON+repoCreateBranch (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/branches"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateBranch +instance HasBodyParam RepoCreateBranch CreateBranchRepoOption ++-- | @application/json@+instance Consumes RepoCreateBranch MimeJSON++-- | @application/json@+instance Produces RepoCreateBranch MimeJSON+++-- *** repoCreateBranchProtection++-- | @POST \/repos\/{owner}\/{repo}\/branch_protections@+-- +-- Create a branch protections for a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateBranchProtection+ :: (Consumes RepoCreateBranchProtection MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateBranchProtection MimeJSON BranchProtection MimeJSON+repoCreateBranchProtection (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/branch_protections"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateBranchProtection +instance HasBodyParam RepoCreateBranchProtection CreateBranchProtectionOption ++-- | @application/json@+instance Consumes RepoCreateBranchProtection MimeJSON++-- | @application/json@+instance Produces RepoCreateBranchProtection MimeJSON+++-- *** repoCreateFile++-- | @POST \/repos\/{owner}\/{repo}\/contents\/{filepath}@+-- +-- Create a file in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateFile+ :: (Consumes RepoCreateFile MimeJSON, MimeRender MimeJSON CreateFileOptions)+ => CreateFileOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - path of the file to create+ -> GiteaRequest RepoCreateFile MimeJSON FileResponse MimeJSON+repoCreateFile body (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/contents/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoCreateFile +instance HasBodyParam RepoCreateFile CreateFileOptions ++-- | @application/json@+instance Consumes RepoCreateFile MimeJSON++-- | @application/json@+instance Produces RepoCreateFile MimeJSON+++-- *** repoCreateHook++-- | @POST \/repos\/{owner}\/{repo}\/hooks@+-- +-- Create a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateHook+ :: (Consumes RepoCreateHook MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateHook MimeJSON Hook MimeJSON+repoCreateHook (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/hooks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateHook +instance HasBodyParam RepoCreateHook CreateHookOption ++-- | @application/json@+instance Consumes RepoCreateHook MimeJSON++-- | @application/json@+instance Produces RepoCreateHook MimeJSON+++-- *** repoCreateKey++-- | @POST \/repos\/{owner}\/{repo}\/keys@+-- +-- Add a key to a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateKey+ :: (Consumes RepoCreateKey MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateKey MimeJSON DeployKey MimeJSON+repoCreateKey (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateKey +instance HasBodyParam RepoCreateKey CreateKeyOption ++-- | @application/json@+instance Consumes RepoCreateKey MimeJSON++-- | @application/json@+instance Produces RepoCreateKey MimeJSON+++-- *** repoCreatePullRequest++-- | @POST \/repos\/{owner}\/{repo}\/pulls@+-- +-- Create a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreatePullRequest+ :: (Consumes RepoCreatePullRequest MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreatePullRequest MimeJSON PullRequest MimeJSON+repoCreatePullRequest (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreatePullRequest +instance HasBodyParam RepoCreatePullRequest CreatePullRequestOption ++-- | @application/json@+instance Consumes RepoCreatePullRequest MimeJSON++-- | @application/json@+instance Produces RepoCreatePullRequest MimeJSON+++-- *** repoCreatePullReview++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews@+-- +-- Create a review to an pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreatePullReview+ :: (Consumes RepoCreatePullReview contentType, MimeRender contentType CreatePullReviewOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> CreatePullReviewOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> GiteaRequest RepoCreatePullReview contentType PullReview MimeJSON+repoCreatePullReview _ body (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoCreatePullReview +instance HasBodyParam RepoCreatePullReview CreatePullReviewOptions ++-- | @application/json@+instance Consumes RepoCreatePullReview MimeJSON+-- | @text/plain@+instance Consumes RepoCreatePullReview MimePlainText++-- | @application/json@+instance Produces RepoCreatePullReview MimeJSON+++-- *** repoCreatePullReviewRequests++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/requested_reviewers@+-- +-- create review requests for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreatePullReviewRequests+ :: (Consumes RepoCreatePullReviewRequests contentType, MimeRender contentType PullReviewRequestOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> PullReviewRequestOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> GiteaRequest RepoCreatePullReviewRequests contentType [PullReview] MimeJSON+repoCreatePullReviewRequests _ body (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/requested_reviewers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoCreatePullReviewRequests +instance HasBodyParam RepoCreatePullReviewRequests PullReviewRequestOptions ++-- | @application/json@+instance Consumes RepoCreatePullReviewRequests MimeJSON+-- | @text/plain@+instance Consumes RepoCreatePullReviewRequests MimePlainText++-- | @application/json@+instance Produces RepoCreatePullReviewRequests MimeJSON+++-- *** repoCreateRelease++-- | @POST \/repos\/{owner}\/{repo}\/releases@+-- +-- Create a release+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateRelease+ :: (Consumes RepoCreateRelease MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateRelease MimeJSON Release MimeJSON+repoCreateRelease (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/releases"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateRelease +instance HasBodyParam RepoCreateRelease CreateReleaseOption ++-- | @application/json@+instance Consumes RepoCreateRelease MimeJSON++-- | @application/json@+instance Produces RepoCreateRelease MimeJSON+++-- *** repoCreateReleaseAttachment++-- | @POST \/repos\/{owner}\/{repo}\/releases\/{id}\/assets@+-- +-- Create a release attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateReleaseAttachment+ :: (Consumes RepoCreateReleaseAttachment MimeMultipartFormData)+ => Attachment2 -- ^ "attachment" - attachment to upload+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release+ -> GiteaRequest RepoCreateReleaseAttachment MimeMultipartFormData Attachment MimeJSON+repoCreateReleaseAttachment (Attachment2 attachment) (Owner owner) (Repo repo) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id,"/assets"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `_addMultiFormPart` NH.partFileSource "attachment" attachment++data RepoCreateReleaseAttachment ++-- | /Optional Param/ "name" - name of the attachment+instance HasOptionalParam RepoCreateReleaseAttachment Name where+ applyOptionalParam req (Name xs) =+ req `addQuery` toQuery ("name", Just xs)++-- | @multipart/form-data@+instance Consumes RepoCreateReleaseAttachment MimeMultipartFormData++-- | @application/json@+instance Produces RepoCreateReleaseAttachment MimeJSON+++-- *** repoCreateStatus++-- | @POST \/repos\/{owner}\/{repo}\/statuses\/{sha}@+-- +-- Create a commit status+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateStatus+ :: (Consumes RepoCreateStatus contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - sha of the commit+ -> GiteaRequest RepoCreateStatus contentType CommitStatus MimeJSON+repoCreateStatus _ (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/statuses/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateStatus +instance HasBodyParam RepoCreateStatus CreateStatusOption ++-- | @application/json@+instance Consumes RepoCreateStatus MimeJSON+-- | @text/plain@+instance Consumes RepoCreateStatus MimePlainText++-- | @application/json@+instance Produces RepoCreateStatus MimeJSON+++-- *** repoCreateTag++-- | @POST \/repos\/{owner}\/{repo}\/tags@+-- +-- Create a new git tag in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateTag+ :: (Consumes RepoCreateTag contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateTag contentType Tag MimeJSON+repoCreateTag _ (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/tags"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateTag +instance HasBodyParam RepoCreateTag CreateTagOption ++-- | @application/json@+instance Consumes RepoCreateTag MimeJSON+-- | @text/plain@+instance Consumes RepoCreateTag MimePlainText++-- | @application/json@+instance Produces RepoCreateTag MimeJSON+++-- *** repoCreateWikiPage++-- | @POST \/repos\/{owner}\/{repo}\/wiki\/new@+-- +-- Create a wiki page+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoCreateWikiPage+ :: (Consumes RepoCreateWikiPage MimeJSON)+ => Accept accept -- ^ request accept ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoCreateWikiPage MimeJSON WikiPage accept+repoCreateWikiPage _ (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/wiki/new"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoCreateWikiPage +instance HasBodyParam RepoCreateWikiPage CreateWikiPageOptions ++-- | @application/json@+instance Consumes RepoCreateWikiPage MimeJSON++-- | @text/html@+instance Produces RepoCreateWikiPage MimeTextHtml+-- | @application/json@+instance Produces RepoCreateWikiPage MimeJSON+++-- *** repoDelete++-- | @DELETE \/repos\/{owner}\/{repo}@+-- +-- Delete a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDelete+ :: Owner -- ^ "owner" - owner of the repo to delete+ -> Repo -- ^ "repo" - name of the repo to delete+ -> GiteaRequest RepoDelete MimeNoContent NoContent MimeNoContent+repoDelete (Owner owner) (Repo repo) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDelete +instance Produces RepoDelete MimeNoContent+++-- *** repoDeleteBranch++-- | @DELETE \/repos\/{owner}\/{repo}\/branches\/{branch}@+-- +-- Delete a specific branch from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteBranch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Branch2 -- ^ "branch" - branch to delete+ -> GiteaRequest RepoDeleteBranch MimeNoContent NoContent MimeNoContent+repoDeleteBranch (Owner owner) (Repo repo) (Branch2 branch) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/branches/",toPath branch]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteBranch +instance Produces RepoDeleteBranch MimeNoContent+++-- *** repoDeleteBranchProtection++-- | @DELETE \/repos\/{owner}\/{repo}\/branch_protections\/{name}@+-- +-- Delete a specific branch protection for the repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteBranchProtection+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Name -- ^ "name" - name of protected branch+ -> GiteaRequest RepoDeleteBranchProtection MimeNoContent NoContent MimeNoContent+repoDeleteBranchProtection (Owner owner) (Repo repo) (Name name) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/branch_protections/",toPath name]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteBranchProtection +instance Produces RepoDeleteBranchProtection MimeNoContent+++-- *** repoDeleteCollaborator++-- | @DELETE \/repos\/{owner}\/{repo}\/collaborators\/{collaborator}@+-- +-- Delete a collaborator from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteCollaborator+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Collaborator -- ^ "collaborator" - username of the collaborator to delete+ -> GiteaRequest RepoDeleteCollaborator MimeNoContent NoContent MimeNoContent+repoDeleteCollaborator (Owner owner) (Repo repo) (Collaborator collaborator) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/collaborators/",toPath collaborator]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteCollaborator +instance Produces RepoDeleteCollaborator MimeNoContent+++-- *** repoDeleteFile++-- | @DELETE \/repos\/{owner}\/{repo}\/contents\/{filepath}@+-- +-- Delete a file in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteFile+ :: (Consumes RepoDeleteFile MimeJSON, MimeRender MimeJSON DeleteFileOptions)+ => DeleteFileOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - path of the file to delete+ -> GiteaRequest RepoDeleteFile MimeJSON FileDeleteResponse MimeJSON+repoDeleteFile body (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/contents/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoDeleteFile +instance HasBodyParam RepoDeleteFile DeleteFileOptions ++-- | @application/json@+instance Consumes RepoDeleteFile MimeJSON++-- | @application/json@+instance Produces RepoDeleteFile MimeJSON+++-- *** repoDeleteGitHook++-- | @DELETE \/repos\/{owner}\/{repo}\/hooks\/git\/{id}@+-- +-- Delete a Git hook in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteGitHook+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IdText -- ^ "id" - id of the hook to get+ -> GiteaRequest RepoDeleteGitHook MimeNoContent NoContent MimeNoContent+repoDeleteGitHook (Owner owner) (Repo repo) (IdText id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/hooks/git/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteGitHook +instance Produces RepoDeleteGitHook MimeNoContent+++-- *** repoDeleteHook++-- | @DELETE \/repos\/{owner}\/{repo}\/hooks\/{id}@+-- +-- Delete a hook in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteHook+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the hook to delete+ -> GiteaRequest RepoDeleteHook MimeNoContent NoContent MimeNoContent+repoDeleteHook (Owner owner) (Repo repo) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteHook +instance Produces RepoDeleteHook MimeNoContent+++-- *** repoDeleteKey++-- | @DELETE \/repos\/{owner}\/{repo}\/keys\/{id}@+-- +-- Delete a key from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteKey+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the key to delete+ -> GiteaRequest RepoDeleteKey MimeNoContent NoContent MimeNoContent+repoDeleteKey (Owner owner) (Repo repo) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteKey +instance Produces RepoDeleteKey MimeNoContent+++-- *** repoDeletePullReview++-- | @DELETE \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews\/{id}@+-- +-- Delete a specific review from a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeletePullReview+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> Id -- ^ "id" - id of the review+ -> GiteaRequest RepoDeletePullReview MimeNoContent NoContent MimeNoContent+repoDeletePullReview (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeletePullReview +instance Produces RepoDeletePullReview MimeNoContent+++-- *** repoDeletePullReviewRequests++-- | @DELETE \/repos\/{owner}\/{repo}\/pulls\/{index}\/requested_reviewers@+-- +-- cancel review requests for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeletePullReviewRequests+ :: (Consumes RepoDeletePullReviewRequests contentType, MimeRender contentType PullReviewRequestOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> PullReviewRequestOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> GiteaRequest RepoDeletePullReviewRequests contentType NoContent MimeNoContent+repoDeletePullReviewRequests _ body (Owner owner) (Repo repo) (Index index) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/requested_reviewers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoDeletePullReviewRequests +instance HasBodyParam RepoDeletePullReviewRequests PullReviewRequestOptions ++-- | @application/json@+instance Consumes RepoDeletePullReviewRequests MimeJSON+-- | @text/plain@+instance Consumes RepoDeletePullReviewRequests MimePlainText++instance Produces RepoDeletePullReviewRequests MimeNoContent+++-- *** repoDeletePushMirror++-- | @DELETE \/repos\/{owner}\/{repo}\/push_mirrors\/{name}@+-- +-- deletes a push mirror from a repository by remoteName+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeletePushMirror+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Name -- ^ "name" - remote name of the pushMirror+ -> GiteaRequest RepoDeletePushMirror MimeNoContent NoContent MimeNoContent+repoDeletePushMirror (Owner owner) (Repo repo) (Name name) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/push_mirrors/",toPath name]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeletePushMirror +instance Produces RepoDeletePushMirror MimeNoContent+++-- *** repoDeleteRelease++-- | @DELETE \/repos\/{owner}\/{repo}\/releases\/{id}@+-- +-- Delete a release+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteRelease+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release to delete+ -> GiteaRequest RepoDeleteRelease MimeNoContent NoContent MimeNoContent+repoDeleteRelease (Owner owner) (Repo repo) (Id id) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteRelease +instance Produces RepoDeleteRelease MimeNoContent+++-- *** repoDeleteReleaseAttachment++-- | @DELETE \/repos\/{owner}\/{repo}\/releases\/{id}\/assets\/{attachment_id}@+-- +-- Delete a release attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteReleaseAttachment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to delete+ -> GiteaRequest RepoDeleteReleaseAttachment MimeNoContent NoContent MimeNoContent+repoDeleteReleaseAttachment (Owner owner) (Repo repo) (Id id) (AttachmentId attachmentId) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteReleaseAttachment +instance Produces RepoDeleteReleaseAttachment MimeNoContent+++-- *** repoDeleteReleaseByTag++-- | @DELETE \/repos\/{owner}\/{repo}\/releases\/tags\/{tag}@+-- +-- Delete a release by tag name+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteReleaseByTag+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Tag2 -- ^ "tag" - tag name of the release to delete+ -> GiteaRequest RepoDeleteReleaseByTag MimeNoContent NoContent MimeNoContent+repoDeleteReleaseByTag (Owner owner) (Repo repo) (Tag2 tag) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/releases/tags/",toPath tag]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteReleaseByTag +instance Produces RepoDeleteReleaseByTag MimeNoContent+++-- *** repoDeleteTag++-- | @DELETE \/repos\/{owner}\/{repo}\/tags\/{tag}@+-- +-- Delete a repository's tag by name+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteTag+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Tag2 -- ^ "tag" - name of tag to delete+ -> GiteaRequest RepoDeleteTag MimeNoContent NoContent MimeNoContent+repoDeleteTag (Owner owner) (Repo repo) (Tag2 tag) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/tags/",toPath tag]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteTag +instance Produces RepoDeleteTag MimeNoContent+++-- *** repoDeleteTeam++-- | @DELETE \/repos\/{owner}\/{repo}\/teams\/{team}@+-- +-- Delete a team from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteTeam+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Team2 -- ^ "team" - team name+ -> GiteaRequest RepoDeleteTeam MimeNoContent NoContent MimeNoContent+repoDeleteTeam (Owner owner) (Repo repo) (Team2 team) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/teams/",toPath team]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteTeam +instance Produces RepoDeleteTeam MimeNoContent+++-- *** repoDeleteTopic++-- | @DELETE \/repos\/{owner}\/{repo}\/topics\/{topic}@+-- +-- Delete a topic from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteTopic+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> TopicText -- ^ "topic" - name of the topic to delete+ -> GiteaRequest RepoDeleteTopic MimeNoContent NoContent MimeNoContent+repoDeleteTopic (Owner owner) (Repo repo) (TopicText topic) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/topics/",toPath topic]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteTopic +instance Produces RepoDeleteTopic MimeNoContent+++-- *** repoDeleteWikiPage++-- | @DELETE \/repos\/{owner}\/{repo}\/wiki\/page\/{pageName}@+-- +-- Delete a wiki page+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDeleteWikiPage+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> PageName -- ^ "pageName" - name of the page+ -> GiteaRequest RepoDeleteWikiPage MimeNoContent NoContent MimeNoContent+repoDeleteWikiPage (Owner owner) (Repo repo) (PageName pageName) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/wiki/page/",toPath pageName]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDeleteWikiPage +instance Produces RepoDeleteWikiPage MimeNoContent+++-- *** repoDismissPullReview++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews\/{id}\/dismissals@+-- +-- Dismiss a review for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDismissPullReview+ :: (Consumes RepoDismissPullReview contentType, MimeRender contentType DismissPullReviewOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> DismissPullReviewOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> Id -- ^ "id" - id of the review+ -> GiteaRequest RepoDismissPullReview contentType PullReview MimeJSON+repoDismissPullReview _ body (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews/",toPath id,"/dismissals"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoDismissPullReview +instance HasBodyParam RepoDismissPullReview DismissPullReviewOptions ++-- | @application/json@+instance Consumes RepoDismissPullReview MimeJSON+-- | @text/plain@+instance Consumes RepoDismissPullReview MimePlainText++-- | @application/json@+instance Produces RepoDismissPullReview MimeJSON+++-- *** repoDownloadCommitDiffOrPatch++-- | @GET \/repos\/{owner}\/{repo}\/git\/commits\/{sha}.{diffType}@+-- +-- Get a commit's diff or patch+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDownloadCommitDiffOrPatch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - SHA of the commit to get+ -> DiffType -- ^ "diffType" - whether the output is diff or patch+ -> GiteaRequest RepoDownloadCommitDiffOrPatch MimeNoContent Text MimePlainText+repoDownloadCommitDiffOrPatch (Owner owner) (Repo repo) (Sha sha) (DiffType diffType) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/commits/",toPath sha,".",toPath diffType]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDownloadCommitDiffOrPatch +-- | @text/plain@+instance Produces RepoDownloadCommitDiffOrPatch MimePlainText+++-- *** repoDownloadPullDiffOrPatch++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}.{diffType}@+-- +-- Get a pull request diff or patch+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoDownloadPullDiffOrPatch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to get+ -> DiffType -- ^ "diffType" - whether the output is diff or patch+ -> GiteaRequest RepoDownloadPullDiffOrPatch MimeNoContent Text MimePlainText+repoDownloadPullDiffOrPatch (Owner owner) (Repo repo) (Index index) (DiffType diffType) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,".",toPath diffType]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoDownloadPullDiffOrPatch ++-- | /Optional Param/ "binary" - whether to include binary file changes. if true, the diff is applicable with `git apply`+instance HasOptionalParam RepoDownloadPullDiffOrPatch ParamBinary where+ applyOptionalParam req (ParamBinary xs) =+ req `addQuery` toQuery ("binary", Just xs)+-- | @text/plain@+instance Produces RepoDownloadPullDiffOrPatch MimePlainText+++-- *** repoEdit++-- | @PATCH \/repos\/{owner}\/{repo}@+-- +-- Edit a repository's properties. Only fields that are set will be changed.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEdit+ :: (Consumes RepoEdit contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo to edit+ -> Repo -- ^ "repo" - name of the repo to edit+ -> GiteaRequest RepoEdit contentType Repository MimeJSON+repoEdit _ (Owner owner) (Repo repo) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEdit ++-- | /Body Param/ "body" - Properties of a repo that you can edit+instance HasBodyParam RepoEdit EditRepoOption ++-- | @application/json@+instance Consumes RepoEdit MimeJSON+-- | @text/plain@+instance Consumes RepoEdit MimePlainText++-- | @application/json@+instance Produces RepoEdit MimeJSON+++-- *** repoEditBranchProtection++-- | @PATCH \/repos\/{owner}\/{repo}\/branch_protections\/{name}@+-- +-- Edit a branch protections for a repository. Only fields that are set will be changed+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditBranchProtection+ :: (Consumes RepoEditBranchProtection MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Name -- ^ "name" - name of protected branch+ -> GiteaRequest RepoEditBranchProtection MimeJSON BranchProtection MimeJSON+repoEditBranchProtection (Owner owner) (Repo repo) (Name name) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/branch_protections/",toPath name]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditBranchProtection +instance HasBodyParam RepoEditBranchProtection EditBranchProtectionOption ++-- | @application/json@+instance Consumes RepoEditBranchProtection MimeJSON++-- | @application/json@+instance Produces RepoEditBranchProtection MimeJSON+++-- *** repoEditGitHook++-- | @PATCH \/repos\/{owner}\/{repo}\/hooks\/git\/{id}@+-- +-- Edit a Git hook in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditGitHook+ :: (Consumes RepoEditGitHook contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IdText -- ^ "id" - id of the hook to get+ -> GiteaRequest RepoEditGitHook contentType GitHook MimeJSON+repoEditGitHook _ (Owner owner) (Repo repo) (IdText id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/hooks/git/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditGitHook +instance HasBodyParam RepoEditGitHook EditGitHookOption ++-- | @application/json@+instance Consumes RepoEditGitHook MimeJSON+-- | @text/plain@+instance Consumes RepoEditGitHook MimePlainText++-- | @application/json@+instance Produces RepoEditGitHook MimeJSON+++-- *** repoEditHook++-- | @PATCH \/repos\/{owner}\/{repo}\/hooks\/{id}@+-- +-- Edit a hook in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditHook+ :: (Consumes RepoEditHook contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - index of the hook+ -> GiteaRequest RepoEditHook contentType Hook MimeJSON+repoEditHook _ (Owner owner) (Repo repo) (Id id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditHook +instance HasBodyParam RepoEditHook EditHookOption ++-- | @application/json@+instance Consumes RepoEditHook MimeJSON+-- | @text/plain@+instance Consumes RepoEditHook MimePlainText++-- | @application/json@+instance Produces RepoEditHook MimeJSON+++-- *** repoEditPullRequest++-- | @PATCH \/repos\/{owner}\/{repo}\/pulls\/{index}@+-- +-- Update a pull request. If using deadline only the date will be taken into account, and time of day ignored.+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditPullRequest+ :: (Consumes RepoEditPullRequest MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to edit+ -> GiteaRequest RepoEditPullRequest MimeJSON PullRequest MimeJSON+repoEditPullRequest (Owner owner) (Repo repo) (Index index) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditPullRequest +instance HasBodyParam RepoEditPullRequest EditPullRequestOption ++-- | @application/json@+instance Consumes RepoEditPullRequest MimeJSON++-- | @application/json@+instance Produces RepoEditPullRequest MimeJSON+++-- *** repoEditRelease++-- | @PATCH \/repos\/{owner}\/{repo}\/releases\/{id}@+-- +-- Update a release+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditRelease+ :: (Consumes RepoEditRelease MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release to edit+ -> GiteaRequest RepoEditRelease MimeJSON Release MimeJSON+repoEditRelease (Owner owner) (Repo repo) (Id id) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditRelease +instance HasBodyParam RepoEditRelease EditReleaseOption ++-- | @application/json@+instance Consumes RepoEditRelease MimeJSON++-- | @application/json@+instance Produces RepoEditRelease MimeJSON+++-- *** repoEditReleaseAttachment++-- | @PATCH \/repos\/{owner}\/{repo}\/releases\/{id}\/assets\/{attachment_id}@+-- +-- Edit a release attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditReleaseAttachment+ :: (Consumes RepoEditReleaseAttachment MimeJSON)+ => Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to edit+ -> GiteaRequest RepoEditReleaseAttachment MimeJSON Attachment MimeJSON+repoEditReleaseAttachment (Owner owner) (Repo repo) (Id id) (AttachmentId attachmentId) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditReleaseAttachment +instance HasBodyParam RepoEditReleaseAttachment EditAttachmentOptions ++-- | @application/json@+instance Consumes RepoEditReleaseAttachment MimeJSON++-- | @application/json@+instance Produces RepoEditReleaseAttachment MimeJSON+++-- *** repoEditWikiPage++-- | @PATCH \/repos\/{owner}\/{repo}\/wiki\/page\/{pageName}@+-- +-- Edit a wiki page+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoEditWikiPage+ :: (Consumes RepoEditWikiPage MimeJSON)+ => Accept accept -- ^ request accept ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> PageName -- ^ "pageName" - name of the page+ -> GiteaRequest RepoEditWikiPage MimeJSON WikiPage accept+repoEditWikiPage _ (Owner owner) (Repo repo) (PageName pageName) =+ _mkRequest "PATCH" ["/repos/",toPath owner,"/",toPath repo,"/wiki/page/",toPath pageName]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoEditWikiPage +instance HasBodyParam RepoEditWikiPage CreateWikiPageOptions ++-- | @application/json@+instance Consumes RepoEditWikiPage MimeJSON++-- | @text/html@+instance Produces RepoEditWikiPage MimeTextHtml+-- | @application/json@+instance Produces RepoEditWikiPage MimeJSON+++-- *** repoGet++-- | @GET \/repos\/{owner}\/{repo}@+-- +-- Get a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGet+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGet MimeNoContent Repository MimeJSON+repoGet (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGet +-- | @application/json@+instance Produces RepoGet MimeJSON+++-- *** repoGetAllCommits++-- | @GET \/repos\/{owner}\/{repo}\/commits@+-- +-- Get a list of all commits from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetAllCommits+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetAllCommits MimeNoContent [Commit] MimeJSON+repoGetAllCommits (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/commits"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetAllCommits ++-- | /Optional Param/ "sha" - SHA or branch to start listing commits from (usually 'master')+instance HasOptionalParam RepoGetAllCommits Sha where+ applyOptionalParam req (Sha xs) =+ req `addQuery` toQuery ("sha", Just xs)++-- | /Optional Param/ "path" - filepath of a file/dir+instance HasOptionalParam RepoGetAllCommits Path where+ applyOptionalParam req (Path xs) =+ req `addQuery` toQuery ("path", Just xs)++-- | /Optional Param/ "stat" - include diff stats for every commit (disable for speedup, default 'true')+instance HasOptionalParam RepoGetAllCommits Stat where+ applyOptionalParam req (Stat xs) =+ req `addQuery` toQuery ("stat", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoGetAllCommits Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results (ignored if used with 'path')+instance HasOptionalParam RepoGetAllCommits Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoGetAllCommits MimeJSON+++-- *** repoGetArchive++-- | @GET \/repos\/{owner}\/{repo}\/archive\/{archive}@+-- +-- Get an archive of a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetArchive+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Archive -- ^ "archive" - the git reference for download with attached archive format (e.g. master.zip)+ -> GiteaRequest RepoGetArchive MimeNoContent NoContent MimeNoContent+repoGetArchive (Owner owner) (Repo repo) (Archive archive) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/archive/",toPath archive]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetArchive +instance Produces RepoGetArchive MimeNoContent+++-- *** repoGetAssignees++-- | @GET \/repos\/{owner}\/{repo}\/assignees@+-- +-- Return all users that have write access and can be assigned to issues+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetAssignees+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetAssignees MimeNoContent [User] MimeJSON+repoGetAssignees (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/assignees"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetAssignees +-- | @application/json@+instance Produces RepoGetAssignees MimeJSON+++-- *** repoGetBranch++-- | @GET \/repos\/{owner}\/{repo}\/branches\/{branch}@+-- +-- Retrieve a specific branch from a repository, including its effective branch protection+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetBranch+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Branch2 -- ^ "branch" - branch to get+ -> GiteaRequest RepoGetBranch MimeNoContent Branch MimeJSON+repoGetBranch (Owner owner) (Repo repo) (Branch2 branch) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/branches/",toPath branch]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetBranch +-- | @application/json@+instance Produces RepoGetBranch MimeJSON+++-- *** repoGetBranchProtection++-- | @GET \/repos\/{owner}\/{repo}\/branch_protections\/{name}@+-- +-- Get a specific branch protection for the repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetBranchProtection+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Name -- ^ "name" - name of protected branch+ -> GiteaRequest RepoGetBranchProtection MimeNoContent BranchProtection MimeJSON+repoGetBranchProtection (Owner owner) (Repo repo) (Name name) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/branch_protections/",toPath name]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetBranchProtection +-- | @application/json@+instance Produces RepoGetBranchProtection MimeJSON+++-- *** repoGetByID++-- | @GET \/repositories\/{id}@+-- +-- Get a repository by id+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetByID+ :: Id -- ^ "id" - id of the repo to get+ -> GiteaRequest RepoGetByID MimeNoContent Repository MimeJSON+repoGetByID (Id id) =+ _mkRequest "GET" ["/repositories/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetByID +-- | @application/json@+instance Produces RepoGetByID MimeJSON+++-- *** repoGetCombinedStatusByRef++-- | @GET \/repos\/{owner}\/{repo}\/commits\/{ref}\/status@+-- +-- Get a commit's combined status, by branch/tag/commit reference+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetCombinedStatusByRef+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Ref -- ^ "ref" - name of branch/tag/commit+ -> GiteaRequest RepoGetCombinedStatusByRef MimeNoContent CombinedStatus MimeJSON+repoGetCombinedStatusByRef (Owner owner) (Repo repo) (Ref ref) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/commits/",toPath ref,"/status"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetCombinedStatusByRef ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoGetCombinedStatusByRef Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoGetCombinedStatusByRef Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoGetCombinedStatusByRef MimeJSON+++-- *** repoGetContents++-- | @GET \/repos\/{owner}\/{repo}\/contents\/{filepath}@+-- +-- Gets the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetContents+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - path of the dir, file, symlink or submodule in the repo+ -> GiteaRequest RepoGetContents MimeNoContent ContentsResponse MimeJSON+repoGetContents (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/contents/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetContents ++-- | /Optional Param/ "ref" - The name of the commit/branch/tag. Default the repository’s default branch (usually master)+instance HasOptionalParam RepoGetContents Ref where+ applyOptionalParam req (Ref xs) =+ req `addQuery` toQuery ("ref", Just xs)+-- | @application/json@+instance Produces RepoGetContents MimeJSON+++-- *** repoGetContentsList++-- | @GET \/repos\/{owner}\/{repo}\/contents@+-- +-- Gets the metadata of all the entries of the root dir+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetContentsList+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetContentsList MimeNoContent [ContentsResponse] MimeJSON+repoGetContentsList (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/contents"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetContentsList ++-- | /Optional Param/ "ref" - The name of the commit/branch/tag. Default the repository’s default branch (usually master)+instance HasOptionalParam RepoGetContentsList Ref where+ applyOptionalParam req (Ref xs) =+ req `addQuery` toQuery ("ref", Just xs)+-- | @application/json@+instance Produces RepoGetContentsList MimeJSON+++-- *** repoGetEditorConfig++-- | @GET \/repos\/{owner}\/{repo}\/editorconfig\/{filepath}@+-- +-- Get the EditorConfig definitions of a file in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetEditorConfig+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - filepath of file to get+ -> GiteaRequest RepoGetEditorConfig MimeNoContent NoContent MimeNoContent+repoGetEditorConfig (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/editorconfig/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetEditorConfig ++-- | /Optional Param/ "ref" - The name of the commit/branch/tag. Default the repository’s default branch (usually master)+instance HasOptionalParam RepoGetEditorConfig Ref where+ applyOptionalParam req (Ref xs) =+ req `addQuery` toQuery ("ref", Just xs)+instance Produces RepoGetEditorConfig MimeNoContent+++-- *** repoGetGitHook++-- | @GET \/repos\/{owner}\/{repo}\/hooks\/git\/{id}@+-- +-- Get a Git hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetGitHook+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> IdText -- ^ "id" - id of the hook to get+ -> GiteaRequest RepoGetGitHook MimeNoContent GitHook MimeJSON+repoGetGitHook (Owner owner) (Repo repo) (IdText id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/hooks/git/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetGitHook +-- | @application/json@+instance Produces RepoGetGitHook MimeJSON+++-- *** repoGetHook++-- | @GET \/repos\/{owner}\/{repo}\/hooks\/{id}@+-- +-- Get a hook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetHook+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the hook to get+ -> GiteaRequest RepoGetHook MimeNoContent Hook MimeJSON+repoGetHook (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/hooks/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetHook +-- | @application/json@+instance Produces RepoGetHook MimeJSON+++-- *** repoGetIssueTemplates++-- | @GET \/repos\/{owner}\/{repo}\/issue_templates@+-- +-- Get available issue templates for a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetIssueTemplates+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetIssueTemplates MimeNoContent [IssueTemplate] MimeJSON+repoGetIssueTemplates (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/issue_templates"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetIssueTemplates +-- | @application/json@+instance Produces RepoGetIssueTemplates MimeJSON+++-- *** repoGetKey++-- | @GET \/repos\/{owner}\/{repo}\/keys\/{id}@+-- +-- Get a repository's key by id+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetKey+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the key to get+ -> GiteaRequest RepoGetKey MimeNoContent DeployKey MimeJSON+repoGetKey (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetKey +-- | @application/json@+instance Produces RepoGetKey MimeJSON+++-- *** repoGetLanguages++-- | @GET \/repos\/{owner}\/{repo}\/languages@+-- +-- Get languages and number of bytes of code written+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetLanguages+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetLanguages MimeNoContent ((Map.Map String Integer)) MimeJSON+repoGetLanguages (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/languages"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetLanguages +-- | @application/json@+instance Produces RepoGetLanguages MimeJSON+++-- *** repoGetLatestRelease++-- | @GET \/repos\/{owner}\/{repo}\/releases\/latest@+-- +-- Gets the most recent non-prerelease, non-draft release of a repository, sorted by created_at+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetLatestRelease+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetLatestRelease MimeNoContent Release MimeJSON+repoGetLatestRelease (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/releases/latest"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetLatestRelease +-- | @application/json@+instance Produces RepoGetLatestRelease MimeJSON+++-- *** repoGetNote++-- | @GET \/repos\/{owner}\/{repo}\/git\/notes\/{sha}@+-- +-- Get a note corresponding to a single commit from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetNote+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - a git ref or commit sha+ -> GiteaRequest RepoGetNote MimeNoContent Note MimeJSON+repoGetNote (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/notes/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetNote +-- | @application/json@+instance Produces RepoGetNote MimeJSON+++-- *** repoGetPullRequest++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}@+-- +-- Get a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetPullRequest+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to get+ -> GiteaRequest RepoGetPullRequest MimeNoContent PullRequest MimeJSON+repoGetPullRequest (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetPullRequest +-- | @application/json@+instance Produces RepoGetPullRequest MimeJSON+++-- *** repoGetPullRequestCommits++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}\/commits@+-- +-- Get commits for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetPullRequestCommits+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to get+ -> GiteaRequest RepoGetPullRequestCommits MimeNoContent [Commit] MimeJSON+repoGetPullRequestCommits (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/commits"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetPullRequestCommits ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoGetPullRequestCommits Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoGetPullRequestCommits Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoGetPullRequestCommits MimeJSON+++-- *** repoGetPullRequestFiles++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}\/files@+-- +-- Get changed files for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetPullRequestFiles+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to get+ -> GiteaRequest RepoGetPullRequestFiles MimeNoContent [ChangedFile] MimeJSON+repoGetPullRequestFiles (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/files"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetPullRequestFiles ++-- | /Optional Param/ "skip-to" - skip to given file+instance HasOptionalParam RepoGetPullRequestFiles SkipTo where+ applyOptionalParam req (SkipTo xs) =+ req `addQuery` toQuery ("skip-to", Just xs)++-- | /Optional Param/ "whitespace" - whitespace behavior+instance HasOptionalParam RepoGetPullRequestFiles Whitespace where+ applyOptionalParam req (Whitespace xs) =+ req `addQuery` toQuery ("whitespace", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoGetPullRequestFiles Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoGetPullRequestFiles Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoGetPullRequestFiles MimeJSON+++-- *** repoGetPullReview++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews\/{id}@+-- +-- Get a specific review for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetPullReview+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> Id -- ^ "id" - id of the review+ -> GiteaRequest RepoGetPullReview MimeNoContent PullReview MimeJSON+repoGetPullReview (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetPullReview +-- | @application/json@+instance Produces RepoGetPullReview MimeJSON+++-- *** repoGetPullReviewComments++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews\/{id}\/comments@+-- +-- Get a specific review for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetPullReviewComments+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> Id -- ^ "id" - id of the review+ -> GiteaRequest RepoGetPullReviewComments MimeNoContent [PullReviewComment] MimeJSON+repoGetPullReviewComments (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews/",toPath id,"/comments"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetPullReviewComments +-- | @application/json@+instance Produces RepoGetPullReviewComments MimeJSON+++-- *** repoGetPushMirrorByRemoteName++-- | @GET \/repos\/{owner}\/{repo}\/push_mirrors\/{name}@+-- +-- Get push mirror of the repository by remoteName+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetPushMirrorByRemoteName+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Name -- ^ "name" - remote name of push mirror+ -> GiteaRequest RepoGetPushMirrorByRemoteName MimeNoContent PushMirror MimeJSON+repoGetPushMirrorByRemoteName (Owner owner) (Repo repo) (Name name) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/push_mirrors/",toPath name]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetPushMirrorByRemoteName +-- | @application/json@+instance Produces RepoGetPushMirrorByRemoteName MimeJSON+++-- *** repoGetRawFile++-- | @GET \/repos\/{owner}\/{repo}\/raw\/{filepath}@+-- +-- Get a file from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetRawFile+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - filepath of the file to get+ -> GiteaRequest RepoGetRawFile MimeNoContent NoContent MimeNoContent+repoGetRawFile (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/raw/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetRawFile ++-- | /Optional Param/ "ref" - The name of the commit/branch/tag. Default the repository’s default branch (usually master)+instance HasOptionalParam RepoGetRawFile Ref where+ applyOptionalParam req (Ref xs) =+ req `addQuery` toQuery ("ref", Just xs)+instance Produces RepoGetRawFile MimeNoContent+++-- *** repoGetRawFileOrLFS++-- | @GET \/repos\/{owner}\/{repo}\/media\/{filepath}@+-- +-- Get a file or it's LFS object from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetRawFileOrLFS+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - filepath of the file to get+ -> GiteaRequest RepoGetRawFileOrLFS MimeNoContent NoContent MimeNoContent+repoGetRawFileOrLFS (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/media/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetRawFileOrLFS ++-- | /Optional Param/ "ref" - The name of the commit/branch/tag. Default the repository’s default branch (usually master)+instance HasOptionalParam RepoGetRawFileOrLFS Ref where+ applyOptionalParam req (Ref xs) =+ req `addQuery` toQuery ("ref", Just xs)+instance Produces RepoGetRawFileOrLFS MimeNoContent+++-- *** repoGetRelease++-- | @GET \/repos\/{owner}\/{repo}\/releases\/{id}@+-- +-- Get a release+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetRelease+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release to get+ -> GiteaRequest RepoGetRelease MimeNoContent Release MimeJSON+repoGetRelease (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetRelease +-- | @application/json@+instance Produces RepoGetRelease MimeJSON+++-- *** repoGetReleaseAttachment++-- | @GET \/repos\/{owner}\/{repo}\/releases\/{id}\/assets\/{attachment_id}@+-- +-- Get a release attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetReleaseAttachment+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release+ -> AttachmentId -- ^ "attachmentId" - id of the attachment to get+ -> GiteaRequest RepoGetReleaseAttachment MimeNoContent Attachment MimeJSON+repoGetReleaseAttachment (Owner owner) (Repo repo) (Id id) (AttachmentId attachmentId) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id,"/assets/",toPath attachmentId]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetReleaseAttachment +-- | @application/json@+instance Produces RepoGetReleaseAttachment MimeJSON+++-- *** repoGetReleaseByTag++-- | @GET \/repos\/{owner}\/{repo}\/releases\/tags\/{tag}@+-- +-- Get a release by tag name+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetReleaseByTag+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Tag2 -- ^ "tag" - tag name of the release to get+ -> GiteaRequest RepoGetReleaseByTag MimeNoContent Release MimeJSON+repoGetReleaseByTag (Owner owner) (Repo repo) (Tag2 tag) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/releases/tags/",toPath tag]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetReleaseByTag +-- | @application/json@+instance Produces RepoGetReleaseByTag MimeJSON+++-- *** repoGetRepoPermissions++-- | @GET \/repos\/{owner}\/{repo}\/collaborators\/{collaborator}\/permission@+-- +-- Get repository permissions for a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetRepoPermissions+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Collaborator -- ^ "collaborator" - username of the collaborator+ -> GiteaRequest RepoGetRepoPermissions MimeNoContent RepoCollaboratorPermission MimeJSON+repoGetRepoPermissions (Owner owner) (Repo repo) (Collaborator collaborator) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/collaborators/",toPath collaborator,"/permission"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetRepoPermissions +-- | @application/json@+instance Produces RepoGetRepoPermissions MimeJSON+++-- *** repoGetReviewers++-- | @GET \/repos\/{owner}\/{repo}\/reviewers@+-- +-- Return all users that can be requested to review in this repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetReviewers+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetReviewers MimeNoContent [User] MimeJSON+repoGetReviewers (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/reviewers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetReviewers +-- | @application/json@+instance Produces RepoGetReviewers MimeJSON+++-- *** repoGetSingleCommit++-- | @GET \/repos\/{owner}\/{repo}\/git\/commits\/{sha}@+-- +-- Get a single commit from a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetSingleCommit+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - a git ref or commit sha+ -> GiteaRequest RepoGetSingleCommit MimeNoContent Commit MimeJSON+repoGetSingleCommit (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/commits/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetSingleCommit +-- | @application/json@+instance Produces RepoGetSingleCommit MimeJSON+++-- *** repoGetTag++-- | @GET \/repos\/{owner}\/{repo}\/tags\/{tag}@+-- +-- Get the tag of a repository by tag name+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetTag+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Tag2 -- ^ "tag" - name of tag+ -> GiteaRequest RepoGetTag MimeNoContent Tag MimeJSON+repoGetTag (Owner owner) (Repo repo) (Tag2 tag) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/tags/",toPath tag]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetTag +-- | @application/json@+instance Produces RepoGetTag MimeJSON+++-- *** repoGetWikiPage++-- | @GET \/repos\/{owner}\/{repo}\/wiki\/page\/{pageName}@+-- +-- Get a wiki page+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetWikiPage+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> PageName -- ^ "pageName" - name of the page+ -> GiteaRequest RepoGetWikiPage MimeNoContent WikiPage MimeJSON+repoGetWikiPage (Owner owner) (Repo repo) (PageName pageName) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/wiki/page/",toPath pageName]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetWikiPage +-- | @application/json@+instance Produces RepoGetWikiPage MimeJSON+++-- *** repoGetWikiPageRevisions++-- | @GET \/repos\/{owner}\/{repo}\/wiki\/revisions\/{pageName}@+-- +-- Get revisions of a wiki page+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetWikiPageRevisions+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> PageName -- ^ "pageName" - name of the page+ -> GiteaRequest RepoGetWikiPageRevisions MimeNoContent WikiCommitList MimeJSON+repoGetWikiPageRevisions (Owner owner) (Repo repo) (PageName pageName) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/wiki/revisions/",toPath pageName]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetWikiPageRevisions ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoGetWikiPageRevisions Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)+-- | @application/json@+instance Produces RepoGetWikiPageRevisions MimeJSON+++-- *** repoGetWikiPages++-- | @GET \/repos\/{owner}\/{repo}\/wiki\/pages@+-- +-- Get all wiki pages+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoGetWikiPages+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoGetWikiPages MimeNoContent [WikiPageMetaData] MimeJSON+repoGetWikiPages (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/wiki/pages"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoGetWikiPages ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoGetWikiPages Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoGetWikiPages Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoGetWikiPages MimeJSON+++-- *** repoListAllGitRefs++-- | @GET \/repos\/{owner}\/{repo}\/git\/refs@+-- +-- Get specified ref or filtered repository's refs+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListAllGitRefs+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListAllGitRefs MimeNoContent [Reference] MimeJSON+repoListAllGitRefs (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/refs"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListAllGitRefs +-- | @application/json@+instance Produces RepoListAllGitRefs MimeJSON+++-- *** repoListBranchProtection++-- | @GET \/repos\/{owner}\/{repo}\/branch_protections@+-- +-- List branch protections for a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListBranchProtection+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListBranchProtection MimeNoContent [BranchProtection] MimeJSON+repoListBranchProtection (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/branch_protections"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListBranchProtection +-- | @application/json@+instance Produces RepoListBranchProtection MimeJSON+++-- *** repoListBranches++-- | @GET \/repos\/{owner}\/{repo}\/branches@+-- +-- List a repository's branches+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListBranches+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListBranches MimeNoContent [Branch] MimeJSON+repoListBranches (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/branches"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListBranches ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListBranches Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListBranches Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListBranches MimeJSON+++-- *** repoListCollaborators++-- | @GET \/repos\/{owner}\/{repo}\/collaborators@+-- +-- List a repository's collaborators+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListCollaborators+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListCollaborators MimeNoContent [User] MimeJSON+repoListCollaborators (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/collaborators"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListCollaborators ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListCollaborators Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListCollaborators Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListCollaborators MimeJSON+++-- *** repoListGitHooks++-- | @GET \/repos\/{owner}\/{repo}\/hooks\/git@+-- +-- List the Git hooks in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListGitHooks+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListGitHooks MimeNoContent [GitHook] MimeJSON+repoListGitHooks (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/hooks/git"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListGitHooks +-- | @application/json@+instance Produces RepoListGitHooks MimeJSON+++-- *** repoListGitRefs++-- | @GET \/repos\/{owner}\/{repo}\/git\/refs\/{ref}@+-- +-- Get specified ref or filtered repository's refs+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListGitRefs+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Ref -- ^ "ref" - part or full name of the ref+ -> GiteaRequest RepoListGitRefs MimeNoContent [Reference] MimeJSON+repoListGitRefs (Owner owner) (Repo repo) (Ref ref) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/git/refs/",toPath ref]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListGitRefs +-- | @application/json@+instance Produces RepoListGitRefs MimeJSON+++-- *** repoListHooks++-- | @GET \/repos\/{owner}\/{repo}\/hooks@+-- +-- List the hooks in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListHooks+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListHooks MimeNoContent [Hook] MimeJSON+repoListHooks (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/hooks"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListHooks ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListHooks Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListHooks Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListHooks MimeJSON+++-- *** repoListKeys++-- | @GET \/repos\/{owner}\/{repo}\/keys@+-- +-- List a repository's keys+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListKeys+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListKeys MimeNoContent [DeployKey] MimeJSON+repoListKeys (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListKeys ++-- | /Optional Param/ "key_id" - the key_id to search for+instance HasOptionalParam RepoListKeys KeyId where+ applyOptionalParam req (KeyId xs) =+ req `addQuery` toQuery ("key_id", Just xs)++-- | /Optional Param/ "fingerprint" - fingerprint of the key+instance HasOptionalParam RepoListKeys Fingerprint where+ applyOptionalParam req (Fingerprint xs) =+ req `addQuery` toQuery ("fingerprint", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListKeys Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListKeys Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListKeys MimeJSON+++-- *** repoListPullRequests++-- | @GET \/repos\/{owner}\/{repo}\/pulls@+-- +-- List a repo's pull requests+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListPullRequests+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListPullRequests MimeNoContent [PullRequest] MimeJSON+repoListPullRequests (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListPullRequests ++-- | /Optional Param/ "state" - State of pull request: open or closed (optional)+instance HasOptionalParam RepoListPullRequests State3 where+ applyOptionalParam req (State3 xs) =+ req `addQuery` toQuery ("state", Just xs)++-- | /Optional Param/ "sort" - Type of sort+instance HasOptionalParam RepoListPullRequests Sort3 where+ applyOptionalParam req (Sort3 xs) =+ req `addQuery` toQuery ("sort", Just xs)++-- | /Optional Param/ "milestone" - ID of the milestone+instance HasOptionalParam RepoListPullRequests Milestone2 where+ applyOptionalParam req (Milestone2 xs) =+ req `addQuery` toQuery ("milestone", Just xs)++-- | /Optional Param/ "labels" - Label IDs+instance HasOptionalParam RepoListPullRequests LabelsInteger where+ applyOptionalParam req (LabelsInteger xs) =+ req `addQuery` toQueryColl MultiParamArray ("labels", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListPullRequests Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListPullRequests Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListPullRequests MimeJSON+++-- *** repoListPullReviews++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews@+-- +-- List all reviews for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListPullReviews+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> GiteaRequest RepoListPullReviews MimeNoContent [PullReview] MimeJSON+repoListPullReviews (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListPullReviews ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListPullReviews Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListPullReviews Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListPullReviews MimeJSON+++-- *** repoListPushMirrors++-- | @GET \/repos\/{owner}\/{repo}\/push_mirrors@+-- +-- Get all push mirrors of the repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListPushMirrors+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListPushMirrors MimeNoContent [PushMirror] MimeJSON+repoListPushMirrors (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/push_mirrors"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListPushMirrors ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListPushMirrors Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListPushMirrors Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListPushMirrors MimeJSON+++-- *** repoListReleaseAttachments++-- | @GET \/repos\/{owner}\/{repo}\/releases\/{id}\/assets@+-- +-- List release's attachments+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListReleaseAttachments+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the release+ -> GiteaRequest RepoListReleaseAttachments MimeNoContent [Attachment] MimeJSON+repoListReleaseAttachments (Owner owner) (Repo repo) (Id id) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/releases/",toPath id,"/assets"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListReleaseAttachments +-- | @application/json@+instance Produces RepoListReleaseAttachments MimeJSON+++-- *** repoListReleases++-- | @GET \/repos\/{owner}\/{repo}\/releases@+-- +-- List a repo's releases+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListReleases+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListReleases MimeNoContent [Release] MimeJSON+repoListReleases (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/releases"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListReleases ++-- | /Optional Param/ "draft" - filter (exclude / include) drafts, if you dont have repo write access none will show+instance HasOptionalParam RepoListReleases Draft where+ applyOptionalParam req (Draft xs) =+ req `addQuery` toQuery ("draft", Just xs)++-- | /Optional Param/ "pre-release" - filter (exclude / include) pre-releases+instance HasOptionalParam RepoListReleases PreRelease where+ applyOptionalParam req (PreRelease xs) =+ req `addQuery` toQuery ("pre-release", Just xs)++-- | /Optional Param/ "per_page" - page size of results, deprecated - use limit+instance HasOptionalParam RepoListReleases PerPage where+ applyOptionalParam req (PerPage xs) =+ req `addQuery` toQuery ("per_page", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListReleases Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListReleases Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListReleases MimeJSON+++-- *** repoListStargazers++-- | @GET \/repos\/{owner}\/{repo}\/stargazers@+-- +-- List a repo's stargazers+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListStargazers+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListStargazers MimeNoContent [User] MimeJSON+repoListStargazers (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/stargazers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListStargazers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListStargazers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListStargazers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListStargazers MimeJSON+++-- *** repoListStatuses++-- | @GET \/repos\/{owner}\/{repo}\/statuses\/{sha}@+-- +-- Get a commit's statuses+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListStatuses+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Sha -- ^ "sha" - sha of the commit+ -> GiteaRequest RepoListStatuses MimeNoContent [CommitStatus] MimeJSON+repoListStatuses (Owner owner) (Repo repo) (Sha sha) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/statuses/",toPath sha]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListStatuses ++-- | /Optional Param/ "sort" - type of sort+instance HasOptionalParam RepoListStatuses Sort2 where+ applyOptionalParam req (Sort2 xs) =+ req `addQuery` toQuery ("sort", Just xs)++-- | /Optional Param/ "state" - type of state+instance HasOptionalParam RepoListStatuses State2 where+ applyOptionalParam req (State2 xs) =+ req `addQuery` toQuery ("state", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListStatuses Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListStatuses Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListStatuses MimeJSON+++-- *** repoListStatusesByRef++-- | @GET \/repos\/{owner}\/{repo}\/commits\/{ref}\/statuses@+-- +-- Get a commit's statuses, by branch/tag/commit reference+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListStatusesByRef+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Ref -- ^ "ref" - name of branch/tag/commit+ -> GiteaRequest RepoListStatusesByRef MimeNoContent [CommitStatus] MimeJSON+repoListStatusesByRef (Owner owner) (Repo repo) (Ref ref) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/commits/",toPath ref,"/statuses"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListStatusesByRef ++-- | /Optional Param/ "sort" - type of sort+instance HasOptionalParam RepoListStatusesByRef Sort2 where+ applyOptionalParam req (Sort2 xs) =+ req `addQuery` toQuery ("sort", Just xs)++-- | /Optional Param/ "state" - type of state+instance HasOptionalParam RepoListStatusesByRef State2 where+ applyOptionalParam req (State2 xs) =+ req `addQuery` toQuery ("state", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListStatusesByRef Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListStatusesByRef Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListStatusesByRef MimeJSON+++-- *** repoListSubscribers++-- | @GET \/repos\/{owner}\/{repo}\/subscribers@+-- +-- List a repo's watchers+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListSubscribers+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListSubscribers MimeNoContent [User] MimeJSON+repoListSubscribers (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/subscribers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListSubscribers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListSubscribers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListSubscribers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListSubscribers MimeJSON+++-- *** repoListTags++-- | @GET \/repos\/{owner}\/{repo}\/tags@+-- +-- List a repository's tags+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListTags+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListTags MimeNoContent [Tag] MimeJSON+repoListTags (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/tags"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListTags ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListTags Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results, default maximum page size is 50+instance HasOptionalParam RepoListTags Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListTags MimeJSON+++-- *** repoListTeams++-- | @GET \/repos\/{owner}\/{repo}\/teams@+-- +-- List a repository's teams+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListTeams+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListTeams MimeNoContent [Team] MimeJSON+repoListTeams (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/teams"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListTeams +-- | @application/json@+instance Produces RepoListTeams MimeJSON+++-- *** repoListTopics++-- | @GET \/repos\/{owner}\/{repo}\/topics@+-- +-- Get list of topics that a repository has+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoListTopics+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoListTopics MimeNoContent TopicName MimeJSON+repoListTopics (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/topics"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoListTopics ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoListTopics Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoListTopics Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoListTopics MimeJSON+++-- *** repoMergePullRequest++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/merge@+-- +-- Merge a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoMergePullRequest+ :: (Consumes RepoMergePullRequest contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to merge+ -> GiteaRequest RepoMergePullRequest contentType NoContent MimeNoContent+repoMergePullRequest _ (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/merge"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoMergePullRequest +instance HasBodyParam RepoMergePullRequest MergePullRequestOption ++-- | @application/json@+instance Consumes RepoMergePullRequest MimeJSON+-- | @text/plain@+instance Consumes RepoMergePullRequest MimePlainText++instance Produces RepoMergePullRequest MimeNoContent+++-- *** repoMigrate++-- | @POST \/repos\/migrate@+-- +-- Migrate a remote git repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoMigrate+ :: (Consumes RepoMigrate MimeJSON)+ => GiteaRequest RepoMigrate MimeJSON Repository MimeJSON+repoMigrate =+ _mkRequest "POST" ["/repos/migrate"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoMigrate +instance HasBodyParam RepoMigrate MigrateRepoOptions ++-- | @application/json@+instance Consumes RepoMigrate MimeJSON++-- | @application/json@+instance Produces RepoMigrate MimeJSON+++-- *** repoMirrorSync++-- | @POST \/repos\/{owner}\/{repo}\/mirror-sync@+-- +-- Sync a mirrored repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoMirrorSync+ :: Owner -- ^ "owner" - owner of the repo to sync+ -> Repo -- ^ "repo" - name of the repo to sync+ -> GiteaRequest RepoMirrorSync MimeNoContent NoContent MimeNoContent+repoMirrorSync (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/mirror-sync"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoMirrorSync +instance Produces RepoMirrorSync MimeNoContent+++-- *** repoPullRequestIsMerged++-- | @GET \/repos\/{owner}\/{repo}\/pulls\/{index}\/merge@+-- +-- Check if a pull request has been merged+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoPullRequestIsMerged+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> GiteaRequest RepoPullRequestIsMerged MimeNoContent NoContent MimeNoContent+repoPullRequestIsMerged (Owner owner) (Repo repo) (Index index) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/merge"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoPullRequestIsMerged +instance Produces RepoPullRequestIsMerged MimeNoContent+++-- *** repoPushMirrorSync++-- | @POST \/repos\/{owner}\/{repo}\/push_mirrors-sync@+-- +-- Sync all push mirrored repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoPushMirrorSync+ :: Owner -- ^ "owner" - owner of the repo to sync+ -> Repo -- ^ "repo" - name of the repo to sync+ -> GiteaRequest RepoPushMirrorSync MimeNoContent NoContent MimeNoContent+repoPushMirrorSync (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/push_mirrors-sync"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoPushMirrorSync +instance Produces RepoPushMirrorSync MimeNoContent+++-- *** repoSearch++-- | @GET \/repos\/search@+-- +-- Search for repositories+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoSearch+ :: GiteaRequest RepoSearch MimeNoContent SearchResults MimeJSON+repoSearch =+ _mkRequest "GET" ["/repos/search"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoSearch ++-- | /Optional Param/ "q" - keyword+instance HasOptionalParam RepoSearch Q where+ applyOptionalParam req (Q xs) =+ req `addQuery` toQuery ("q", Just xs)++-- | /Optional Param/ "topic" - Limit search to repositories with keyword as topic+instance HasOptionalParam RepoSearch Topic where+ applyOptionalParam req (Topic xs) =+ req `addQuery` toQuery ("topic", Just xs)++-- | /Optional Param/ "includeDesc" - include search of keyword within repository description+instance HasOptionalParam RepoSearch IncludeDesc where+ applyOptionalParam req (IncludeDesc xs) =+ req `addQuery` toQuery ("includeDesc", Just xs)++-- | /Optional Param/ "uid" - search only for repos that the user with the given id owns or contributes to+instance HasOptionalParam RepoSearch Uid where+ applyOptionalParam req (Uid xs) =+ req `addQuery` toQuery ("uid", Just xs)++-- | /Optional Param/ "priority_owner_id" - repo owner to prioritize in the results+instance HasOptionalParam RepoSearch PriorityOwnerId where+ applyOptionalParam req (PriorityOwnerId xs) =+ req `addQuery` toQuery ("priority_owner_id", Just xs)++-- | /Optional Param/ "team_id" - search only for repos that belong to the given team id+instance HasOptionalParam RepoSearch TeamId where+ applyOptionalParam req (TeamId xs) =+ req `addQuery` toQuery ("team_id", Just xs)++-- | /Optional Param/ "starredBy" - search only for repos that the user with the given id has starred+instance HasOptionalParam RepoSearch StarredBy where+ applyOptionalParam req (StarredBy xs) =+ req `addQuery` toQuery ("starredBy", Just xs)++-- | /Optional Param/ "private" - include private repositories this user has access to (defaults to true)+instance HasOptionalParam RepoSearch Private where+ applyOptionalParam req (Private xs) =+ req `addQuery` toQuery ("private", Just xs)++-- | /Optional Param/ "is_private" - show only pubic, private or all repositories (defaults to all)+instance HasOptionalParam RepoSearch IsPrivate where+ applyOptionalParam req (IsPrivate xs) =+ req `addQuery` toQuery ("is_private", Just xs)++-- | /Optional Param/ "template" - include template repositories this user has access to (defaults to true)+instance HasOptionalParam RepoSearch Template where+ applyOptionalParam req (Template xs) =+ req `addQuery` toQuery ("template", Just xs)++-- | /Optional Param/ "archived" - show only archived, non-archived or all repositories (defaults to all)+instance HasOptionalParam RepoSearch Archived where+ applyOptionalParam req (Archived xs) =+ req `addQuery` toQuery ("archived", Just xs)++-- | /Optional Param/ "mode" - type of repository to search for. Supported values are \"fork\", \"source\", \"mirror\" and \"collaborative\"+instance HasOptionalParam RepoSearch Mode where+ applyOptionalParam req (Mode xs) =+ req `addQuery` toQuery ("mode", Just xs)++-- | /Optional Param/ "exclusive" - if `uid` is given, search only for repos that the user owns+instance HasOptionalParam RepoSearch Exclusive where+ applyOptionalParam req (Exclusive xs) =+ req `addQuery` toQuery ("exclusive", Just xs)++-- | /Optional Param/ "sort" - sort repos by attribute. Supported values are \"alpha\", \"created\", \"updated\", \"size\", and \"id\". Default is \"alpha\"+instance HasOptionalParam RepoSearch Sort where+ applyOptionalParam req (Sort xs) =+ req `addQuery` toQuery ("sort", Just xs)++-- | /Optional Param/ "order" - sort order, either \"asc\" (ascending) or \"desc\" (descending). Default is \"asc\", ignored if \"sort\" is not specified.+instance HasOptionalParam RepoSearch Order where+ applyOptionalParam req (Order xs) =+ req `addQuery` toQuery ("order", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoSearch Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoSearch Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoSearch MimeJSON+++-- *** repoSigningKey++-- | @GET \/repos\/{owner}\/{repo}\/signing-key.gpg@+-- +-- Get signing-key.gpg for given repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoSigningKey+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoSigningKey MimeNoContent Text MimePlainText+repoSigningKey (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/signing-key.gpg"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoSigningKey +-- | @text/plain@+instance Produces RepoSigningKey MimePlainText+++-- *** repoSubmitPullReview++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews\/{id}@+-- +-- Submit a pending review to an pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoSubmitPullReview+ :: (Consumes RepoSubmitPullReview contentType, MimeRender contentType SubmitPullReviewOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> SubmitPullReviewOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> Id -- ^ "id" - id of the review+ -> GiteaRequest RepoSubmitPullReview contentType PullReview MimeJSON+repoSubmitPullReview _ body (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoSubmitPullReview +instance HasBodyParam RepoSubmitPullReview SubmitPullReviewOptions ++-- | @application/json@+instance Consumes RepoSubmitPullReview MimeJSON+-- | @text/plain@+instance Consumes RepoSubmitPullReview MimePlainText++-- | @application/json@+instance Produces RepoSubmitPullReview MimeJSON+++-- *** repoTestHook++-- | @POST \/repos\/{owner}\/{repo}\/hooks\/{id}\/tests@+-- +-- Test a push webhook+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoTestHook+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Id -- ^ "id" - id of the hook to test+ -> GiteaRequest RepoTestHook MimeNoContent NoContent MimeNoContent+repoTestHook (Owner owner) (Repo repo) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/hooks/",toPath id,"/tests"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoTestHook ++-- | /Optional Param/ "ref" - The name of the commit/branch/tag, indicates which commit will be loaded to the webhook payload.+instance HasOptionalParam RepoTestHook Ref where+ applyOptionalParam req (Ref xs) =+ req `addQuery` toQuery ("ref", Just xs)+instance Produces RepoTestHook MimeNoContent+++-- *** repoTrackedTimes++-- | @GET \/repos\/{owner}\/{repo}\/times@+-- +-- List a repo's tracked times+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoTrackedTimes+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoTrackedTimes MimeNoContent [TrackedTime] MimeJSON+repoTrackedTimes (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/times"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoTrackedTimes ++-- | /Optional Param/ "user" - optional filter by user (available for issue managers)+instance HasOptionalParam RepoTrackedTimes User2 where+ applyOptionalParam req (User2 xs) =+ req `addQuery` toQuery ("user", Just xs)++-- | /Optional Param/ "since" - Only show times updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam RepoTrackedTimes Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show times updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam RepoTrackedTimes Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam RepoTrackedTimes Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam RepoTrackedTimes Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces RepoTrackedTimes MimeJSON+++-- *** repoTransfer0++-- | @POST \/repos\/{owner}\/{repo}\/transfer@+-- +-- Transfer a repo ownership+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoTransfer0+ :: (Consumes RepoTransfer0 contentType, MimeRender contentType TransferRepoOption)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> TransferRepoOption -- ^ "body" - Transfer Options+ -> Owner -- ^ "owner" - owner of the repo to transfer+ -> Repo -- ^ "repo" - name of the repo to transfer+ -> GiteaRequest RepoTransfer0 contentType Repository MimeJSON+repoTransfer0 _ body (Owner owner) (Repo repo) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/transfer"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoTransfer0 ++-- | /Body Param/ "body" - Transfer Options+instance HasBodyParam RepoTransfer0 TransferRepoOption ++-- | @application/json@+instance Consumes RepoTransfer0 MimeJSON+-- | @text/plain@+instance Consumes RepoTransfer0 MimePlainText++-- | @application/json@+instance Produces RepoTransfer0 MimeJSON+++-- *** repoUnDismissPullReview++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/reviews\/{id}\/undismissals@+-- +-- Cancel to dismiss a review for a pull request+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoUnDismissPullReview+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request+ -> Id -- ^ "id" - id of the review+ -> GiteaRequest RepoUnDismissPullReview MimeNoContent PullReview MimeJSON+repoUnDismissPullReview (Owner owner) (Repo repo) (Index index) (Id id) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/reviews/",toPath id,"/undismissals"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoUnDismissPullReview +-- | @application/json@+instance Produces RepoUnDismissPullReview MimeJSON+++-- *** repoUpdateFile++-- | @PUT \/repos\/{owner}\/{repo}\/contents\/{filepath}@+-- +-- Update a file in a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoUpdateFile+ :: (Consumes RepoUpdateFile MimeJSON, MimeRender MimeJSON UpdateFileOptions)+ => UpdateFileOptions -- ^ "body"+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Filepath -- ^ "filepath" - path of the file to update+ -> GiteaRequest RepoUpdateFile MimeJSON FileResponse MimeJSON+repoUpdateFile body (Owner owner) (Repo repo) (Filepath filepath) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/contents/",toPath filepath]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data RepoUpdateFile +instance HasBodyParam RepoUpdateFile UpdateFileOptions ++-- | @application/json@+instance Consumes RepoUpdateFile MimeJSON++-- | @application/json@+instance Produces RepoUpdateFile MimeJSON+++-- *** repoUpdatePullRequest++-- | @POST \/repos\/{owner}\/{repo}\/pulls\/{index}\/update@+-- +-- Merge PR's baseBranch into headBranch+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoUpdatePullRequest+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> Index -- ^ "index" - index of the pull request to get+ -> GiteaRequest RepoUpdatePullRequest MimeNoContent NoContent MimeNoContent+repoUpdatePullRequest (Owner owner) (Repo repo) (Index index) =+ _mkRequest "POST" ["/repos/",toPath owner,"/",toPath repo,"/pulls/",toPath index,"/update"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoUpdatePullRequest ++-- | /Optional Param/ "style" - how to update pull request+instance HasOptionalParam RepoUpdatePullRequest Style where+ applyOptionalParam req (Style xs) =+ req `addQuery` toQuery ("style", Just xs)+instance Produces RepoUpdatePullRequest MimeNoContent+++-- *** repoUpdateTopics++-- | @PUT \/repos\/{owner}\/{repo}\/topics@+-- +-- Replace list of topics for a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +repoUpdateTopics+ :: (Consumes RepoUpdateTopics contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest RepoUpdateTopics contentType NoContent MimeNoContent+repoUpdateTopics _ (Owner owner) (Repo repo) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/topics"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data RepoUpdateTopics +instance HasBodyParam RepoUpdateTopics RepoTopicOptions ++-- | @application/json@+instance Consumes RepoUpdateTopics MimeJSON+-- | @text/plain@+instance Consumes RepoUpdateTopics MimePlainText++instance Produces RepoUpdateTopics MimeNoContent+++-- *** topicSearch++-- | @GET \/topics\/search@+-- +-- search topics via keyword+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +topicSearch+ :: Q -- ^ "q" - keywords to search+ -> GiteaRequest TopicSearch MimeNoContent [TopicResponse] MimeJSON+topicSearch (Q q) =+ _mkRequest "GET" ["/topics/search"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `addQuery` toQuery ("q", Just q)++data TopicSearch ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam TopicSearch Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam TopicSearch Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces TopicSearch MimeJSON+++-- *** userCurrentCheckSubscription++-- | @GET \/repos\/{owner}\/{repo}\/subscription@+-- +-- Check if the current user is watching a repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentCheckSubscription+ :: Accept accept -- ^ request accept ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest UserCurrentCheckSubscription MimeNoContent WatchInfo accept+userCurrentCheckSubscription _ (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/subscription"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentCheckSubscription +-- | @text/html@+instance Produces UserCurrentCheckSubscription MimeTextHtml+-- | @application/json@+instance Produces UserCurrentCheckSubscription MimeJSON+++-- *** userCurrentDeleteSubscription++-- | @DELETE \/repos\/{owner}\/{repo}\/subscription@+-- +-- Unwatch a repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentDeleteSubscription+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest UserCurrentDeleteSubscription MimeNoContent NoContent MimeNoContent+userCurrentDeleteSubscription (Owner owner) (Repo repo) =+ _mkRequest "DELETE" ["/repos/",toPath owner,"/",toPath repo,"/subscription"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentDeleteSubscription +instance Produces UserCurrentDeleteSubscription MimeNoContent+++-- *** userCurrentPutSubscription++-- | @PUT \/repos\/{owner}\/{repo}\/subscription@+-- +-- Watch a repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentPutSubscription+ :: Accept accept -- ^ request accept ('MimeType')+ -> Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest UserCurrentPutSubscription MimeNoContent WatchInfo accept+userCurrentPutSubscription _ (Owner owner) (Repo repo) =+ _mkRequest "PUT" ["/repos/",toPath owner,"/",toPath repo,"/subscription"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentPutSubscription +-- | @text/html@+instance Produces UserCurrentPutSubscription MimeTextHtml+-- | @application/json@+instance Produces UserCurrentPutSubscription MimeJSON+++-- *** userTrackedTimes++-- | @GET \/repos\/{owner}\/{repo}\/times\/{user}@+-- +-- List a user's tracked times in a repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userTrackedTimes+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> User2 -- ^ "user" - username of user+ -> GiteaRequest UserTrackedTimes MimeNoContent [TrackedTime] MimeJSON+userTrackedTimes (Owner owner) (Repo repo) (User2 user) =+ _mkRequest "GET" ["/repos/",toPath owner,"/",toPath repo,"/times/",toPath user]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++{-# DEPRECATED userTrackedTimes "" #-}++data UserTrackedTimes +-- | @application/json@+instance Produces UserTrackedTimes MimeJSON+
+ lib/Gitea/API/Settings.hs view
@@ -0,0 +1,158 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.Settings+-}++{-# 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.Settings 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+++-- ** Settings++-- *** getGeneralAPISettings++-- | @GET \/settings\/api@+-- +-- Get instance's global settings for api+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getGeneralAPISettings+ :: GiteaRequest GetGeneralAPISettings MimeNoContent GeneralAPISettings MimeJSON+getGeneralAPISettings =+ _mkRequest "GET" ["/settings/api"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetGeneralAPISettings +-- | @application/json@+instance Produces GetGeneralAPISettings MimeJSON+++-- *** getGeneralAttachmentSettings++-- | @GET \/settings\/attachment@+-- +-- Get instance's global settings for Attachment+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getGeneralAttachmentSettings+ :: GiteaRequest GetGeneralAttachmentSettings MimeNoContent GeneralAttachmentSettings MimeJSON+getGeneralAttachmentSettings =+ _mkRequest "GET" ["/settings/attachment"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetGeneralAttachmentSettings +-- | @application/json@+instance Produces GetGeneralAttachmentSettings MimeJSON+++-- *** getGeneralRepositorySettings++-- | @GET \/settings\/repository@+-- +-- Get instance's global settings for repositories+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getGeneralRepositorySettings+ :: GiteaRequest GetGeneralRepositorySettings MimeNoContent GeneralRepoSettings MimeJSON+getGeneralRepositorySettings =+ _mkRequest "GET" ["/settings/repository"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetGeneralRepositorySettings +-- | @application/json@+instance Produces GetGeneralRepositorySettings MimeJSON+++-- *** getGeneralUISettings++-- | @GET \/settings\/ui@+-- +-- Get instance's global settings for ui+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getGeneralUISettings+ :: GiteaRequest GetGeneralUISettings MimeNoContent GeneralUISettings MimeJSON+getGeneralUISettings =+ _mkRequest "GET" ["/settings/ui"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetGeneralUISettings +-- | @application/json@+instance Produces GetGeneralUISettings MimeJSON+
+ lib/Gitea/API/User.hs view
@@ -0,0 +1,1630 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.API.User+-}++{-# 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.User 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+++-- ** User++-- *** createCurrentUserRepo0++-- | @POST \/user\/repos@+-- +-- Create a repository+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +createCurrentUserRepo0+ :: (Consumes CreateCurrentUserRepo0 MimeJSON)+ => GiteaRequest CreateCurrentUserRepo0 MimeJSON Repository MimeJSON+createCurrentUserRepo0 =+ _mkRequest "POST" ["/user/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data CreateCurrentUserRepo0 +instance HasBodyParam CreateCurrentUserRepo0 CreateRepoOption ++-- | @application/json@+instance Consumes CreateCurrentUserRepo0 MimeJSON++-- | @application/json@+instance Produces CreateCurrentUserRepo0 MimeJSON+++-- *** getUserSettings++-- | @GET \/user\/settings@+-- +-- Get user settings+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getUserSettings+ :: GiteaRequest GetUserSettings MimeNoContent [UserSettings] MimeJSON+getUserSettings =+ _mkRequest "GET" ["/user/settings"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetUserSettings +-- | @application/json@+instance Produces GetUserSettings MimeJSON+++-- *** getVerificationToken++-- | @GET \/user\/gpg_key_token@+-- +-- Get a Token to verify+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +getVerificationToken+ :: GiteaRequest GetVerificationToken MimeNoContent Text MimePlainText+getVerificationToken =+ _mkRequest "GET" ["/user/gpg_key_token"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data GetVerificationToken +-- | @text/plain@+instance Produces GetVerificationToken MimePlainText+++-- *** updateUserSettings++-- | @PATCH \/user\/settings@+-- +-- Update user settings+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +updateUserSettings+ :: (Consumes UpdateUserSettings contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> GiteaRequest UpdateUserSettings contentType [UserSettings] MimeJSON+updateUserSettings _ =+ _mkRequest "PATCH" ["/user/settings"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UpdateUserSettings +instance HasBodyParam UpdateUserSettings UserSettingsOptions ++-- | @application/json@+instance Consumes UpdateUserSettings MimeJSON+-- | @text/plain@+instance Consumes UpdateUserSettings MimePlainText++-- | @application/json@+instance Produces UpdateUserSettings MimeJSON+++-- *** userAddEmail++-- | @POST \/user\/emails@+-- +-- Add email addresses+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userAddEmail+ :: (Consumes UserAddEmail contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> GiteaRequest UserAddEmail contentType [Email] MimeJSON+userAddEmail _ =+ _mkRequest "POST" ["/user/emails"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserAddEmail +instance HasBodyParam UserAddEmail CreateEmailOption ++-- | @application/json@+instance Consumes UserAddEmail MimeJSON+-- | @text/plain@+instance Consumes UserAddEmail MimePlainText++-- | @application/json@+instance Produces UserAddEmail MimeJSON+++-- *** userCheckFollowing++-- | @GET \/users\/{username}\/following\/{target}@+-- +-- Check if one user is following another user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCheckFollowing+ :: Username -- ^ "username" - username of following user+ -> Target -- ^ "target" - username of followed user+ -> GiteaRequest UserCheckFollowing MimeNoContent NoContent MimeNoContent+userCheckFollowing (Username username) (Target target) =+ _mkRequest "GET" ["/users/",toPath username,"/following/",toPath target]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCheckFollowing +instance Produces UserCheckFollowing MimeNoContent+++-- *** userCreateOAuth2Application++-- | @POST \/user\/applications\/oauth2@+-- +-- creates a new OAuth2 application+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCreateOAuth2Application+ :: (Consumes UserCreateOAuth2Application contentType, MimeRender contentType CreateOAuth2ApplicationOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> CreateOAuth2ApplicationOptions -- ^ "body"+ -> GiteaRequest UserCreateOAuth2Application contentType OAuth2Application MimeJSON+userCreateOAuth2Application _ body =+ _mkRequest "POST" ["/user/applications/oauth2"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data UserCreateOAuth2Application +instance HasBodyParam UserCreateOAuth2Application CreateOAuth2ApplicationOptions ++-- | @application/json@+instance Consumes UserCreateOAuth2Application MimeJSON+-- | @text/plain@+instance Consumes UserCreateOAuth2Application MimePlainText++-- | @application/json@+instance Produces UserCreateOAuth2Application MimeJSON+++-- *** userCreateToken++-- | @POST \/users\/{username}\/tokens@+-- +-- Create an access token+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCreateToken+ :: (Consumes UserCreateToken MimeJSON)+ => Username -- ^ "username" - username of user+ -> GiteaRequest UserCreateToken MimeJSON AccessToken MimeJSON+userCreateToken (Username username) =+ _mkRequest "POST" ["/users/",toPath username,"/tokens"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCreateToken +instance HasBodyParam UserCreateToken CreateAccessTokenOption ++-- | @application/json@+instance Consumes UserCreateToken MimeJSON++-- | @application/json@+instance Produces UserCreateToken MimeJSON+++-- *** userCurrentCheckFollowing++-- | @GET \/user\/following\/{username}@+-- +-- Check whether a user is followed by the authenticated user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentCheckFollowing+ :: Username -- ^ "username" - username of followed user+ -> GiteaRequest UserCurrentCheckFollowing MimeNoContent NoContent MimeNoContent+userCurrentCheckFollowing (Username username) =+ _mkRequest "GET" ["/user/following/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentCheckFollowing +instance Produces UserCurrentCheckFollowing MimeNoContent+++-- *** userCurrentCheckStarring++-- | @GET \/user\/starred\/{owner}\/{repo}@+-- +-- Whether the authenticated is starring the repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentCheckStarring+ :: Owner -- ^ "owner" - owner of the repo+ -> Repo -- ^ "repo" - name of the repo+ -> GiteaRequest UserCurrentCheckStarring MimeNoContent NoContent MimeNoContent+userCurrentCheckStarring (Owner owner) (Repo repo) =+ _mkRequest "GET" ["/user/starred/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentCheckStarring +instance Produces UserCurrentCheckStarring MimeNoContent+++-- *** userCurrentDeleteFollow++-- | @DELETE \/user\/following\/{username}@+-- +-- Unfollow a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentDeleteFollow+ :: Username -- ^ "username" - username of user to unfollow+ -> GiteaRequest UserCurrentDeleteFollow MimeNoContent NoContent MimeNoContent+userCurrentDeleteFollow (Username username) =+ _mkRequest "DELETE" ["/user/following/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentDeleteFollow +instance Produces UserCurrentDeleteFollow MimeNoContent+++-- *** userCurrentDeleteGPGKey++-- | @DELETE \/user\/gpg_keys\/{id}@+-- +-- Remove a GPG key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentDeleteGPGKey+ :: Id -- ^ "id" - id of key to delete+ -> GiteaRequest UserCurrentDeleteGPGKey MimeNoContent NoContent MimeNoContent+userCurrentDeleteGPGKey (Id id) =+ _mkRequest "DELETE" ["/user/gpg_keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentDeleteGPGKey +instance Produces UserCurrentDeleteGPGKey MimeNoContent+++-- *** userCurrentDeleteKey++-- | @DELETE \/user\/keys\/{id}@+-- +-- Delete a public key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentDeleteKey+ :: Id -- ^ "id" - id of key to delete+ -> GiteaRequest UserCurrentDeleteKey MimeNoContent NoContent MimeNoContent+userCurrentDeleteKey (Id id) =+ _mkRequest "DELETE" ["/user/keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentDeleteKey +instance Produces UserCurrentDeleteKey MimeNoContent+++-- *** userCurrentDeleteStar++-- | @DELETE \/user\/starred\/{owner}\/{repo}@+-- +-- Unstar the given repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentDeleteStar+ :: Owner -- ^ "owner" - owner of the repo to unstar+ -> Repo -- ^ "repo" - name of the repo to unstar+ -> GiteaRequest UserCurrentDeleteStar MimeNoContent NoContent MimeNoContent+userCurrentDeleteStar (Owner owner) (Repo repo) =+ _mkRequest "DELETE" ["/user/starred/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentDeleteStar +instance Produces UserCurrentDeleteStar MimeNoContent+++-- *** userCurrentGetGPGKey++-- | @GET \/user\/gpg_keys\/{id}@+-- +-- Get a GPG key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentGetGPGKey+ :: Id -- ^ "id" - id of key to get+ -> GiteaRequest UserCurrentGetGPGKey MimeNoContent GPGKey MimeJSON+userCurrentGetGPGKey (Id id) =+ _mkRequest "GET" ["/user/gpg_keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentGetGPGKey +-- | @application/json@+instance Produces UserCurrentGetGPGKey MimeJSON+++-- *** userCurrentGetKey++-- | @GET \/user\/keys\/{id}@+-- +-- Get a public key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentGetKey+ :: Id -- ^ "id" - id of key to get+ -> GiteaRequest UserCurrentGetKey MimeNoContent PublicKey MimeJSON+userCurrentGetKey (Id id) =+ _mkRequest "GET" ["/user/keys/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentGetKey +-- | @application/json@+instance Produces UserCurrentGetKey MimeJSON+++-- *** userCurrentListFollowers++-- | @GET \/user\/followers@+-- +-- List the authenticated user's followers+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListFollowers+ :: GiteaRequest UserCurrentListFollowers MimeNoContent [User] MimeJSON+userCurrentListFollowers =+ _mkRequest "GET" ["/user/followers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListFollowers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListFollowers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListFollowers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListFollowers MimeJSON+++-- *** userCurrentListFollowing++-- | @GET \/user\/following@+-- +-- List the users that the authenticated user is following+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListFollowing+ :: GiteaRequest UserCurrentListFollowing MimeNoContent [User] MimeJSON+userCurrentListFollowing =+ _mkRequest "GET" ["/user/following"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListFollowing ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListFollowing Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListFollowing Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListFollowing MimeJSON+++-- *** userCurrentListGPGKeys++-- | @GET \/user\/gpg_keys@+-- +-- List the authenticated user's GPG keys+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListGPGKeys+ :: GiteaRequest UserCurrentListGPGKeys MimeNoContent [GPGKey] MimeJSON+userCurrentListGPGKeys =+ _mkRequest "GET" ["/user/gpg_keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListGPGKeys ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListGPGKeys Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListGPGKeys Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListGPGKeys MimeJSON+++-- *** userCurrentListKeys++-- | @GET \/user\/keys@+-- +-- List the authenticated user's public keys+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListKeys+ :: GiteaRequest UserCurrentListKeys MimeNoContent [PublicKey] MimeJSON+userCurrentListKeys =+ _mkRequest "GET" ["/user/keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListKeys ++-- | /Optional Param/ "fingerprint" - fingerprint of the key+instance HasOptionalParam UserCurrentListKeys Fingerprint where+ applyOptionalParam req (Fingerprint xs) =+ req `addQuery` toQuery ("fingerprint", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListKeys Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListKeys Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListKeys MimeJSON+++-- *** userCurrentListRepos++-- | @GET \/user\/repos@+-- +-- List the repos that the authenticated user owns+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListRepos+ :: GiteaRequest UserCurrentListRepos MimeNoContent [Repository] MimeJSON+userCurrentListRepos =+ _mkRequest "GET" ["/user/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListRepos ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListRepos Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListRepos Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListRepos MimeJSON+++-- *** userCurrentListStarred++-- | @GET \/user\/starred@+-- +-- The repos that the authenticated user has starred+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListStarred+ :: GiteaRequest UserCurrentListStarred MimeNoContent [Repository] MimeJSON+userCurrentListStarred =+ _mkRequest "GET" ["/user/starred"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListStarred ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListStarred Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListStarred Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListStarred MimeJSON+++-- *** userCurrentListSubscriptions++-- | @GET \/user\/subscriptions@+-- +-- List repositories watched by the authenticated user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentListSubscriptions+ :: GiteaRequest UserCurrentListSubscriptions MimeNoContent [Repository] MimeJSON+userCurrentListSubscriptions =+ _mkRequest "GET" ["/user/subscriptions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentListSubscriptions ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentListSubscriptions Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentListSubscriptions Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserCurrentListSubscriptions MimeJSON+++-- *** userCurrentPostGPGKey++-- | @POST \/user\/gpg_keys@+-- +-- Create a GPG key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentPostGPGKey+ :: (Consumes UserCurrentPostGPGKey MimeJSON)+ => GiteaRequest UserCurrentPostGPGKey MimeJSON GPGKey MimeJSON+userCurrentPostGPGKey =+ _mkRequest "POST" ["/user/gpg_keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentPostGPGKey +instance HasBodyParam UserCurrentPostGPGKey CreateGPGKeyOption ++-- | @application/json@+instance Consumes UserCurrentPostGPGKey MimeJSON++-- | @application/json@+instance Produces UserCurrentPostGPGKey MimeJSON+++-- *** userCurrentPostKey++-- | @POST \/user\/keys@+-- +-- Create a public key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentPostKey+ :: (Consumes UserCurrentPostKey MimeJSON)+ => GiteaRequest UserCurrentPostKey MimeJSON PublicKey MimeJSON+userCurrentPostKey =+ _mkRequest "POST" ["/user/keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentPostKey +instance HasBodyParam UserCurrentPostKey CreateKeyOption ++-- | @application/json@+instance Consumes UserCurrentPostKey MimeJSON++-- | @application/json@+instance Produces UserCurrentPostKey MimeJSON+++-- *** userCurrentPutFollow++-- | @PUT \/user\/following\/{username}@+-- +-- Follow a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentPutFollow+ :: Username -- ^ "username" - username of user to follow+ -> GiteaRequest UserCurrentPutFollow MimeNoContent NoContent MimeNoContent+userCurrentPutFollow (Username username) =+ _mkRequest "PUT" ["/user/following/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentPutFollow +instance Produces UserCurrentPutFollow MimeNoContent+++-- *** userCurrentPutStar++-- | @PUT \/user\/starred\/{owner}\/{repo}@+-- +-- Star the given repo+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentPutStar+ :: Owner -- ^ "owner" - owner of the repo to star+ -> Repo -- ^ "repo" - name of the repo to star+ -> GiteaRequest UserCurrentPutStar MimeNoContent NoContent MimeNoContent+userCurrentPutStar (Owner owner) (Repo repo) =+ _mkRequest "PUT" ["/user/starred/",toPath owner,"/",toPath repo]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentPutStar +instance Produces UserCurrentPutStar MimeNoContent+++-- *** userCurrentTrackedTimes++-- | @GET \/user\/times@+-- +-- List the current user's tracked times+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userCurrentTrackedTimes+ :: GiteaRequest UserCurrentTrackedTimes MimeNoContent [TrackedTime] MimeJSON+userCurrentTrackedTimes =+ _mkRequest "GET" ["/user/times"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserCurrentTrackedTimes ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserCurrentTrackedTimes Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserCurrentTrackedTimes Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)++-- | /Optional Param/ "since" - Only show times updated after the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam UserCurrentTrackedTimes Since where+ applyOptionalParam req (Since xs) =+ req `addQuery` toQuery ("since", Just xs)++-- | /Optional Param/ "before" - Only show times updated before the given time. This is a timestamp in RFC 3339 format+instance HasOptionalParam UserCurrentTrackedTimes Before where+ applyOptionalParam req (Before xs) =+ req `addQuery` toQuery ("before", Just xs)+-- | @application/json@+instance Produces UserCurrentTrackedTimes MimeJSON+++-- *** userDeleteAccessToken++-- | @DELETE \/users\/{username}\/tokens\/{token}@+-- +-- delete an access token+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userDeleteAccessToken+ :: Username -- ^ "username" - username of user+ -> Token -- ^ "token" - token to be deleted, identified by ID and if not available by name+ -> GiteaRequest UserDeleteAccessToken MimeNoContent NoContent MimeNoContent+userDeleteAccessToken (Username username) (Token token) =+ _mkRequest "DELETE" ["/users/",toPath username,"/tokens/",toPath token]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserDeleteAccessToken +instance Produces UserDeleteAccessToken MimeNoContent+++-- *** userDeleteEmail++-- | @DELETE \/user\/emails@+-- +-- Delete email addresses+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userDeleteEmail+ :: (Consumes UserDeleteEmail contentType)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> GiteaRequest UserDeleteEmail contentType NoContent MimeNoContent+userDeleteEmail _ =+ _mkRequest "DELETE" ["/user/emails"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserDeleteEmail +instance HasBodyParam UserDeleteEmail DeleteEmailOption ++-- | @application/json@+instance Consumes UserDeleteEmail MimeJSON+-- | @text/plain@+instance Consumes UserDeleteEmail MimePlainText++instance Produces UserDeleteEmail MimeNoContent+++-- *** userDeleteOAuth2Application++-- | @DELETE \/user\/applications\/oauth2\/{id}@+-- +-- delete an OAuth2 Application+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userDeleteOAuth2Application+ :: Id -- ^ "id" - token to be deleted+ -> GiteaRequest UserDeleteOAuth2Application MimeNoContent NoContent MimeNoContent+userDeleteOAuth2Application (Id id) =+ _mkRequest "DELETE" ["/user/applications/oauth2/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserDeleteOAuth2Application +instance Produces UserDeleteOAuth2Application MimeNoContent+++-- *** userGet++-- | @GET \/users\/{username}@+-- +-- Get a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGet+ :: Username -- ^ "username" - username of user to get+ -> GiteaRequest UserGet MimeNoContent User MimeJSON+userGet (Username username) =+ _mkRequest "GET" ["/users/",toPath username]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGet +-- | @application/json@+instance Produces UserGet MimeJSON+++-- *** userGetCurrent++-- | @GET \/user@+-- +-- Get the authenticated user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGetCurrent+ :: GiteaRequest UserGetCurrent MimeNoContent User MimeJSON+userGetCurrent =+ _mkRequest "GET" ["/user"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGetCurrent +-- | @application/json@+instance Produces UserGetCurrent MimeJSON+++-- *** userGetHeatmapData++-- | @GET \/users\/{username}\/heatmap@+-- +-- Get a user's heatmap+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGetHeatmapData+ :: Username -- ^ "username" - username of user to get+ -> GiteaRequest UserGetHeatmapData MimeNoContent [UserHeatmapData] MimeJSON+userGetHeatmapData (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/heatmap"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGetHeatmapData +-- | @application/json@+instance Produces UserGetHeatmapData MimeJSON+++-- *** userGetOAuth2Application++-- | @GET \/user\/applications\/oauth2\/{id}@+-- +-- get an OAuth2 Application+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGetOAuth2Application+ :: Id -- ^ "id" - Application ID to be found+ -> GiteaRequest UserGetOAuth2Application MimeNoContent OAuth2Application MimeJSON+userGetOAuth2Application (Id id) =+ _mkRequest "GET" ["/user/applications/oauth2/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGetOAuth2Application +-- | @application/json@+instance Produces UserGetOAuth2Application MimeJSON+++-- *** userGetOauth2Application++-- | @GET \/user\/applications\/oauth2@+-- +-- List the authenticated user's oauth2 applications+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGetOauth2Application+ :: GiteaRequest UserGetOauth2Application MimeNoContent [OAuth2Application] MimeJSON+userGetOauth2Application =+ _mkRequest "GET" ["/user/applications/oauth2"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGetOauth2Application ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserGetOauth2Application Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserGetOauth2Application Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserGetOauth2Application MimeJSON+++-- *** userGetStopWatches++-- | @GET \/user\/stopwatches@+-- +-- Get list of all existing stopwatches+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGetStopWatches+ :: GiteaRequest UserGetStopWatches MimeNoContent [StopWatch] MimeJSON+userGetStopWatches =+ _mkRequest "GET" ["/user/stopwatches"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGetStopWatches ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserGetStopWatches Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserGetStopWatches Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserGetStopWatches MimeJSON+++-- *** userGetTokens++-- | @GET \/users\/{username}\/tokens@+-- +-- List the authenticated user's access tokens+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userGetTokens+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserGetTokens MimeNoContent [AccessToken] MimeJSON+userGetTokens (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/tokens"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserGetTokens ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserGetTokens Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserGetTokens Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserGetTokens MimeJSON+++-- *** userListEmails++-- | @GET \/user\/emails@+-- +-- List the authenticated user's email addresses+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListEmails+ :: GiteaRequest UserListEmails MimeNoContent [Email] MimeJSON+userListEmails =+ _mkRequest "GET" ["/user/emails"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListEmails +-- | @application/json@+instance Produces UserListEmails MimeJSON+++-- *** userListFollowers++-- | @GET \/users\/{username}\/followers@+-- +-- List the given user's followers+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListFollowers+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserListFollowers MimeNoContent [User] MimeJSON+userListFollowers (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/followers"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListFollowers ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListFollowers Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListFollowers Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListFollowers MimeJSON+++-- *** userListFollowing++-- | @GET \/users\/{username}\/following@+-- +-- List the users that the given user is following+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListFollowing+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserListFollowing MimeNoContent [User] MimeJSON+userListFollowing (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/following"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListFollowing ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListFollowing Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListFollowing Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListFollowing MimeJSON+++-- *** userListGPGKeys++-- | @GET \/users\/{username}\/gpg_keys@+-- +-- List the given user's GPG keys+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListGPGKeys+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserListGPGKeys MimeNoContent [GPGKey] MimeJSON+userListGPGKeys (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/gpg_keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListGPGKeys ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListGPGKeys Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListGPGKeys Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListGPGKeys MimeJSON+++-- *** userListKeys++-- | @GET \/users\/{username}\/keys@+-- +-- List the given user's public keys+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListKeys+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserListKeys MimeNoContent [PublicKey] MimeJSON+userListKeys (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/keys"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListKeys ++-- | /Optional Param/ "fingerprint" - fingerprint of the key+instance HasOptionalParam UserListKeys Fingerprint where+ applyOptionalParam req (Fingerprint xs) =+ req `addQuery` toQuery ("fingerprint", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListKeys Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListKeys Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListKeys MimeJSON+++-- *** userListRepos++-- | @GET \/users\/{username}\/repos@+-- +-- List the repos owned by the given user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListRepos+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserListRepos MimeNoContent [Repository] MimeJSON+userListRepos (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/repos"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListRepos ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListRepos Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListRepos Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListRepos MimeJSON+++-- *** userListStarred++-- | @GET \/users\/{username}\/starred@+-- +-- The repos that the given user has starred+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListStarred+ :: Username -- ^ "username" - username of user+ -> GiteaRequest UserListStarred MimeNoContent [Repository] MimeJSON+userListStarred (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/starred"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListStarred ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListStarred Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListStarred Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListStarred MimeJSON+++-- *** userListSubscriptions++-- | @GET \/users\/{username}\/subscriptions@+-- +-- List the repositories watched by a user+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListSubscriptions+ :: Username -- ^ "username" - username of the user+ -> GiteaRequest UserListSubscriptions MimeNoContent [Repository] MimeJSON+userListSubscriptions (Username username) =+ _mkRequest "GET" ["/users/",toPath username,"/subscriptions"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListSubscriptions ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListSubscriptions Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListSubscriptions Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListSubscriptions MimeJSON+++-- *** userListTeams++-- | @GET \/user\/teams@+-- +-- List all the teams a user belongs to+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userListTeams+ :: GiteaRequest UserListTeams MimeNoContent [Team] MimeJSON+userListTeams =+ _mkRequest "GET" ["/user/teams"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserListTeams ++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserListTeams Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserListTeams Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserListTeams MimeJSON+++-- *** userSearch++-- | @GET \/users\/search@+-- +-- Search for users+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userSearch+ :: GiteaRequest UserSearch MimeNoContent UserSearch200Response MimeJSON+userSearch =+ _mkRequest "GET" ["/users/search"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserSearch ++-- | /Optional Param/ "q" - keyword+instance HasOptionalParam UserSearch Q where+ applyOptionalParam req (Q xs) =+ req `addQuery` toQuery ("q", Just xs)++-- | /Optional Param/ "uid" - ID of the user to search for+instance HasOptionalParam UserSearch Uid where+ applyOptionalParam req (Uid xs) =+ req `addQuery` toQuery ("uid", Just xs)++-- | /Optional Param/ "page" - page number of results to return (1-based)+instance HasOptionalParam UserSearch Page where+ applyOptionalParam req (Page xs) =+ req `addQuery` toQuery ("page", Just xs)++-- | /Optional Param/ "limit" - page size of results+instance HasOptionalParam UserSearch Limit where+ applyOptionalParam req (Limit xs) =+ req `addQuery` toQuery ("limit", Just xs)+-- | @application/json@+instance Produces UserSearch MimeJSON+++-- *** userUpdateOAuth2Application++-- | @PATCH \/user\/applications\/oauth2\/{id}@+-- +-- update an OAuth2 Application, this includes regenerating the client secret+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userUpdateOAuth2Application+ :: (Consumes UserUpdateOAuth2Application contentType, MimeRender contentType CreateOAuth2ApplicationOptions)+ => ContentType contentType -- ^ request content-type ('MimeType')+ -> CreateOAuth2ApplicationOptions -- ^ "body"+ -> Id -- ^ "id" - application to be updated+ -> GiteaRequest UserUpdateOAuth2Application contentType OAuth2Application MimeJSON+userUpdateOAuth2Application _ body (Id id) =+ _mkRequest "PATCH" ["/user/applications/oauth2/",toPath id]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)+ `setBodyParam` body++data UserUpdateOAuth2Application +instance HasBodyParam UserUpdateOAuth2Application CreateOAuth2ApplicationOptions ++-- | @application/json@+instance Consumes UserUpdateOAuth2Application MimeJSON+-- | @text/plain@+instance Consumes UserUpdateOAuth2Application MimePlainText++-- | @application/json@+instance Produces UserUpdateOAuth2Application MimeJSON+++-- *** userVerifyGPGKey++-- | @POST \/user\/gpg_key_verify@+-- +-- Verify a GPG key+-- +-- AuthMethod: 'AuthApiKeyTOTPHeader', 'AuthApiKeyAuthorizationHeaderToken', 'AuthApiKeySudoHeader', 'AuthBasicBasicAuth', 'AuthApiKeyAccessToken', 'AuthApiKeySudoParam', 'AuthApiKeyToken'+-- +userVerifyGPGKey+ :: GiteaRequest UserVerifyGPGKey MimeNoContent GPGKey MimeJSON+userVerifyGPGKey =+ _mkRequest "POST" ["/user/gpg_key_verify"]+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyTOTPHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAuthorizationHeaderToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoHeader)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthBasicBasicAuth)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyAccessToken)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeySudoParam)+ `_hasAuthType` (P.Proxy :: P.Proxy AuthApiKeyToken)++data UserVerifyGPGKey +-- | @application/json@+instance Produces UserVerifyGPGKey MimeJSON+
+ lib/Gitea/Client.hs view
@@ -0,0 +1,223 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.Client+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE DeriveFunctor #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveTraversable #-}+{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}++module Gitea.Client where++import Gitea.Core+import Gitea.Logging+import Gitea.MimeTypes++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Control.Monad as P+import qualified Data.Aeson.Types as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy.Char8 as BCL+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Network.HTTP.Client as NH+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Types as NH+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Data.Function ((&))+import Data.Monoid ((<>))+import Data.Text (Text)+import GHC.Exts (IsString(..))++-- * Dispatch++-- ** Lbs++-- | send a request returning the raw http response+dispatchLbs+ :: (Produces req accept, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> GiteaConfig -- ^ config+ -> GiteaRequest req contentType res accept -- ^ request+ -> IO (NH.Response BCL.ByteString) -- ^ response+dispatchLbs manager config request = do+ initReq <- _toInitRequest config request+ dispatchInitUnsafe manager config initReq++-- ** Mime++-- | pair of decoded http body and http response+data MimeResult res =+ MimeResult { mimeResult :: Either MimeError res -- ^ decoded http body+ , mimeResultResponse :: NH.Response BCL.ByteString -- ^ http response+ }+ deriving (Show, Functor, Foldable, Traversable)++-- | pair of unrender/parser error and http response+data MimeError =+ MimeError {+ mimeError :: String -- ^ unrender/parser error+ , mimeErrorResponse :: NH.Response BCL.ByteString -- ^ http response+ } deriving (Show)++-- | send a request returning the 'MimeResult'+dispatchMime+ :: forall req contentType res accept. (Produces req accept, MimeUnrender accept res, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> GiteaConfig -- ^ config+ -> GiteaRequest req contentType res accept -- ^ request+ -> IO (MimeResult res) -- ^ response+dispatchMime manager config request = do+ httpResponse <- dispatchLbs manager config request+ let statusCode = NH.statusCode . NH.responseStatus $ httpResponse+ parsedResult <-+ runConfigLogWithExceptions "Client" config $+ do if (statusCode >= 400 && statusCode < 600)+ then do+ let s = "error statusCode: " ++ show statusCode+ _log "Client" levelError (T.pack s)+ pure (Left (MimeError s httpResponse))+ else case mimeUnrender (P.Proxy :: P.Proxy accept) (NH.responseBody httpResponse) of+ Left s -> do+ _log "Client" levelError (T.pack s)+ pure (Left (MimeError s httpResponse))+ Right r -> pure (Right r)+ return (MimeResult parsedResult httpResponse)++-- | like 'dispatchMime', but only returns the decoded http body+dispatchMime'+ :: (Produces req accept, MimeUnrender accept res, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> GiteaConfig -- ^ config+ -> GiteaRequest req contentType res accept -- ^ request+ -> IO (Either MimeError res) -- ^ response+dispatchMime' manager config request = do+ MimeResult parsedResult _ <- dispatchMime manager config request+ return parsedResult++-- ** Unsafe++-- | like 'dispatchReqLbs', but does not validate the operation is a 'Producer' of the "accept" 'MimeType'. (Useful if the server's response is undocumented)+dispatchLbsUnsafe+ :: (MimeType accept, MimeType contentType)+ => NH.Manager -- ^ http-client Connection manager+ -> GiteaConfig -- ^ config+ -> GiteaRequest req contentType res accept -- ^ request+ -> IO (NH.Response BCL.ByteString) -- ^ response+dispatchLbsUnsafe manager config request = do+ initReq <- _toInitRequest config request+ dispatchInitUnsafe manager config initReq++-- | dispatch an InitRequest+dispatchInitUnsafe+ :: NH.Manager -- ^ http-client Connection manager+ -> GiteaConfig -- ^ config+ -> InitRequest req contentType res accept -- ^ init request+ -> IO (NH.Response BCL.ByteString) -- ^ response+dispatchInitUnsafe manager config (InitRequest req) = do+ runConfigLogWithExceptions src config $+ do _log src levelInfo requestLogMsg+ _log src levelDebug requestDbgLogMsg+ res <- P.liftIO $ NH.httpLbs req manager+ _log src levelInfo (responseLogMsg res)+ _log src levelDebug ((T.pack . show) res)+ return res+ where+ src = "Client"+ endpoint =+ T.pack $+ BC.unpack $+ NH.method req <> " " <> NH.host req <> NH.path req <> NH.queryString req+ requestLogMsg = "REQ:" <> endpoint+ requestDbgLogMsg =+ "Headers=" <> (T.pack . show) (NH.requestHeaders req) <> " Body=" <>+ (case NH.requestBody req of+ NH.RequestBodyLBS xs -> T.decodeUtf8 (BL.toStrict xs)+ _ -> "<RequestBody>")+ responseStatusCode = (T.pack . show) . NH.statusCode . NH.responseStatus+ responseLogMsg res =+ "RES:statusCode=" <> responseStatusCode res <> " (" <> endpoint <> ")"++-- * InitRequest++-- | wraps an http-client 'Request' with request/response type parameters+newtype InitRequest req contentType res accept = InitRequest+ { unInitRequest :: NH.Request+ } deriving (Show)++-- | Build an http-client 'Request' record from the supplied config and request+_toInitRequest+ :: (MimeType accept, MimeType contentType)+ => GiteaConfig -- ^ config+ -> GiteaRequest req contentType res accept -- ^ request+ -> IO (InitRequest req contentType res accept) -- ^ initialized request+_toInitRequest config req0 =+ runConfigLogWithExceptions "Client" config $ do+ parsedReq <- P.liftIO $ NH.parseRequest $ BCL.unpack $ BCL.append (configHost config) (BCL.concat (rUrlPath req0))+ req1 <- P.liftIO $ _applyAuthMethods req0 config+ P.when+ (configValidateAuthMethods config && (not . null . rAuthTypes) req1)+ (E.throw $ AuthMethodException $ "AuthMethod not configured: " <> (show . head . rAuthTypes) req1)+ let req2 = req1 & _setContentTypeHeader & _setAcceptHeader+ params = rParams req2+ reqHeaders = ("User-Agent", WH.toHeader (configUserAgent config)) : paramsHeaders params+ reqQuery = let query = paramsQuery params+ queryExtraUnreserved = configQueryExtraUnreserved config+ in if B.null queryExtraUnreserved+ then NH.renderQuery True query+ else NH.renderQueryPartialEscape True (toPartialEscapeQuery queryExtraUnreserved query)+ pReq = parsedReq { NH.method = rMethod req2+ , NH.requestHeaders = reqHeaders+ , NH.queryString = reqQuery+ }+ outReq <- case paramsBody params of+ ParamBodyNone -> pure (pReq { NH.requestBody = mempty })+ ParamBodyB bs -> pure (pReq { NH.requestBody = NH.RequestBodyBS bs })+ ParamBodyBL bl -> pure (pReq { NH.requestBody = NH.RequestBodyLBS bl })+ ParamBodyFormUrlEncoded form -> pure (pReq { NH.requestBody = NH.RequestBodyLBS (WH.urlEncodeForm form) })+ ParamBodyMultipartFormData parts -> NH.formDataBody parts pReq++ pure (InitRequest outReq)++-- | modify the underlying Request+modifyInitRequest :: InitRequest req contentType res accept -> (NH.Request -> NH.Request) -> InitRequest req contentType res accept+modifyInitRequest (InitRequest req) f = InitRequest (f req)++-- | modify the underlying Request (monadic)+modifyInitRequestM :: Monad m => InitRequest req contentType res accept -> (NH.Request -> m NH.Request) -> m (InitRequest req contentType res accept)+modifyInitRequestM (InitRequest req) f = fmap InitRequest (f req)++-- ** Logging++-- | Run a block using the configured logger instance+runConfigLog+ :: P.MonadIO m+ => GiteaConfig -> LogExec m a+runConfigLog config = configLogExecWithContext config (configLogContext config)++-- | Run a block using the configured logger instance (logs exceptions)+runConfigLogWithExceptions+ :: (E.MonadCatch m, P.MonadIO m)+ => T.Text -> GiteaConfig -> LogExec m a+runConfigLogWithExceptions src config = runConfigLog config . logExceptions src
+ lib/Gitea/Core.hs view
@@ -0,0 +1,588 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.Core+-}++{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}++module Gitea.Core where++import Gitea.MimeTypes+import Gitea.Logging++import qualified Control.Arrow as P (left)+import qualified Control.DeepSeq as NF+import qualified Control.Exception.Safe as E+import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Base64.Lazy as BL64+import qualified Data.ByteString.Builder as BB+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy.Char8 as BCL+import qualified Data.CaseInsensitive as CI+import qualified Data.Data as P (Data, Typeable, TypeRep, typeRep)+import qualified Data.Foldable as P+import qualified Data.Ix as P+import qualified Data.Kind as K (Type)+import qualified Data.Maybe as P+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Text.Lazy.Encoding as TL+import qualified Data.Time as TI+import qualified Data.Time.ISO8601 as TI+import qualified GHC.Base as P (Alternative)+import qualified Lens.Micro as L+import qualified Network.HTTP.Client.MultipartFormData as NH+import qualified Network.HTTP.Types as NH+import qualified Prelude as P+import qualified Text.Printf as T+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Control.Applicative ((<|>))+import Control.Applicative (Alternative)+import Control.Monad.Fail (MonadFail)+import Data.Function ((&))+import Data.Foldable(foldlM)+import Data.Monoid ((<>))+import Data.Text (Text)+import Prelude (($), (.), (&&), (<$>), (<*>), Maybe(..), Bool(..), Char, String, fmap, mempty, pure, return, show, IO, Monad, Functor, maybe)++-- * GiteaConfig++-- |+data GiteaConfig = GiteaConfig+ { configHost :: BCL.ByteString -- ^ host supplied in the Request+ , configUserAgent :: Text -- ^ user-agent supplied in the Request+ , configLogExecWithContext :: LogExecWithContext -- ^ Run a block using a Logger instance+ , configLogContext :: LogContext -- ^ Configures the logger+ , configAuthMethods :: [AnyAuthMethod] -- ^ List of configured auth methods+ , configValidateAuthMethods :: Bool -- ^ throw exceptions if auth methods are not configured+ , configQueryExtraUnreserved :: B.ByteString -- ^ Configures additional querystring characters which must not be URI encoded, e.g. '+' or ':'+ }++-- | display the config+instance P.Show GiteaConfig where+ show c =+ T.printf+ "{ configHost = %v, configUserAgent = %v, ..}"+ (show (configHost c))+ (show (configUserAgent c))++-- | constructs a default GiteaConfig+--+-- configHost:+--+-- @http://https://gitea.com/api/v1@+--+-- configUserAgent:+--+-- @"gitea-api/1.19.4.0"@+--+newConfig :: IO GiteaConfig+newConfig = do+ logCxt <- initLogContext+ return $ GiteaConfig+ { configHost = "http://https://gitea.com/api/v1"+ , configUserAgent = "gitea-api/1.19.4.0"+ , configLogExecWithContext = runDefaultLogExecWithContext+ , configLogContext = logCxt+ , configAuthMethods = []+ , configValidateAuthMethods = True+ , configQueryExtraUnreserved = ""+ }++-- | updates config use AuthMethod on matching requests+addAuthMethod :: AuthMethod auth => GiteaConfig -> auth -> GiteaConfig+addAuthMethod config@GiteaConfig {configAuthMethods = as} a =+ config { configAuthMethods = AnyAuthMethod a : as}++-- | updates the config to use stdout logging+withStdoutLogging :: GiteaConfig -> IO GiteaConfig+withStdoutLogging p = do+ logCxt <- stdoutLoggingContext (configLogContext p)+ return $ p { configLogExecWithContext = stdoutLoggingExec, configLogContext = logCxt }++-- | updates the config to use stderr logging+withStderrLogging :: GiteaConfig -> IO GiteaConfig+withStderrLogging p = do+ logCxt <- stderrLoggingContext (configLogContext p)+ return $ p { configLogExecWithContext = stderrLoggingExec, configLogContext = logCxt }++-- | updates the config to disable logging+withNoLogging :: GiteaConfig -> GiteaConfig+withNoLogging p = p { configLogExecWithContext = runNullLogExec}++-- * GiteaRequest++-- | Represents a request.+--+-- Type Variables:+--+-- * req - request operation+-- * contentType - 'MimeType' associated with request body+-- * res - response model+-- * accept - 'MimeType' associated with response body+data GiteaRequest req contentType res accept = GiteaRequest+ { rMethod :: NH.Method -- ^ Method of GiteaRequest+ , rUrlPath :: [BCL.ByteString] -- ^ Endpoint of GiteaRequest+ , rParams :: Params -- ^ params of GiteaRequest+ , rAuthTypes :: [P.TypeRep] -- ^ types of auth methods+ }+ deriving (P.Show)++-- | 'rMethod' Lens+rMethodL :: Lens_' (GiteaRequest req contentType res accept) NH.Method+rMethodL f GiteaRequest{..} = (\rMethod -> GiteaRequest { rMethod, ..} ) <$> f rMethod+{-# INLINE rMethodL #-}++-- | 'rUrlPath' Lens+rUrlPathL :: Lens_' (GiteaRequest req contentType res accept) [BCL.ByteString]+rUrlPathL f GiteaRequest{..} = (\rUrlPath -> GiteaRequest { rUrlPath, ..} ) <$> f rUrlPath+{-# INLINE rUrlPathL #-}++-- | 'rParams' Lens+rParamsL :: Lens_' (GiteaRequest req contentType res accept) Params+rParamsL f GiteaRequest{..} = (\rParams -> GiteaRequest { rParams, ..} ) <$> f rParams+{-# INLINE rParamsL #-}++-- | 'rParams' Lens+rAuthTypesL :: Lens_' (GiteaRequest req contentType res accept) [P.TypeRep]+rAuthTypesL f GiteaRequest{..} = (\rAuthTypes -> GiteaRequest { rAuthTypes, ..} ) <$> f rAuthTypes+{-# INLINE rAuthTypesL #-}++-- * HasBodyParam++-- | Designates the body parameter of a request+class HasBodyParam req param where+ setBodyParam :: forall contentType res accept. (Consumes req contentType, MimeRender contentType param) => GiteaRequest req contentType res accept -> param -> GiteaRequest req contentType res accept+ setBodyParam req xs =+ req `_setBodyLBS` mimeRender (P.Proxy :: P.Proxy contentType) xs & _setContentTypeHeader++-- * HasOptionalParam++-- | Designates the optional parameters of a request+class HasOptionalParam req param where+ {-# MINIMAL applyOptionalParam | (-&-) #-}++ -- | Apply an optional parameter to a request+ applyOptionalParam :: GiteaRequest req contentType res accept -> param -> GiteaRequest req contentType res accept+ applyOptionalParam = (-&-)+ {-# INLINE applyOptionalParam #-}++ -- | infix operator \/ alias for 'addOptionalParam'+ (-&-) :: GiteaRequest req contentType res accept -> param -> GiteaRequest req contentType res accept+ (-&-) = applyOptionalParam+ {-# INLINE (-&-) #-}++infixl 2 -&-++-- | Request Params+data Params = Params+ { paramsQuery :: NH.Query+ , paramsHeaders :: NH.RequestHeaders+ , paramsBody :: ParamBody+ }+ deriving (P.Show)++-- | 'paramsQuery' Lens+paramsQueryL :: Lens_' Params NH.Query+paramsQueryL f Params{..} = (\paramsQuery -> Params { paramsQuery, ..} ) <$> f paramsQuery+{-# INLINE paramsQueryL #-}++-- | 'paramsHeaders' Lens+paramsHeadersL :: Lens_' Params NH.RequestHeaders+paramsHeadersL f Params{..} = (\paramsHeaders -> Params { paramsHeaders, ..} ) <$> f paramsHeaders+{-# INLINE paramsHeadersL #-}++-- | 'paramsBody' Lens+paramsBodyL :: Lens_' Params ParamBody+paramsBodyL f Params{..} = (\paramsBody -> Params { paramsBody, ..} ) <$> f paramsBody+{-# INLINE paramsBodyL #-}++-- | Request Body+data ParamBody+ = ParamBodyNone+ | ParamBodyB B.ByteString+ | ParamBodyBL BL.ByteString+ | ParamBodyFormUrlEncoded WH.Form+ | ParamBodyMultipartFormData [NH.Part]+ deriving (P.Show)++-- ** GiteaRequest Utils++_mkRequest :: NH.Method -- ^ Method+ -> [BCL.ByteString] -- ^ Endpoint+ -> GiteaRequest req contentType res accept -- ^ req: Request Type, res: Response Type+_mkRequest m u = GiteaRequest m u _mkParams []++_mkParams :: Params+_mkParams = Params [] [] ParamBodyNone++setHeader ::+ GiteaRequest req contentType res accept+ -> [NH.Header]+ -> GiteaRequest req contentType res accept+setHeader req header =+ req `removeHeader` P.fmap P.fst header+ & (`addHeader` header)++addHeader ::+ GiteaRequest req contentType res accept+ -> [NH.Header]+ -> GiteaRequest req contentType res accept+addHeader req header = L.over (rParamsL . paramsHeadersL) (header P.++) req++removeHeader :: GiteaRequest req contentType res accept -> [NH.HeaderName] -> GiteaRequest req contentType res accept+removeHeader req header =+ req &+ L.over+ (rParamsL . paramsHeadersL)+ (P.filter (\h -> cifst h `P.notElem` P.fmap CI.mk header))+ where+ cifst = CI.mk . P.fst+++_setContentTypeHeader :: forall req contentType res accept. MimeType contentType => GiteaRequest req contentType res accept -> GiteaRequest req contentType res accept+_setContentTypeHeader req =+ case mimeType (P.Proxy :: P.Proxy contentType) of+ Just m -> req `setHeader` [("content-type", BC.pack $ P.show m)]+ Nothing -> req `removeHeader` ["content-type"]++_setAcceptHeader :: forall req contentType res accept. MimeType accept => GiteaRequest req contentType res accept -> GiteaRequest req contentType res accept+_setAcceptHeader req =+ case mimeType (P.Proxy :: P.Proxy accept) of+ Just m -> req `setHeader` [("accept", BC.pack $ P.show m)]+ Nothing -> req `removeHeader` ["accept"]++setQuery ::+ GiteaRequest req contentType res accept+ -> [NH.QueryItem]+ -> GiteaRequest req contentType res accept+setQuery req query =+ req &+ L.over+ (rParamsL . paramsQueryL)+ (P.filter (\q -> cifst q `P.notElem` P.fmap cifst query)) &+ (`addQuery` query)+ where+ cifst = CI.mk . P.fst++addQuery ::+ GiteaRequest req contentType res accept+ -> [NH.QueryItem]+ -> GiteaRequest req contentType res accept+addQuery req query = req & L.over (rParamsL . paramsQueryL) (query P.++)++addForm :: GiteaRequest req contentType res accept -> WH.Form -> GiteaRequest req contentType res accept+addForm req newform =+ let form = case paramsBody (rParams req) of+ ParamBodyFormUrlEncoded _form -> _form+ _ -> mempty+ in req & L.set (rParamsL . paramsBodyL) (ParamBodyFormUrlEncoded (newform <> form))++_addMultiFormPart :: GiteaRequest req contentType res accept -> NH.Part -> GiteaRequest req contentType res accept+_addMultiFormPart req newpart =+ let parts = case paramsBody (rParams req) of+ ParamBodyMultipartFormData _parts -> _parts+ _ -> []+ in req & L.set (rParamsL . paramsBodyL) (ParamBodyMultipartFormData (newpart : parts))++_setBodyBS :: GiteaRequest req contentType res accept -> B.ByteString -> GiteaRequest req contentType res accept+_setBodyBS req body =+ req & L.set (rParamsL . paramsBodyL) (ParamBodyB body)++_setBodyLBS :: GiteaRequest req contentType res accept -> BL.ByteString -> GiteaRequest req contentType res accept+_setBodyLBS req body =+ req & L.set (rParamsL . paramsBodyL) (ParamBodyBL body)++_hasAuthType :: AuthMethod authMethod => GiteaRequest req contentType res accept -> P.Proxy authMethod -> GiteaRequest req contentType res accept+_hasAuthType req proxy =+ req & L.over rAuthTypesL (P.typeRep proxy :)++-- ** Params Utils++toPath+ :: WH.ToHttpApiData a+ => a -> BCL.ByteString+toPath = BB.toLazyByteString . WH.toEncodedUrlPiece++toHeader :: WH.ToHttpApiData a => (NH.HeaderName, a) -> [NH.Header]+toHeader x = [fmap WH.toHeader x]++toForm :: WH.ToHttpApiData v => (BC.ByteString, v) -> WH.Form+toForm (k,v) = WH.toForm [(BC.unpack k,v)]++toQuery :: WH.ToHttpApiData a => (BC.ByteString, Maybe a) -> [NH.QueryItem]+toQuery x = [(fmap . fmap) toQueryParam x]+ where toQueryParam = T.encodeUtf8 . WH.toQueryParam++toJsonQuery :: A.ToJSON a => (BC.ByteString, Maybe a) -> [NH.QueryItem]+toJsonQuery = toQuery . (fmap . fmap) (TL.decodeUtf8 . A.encode)++toPartialEscapeQuery :: B.ByteString -> NH.Query -> NH.PartialEscapeQuery+toPartialEscapeQuery extraUnreserved query = fmap (\(k, v) -> (k, maybe [] go v)) query+ where go :: B.ByteString -> [NH.EscapeItem]+ go v = v & B.groupBy (\a b -> a `B.notElem` extraUnreserved && b `B.notElem` extraUnreserved)+ & fmap (\xs -> if B.null xs then NH.QN xs+ else if B.head xs `B.elem` extraUnreserved+ then NH.QN xs -- Not Encoded+ else NH.QE xs -- Encoded+ )++-- *** OpenAPI `CollectionFormat` Utils++-- | Determines the format of the array if type array is used.+data CollectionFormat+ = CommaSeparated -- ^ CSV format for multiple parameters.+ | SpaceSeparated -- ^ Also called "SSV"+ | TabSeparated -- ^ Also called "TSV"+ | PipeSeparated -- ^ `value1|value2|value2`+ | MultiParamArray -- ^ Using multiple GET parameters, e.g. `foo=bar&foo=baz`. This is valid only for parameters in "query" ('NH.Query') or "formData" ('WH.Form')++toHeaderColl :: WH.ToHttpApiData a => CollectionFormat -> (NH.HeaderName, [a]) -> [NH.Header]+toHeaderColl c xs = _toColl c toHeader xs++toFormColl :: WH.ToHttpApiData v => CollectionFormat -> (BC.ByteString, [v]) -> WH.Form+toFormColl c xs = WH.toForm $ fmap unpack $ _toColl c toHeader $ pack xs+ where+ pack (k,v) = (CI.mk k, v)+ unpack (k,v) = (BC.unpack (CI.original k), BC.unpack v)++toQueryColl :: WH.ToHttpApiData a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query+toQueryColl c xs = _toCollA c toQuery xs++toJsonQueryColl :: A.ToJSON a => CollectionFormat -> (BC.ByteString, Maybe [a]) -> NH.Query+toJsonQueryColl c xs = _toCollA c toJsonQuery xs++_toColl :: P.Traversable f => CollectionFormat -> (f a -> [(b, BC.ByteString)]) -> f [a] -> [(b, BC.ByteString)]+_toColl c encode xs = fmap (fmap P.fromJust) (_toCollA' c fencode BC.singleton (fmap Just xs))+ where fencode = fmap (fmap Just) . encode . fmap P.fromJust+ {-# INLINE fencode #-}++_toCollA :: (P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t BC.ByteString)]) -> f (t [a]) -> [(b, t BC.ByteString)]+_toCollA c encode xs = _toCollA' c encode BC.singleton xs++_toCollA' :: (P.Monoid c, P.Traversable f, P.Traversable t, P.Alternative t) => CollectionFormat -> (f (t a) -> [(b, t c)]) -> (Char -> c) -> f (t [a]) -> [(b, t c)]+_toCollA' c encode one xs = case c of+ CommaSeparated -> go (one ',')+ SpaceSeparated -> go (one ' ')+ TabSeparated -> go (one '\t')+ PipeSeparated -> go (one '|')+ MultiParamArray -> expandList+ where+ go sep =+ [P.foldl1 (\(sk, sv) (_, v) -> (sk, (combine sep <$> sv <*> v) <|> sv <|> v)) expandList]+ combine sep x y = x <> sep <> y+ expandList = (P.concatMap encode . (P.traverse . P.traverse) P.toList) xs+ {-# INLINE go #-}+ {-# INLINE expandList #-}+ {-# INLINE combine #-}++-- * AuthMethods++-- | Provides a method to apply auth methods to requests+class P.Typeable a =>+ AuthMethod a where+ applyAuthMethod+ :: GiteaConfig+ -> a+ -> GiteaRequest req contentType res accept+ -> IO (GiteaRequest req contentType res accept)++-- | An existential wrapper for any AuthMethod+data AnyAuthMethod = forall a. AuthMethod a => AnyAuthMethod a deriving (P.Typeable)++instance AuthMethod AnyAuthMethod where applyAuthMethod config (AnyAuthMethod a) req = applyAuthMethod config a req++-- | indicates exceptions related to AuthMethods+data AuthMethodException = AuthMethodException String deriving (P.Show, P.Typeable)++instance E.Exception AuthMethodException++-- | apply all matching AuthMethods in config to request+_applyAuthMethods+ :: GiteaRequest req contentType res accept+ -> GiteaConfig+ -> IO (GiteaRequest req contentType res accept)+_applyAuthMethods req config@(GiteaConfig {configAuthMethods = as}) =+ foldlM go req as+ where+ go r (AnyAuthMethod a) = applyAuthMethod config a r++-- * Utils++-- | Removes Null fields. (OpenAPI-Specification 2.0 does not allow Null in JSON)+#if MIN_VERSION_aeson(2,0,0)+_omitNulls :: [(A.Key, A.Value)] -> A.Value+#else+_omitNulls :: [(Text, A.Value)] -> A.Value+#endif+_omitNulls = A.object . P.filter notNull+ where+ notNull (_, A.Null) = False+ notNull _ = True++-- | Encodes fields using WH.toQueryParam+_toFormItem :: (WH.ToHttpApiData a, Functor f) => t -> f a -> f (t, [Text])+_toFormItem name x = (name,) . (:[]) . WH.toQueryParam <$> x++-- | Collapse (Just "") to Nothing+_emptyToNothing :: Maybe String -> Maybe String+_emptyToNothing (Just "") = Nothing+_emptyToNothing x = x+{-# INLINE _emptyToNothing #-}++-- | Collapse (Just mempty) to Nothing+_memptyToNothing :: (P.Monoid a, P.Eq a) => Maybe a -> Maybe a+_memptyToNothing (Just x) | x P.== P.mempty = Nothing+_memptyToNothing x = x+{-# INLINE _memptyToNothing #-}++-- * DateTime Formatting++newtype DateTime = DateTime { unDateTime :: TI.UTCTime }+ deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)+instance A.FromJSON DateTime where+ parseJSON = A.withText "DateTime" (_readDateTime . T.unpack)+instance A.ToJSON DateTime where+ toJSON (DateTime t) = A.toJSON (_showDateTime t)+instance WH.FromHttpApiData DateTime where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @DateTime") P.Right . _readDateTime . T.unpack+instance WH.ToHttpApiData DateTime where+ toUrlPiece (DateTime t) = T.pack (_showDateTime t)+instance P.Show DateTime where+ show (DateTime t) = _showDateTime t+instance MimeRender MimeMultipartFormData DateTime where+ mimeRender _ = mimeRenderDefaultMultipartFormData++-- | @_parseISO8601@+_readDateTime :: (MonadFail m, Alternative m) => String -> m DateTime+_readDateTime s =+ DateTime <$> _parseISO8601 s+{-# INLINE _readDateTime #-}++-- | @TI.formatISO8601Millis@+_showDateTime :: (t ~ TI.UTCTime, TI.FormatTime t) => t -> String+_showDateTime =+ TI.formatISO8601Millis+{-# INLINE _showDateTime #-}++-- | parse an ISO8601 date-time string+_parseISO8601 :: (TI.ParseTime t, MonadFail m, Alternative m) => String -> m t+_parseISO8601 t =+ P.asum $+ P.flip (TI.parseTimeM True TI.defaultTimeLocale) t <$>+ ["%FT%T%QZ", "%FT%T%Q%z", "%FT%T%Q%Z"]+{-# INLINE _parseISO8601 #-}++-- * Date Formatting++newtype Date = Date { unDate :: TI.Day }+ deriving (P.Enum,P.Eq,P.Data,P.Ord,P.Ix,NF.NFData)+instance A.FromJSON Date where+ parseJSON = A.withText "Date" (_readDate . T.unpack)+instance A.ToJSON Date where+ toJSON (Date t) = A.toJSON (_showDate t)+instance WH.FromHttpApiData Date where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @Date") P.Right . _readDate . T.unpack+instance WH.ToHttpApiData Date where+ toUrlPiece (Date t) = T.pack (_showDate t)+instance P.Show Date where+ show (Date t) = _showDate t+instance MimeRender MimeMultipartFormData Date where+ mimeRender _ = mimeRenderDefaultMultipartFormData++-- | @TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d"@+_readDate :: MonadFail m => String -> m Date+_readDate s = Date <$> TI.parseTimeM True TI.defaultTimeLocale "%Y-%m-%d" s+{-# INLINE _readDate #-}++-- | @TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"@+_showDate :: TI.FormatTime t => t -> String+_showDate =+ TI.formatTime TI.defaultTimeLocale "%Y-%m-%d"+{-# INLINE _showDate #-}++-- * Byte/Binary Formatting+++-- | base64 encoded characters+newtype ByteArray = ByteArray { unByteArray :: BL.ByteString }+ deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)++instance A.FromJSON ByteArray where+ parseJSON = A.withText "ByteArray" _readByteArray+instance A.ToJSON ByteArray where+ toJSON = A.toJSON . _showByteArray+instance WH.FromHttpApiData ByteArray where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @ByteArray") P.Right . _readByteArray+instance WH.ToHttpApiData ByteArray where+ toUrlPiece = _showByteArray+instance P.Show ByteArray where+ show = T.unpack . _showByteArray+instance MimeRender MimeMultipartFormData ByteArray where+ mimeRender _ = mimeRenderDefaultMultipartFormData++-- | read base64 encoded characters+_readByteArray :: MonadFail m => Text -> m ByteArray+_readByteArray = P.either P.fail (pure . ByteArray) . BL64.decode . BL.fromStrict . T.encodeUtf8+{-# INLINE _readByteArray #-}++-- | show base64 encoded characters+_showByteArray :: ByteArray -> Text+_showByteArray = T.decodeUtf8 . BL.toStrict . BL64.encode . unByteArray+{-# INLINE _showByteArray #-}++-- | any sequence of octets+newtype Binary = Binary { unBinary :: BL.ByteString }+ deriving (P.Eq,P.Data,P.Ord,P.Typeable,NF.NFData)++instance A.FromJSON Binary where+ parseJSON = A.withText "Binary" _readBinaryBase64+instance A.ToJSON Binary where+ toJSON = A.toJSON . _showBinaryBase64+instance WH.FromHttpApiData Binary where+ parseUrlPiece = P.maybe (P.Left "parseUrlPiece @Binary") P.Right . _readBinaryBase64+instance WH.ToHttpApiData Binary where+ toUrlPiece = _showBinaryBase64+instance P.Show Binary where+ show = T.unpack . _showBinaryBase64+instance MimeRender MimeMultipartFormData Binary where+ mimeRender _ = unBinary++_readBinaryBase64 :: MonadFail m => Text -> m Binary+_readBinaryBase64 = P.either P.fail (pure . Binary) . BL64.decode . BL.fromStrict . T.encodeUtf8+{-# INLINE _readBinaryBase64 #-}++_showBinaryBase64 :: Binary -> Text+_showBinaryBase64 = T.decodeUtf8 . BL.toStrict . BL64.encode . unBinary+{-# INLINE _showBinaryBase64 #-}++-- * Lens Type Aliases++type Lens_' s a = Lens_ s s a a+type Lens_ s t a b = forall (f :: K.Type -> K.Type). Functor f => (a -> f b) -> s -> f t
+ lib/Gitea/Logging.hs view
@@ -0,0 +1,33 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.Logging+Logging functions+-}+{-# LANGUAGE CPP #-}++#ifdef USE_KATIP++module Gitea.Logging+ ( module Gitea.LoggingKatip+ ) where++import Gitea.LoggingKatip++#else++module Gitea.Logging+ ( module Gitea.LoggingMonadLogger+ ) where++import Gitea.LoggingMonadLogger++#endif
+ lib/Gitea/LoggingKatip.hs view
@@ -0,0 +1,117 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.LoggingKatip+Katip Logging functions+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}++module Gitea.LoggingKatip where++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Control.Monad.Trans.Reader as P+import qualified Data.Text as T+import qualified Lens.Micro as L+import qualified System.IO as IO++import Data.Text (Text)+import GHC.Exts (IsString(..))++import qualified Katip as LG++-- * Type Aliases (for compatibility)++-- | Runs a Katip logging block with the Log environment+type LogExecWithContext = forall m a. P.MonadIO m =>+ LogContext -> LogExec m a++-- | A Katip logging block+type LogExec m a = LG.KatipT m a -> m a++-- | A Katip Log environment+type LogContext = LG.LogEnv++-- | A Katip Log severity+type LogLevel = LG.Severity++-- * default logger++-- | the default log environment+initLogContext :: IO LogContext+initLogContext = LG.initLogEnv "Gitea" "dev"++-- | Runs a Katip logging block with the Log environment+runDefaultLogExecWithContext :: LogExecWithContext+runDefaultLogExecWithContext = LG.runKatipT++-- * stdout logger++-- | Runs a Katip logging block with the Log environment+stdoutLoggingExec :: LogExecWithContext+stdoutLoggingExec = runDefaultLogExecWithContext++-- | A Katip Log environment which targets stdout+stdoutLoggingContext :: LogContext -> IO LogContext+stdoutLoggingContext cxt = do+ handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stdout (LG.permitItem LG.InfoS) LG.V2+ LG.registerScribe "stdout" handleScribe LG.defaultScribeSettings cxt++-- * stderr logger++-- | Runs a Katip logging block with the Log environment+stderrLoggingExec :: LogExecWithContext+stderrLoggingExec = runDefaultLogExecWithContext++-- | A Katip Log environment which targets stderr+stderrLoggingContext :: LogContext -> IO LogContext+stderrLoggingContext cxt = do+ handleScribe <- LG.mkHandleScribe LG.ColorIfTerminal IO.stderr (LG.permitItem LG.InfoS) LG.V2+ LG.registerScribe "stderr" handleScribe LG.defaultScribeSettings cxt++-- * Null logger++-- | Disables Katip logging+runNullLogExec :: LogExecWithContext+runNullLogExec le (LG.KatipT f) = P.runReaderT f (L.set LG.logEnvScribes mempty le)++-- * Log Msg++-- | Log a katip message+_log :: (Applicative m, LG.Katip m) => Text -> LogLevel -> Text -> m ()+_log src level msg = do+ LG.logMsg (fromString $ T.unpack src) level (LG.logStr msg)++-- * Log Exceptions++-- | re-throws exceptions after logging them+logExceptions+ :: (LG.Katip m, E.MonadCatch m, Applicative m)+ => Text -> m a -> m a+logExceptions src =+ E.handle+ (\(e :: E.SomeException) -> do+ _log src LG.ErrorS ((T.pack . show) e)+ E.throw e)++-- * Log Level++levelInfo :: LogLevel+levelInfo = LG.InfoS++levelError :: LogLevel+levelError = LG.ErrorS++levelDebug :: LogLevel+levelDebug = LG.DebugS
+ lib/Gitea/LoggingMonadLogger.hs view
@@ -0,0 +1,126 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.LoggingMonadLogger+monad-logger Logging functions+-}++{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ScopedTypeVariables #-}++module Gitea.LoggingMonadLogger where++import qualified Control.Exception.Safe as E+import qualified Control.Monad.IO.Class as P+import qualified Data.Text as T+import qualified Data.Time as TI++import Data.Text (Text)++import qualified Control.Monad.Logger as LG++-- * Type Aliases (for compatibility)++-- | Runs a monad-logger block with the filter predicate+type LogExecWithContext = forall m a. P.MonadIO m =>+ LogContext -> LogExec m a++-- | A monad-logger block+type LogExec m a = LG.LoggingT m a -> m a++-- | A monad-logger filter predicate+type LogContext = LG.LogSource -> LG.LogLevel -> Bool++-- | A monad-logger log level+type LogLevel = LG.LogLevel++-- * default logger++-- | the default log environment+initLogContext :: IO LogContext+initLogContext = pure infoLevelFilter++-- | Runs a monad-logger block with the filter predicate+runDefaultLogExecWithContext :: LogExecWithContext+runDefaultLogExecWithContext = runNullLogExec++-- * stdout logger++-- | Runs a monad-logger block targeting stdout, with the filter predicate+stdoutLoggingExec :: LogExecWithContext+stdoutLoggingExec cxt = LG.runStdoutLoggingT . LG.filterLogger cxt++-- | @pure@+stdoutLoggingContext :: LogContext -> IO LogContext+stdoutLoggingContext = pure++-- * stderr logger++-- | Runs a monad-logger block targeting stderr, with the filter predicate+stderrLoggingExec :: LogExecWithContext+stderrLoggingExec cxt = LG.runStderrLoggingT . LG.filterLogger cxt++-- | @pure@+stderrLoggingContext :: LogContext -> IO LogContext+stderrLoggingContext = pure++-- * Null logger++-- | Disables monad-logger logging+runNullLogExec :: LogExecWithContext+runNullLogExec = const (`LG.runLoggingT` nullLogger)++-- | monad-logger which does nothing+nullLogger :: LG.Loc -> LG.LogSource -> LG.LogLevel -> LG.LogStr -> IO ()+nullLogger _ _ _ _ = return ()++-- * Log Msg++-- | Log a message using the current time+_log :: (P.MonadIO m, LG.MonadLogger m) => Text -> LG.LogLevel -> Text -> m ()+_log src level msg = do+ now <- P.liftIO (formatTimeLog <$> TI.getCurrentTime)+ LG.logOtherNS ("Gitea." <> src) level ("[" <> now <> "] " <> msg)+ where+ formatTimeLog =+ T.pack . TI.formatTime TI.defaultTimeLocale "%Y-%m-%dT%H:%M:%S%Z"++-- * Log Exceptions++-- | re-throws exceptions after logging them+logExceptions+ :: (LG.MonadLogger m, E.MonadCatch m, P.MonadIO m)+ => Text -> m a -> m a+logExceptions src =+ E.handle+ (\(e :: E.SomeException) -> do+ _log src LG.LevelError ((T.pack . show) e)+ E.throw e)++-- * Log Level++levelInfo :: LogLevel+levelInfo = LG.LevelInfo++levelError :: LogLevel+levelError = LG.LevelError++levelDebug :: LogLevel+levelDebug = LG.LevelDebug++-- * Level Filter++minLevelFilter :: LG.LogLevel -> LG.LogSource -> LG.LogLevel -> Bool+minLevelFilter l _ l' = l' >= l++infoLevelFilter :: LG.LogSource -> LG.LogLevel -> Bool+infoLevelFilter = minLevelFilter LG.LevelInfo
+ lib/Gitea/MimeTypes.hs view
@@ -0,0 +1,215 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.MimeTypes+-}++{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE ExistentialQuantification #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-unused-imports #-}++module Gitea.MimeTypes where++import qualified Control.Arrow as P (left)+import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Builder as BB+import qualified Data.ByteString.Char8 as BC+import qualified Data.ByteString.Lazy as BL+import qualified Data.ByteString.Lazy.Char8 as BCL+import qualified Data.Data as P (Typeable)+import qualified Data.Proxy as P (Proxy(..))+import qualified Data.String as P+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Network.HTTP.Media as ME+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Prelude (($), (.),(<$>),(<*>),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty)+import qualified Prelude as P++-- * ContentType MimeType++data ContentType a = MimeType a => ContentType { unContentType :: a }++-- * Accept MimeType++data Accept a = MimeType a => Accept { unAccept :: a }++-- * Consumes Class++class MimeType mtype => Consumes req mtype where++-- * Produces Class++class MimeType mtype => Produces req mtype where++-- * Default Mime Types++data MimeJSON = MimeJSON deriving (P.Typeable)+data MimeXML = MimeXML deriving (P.Typeable)+data MimePlainText = MimePlainText deriving (P.Typeable)+data MimeFormUrlEncoded = MimeFormUrlEncoded deriving (P.Typeable)+data MimeMultipartFormData = MimeMultipartFormData deriving (P.Typeable)+data MimeOctetStream = MimeOctetStream deriving (P.Typeable)+data MimeNoContent = MimeNoContent deriving (P.Typeable)+data MimeAny = MimeAny deriving (P.Typeable)++-- | A type for responses without content-body.+data NoContent = NoContent+ deriving (P.Show, P.Eq, P.Typeable)+++-- * MimeType Class++class P.Typeable mtype => MimeType mtype where+ {-# MINIMAL mimeType | mimeTypes #-}++ mimeTypes :: P.Proxy mtype -> [ME.MediaType]+ mimeTypes p =+ case mimeType p of+ Just x -> [x]+ Nothing -> []++ mimeType :: P.Proxy mtype -> Maybe ME.MediaType+ mimeType p =+ case mimeTypes p of+ [] -> Nothing+ (x:_) -> Just x++ mimeType' :: mtype -> Maybe ME.MediaType+ mimeType' _ = mimeType (P.Proxy :: P.Proxy mtype)+ mimeTypes' :: mtype -> [ME.MediaType]+ mimeTypes' _ = mimeTypes (P.Proxy :: P.Proxy mtype)++-- Default MimeType Instances++-- | @application/json; charset=utf-8@+instance MimeType MimeJSON where+ mimeType _ = Just $ P.fromString "application/json"+-- | @application/xml; charset=utf-8@+instance MimeType MimeXML where+ mimeType _ = Just $ P.fromString "application/xml"+-- | @application/x-www-form-urlencoded@+instance MimeType MimeFormUrlEncoded where+ mimeType _ = Just $ P.fromString "application/x-www-form-urlencoded"+-- | @multipart/form-data@+instance MimeType MimeMultipartFormData where+ mimeType _ = Just $ P.fromString "multipart/form-data"+-- | @text/plain; charset=utf-8@+instance MimeType MimePlainText where+ mimeType _ = Just $ P.fromString "text/plain"+-- | @application/octet-stream@+instance MimeType MimeOctetStream where+ mimeType _ = Just $ P.fromString "application/octet-stream"+-- | @"*/*"@+instance MimeType MimeAny where+ mimeType _ = Just $ P.fromString "*/*"+instance MimeType MimeNoContent where+ mimeType _ = Nothing++-- * MimeRender Class++class MimeType mtype => MimeRender mtype x where+ mimeRender :: P.Proxy mtype -> x -> BL.ByteString+ mimeRender' :: mtype -> x -> BL.ByteString+ mimeRender' _ x = mimeRender (P.Proxy :: P.Proxy mtype) x+++mimeRenderDefaultMultipartFormData :: WH.ToHttpApiData a => a -> BL.ByteString+mimeRenderDefaultMultipartFormData = BL.fromStrict . T.encodeUtf8 . WH.toQueryParam++-- Default MimeRender Instances++-- | `A.encode`+instance A.ToJSON a => MimeRender MimeJSON a where mimeRender _ = A.encode+-- | @WH.urlEncodeAsForm@+instance WH.ToForm a => MimeRender MimeFormUrlEncoded a where mimeRender _ = WH.urlEncodeAsForm++-- | @P.id@+instance MimeRender MimePlainText BL.ByteString where mimeRender _ = P.id+-- | @BL.fromStrict . T.encodeUtf8@+instance MimeRender MimePlainText T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8+-- | @BCL.pack@+instance MimeRender MimePlainText String where mimeRender _ = BCL.pack++-- | @P.id@+instance MimeRender MimeOctetStream BL.ByteString where mimeRender _ = P.id+-- | @BL.fromStrict . T.encodeUtf8@+instance MimeRender MimeOctetStream T.Text where mimeRender _ = BL.fromStrict . T.encodeUtf8+-- | @BCL.pack@+instance MimeRender MimeOctetStream String where mimeRender _ = BCL.pack++instance MimeRender MimeMultipartFormData BL.ByteString where mimeRender _ = P.id++instance MimeRender MimeMultipartFormData Bool where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Char where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Double where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Float where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Int where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData Integer where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData String where mimeRender _ = mimeRenderDefaultMultipartFormData+instance MimeRender MimeMultipartFormData T.Text where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | @P.Right . P.const NoContent@+instance MimeRender MimeNoContent NoContent where mimeRender _ = P.const BCL.empty+++-- * MimeUnrender Class++class MimeType mtype => MimeUnrender mtype o where+ mimeUnrender :: P.Proxy mtype -> BL.ByteString -> P.Either String o+ mimeUnrender' :: mtype -> BL.ByteString -> P.Either String o+ mimeUnrender' _ x = mimeUnrender (P.Proxy :: P.Proxy mtype) x++-- Default MimeUnrender Instances++-- | @A.eitherDecode@+instance A.FromJSON a => MimeUnrender MimeJSON a where mimeUnrender _ = A.eitherDecode+-- | @P.left T.unpack . WH.urlDecodeAsForm@+instance WH.FromForm a => MimeUnrender MimeFormUrlEncoded a where mimeUnrender _ = P.left T.unpack . WH.urlDecodeAsForm+-- | @P.Right . P.id@++instance MimeUnrender MimePlainText BL.ByteString where mimeUnrender _ = P.Right . P.id+-- | @P.left P.show . TL.decodeUtf8'@+instance MimeUnrender MimePlainText T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict+-- | @P.Right . BCL.unpack@+instance MimeUnrender MimePlainText String where mimeUnrender _ = P.Right . BCL.unpack++-- | @P.Right . P.id@+instance MimeUnrender MimeOctetStream BL.ByteString where mimeUnrender _ = P.Right . P.id+-- | @P.left P.show . T.decodeUtf8' . BL.toStrict@+instance MimeUnrender MimeOctetStream T.Text where mimeUnrender _ = P.left P.show . T.decodeUtf8' . BL.toStrict+-- | @P.Right . BCL.unpack@+instance MimeUnrender MimeOctetStream String where mimeUnrender _ = P.Right . BCL.unpack++-- | @P.Right . P.const NoContent@+instance MimeUnrender MimeNoContent NoContent where mimeUnrender _ = P.Right . P.const NoContent+++-- * Custom Mime Types++-- ** MimeTextHtml++data MimeTextHtml = MimeTextHtml deriving (P.Typeable)++-- | @text/html@+instance MimeType MimeTextHtml where+ mimeType _ = Just $ P.fromString "text/html"+-- instance MimeRender MimeTextHtml T.Text where mimeRender _ = undefined+-- instance MimeUnrender MimeTextHtml T.Text where mimeUnrender _ = undefined+
+ lib/Gitea/Model.hs view
@@ -0,0 +1,9243 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.Model+-}++{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DeriveTraversable #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TupleSections #-}+{-# LANGUAGE TypeFamilies #-}+{-# OPTIONS_GHC -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}++module Gitea.Model where++import Gitea.Core+import Gitea.MimeTypes++import Data.Aeson ((.:),(.:!),(.:?),(.=))++import qualified Control.Arrow as P (left)+import qualified Data.Aeson as A+import qualified Data.ByteString as B+import qualified Data.ByteString.Base64 as B64+import qualified Data.ByteString.Char8 as BC+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.HashMap.Lazy as HM+import qualified Data.Map as Map+import qualified Data.Maybe as P+import qualified Data.Set as Set+import qualified Data.Text as T+import qualified Data.Text.Encoding as T+import qualified Data.Time as TI+import qualified Lens.Micro as L+import qualified Web.FormUrlEncoded as WH+import qualified Web.HttpApiData as WH++import Control.Applicative ((<|>))+import Control.Applicative (Alternative)+import Data.Function ((&))+import Data.Monoid ((<>))+import Data.Text (Text)+import Prelude (($),(/=),(.),(<$>),(<*>),(>>=),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)++import qualified Prelude as P++++-- * Parameter newtypes+++-- ** All+newtype All = All { unAll :: Bool } deriving (P.Eq, P.Show)++-- ** AllText+newtype AllText = AllText { unAllText :: Text } deriving (P.Eq, P.Show)++-- ** Archive+newtype Archive = Archive { unArchive :: Text } deriving (P.Eq, P.Show)++-- ** Archived+newtype Archived = Archived { unArchived :: Bool } deriving (P.Eq, P.Show)++-- ** Assigned+newtype Assigned = Assigned { unAssigned :: Bool } deriving (P.Eq, P.Show)++-- ** AssignedBy+newtype AssignedBy = AssignedBy { unAssignedBy :: Text } deriving (P.Eq, P.Show)++-- ** Attachment2+newtype Attachment2 = Attachment2 { unAttachment2 :: FilePath } deriving (P.Eq, P.Show)++-- ** AttachmentId+newtype AttachmentId = AttachmentId { unAttachmentId :: Integer } deriving (P.Eq, P.Show)++-- ** Before+newtype Before = Before { unBefore :: DateTime } deriving (P.Eq, P.Show)++-- ** Body+newtype Body = Body { unBody :: Text } deriving (P.Eq, P.Show, A.ToJSON)++-- ** Branch2+newtype Branch2 = Branch2 { unBranch2 :: Text } deriving (P.Eq, P.Show)++-- ** Collaborator+newtype Collaborator = Collaborator { unCollaborator :: Text } deriving (P.Eq, P.Show)++-- ** Created+newtype Created = Created { unCreated :: Bool } deriving (P.Eq, P.Show)++-- ** CreatedBy+newtype CreatedBy = CreatedBy { unCreatedBy :: Text } deriving (P.Eq, P.Show)++-- ** DiffType+newtype DiffType = DiffType { unDiffType :: E'DiffType } deriving (P.Eq, P.Show)++-- ** Draft+newtype Draft = Draft { unDraft :: Bool } deriving (P.Eq, P.Show)++-- ** Exclusive+newtype Exclusive = Exclusive { unExclusive :: Bool } deriving (P.Eq, P.Show)++-- ** Filepath+newtype Filepath = Filepath { unFilepath :: Text } deriving (P.Eq, P.Show)++-- ** Fingerprint+newtype Fingerprint = Fingerprint { unFingerprint :: Text } deriving (P.Eq, P.Show)++-- ** Id+newtype Id = Id { unId :: Integer } deriving (P.Eq, P.Show)++-- ** IdInt+newtype IdInt = IdInt { unIdInt :: Int } deriving (P.Eq, P.Show)++-- ** IdText+newtype IdText = IdText { unIdText :: Text } deriving (P.Eq, P.Show)++-- ** IncludeDesc+newtype IncludeDesc = IncludeDesc { unIncludeDesc :: Bool } deriving (P.Eq, P.Show)++-- ** Index+newtype Index = Index { unIndex :: Integer } deriving (P.Eq, P.Show)++-- ** IndexInt+newtype IndexInt = IndexInt { unIndexInt :: Int } deriving (P.Eq, P.Show)++-- ** IsPrivate+newtype IsPrivate = IsPrivate { unIsPrivate :: Bool } deriving (P.Eq, P.Show)++-- ** KeyId+newtype KeyId = KeyId { unKeyId :: Int } deriving (P.Eq, P.Show)++-- ** Labels+newtype Labels = Labels { unLabels :: Text } deriving (P.Eq, P.Show)++-- ** LabelsInteger+newtype LabelsInteger = LabelsInteger { unLabelsInteger :: [Integer] } deriving (P.Eq, P.Show)++-- ** LastReadAt+newtype LastReadAt = LastReadAt { unLastReadAt :: DateTime } deriving (P.Eq, P.Show)++-- ** Limit+newtype Limit = Limit { unLimit :: Int } deriving (P.Eq, P.Show)++-- ** Mentioned+newtype Mentioned = Mentioned { unMentioned :: Bool } deriving (P.Eq, P.Show)++-- ** MentionedBy+newtype MentionedBy = MentionedBy { unMentionedBy :: Text } deriving (P.Eq, P.Show)++-- ** Milestone2+newtype Milestone2 = Milestone2 { unMilestone2 :: Integer } deriving (P.Eq, P.Show)++-- ** Milestones+newtype Milestones = Milestones { unMilestones :: Text } deriving (P.Eq, P.Show)++-- ** Mode+newtype Mode = Mode { unMode :: Text } deriving (P.Eq, P.Show)++-- ** Name+newtype Name = Name { unName :: Text } deriving (P.Eq, P.Show)++-- ** Order+newtype Order = Order { unOrder :: Text } deriving (P.Eq, P.Show)++-- ** Org+newtype Org = Org { unOrg :: Text } deriving (P.Eq, P.Show)++-- ** Owner+newtype Owner = Owner { unOwner :: Text } deriving (P.Eq, P.Show)++-- ** Page+newtype Page = Page { unPage :: Int } deriving (P.Eq, P.Show)++-- ** PageName+newtype PageName = PageName { unPageName :: Text } deriving (P.Eq, P.Show)++-- ** ParamBinary+newtype ParamBinary = ParamBinary { unParamBinary :: Bool } deriving (P.Eq, P.Show)++-- ** ParamType+newtype ParamType = ParamType { unParamType :: E'Type2 } deriving (P.Eq, P.Show)++-- ** ParamType2+newtype ParamType2 = ParamType2 { unParamType2 :: E'Type3 } deriving (P.Eq, P.Show)++-- ** ParamTypeText+newtype ParamTypeText = ParamTypeText { unParamTypeText :: Text } deriving (P.Eq, P.Show)++-- ** Path+newtype Path = Path { unPath :: Text } deriving (P.Eq, P.Show)++-- ** Pattern+newtype Pattern = Pattern { unPattern :: Text } deriving (P.Eq, P.Show)++-- ** PerPage+newtype PerPage = PerPage { unPerPage :: Int } deriving (P.Eq, P.Show)++-- ** PreRelease+newtype PreRelease = PreRelease { unPreRelease :: Bool } deriving (P.Eq, P.Show)++-- ** PriorityOwnerId+newtype PriorityOwnerId = PriorityOwnerId { unPriorityOwnerId :: Integer } deriving (P.Eq, P.Show)++-- ** PriorityRepoId+newtype PriorityRepoId = PriorityRepoId { unPriorityRepoId :: Integer } deriving (P.Eq, P.Show)++-- ** Private+newtype Private = Private { unPrivate :: Bool } deriving (P.Eq, P.Show)++-- ** Purge+newtype Purge = Purge { unPurge :: Bool } deriving (P.Eq, P.Show)++-- ** Q+newtype Q = Q { unQ :: Text } deriving (P.Eq, P.Show)++-- ** Recursive+newtype Recursive = Recursive { unRecursive :: Bool } deriving (P.Eq, P.Show)++-- ** Ref+newtype Ref = Ref { unRef :: Text } deriving (P.Eq, P.Show)++-- ** Repo+newtype Repo = Repo { unRepo :: Text } deriving (P.Eq, P.Show)++-- ** ReviewRequested+newtype ReviewRequested = ReviewRequested { unReviewRequested :: Bool } deriving (P.Eq, P.Show)++-- ** Sha+newtype Sha = Sha { unSha :: Text } deriving (P.Eq, P.Show)++-- ** Since+newtype Since = Since { unSince :: DateTime } deriving (P.Eq, P.Show)++-- ** SkipTo+newtype SkipTo = SkipTo { unSkipTo :: Text } deriving (P.Eq, P.Show)++-- ** Sort+newtype Sort = Sort { unSort :: Text } deriving (P.Eq, P.Show)++-- ** Sort2+newtype Sort2 = Sort2 { unSort2 :: E'Sort } deriving (P.Eq, P.Show)++-- ** Sort3+newtype Sort3 = Sort3 { unSort3 :: E'Sort2 } deriving (P.Eq, P.Show)++-- ** StarredBy+newtype StarredBy = StarredBy { unStarredBy :: Integer } deriving (P.Eq, P.Show)++-- ** Stat+newtype Stat = Stat { unStat :: Bool } deriving (P.Eq, P.Show)++-- ** State+newtype State = State { unState :: Text } deriving (P.Eq, P.Show)++-- ** State2+newtype State2 = State2 { unState2 :: E'State2 } deriving (P.Eq, P.Show)++-- ** State3+newtype State3 = State3 { unState3 :: E'State3 } deriving (P.Eq, P.Show)++-- ** StatusTypes+newtype StatusTypes = StatusTypes { unStatusTypes :: [Text] } deriving (P.Eq, P.Show)++-- ** Style+newtype Style = Style { unStyle :: E'Style } deriving (P.Eq, P.Show)++-- ** SubjectType+newtype SubjectType = SubjectType { unSubjectType :: [E'SubjectType] } deriving (P.Eq, P.Show)++-- ** Tag2+newtype Tag2 = Tag2 { unTag2 :: Text } deriving (P.Eq, P.Show)++-- ** Target+newtype Target = Target { unTarget :: Text } deriving (P.Eq, P.Show)++-- ** Task+newtype Task = Task { unTask :: Text } deriving (P.Eq, P.Show)++-- ** Team2+newtype Team2 = Team2 { unTeam2 :: Text } deriving (P.Eq, P.Show)++-- ** TeamId+newtype TeamId = TeamId { unTeamId :: Integer } deriving (P.Eq, P.Show)++-- ** Template+newtype Template = Template { unTemplate :: Bool } deriving (P.Eq, P.Show)++-- ** TemplateOwner+newtype TemplateOwner = TemplateOwner { unTemplateOwner :: Text } deriving (P.Eq, P.Show)++-- ** TemplateRepo+newtype TemplateRepo = TemplateRepo { unTemplateRepo :: Text } deriving (P.Eq, P.Show)++-- ** ToStatus+newtype ToStatus = ToStatus { unToStatus :: Text } deriving (P.Eq, P.Show)++-- ** Token+newtype Token = Token { unToken :: Text } deriving (P.Eq, P.Show)++-- ** Topic+newtype Topic = Topic { unTopic :: Bool } deriving (P.Eq, P.Show)++-- ** TopicText+newtype TopicText = TopicText { unTopicText :: Text } deriving (P.Eq, P.Show)++-- ** Uid+newtype Uid = Uid { unUid :: Integer } deriving (P.Eq, P.Show)++-- ** User2+newtype User2 = User2 { unUser2 :: Text } deriving (P.Eq, P.Show)++-- ** UserId+newtype UserId = UserId { unUserId :: Int } deriving (P.Eq, P.Show)++-- ** Username+newtype Username = Username { unUsername :: Text } deriving (P.Eq, P.Show)++-- ** Version+newtype Version = Version { unVersion :: Text } deriving (P.Eq, P.Show)++-- ** Whitespace+newtype Whitespace = Whitespace { unWhitespace :: E'Whitespace } deriving (P.Eq, P.Show)++-- * Models+++-- ** APIError+-- | APIError+-- APIError is an api error with a message+data APIError = APIError+ { aPIErrorMessage :: !(Maybe Text) -- ^ "message"+ , aPIErrorUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON APIError+instance A.FromJSON APIError where+ parseJSON = A.withObject "APIError" $ \o ->+ APIError+ <$> (o .:? "message")+ <*> (o .:? "url")++-- | ToJSON APIError+instance A.ToJSON APIError where+ toJSON APIError {..} =+ _omitNulls+ [ "message" .= aPIErrorMessage+ , "url" .= aPIErrorUrl+ ]+++-- | Construct a value of type 'APIError' (by applying it's required fields, if any)+mkAPIError+ :: APIError+mkAPIError =+ APIError+ { aPIErrorMessage = Nothing+ , aPIErrorUrl = Nothing+ }++-- ** AccessToken+-- | AccessToken+-- AccessToken represents an API access token.+-- +data AccessToken = AccessToken+ { accessTokenId :: !(Maybe Integer) -- ^ "id"+ , accessTokenName :: !(Maybe Text) -- ^ "name"+ , accessTokenScopes :: !(Maybe [Text]) -- ^ "scopes"+ , accessTokenSha1 :: !(Maybe Text) -- ^ "sha1"+ , accessTokenTokenLastEight :: !(Maybe Text) -- ^ "token_last_eight"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AccessToken+instance A.FromJSON AccessToken where+ parseJSON = A.withObject "AccessToken" $ \o ->+ AccessToken+ <$> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "scopes")+ <*> (o .:? "sha1")+ <*> (o .:? "token_last_eight")++-- | ToJSON AccessToken+instance A.ToJSON AccessToken where+ toJSON AccessToken {..} =+ _omitNulls+ [ "id" .= accessTokenId+ , "name" .= accessTokenName+ , "scopes" .= accessTokenScopes+ , "sha1" .= accessTokenSha1+ , "token_last_eight" .= accessTokenTokenLastEight+ ]+++-- | Construct a value of type 'AccessToken' (by applying it's required fields, if any)+mkAccessToken+ :: AccessToken+mkAccessToken =+ AccessToken+ { accessTokenId = Nothing+ , accessTokenName = Nothing+ , accessTokenScopes = Nothing+ , accessTokenSha1 = Nothing+ , accessTokenTokenLastEight = Nothing+ }++-- ** ActivityPub+-- | ActivityPub+-- ActivityPub type+data ActivityPub = ActivityPub+ { activityPubContext :: !(Maybe Text) -- ^ "@context"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ActivityPub+instance A.FromJSON ActivityPub where+ parseJSON = A.withObject "ActivityPub" $ \o ->+ ActivityPub+ <$> (o .:? "@context")++-- | ToJSON ActivityPub+instance A.ToJSON ActivityPub where+ toJSON ActivityPub {..} =+ _omitNulls+ [ "@context" .= activityPubContext+ ]+++-- | Construct a value of type 'ActivityPub' (by applying it's required fields, if any)+mkActivityPub+ :: ActivityPub+mkActivityPub =+ ActivityPub+ { activityPubContext = Nothing+ }++-- ** AddCollaboratorOption+-- | AddCollaboratorOption+-- AddCollaboratorOption options when adding a user as a collaborator of a repository+data AddCollaboratorOption = AddCollaboratorOption+ { addCollaboratorOptionPermission :: !(Maybe Text) -- ^ "permission"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AddCollaboratorOption+instance A.FromJSON AddCollaboratorOption where+ parseJSON = A.withObject "AddCollaboratorOption" $ \o ->+ AddCollaboratorOption+ <$> (o .:? "permission")++-- | ToJSON AddCollaboratorOption+instance A.ToJSON AddCollaboratorOption where+ toJSON AddCollaboratorOption {..} =+ _omitNulls+ [ "permission" .= addCollaboratorOptionPermission+ ]+++-- | Construct a value of type 'AddCollaboratorOption' (by applying it's required fields, if any)+mkAddCollaboratorOption+ :: AddCollaboratorOption+mkAddCollaboratorOption =+ AddCollaboratorOption+ { addCollaboratorOptionPermission = Nothing+ }++-- ** AddTimeOption+-- | AddTimeOption+-- AddTimeOption options for adding time to an issue+data AddTimeOption = AddTimeOption+ { addTimeOptionCreated :: !(Maybe DateTime) -- ^ "created"+ , addTimeOptionTime :: !(Integer) -- ^ /Required/ "time" - time in seconds+ , addTimeOptionUserName :: !(Maybe Text) -- ^ "user_name" - User who spent the time (optional)+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AddTimeOption+instance A.FromJSON AddTimeOption where+ parseJSON = A.withObject "AddTimeOption" $ \o ->+ AddTimeOption+ <$> (o .:? "created")+ <*> (o .: "time")+ <*> (o .:? "user_name")++-- | ToJSON AddTimeOption+instance A.ToJSON AddTimeOption where+ toJSON AddTimeOption {..} =+ _omitNulls+ [ "created" .= addTimeOptionCreated+ , "time" .= addTimeOptionTime+ , "user_name" .= addTimeOptionUserName+ ]+++-- | Construct a value of type 'AddTimeOption' (by applying it's required fields, if any)+mkAddTimeOption+ :: Integer -- ^ 'addTimeOptionTime': time in seconds+ -> AddTimeOption+mkAddTimeOption addTimeOptionTime =+ AddTimeOption+ { addTimeOptionCreated = Nothing+ , addTimeOptionTime+ , addTimeOptionUserName = Nothing+ }++-- ** AnnotatedTag+-- | AnnotatedTag+-- AnnotatedTag represents an annotated tag+data AnnotatedTag = AnnotatedTag+ { annotatedTagMessage :: !(Maybe Text) -- ^ "message"+ , annotatedTagObject :: !(Maybe AnnotatedTagObject) -- ^ "object"+ , annotatedTagSha :: !(Maybe Text) -- ^ "sha"+ , annotatedTagTag :: !(Maybe Text) -- ^ "tag"+ , annotatedTagTagger :: !(Maybe CommitUser) -- ^ "tagger"+ , annotatedTagUrl :: !(Maybe Text) -- ^ "url"+ , annotatedTagVerification :: !(Maybe PayloadCommitVerification) -- ^ "verification"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AnnotatedTag+instance A.FromJSON AnnotatedTag where+ parseJSON = A.withObject "AnnotatedTag" $ \o ->+ AnnotatedTag+ <$> (o .:? "message")+ <*> (o .:? "object")+ <*> (o .:? "sha")+ <*> (o .:? "tag")+ <*> (o .:? "tagger")+ <*> (o .:? "url")+ <*> (o .:? "verification")++-- | ToJSON AnnotatedTag+instance A.ToJSON AnnotatedTag where+ toJSON AnnotatedTag {..} =+ _omitNulls+ [ "message" .= annotatedTagMessage+ , "object" .= annotatedTagObject+ , "sha" .= annotatedTagSha+ , "tag" .= annotatedTagTag+ , "tagger" .= annotatedTagTagger+ , "url" .= annotatedTagUrl+ , "verification" .= annotatedTagVerification+ ]+++-- | Construct a value of type 'AnnotatedTag' (by applying it's required fields, if any)+mkAnnotatedTag+ :: AnnotatedTag+mkAnnotatedTag =+ AnnotatedTag+ { annotatedTagMessage = Nothing+ , annotatedTagObject = Nothing+ , annotatedTagSha = Nothing+ , annotatedTagTag = Nothing+ , annotatedTagTagger = Nothing+ , annotatedTagUrl = Nothing+ , annotatedTagVerification = Nothing+ }++-- ** AnnotatedTagObject+-- | AnnotatedTagObject+-- AnnotatedTagObject contains meta information of the tag object+data AnnotatedTagObject = AnnotatedTagObject+ { annotatedTagObjectSha :: !(Maybe Text) -- ^ "sha"+ , annotatedTagObjectType :: !(Maybe Text) -- ^ "type"+ , annotatedTagObjectUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON AnnotatedTagObject+instance A.FromJSON AnnotatedTagObject where+ parseJSON = A.withObject "AnnotatedTagObject" $ \o ->+ AnnotatedTagObject+ <$> (o .:? "sha")+ <*> (o .:? "type")+ <*> (o .:? "url")++-- | ToJSON AnnotatedTagObject+instance A.ToJSON AnnotatedTagObject where+ toJSON AnnotatedTagObject {..} =+ _omitNulls+ [ "sha" .= annotatedTagObjectSha+ , "type" .= annotatedTagObjectType+ , "url" .= annotatedTagObjectUrl+ ]+++-- | Construct a value of type 'AnnotatedTagObject' (by applying it's required fields, if any)+mkAnnotatedTagObject+ :: AnnotatedTagObject+mkAnnotatedTagObject =+ AnnotatedTagObject+ { annotatedTagObjectSha = Nothing+ , annotatedTagObjectType = Nothing+ , annotatedTagObjectUrl = Nothing+ }++-- ** Attachment+-- | Attachment+-- Attachment a generic attachment+data Attachment = Attachment+ { attachmentBrowserDownloadUrl :: !(Maybe Text) -- ^ "browser_download_url"+ , attachmentCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , attachmentDownloadCount :: !(Maybe Integer) -- ^ "download_count"+ , attachmentId :: !(Maybe Integer) -- ^ "id"+ , attachmentName :: !(Maybe Text) -- ^ "name"+ , attachmentSize :: !(Maybe Integer) -- ^ "size"+ , attachmentUuid :: !(Maybe Text) -- ^ "uuid"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Attachment+instance A.FromJSON Attachment where+ parseJSON = A.withObject "Attachment" $ \o ->+ Attachment+ <$> (o .:? "browser_download_url")+ <*> (o .:? "created_at")+ <*> (o .:? "download_count")+ <*> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "size")+ <*> (o .:? "uuid")++-- | ToJSON Attachment+instance A.ToJSON Attachment where+ toJSON Attachment {..} =+ _omitNulls+ [ "browser_download_url" .= attachmentBrowserDownloadUrl+ , "created_at" .= attachmentCreatedAt+ , "download_count" .= attachmentDownloadCount+ , "id" .= attachmentId+ , "name" .= attachmentName+ , "size" .= attachmentSize+ , "uuid" .= attachmentUuid+ ]+++-- | Construct a value of type 'Attachment' (by applying it's required fields, if any)+mkAttachment+ :: Attachment+mkAttachment =+ Attachment+ { attachmentBrowserDownloadUrl = Nothing+ , attachmentCreatedAt = Nothing+ , attachmentDownloadCount = Nothing+ , attachmentId = Nothing+ , attachmentName = Nothing+ , attachmentSize = Nothing+ , attachmentUuid = Nothing+ }++-- ** Branch+-- | Branch+-- Branch represents a repository branch+data Branch = Branch+ { branchCommit :: !(Maybe PayloadCommit) -- ^ "commit"+ , branchEffectiveBranchProtectionName :: !(Maybe Text) -- ^ "effective_branch_protection_name"+ , branchEnableStatusCheck :: !(Maybe Bool) -- ^ "enable_status_check"+ , branchName :: !(Maybe Text) -- ^ "name"+ , branchProtected :: !(Maybe Bool) -- ^ "protected"+ , branchRequiredApprovals :: !(Maybe Integer) -- ^ "required_approvals"+ , branchStatusCheckContexts :: !(Maybe [Text]) -- ^ "status_check_contexts"+ , branchUserCanMerge :: !(Maybe Bool) -- ^ "user_can_merge"+ , branchUserCanPush :: !(Maybe Bool) -- ^ "user_can_push"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Branch+instance A.FromJSON Branch where+ parseJSON = A.withObject "Branch" $ \o ->+ Branch+ <$> (o .:? "commit")+ <*> (o .:? "effective_branch_protection_name")+ <*> (o .:? "enable_status_check")+ <*> (o .:? "name")+ <*> (o .:? "protected")+ <*> (o .:? "required_approvals")+ <*> (o .:? "status_check_contexts")+ <*> (o .:? "user_can_merge")+ <*> (o .:? "user_can_push")++-- | ToJSON Branch+instance A.ToJSON Branch where+ toJSON Branch {..} =+ _omitNulls+ [ "commit" .= branchCommit+ , "effective_branch_protection_name" .= branchEffectiveBranchProtectionName+ , "enable_status_check" .= branchEnableStatusCheck+ , "name" .= branchName+ , "protected" .= branchProtected+ , "required_approvals" .= branchRequiredApprovals+ , "status_check_contexts" .= branchStatusCheckContexts+ , "user_can_merge" .= branchUserCanMerge+ , "user_can_push" .= branchUserCanPush+ ]+++-- | Construct a value of type 'Branch' (by applying it's required fields, if any)+mkBranch+ :: Branch+mkBranch =+ Branch+ { branchCommit = Nothing+ , branchEffectiveBranchProtectionName = Nothing+ , branchEnableStatusCheck = Nothing+ , branchName = Nothing+ , branchProtected = Nothing+ , branchRequiredApprovals = Nothing+ , branchStatusCheckContexts = Nothing+ , branchUserCanMerge = Nothing+ , branchUserCanPush = Nothing+ }++-- ** BranchProtection+-- | BranchProtection+-- BranchProtection represents a branch protection for a repository+data BranchProtection = BranchProtection+ { branchProtectionApprovalsWhitelistTeams :: !(Maybe [Text]) -- ^ "approvals_whitelist_teams"+ , branchProtectionApprovalsWhitelistUsername :: !(Maybe [Text]) -- ^ "approvals_whitelist_username"+ , branchProtectionBlockOnOfficialReviewRequests :: !(Maybe Bool) -- ^ "block_on_official_review_requests"+ , branchProtectionBlockOnOutdatedBranch :: !(Maybe Bool) -- ^ "block_on_outdated_branch"+ , branchProtectionBlockOnRejectedReviews :: !(Maybe Bool) -- ^ "block_on_rejected_reviews"+ , branchProtectionBranchName :: !(Maybe Text) -- ^ "branch_name" - Deprecated: true+ , branchProtectionCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , branchProtectionDismissStaleApprovals :: !(Maybe Bool) -- ^ "dismiss_stale_approvals"+ , branchProtectionEnableApprovalsWhitelist :: !(Maybe Bool) -- ^ "enable_approvals_whitelist"+ , branchProtectionEnableMergeWhitelist :: !(Maybe Bool) -- ^ "enable_merge_whitelist"+ , branchProtectionEnablePush :: !(Maybe Bool) -- ^ "enable_push"+ , branchProtectionEnablePushWhitelist :: !(Maybe Bool) -- ^ "enable_push_whitelist"+ , branchProtectionEnableStatusCheck :: !(Maybe Bool) -- ^ "enable_status_check"+ , branchProtectionMergeWhitelistTeams :: !(Maybe [Text]) -- ^ "merge_whitelist_teams"+ , branchProtectionMergeWhitelistUsernames :: !(Maybe [Text]) -- ^ "merge_whitelist_usernames"+ , branchProtectionProtectedFilePatterns :: !(Maybe Text) -- ^ "protected_file_patterns"+ , branchProtectionPushWhitelistDeployKeys :: !(Maybe Bool) -- ^ "push_whitelist_deploy_keys"+ , branchProtectionPushWhitelistTeams :: !(Maybe [Text]) -- ^ "push_whitelist_teams"+ , branchProtectionPushWhitelistUsernames :: !(Maybe [Text]) -- ^ "push_whitelist_usernames"+ , branchProtectionRequireSignedCommits :: !(Maybe Bool) -- ^ "require_signed_commits"+ , branchProtectionRequiredApprovals :: !(Maybe Integer) -- ^ "required_approvals"+ , branchProtectionRuleName :: !(Maybe Text) -- ^ "rule_name"+ , branchProtectionStatusCheckContexts :: !(Maybe [Text]) -- ^ "status_check_contexts"+ , branchProtectionUnprotectedFilePatterns :: !(Maybe Text) -- ^ "unprotected_file_patterns"+ , branchProtectionUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON BranchProtection+instance A.FromJSON BranchProtection where+ parseJSON = A.withObject "BranchProtection" $ \o ->+ BranchProtection+ <$> (o .:? "approvals_whitelist_teams")+ <*> (o .:? "approvals_whitelist_username")+ <*> (o .:? "block_on_official_review_requests")+ <*> (o .:? "block_on_outdated_branch")+ <*> (o .:? "block_on_rejected_reviews")+ <*> (o .:? "branch_name")+ <*> (o .:? "created_at")+ <*> (o .:? "dismiss_stale_approvals")+ <*> (o .:? "enable_approvals_whitelist")+ <*> (o .:? "enable_merge_whitelist")+ <*> (o .:? "enable_push")+ <*> (o .:? "enable_push_whitelist")+ <*> (o .:? "enable_status_check")+ <*> (o .:? "merge_whitelist_teams")+ <*> (o .:? "merge_whitelist_usernames")+ <*> (o .:? "protected_file_patterns")+ <*> (o .:? "push_whitelist_deploy_keys")+ <*> (o .:? "push_whitelist_teams")+ <*> (o .:? "push_whitelist_usernames")+ <*> (o .:? "require_signed_commits")+ <*> (o .:? "required_approvals")+ <*> (o .:? "rule_name")+ <*> (o .:? "status_check_contexts")+ <*> (o .:? "unprotected_file_patterns")+ <*> (o .:? "updated_at")++-- | ToJSON BranchProtection+instance A.ToJSON BranchProtection where+ toJSON BranchProtection {..} =+ _omitNulls+ [ "approvals_whitelist_teams" .= branchProtectionApprovalsWhitelistTeams+ , "approvals_whitelist_username" .= branchProtectionApprovalsWhitelistUsername+ , "block_on_official_review_requests" .= branchProtectionBlockOnOfficialReviewRequests+ , "block_on_outdated_branch" .= branchProtectionBlockOnOutdatedBranch+ , "block_on_rejected_reviews" .= branchProtectionBlockOnRejectedReviews+ , "branch_name" .= branchProtectionBranchName+ , "created_at" .= branchProtectionCreatedAt+ , "dismiss_stale_approvals" .= branchProtectionDismissStaleApprovals+ , "enable_approvals_whitelist" .= branchProtectionEnableApprovalsWhitelist+ , "enable_merge_whitelist" .= branchProtectionEnableMergeWhitelist+ , "enable_push" .= branchProtectionEnablePush+ , "enable_push_whitelist" .= branchProtectionEnablePushWhitelist+ , "enable_status_check" .= branchProtectionEnableStatusCheck+ , "merge_whitelist_teams" .= branchProtectionMergeWhitelistTeams+ , "merge_whitelist_usernames" .= branchProtectionMergeWhitelistUsernames+ , "protected_file_patterns" .= branchProtectionProtectedFilePatterns+ , "push_whitelist_deploy_keys" .= branchProtectionPushWhitelistDeployKeys+ , "push_whitelist_teams" .= branchProtectionPushWhitelistTeams+ , "push_whitelist_usernames" .= branchProtectionPushWhitelistUsernames+ , "require_signed_commits" .= branchProtectionRequireSignedCommits+ , "required_approvals" .= branchProtectionRequiredApprovals+ , "rule_name" .= branchProtectionRuleName+ , "status_check_contexts" .= branchProtectionStatusCheckContexts+ , "unprotected_file_patterns" .= branchProtectionUnprotectedFilePatterns+ , "updated_at" .= branchProtectionUpdatedAt+ ]+++-- | Construct a value of type 'BranchProtection' (by applying it's required fields, if any)+mkBranchProtection+ :: BranchProtection+mkBranchProtection =+ BranchProtection+ { branchProtectionApprovalsWhitelistTeams = Nothing+ , branchProtectionApprovalsWhitelistUsername = Nothing+ , branchProtectionBlockOnOfficialReviewRequests = Nothing+ , branchProtectionBlockOnOutdatedBranch = Nothing+ , branchProtectionBlockOnRejectedReviews = Nothing+ , branchProtectionBranchName = Nothing+ , branchProtectionCreatedAt = Nothing+ , branchProtectionDismissStaleApprovals = Nothing+ , branchProtectionEnableApprovalsWhitelist = Nothing+ , branchProtectionEnableMergeWhitelist = Nothing+ , branchProtectionEnablePush = Nothing+ , branchProtectionEnablePushWhitelist = Nothing+ , branchProtectionEnableStatusCheck = Nothing+ , branchProtectionMergeWhitelistTeams = Nothing+ , branchProtectionMergeWhitelistUsernames = Nothing+ , branchProtectionProtectedFilePatterns = Nothing+ , branchProtectionPushWhitelistDeployKeys = Nothing+ , branchProtectionPushWhitelistTeams = Nothing+ , branchProtectionPushWhitelistUsernames = Nothing+ , branchProtectionRequireSignedCommits = Nothing+ , branchProtectionRequiredApprovals = Nothing+ , branchProtectionRuleName = Nothing+ , branchProtectionStatusCheckContexts = Nothing+ , branchProtectionUnprotectedFilePatterns = Nothing+ , branchProtectionUpdatedAt = Nothing+ }++-- ** ChangedFile+-- | ChangedFile+-- ChangedFile store information about files affected by the pull request+data ChangedFile = ChangedFile+ { changedFileAdditions :: !(Maybe Integer) -- ^ "additions"+ , changedFileChanges :: !(Maybe Integer) -- ^ "changes"+ , changedFileContentsUrl :: !(Maybe Text) -- ^ "contents_url"+ , changedFileDeletions :: !(Maybe Integer) -- ^ "deletions"+ , changedFileFilename :: !(Maybe Text) -- ^ "filename"+ , changedFileHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , changedFilePreviousFilename :: !(Maybe Text) -- ^ "previous_filename"+ , changedFileRawUrl :: !(Maybe Text) -- ^ "raw_url"+ , changedFileStatus :: !(Maybe Text) -- ^ "status"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ChangedFile+instance A.FromJSON ChangedFile where+ parseJSON = A.withObject "ChangedFile" $ \o ->+ ChangedFile+ <$> (o .:? "additions")+ <*> (o .:? "changes")+ <*> (o .:? "contents_url")+ <*> (o .:? "deletions")+ <*> (o .:? "filename")+ <*> (o .:? "html_url")+ <*> (o .:? "previous_filename")+ <*> (o .:? "raw_url")+ <*> (o .:? "status")++-- | ToJSON ChangedFile+instance A.ToJSON ChangedFile where+ toJSON ChangedFile {..} =+ _omitNulls+ [ "additions" .= changedFileAdditions+ , "changes" .= changedFileChanges+ , "contents_url" .= changedFileContentsUrl+ , "deletions" .= changedFileDeletions+ , "filename" .= changedFileFilename+ , "html_url" .= changedFileHtmlUrl+ , "previous_filename" .= changedFilePreviousFilename+ , "raw_url" .= changedFileRawUrl+ , "status" .= changedFileStatus+ ]+++-- | Construct a value of type 'ChangedFile' (by applying it's required fields, if any)+mkChangedFile+ :: ChangedFile+mkChangedFile =+ ChangedFile+ { changedFileAdditions = Nothing+ , changedFileChanges = Nothing+ , changedFileContentsUrl = Nothing+ , changedFileDeletions = Nothing+ , changedFileFilename = Nothing+ , changedFileHtmlUrl = Nothing+ , changedFilePreviousFilename = Nothing+ , changedFileRawUrl = Nothing+ , changedFileStatus = Nothing+ }++-- ** CombinedStatus+-- | CombinedStatus+-- CombinedStatus holds the combined state of several statuses for a single commit+data CombinedStatus = CombinedStatus+ { combinedStatusCommitUrl :: !(Maybe Text) -- ^ "commit_url"+ , combinedStatusRepository :: !(Maybe Repository) -- ^ "repository"+ , combinedStatusSha :: !(Maybe Text) -- ^ "sha"+ , combinedStatusState :: !(Maybe Text) -- ^ "state" - CommitStatusState holds the state of a CommitStatus It can be \"pending\", \"success\", \"error\", \"failure\", and \"warning\"+ , combinedStatusStatuses :: !(Maybe [CommitStatus]) -- ^ "statuses"+ , combinedStatusTotalCount :: !(Maybe Integer) -- ^ "total_count"+ , combinedStatusUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CombinedStatus+instance A.FromJSON CombinedStatus where+ parseJSON = A.withObject "CombinedStatus" $ \o ->+ CombinedStatus+ <$> (o .:? "commit_url")+ <*> (o .:? "repository")+ <*> (o .:? "sha")+ <*> (o .:? "state")+ <*> (o .:? "statuses")+ <*> (o .:? "total_count")+ <*> (o .:? "url")++-- | ToJSON CombinedStatus+instance A.ToJSON CombinedStatus where+ toJSON CombinedStatus {..} =+ _omitNulls+ [ "commit_url" .= combinedStatusCommitUrl+ , "repository" .= combinedStatusRepository+ , "sha" .= combinedStatusSha+ , "state" .= combinedStatusState+ , "statuses" .= combinedStatusStatuses+ , "total_count" .= combinedStatusTotalCount+ , "url" .= combinedStatusUrl+ ]+++-- | Construct a value of type 'CombinedStatus' (by applying it's required fields, if any)+mkCombinedStatus+ :: CombinedStatus+mkCombinedStatus =+ CombinedStatus+ { combinedStatusCommitUrl = Nothing+ , combinedStatusRepository = Nothing+ , combinedStatusSha = Nothing+ , combinedStatusState = Nothing+ , combinedStatusStatuses = Nothing+ , combinedStatusTotalCount = Nothing+ , combinedStatusUrl = Nothing+ }++-- ** Comment+-- | Comment+-- Comment represents a comment on a commit or issue+data Comment = Comment+ { commentAssets :: !(Maybe [Attachment]) -- ^ "assets"+ , commentBody :: !(Maybe Text) -- ^ "body"+ , commentCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , commentHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , commentId :: !(Maybe Integer) -- ^ "id"+ , commentIssueUrl :: !(Maybe Text) -- ^ "issue_url"+ , commentOriginalAuthor :: !(Maybe Text) -- ^ "original_author"+ , commentOriginalAuthorId :: !(Maybe Integer) -- ^ "original_author_id"+ , commentPullRequestUrl :: !(Maybe Text) -- ^ "pull_request_url"+ , commentUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , commentUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Comment+instance A.FromJSON Comment where+ parseJSON = A.withObject "Comment" $ \o ->+ Comment+ <$> (o .:? "assets")+ <*> (o .:? "body")+ <*> (o .:? "created_at")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "issue_url")+ <*> (o .:? "original_author")+ <*> (o .:? "original_author_id")+ <*> (o .:? "pull_request_url")+ <*> (o .:? "updated_at")+ <*> (o .:? "user")++-- | ToJSON Comment+instance A.ToJSON Comment where+ toJSON Comment {..} =+ _omitNulls+ [ "assets" .= commentAssets+ , "body" .= commentBody+ , "created_at" .= commentCreatedAt+ , "html_url" .= commentHtmlUrl+ , "id" .= commentId+ , "issue_url" .= commentIssueUrl+ , "original_author" .= commentOriginalAuthor+ , "original_author_id" .= commentOriginalAuthorId+ , "pull_request_url" .= commentPullRequestUrl+ , "updated_at" .= commentUpdatedAt+ , "user" .= commentUser+ ]+++-- | Construct a value of type 'Comment' (by applying it's required fields, if any)+mkComment+ :: Comment+mkComment =+ Comment+ { commentAssets = Nothing+ , commentBody = Nothing+ , commentCreatedAt = Nothing+ , commentHtmlUrl = Nothing+ , commentId = Nothing+ , commentIssueUrl = Nothing+ , commentOriginalAuthor = Nothing+ , commentOriginalAuthorId = Nothing+ , commentPullRequestUrl = Nothing+ , commentUpdatedAt = Nothing+ , commentUser = Nothing+ }++-- ** Commit+-- | Commit+-- Commit contains information generated from a Git commit.+-- +data Commit = Commit+ { commitAuthor :: !(Maybe User) -- ^ "author"+ , commitCommit :: !(Maybe RepoCommit) -- ^ "commit"+ , commitCommitter :: !(Maybe User) -- ^ "committer"+ , commitCreated :: !(Maybe DateTime) -- ^ "created"+ , commitFiles :: !(Maybe [CommitAffectedFiles]) -- ^ "files"+ , commitHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , commitParents :: !(Maybe [CommitMeta]) -- ^ "parents"+ , commitSha :: !(Maybe Text) -- ^ "sha"+ , commitStats :: !(Maybe CommitStats) -- ^ "stats"+ , commitUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Commit+instance A.FromJSON Commit where+ parseJSON = A.withObject "Commit" $ \o ->+ Commit+ <$> (o .:? "author")+ <*> (o .:? "commit")+ <*> (o .:? "committer")+ <*> (o .:? "created")+ <*> (o .:? "files")+ <*> (o .:? "html_url")+ <*> (o .:? "parents")+ <*> (o .:? "sha")+ <*> (o .:? "stats")+ <*> (o .:? "url")++-- | ToJSON Commit+instance A.ToJSON Commit where+ toJSON Commit {..} =+ _omitNulls+ [ "author" .= commitAuthor+ , "commit" .= commitCommit+ , "committer" .= commitCommitter+ , "created" .= commitCreated+ , "files" .= commitFiles+ , "html_url" .= commitHtmlUrl+ , "parents" .= commitParents+ , "sha" .= commitSha+ , "stats" .= commitStats+ , "url" .= commitUrl+ ]+++-- | Construct a value of type 'Commit' (by applying it's required fields, if any)+mkCommit+ :: Commit+mkCommit =+ Commit+ { commitAuthor = Nothing+ , commitCommit = Nothing+ , commitCommitter = Nothing+ , commitCreated = Nothing+ , commitFiles = Nothing+ , commitHtmlUrl = Nothing+ , commitParents = Nothing+ , commitSha = Nothing+ , commitStats = Nothing+ , commitUrl = Nothing+ }++-- ** CommitAffectedFiles+-- | CommitAffectedFiles+-- CommitAffectedFiles store information about files affected by the commit+data CommitAffectedFiles = CommitAffectedFiles+ { commitAffectedFilesFilename :: !(Maybe Text) -- ^ "filename"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CommitAffectedFiles+instance A.FromJSON CommitAffectedFiles where+ parseJSON = A.withObject "CommitAffectedFiles" $ \o ->+ CommitAffectedFiles+ <$> (o .:? "filename")++-- | ToJSON CommitAffectedFiles+instance A.ToJSON CommitAffectedFiles where+ toJSON CommitAffectedFiles {..} =+ _omitNulls+ [ "filename" .= commitAffectedFilesFilename+ ]+++-- | Construct a value of type 'CommitAffectedFiles' (by applying it's required fields, if any)+mkCommitAffectedFiles+ :: CommitAffectedFiles+mkCommitAffectedFiles =+ CommitAffectedFiles+ { commitAffectedFilesFilename = Nothing+ }++-- ** CommitDateOptions+-- | CommitDateOptions+-- CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE+data CommitDateOptions = CommitDateOptions+ { commitDateOptionsAuthor :: !(Maybe DateTime) -- ^ "author"+ , commitDateOptionsCommitter :: !(Maybe DateTime) -- ^ "committer"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CommitDateOptions+instance A.FromJSON CommitDateOptions where+ parseJSON = A.withObject "CommitDateOptions" $ \o ->+ CommitDateOptions+ <$> (o .:? "author")+ <*> (o .:? "committer")++-- | ToJSON CommitDateOptions+instance A.ToJSON CommitDateOptions where+ toJSON CommitDateOptions {..} =+ _omitNulls+ [ "author" .= commitDateOptionsAuthor+ , "committer" .= commitDateOptionsCommitter+ ]+++-- | Construct a value of type 'CommitDateOptions' (by applying it's required fields, if any)+mkCommitDateOptions+ :: CommitDateOptions+mkCommitDateOptions =+ CommitDateOptions+ { commitDateOptionsAuthor = Nothing+ , commitDateOptionsCommitter = Nothing+ }++-- ** CommitMeta+-- | CommitMeta+-- CommitMeta contains meta information of a commit in terms of API.+-- +data CommitMeta = CommitMeta+ { commitMetaCreated :: !(Maybe DateTime) -- ^ "created"+ , commitMetaSha :: !(Maybe Text) -- ^ "sha"+ , commitMetaUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CommitMeta+instance A.FromJSON CommitMeta where+ parseJSON = A.withObject "CommitMeta" $ \o ->+ CommitMeta+ <$> (o .:? "created")+ <*> (o .:? "sha")+ <*> (o .:? "url")++-- | ToJSON CommitMeta+instance A.ToJSON CommitMeta where+ toJSON CommitMeta {..} =+ _omitNulls+ [ "created" .= commitMetaCreated+ , "sha" .= commitMetaSha+ , "url" .= commitMetaUrl+ ]+++-- | Construct a value of type 'CommitMeta' (by applying it's required fields, if any)+mkCommitMeta+ :: CommitMeta+mkCommitMeta =+ CommitMeta+ { commitMetaCreated = Nothing+ , commitMetaSha = Nothing+ , commitMetaUrl = Nothing+ }++-- ** CommitStats+-- | CommitStats+-- CommitStats is statistics for a RepoCommit+data CommitStats = CommitStats+ { commitStatsAdditions :: !(Maybe Integer) -- ^ "additions"+ , commitStatsDeletions :: !(Maybe Integer) -- ^ "deletions"+ , commitStatsTotal :: !(Maybe Integer) -- ^ "total"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CommitStats+instance A.FromJSON CommitStats where+ parseJSON = A.withObject "CommitStats" $ \o ->+ CommitStats+ <$> (o .:? "additions")+ <*> (o .:? "deletions")+ <*> (o .:? "total")++-- | ToJSON CommitStats+instance A.ToJSON CommitStats where+ toJSON CommitStats {..} =+ _omitNulls+ [ "additions" .= commitStatsAdditions+ , "deletions" .= commitStatsDeletions+ , "total" .= commitStatsTotal+ ]+++-- | Construct a value of type 'CommitStats' (by applying it's required fields, if any)+mkCommitStats+ :: CommitStats+mkCommitStats =+ CommitStats+ { commitStatsAdditions = Nothing+ , commitStatsDeletions = Nothing+ , commitStatsTotal = Nothing+ }++-- ** CommitStatus+-- | CommitStatus+-- CommitStatus holds a single status of a single Commit+data CommitStatus = CommitStatus+ { commitStatusContext :: !(Maybe Text) -- ^ "context"+ , commitStatusCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , commitStatusCreator :: !(Maybe User) -- ^ "creator"+ , commitStatusDescription :: !(Maybe Text) -- ^ "description"+ , commitStatusId :: !(Maybe Integer) -- ^ "id"+ , commitStatusStatus :: !(Maybe Text) -- ^ "status" - CommitStatusState holds the state of a CommitStatus It can be \"pending\", \"success\", \"error\", \"failure\", and \"warning\"+ , commitStatusTargetUrl :: !(Maybe Text) -- ^ "target_url"+ , commitStatusUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , commitStatusUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CommitStatus+instance A.FromJSON CommitStatus where+ parseJSON = A.withObject "CommitStatus" $ \o ->+ CommitStatus+ <$> (o .:? "context")+ <*> (o .:? "created_at")+ <*> (o .:? "creator")+ <*> (o .:? "description")+ <*> (o .:? "id")+ <*> (o .:? "status")+ <*> (o .:? "target_url")+ <*> (o .:? "updated_at")+ <*> (o .:? "url")++-- | ToJSON CommitStatus+instance A.ToJSON CommitStatus where+ toJSON CommitStatus {..} =+ _omitNulls+ [ "context" .= commitStatusContext+ , "created_at" .= commitStatusCreatedAt+ , "creator" .= commitStatusCreator+ , "description" .= commitStatusDescription+ , "id" .= commitStatusId+ , "status" .= commitStatusStatus+ , "target_url" .= commitStatusTargetUrl+ , "updated_at" .= commitStatusUpdatedAt+ , "url" .= commitStatusUrl+ ]+++-- | Construct a value of type 'CommitStatus' (by applying it's required fields, if any)+mkCommitStatus+ :: CommitStatus+mkCommitStatus =+ CommitStatus+ { commitStatusContext = Nothing+ , commitStatusCreatedAt = Nothing+ , commitStatusCreator = Nothing+ , commitStatusDescription = Nothing+ , commitStatusId = Nothing+ , commitStatusStatus = Nothing+ , commitStatusTargetUrl = Nothing+ , commitStatusUpdatedAt = Nothing+ , commitStatusUrl = Nothing+ }++-- ** CommitUser+-- | CommitUser+-- CommitUser contains information of a user in the context of a commit.+-- +data CommitUser = CommitUser+ { commitUserDate :: !(Maybe Text) -- ^ "date"+ , commitUserEmail :: !(Maybe Text) -- ^ "email"+ , commitUserName :: !(Maybe Text) -- ^ "name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CommitUser+instance A.FromJSON CommitUser where+ parseJSON = A.withObject "CommitUser" $ \o ->+ CommitUser+ <$> (o .:? "date")+ <*> (o .:? "email")+ <*> (o .:? "name")++-- | ToJSON CommitUser+instance A.ToJSON CommitUser where+ toJSON CommitUser {..} =+ _omitNulls+ [ "date" .= commitUserDate+ , "email" .= commitUserEmail+ , "name" .= commitUserName+ ]+++-- | Construct a value of type 'CommitUser' (by applying it's required fields, if any)+mkCommitUser+ :: CommitUser+mkCommitUser =+ CommitUser+ { commitUserDate = Nothing+ , commitUserEmail = Nothing+ , commitUserName = Nothing+ }++-- ** ContentsResponse+-- | ContentsResponse+-- ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content+data ContentsResponse = ContentsResponse+ { contentsResponseLinks :: !(Maybe FileLinksResponse) -- ^ "_links"+ , contentsResponseContent :: !(Maybe Text) -- ^ "content" - `content` is populated when `type` is `file`, otherwise null+ , contentsResponseDownloadUrl :: !(Maybe Text) -- ^ "download_url"+ , contentsResponseEncoding :: !(Maybe Text) -- ^ "encoding" - `encoding` is populated when `type` is `file`, otherwise null+ , contentsResponseGitUrl :: !(Maybe Text) -- ^ "git_url"+ , contentsResponseHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , contentsResponseLastCommitSha :: !(Maybe Text) -- ^ "last_commit_sha"+ , contentsResponseName :: !(Maybe Text) -- ^ "name"+ , contentsResponsePath :: !(Maybe Text) -- ^ "path"+ , contentsResponseSha :: !(Maybe Text) -- ^ "sha"+ , contentsResponseSize :: !(Maybe Integer) -- ^ "size"+ , contentsResponseSubmoduleGitUrl :: !(Maybe Text) -- ^ "submodule_git_url" - `submodule_git_url` is populated when `type` is `submodule`, otherwise null+ , contentsResponseTarget :: !(Maybe Text) -- ^ "target" - `target` is populated when `type` is `symlink`, otherwise null+ , contentsResponseType :: !(Maybe Text) -- ^ "type" - `type` will be `file`, `dir`, `symlink`, or `submodule`+ , contentsResponseUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ContentsResponse+instance A.FromJSON ContentsResponse where+ parseJSON = A.withObject "ContentsResponse" $ \o ->+ ContentsResponse+ <$> (o .:? "_links")+ <*> (o .:? "content")+ <*> (o .:? "download_url")+ <*> (o .:? "encoding")+ <*> (o .:? "git_url")+ <*> (o .:? "html_url")+ <*> (o .:? "last_commit_sha")+ <*> (o .:? "name")+ <*> (o .:? "path")+ <*> (o .:? "sha")+ <*> (o .:? "size")+ <*> (o .:? "submodule_git_url")+ <*> (o .:? "target")+ <*> (o .:? "type")+ <*> (o .:? "url")++-- | ToJSON ContentsResponse+instance A.ToJSON ContentsResponse where+ toJSON ContentsResponse {..} =+ _omitNulls+ [ "_links" .= contentsResponseLinks+ , "content" .= contentsResponseContent+ , "download_url" .= contentsResponseDownloadUrl+ , "encoding" .= contentsResponseEncoding+ , "git_url" .= contentsResponseGitUrl+ , "html_url" .= contentsResponseHtmlUrl+ , "last_commit_sha" .= contentsResponseLastCommitSha+ , "name" .= contentsResponseName+ , "path" .= contentsResponsePath+ , "sha" .= contentsResponseSha+ , "size" .= contentsResponseSize+ , "submodule_git_url" .= contentsResponseSubmoduleGitUrl+ , "target" .= contentsResponseTarget+ , "type" .= contentsResponseType+ , "url" .= contentsResponseUrl+ ]+++-- | Construct a value of type 'ContentsResponse' (by applying it's required fields, if any)+mkContentsResponse+ :: ContentsResponse+mkContentsResponse =+ ContentsResponse+ { contentsResponseLinks = Nothing+ , contentsResponseContent = Nothing+ , contentsResponseDownloadUrl = Nothing+ , contentsResponseEncoding = Nothing+ , contentsResponseGitUrl = Nothing+ , contentsResponseHtmlUrl = Nothing+ , contentsResponseLastCommitSha = Nothing+ , contentsResponseName = Nothing+ , contentsResponsePath = Nothing+ , contentsResponseSha = Nothing+ , contentsResponseSize = Nothing+ , contentsResponseSubmoduleGitUrl = Nothing+ , contentsResponseTarget = Nothing+ , contentsResponseType = Nothing+ , contentsResponseUrl = Nothing+ }++-- ** CreateAccessTokenOption+-- | CreateAccessTokenOption+-- CreateAccessTokenOption options when create access token+data CreateAccessTokenOption = CreateAccessTokenOption+ { createAccessTokenOptionName :: !(Text) -- ^ /Required/ "name"+ , createAccessTokenOptionScopes :: !(Maybe [Text]) -- ^ "scopes"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateAccessTokenOption+instance A.FromJSON CreateAccessTokenOption where+ parseJSON = A.withObject "CreateAccessTokenOption" $ \o ->+ CreateAccessTokenOption+ <$> (o .: "name")+ <*> (o .:? "scopes")++-- | ToJSON CreateAccessTokenOption+instance A.ToJSON CreateAccessTokenOption where+ toJSON CreateAccessTokenOption {..} =+ _omitNulls+ [ "name" .= createAccessTokenOptionName+ , "scopes" .= createAccessTokenOptionScopes+ ]+++-- | Construct a value of type 'CreateAccessTokenOption' (by applying it's required fields, if any)+mkCreateAccessTokenOption+ :: Text -- ^ 'createAccessTokenOptionName' + -> CreateAccessTokenOption+mkCreateAccessTokenOption createAccessTokenOptionName =+ CreateAccessTokenOption+ { createAccessTokenOptionName+ , createAccessTokenOptionScopes = Nothing+ }++-- ** CreateBranchProtectionOption+-- | CreateBranchProtectionOption+-- CreateBranchProtectionOption options for creating a branch protection+data CreateBranchProtectionOption = CreateBranchProtectionOption+ { createBranchProtectionOptionApprovalsWhitelistTeams :: !(Maybe [Text]) -- ^ "approvals_whitelist_teams"+ , createBranchProtectionOptionApprovalsWhitelistUsername :: !(Maybe [Text]) -- ^ "approvals_whitelist_username"+ , createBranchProtectionOptionBlockOnOfficialReviewRequests :: !(Maybe Bool) -- ^ "block_on_official_review_requests"+ , createBranchProtectionOptionBlockOnOutdatedBranch :: !(Maybe Bool) -- ^ "block_on_outdated_branch"+ , createBranchProtectionOptionBlockOnRejectedReviews :: !(Maybe Bool) -- ^ "block_on_rejected_reviews"+ , createBranchProtectionOptionBranchName :: !(Maybe Text) -- ^ "branch_name" - Deprecated: true+ , createBranchProtectionOptionDismissStaleApprovals :: !(Maybe Bool) -- ^ "dismiss_stale_approvals"+ , createBranchProtectionOptionEnableApprovalsWhitelist :: !(Maybe Bool) -- ^ "enable_approvals_whitelist"+ , createBranchProtectionOptionEnableMergeWhitelist :: !(Maybe Bool) -- ^ "enable_merge_whitelist"+ , createBranchProtectionOptionEnablePush :: !(Maybe Bool) -- ^ "enable_push"+ , createBranchProtectionOptionEnablePushWhitelist :: !(Maybe Bool) -- ^ "enable_push_whitelist"+ , createBranchProtectionOptionEnableStatusCheck :: !(Maybe Bool) -- ^ "enable_status_check"+ , createBranchProtectionOptionMergeWhitelistTeams :: !(Maybe [Text]) -- ^ "merge_whitelist_teams"+ , createBranchProtectionOptionMergeWhitelistUsernames :: !(Maybe [Text]) -- ^ "merge_whitelist_usernames"+ , createBranchProtectionOptionProtectedFilePatterns :: !(Maybe Text) -- ^ "protected_file_patterns"+ , createBranchProtectionOptionPushWhitelistDeployKeys :: !(Maybe Bool) -- ^ "push_whitelist_deploy_keys"+ , createBranchProtectionOptionPushWhitelistTeams :: !(Maybe [Text]) -- ^ "push_whitelist_teams"+ , createBranchProtectionOptionPushWhitelistUsernames :: !(Maybe [Text]) -- ^ "push_whitelist_usernames"+ , createBranchProtectionOptionRequireSignedCommits :: !(Maybe Bool) -- ^ "require_signed_commits"+ , createBranchProtectionOptionRequiredApprovals :: !(Maybe Integer) -- ^ "required_approvals"+ , createBranchProtectionOptionRuleName :: !(Maybe Text) -- ^ "rule_name"+ , createBranchProtectionOptionStatusCheckContexts :: !(Maybe [Text]) -- ^ "status_check_contexts"+ , createBranchProtectionOptionUnprotectedFilePatterns :: !(Maybe Text) -- ^ "unprotected_file_patterns"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateBranchProtectionOption+instance A.FromJSON CreateBranchProtectionOption where+ parseJSON = A.withObject "CreateBranchProtectionOption" $ \o ->+ CreateBranchProtectionOption+ <$> (o .:? "approvals_whitelist_teams")+ <*> (o .:? "approvals_whitelist_username")+ <*> (o .:? "block_on_official_review_requests")+ <*> (o .:? "block_on_outdated_branch")+ <*> (o .:? "block_on_rejected_reviews")+ <*> (o .:? "branch_name")+ <*> (o .:? "dismiss_stale_approvals")+ <*> (o .:? "enable_approvals_whitelist")+ <*> (o .:? "enable_merge_whitelist")+ <*> (o .:? "enable_push")+ <*> (o .:? "enable_push_whitelist")+ <*> (o .:? "enable_status_check")+ <*> (o .:? "merge_whitelist_teams")+ <*> (o .:? "merge_whitelist_usernames")+ <*> (o .:? "protected_file_patterns")+ <*> (o .:? "push_whitelist_deploy_keys")+ <*> (o .:? "push_whitelist_teams")+ <*> (o .:? "push_whitelist_usernames")+ <*> (o .:? "require_signed_commits")+ <*> (o .:? "required_approvals")+ <*> (o .:? "rule_name")+ <*> (o .:? "status_check_contexts")+ <*> (o .:? "unprotected_file_patterns")++-- | ToJSON CreateBranchProtectionOption+instance A.ToJSON CreateBranchProtectionOption where+ toJSON CreateBranchProtectionOption {..} =+ _omitNulls+ [ "approvals_whitelist_teams" .= createBranchProtectionOptionApprovalsWhitelistTeams+ , "approvals_whitelist_username" .= createBranchProtectionOptionApprovalsWhitelistUsername+ , "block_on_official_review_requests" .= createBranchProtectionOptionBlockOnOfficialReviewRequests+ , "block_on_outdated_branch" .= createBranchProtectionOptionBlockOnOutdatedBranch+ , "block_on_rejected_reviews" .= createBranchProtectionOptionBlockOnRejectedReviews+ , "branch_name" .= createBranchProtectionOptionBranchName+ , "dismiss_stale_approvals" .= createBranchProtectionOptionDismissStaleApprovals+ , "enable_approvals_whitelist" .= createBranchProtectionOptionEnableApprovalsWhitelist+ , "enable_merge_whitelist" .= createBranchProtectionOptionEnableMergeWhitelist+ , "enable_push" .= createBranchProtectionOptionEnablePush+ , "enable_push_whitelist" .= createBranchProtectionOptionEnablePushWhitelist+ , "enable_status_check" .= createBranchProtectionOptionEnableStatusCheck+ , "merge_whitelist_teams" .= createBranchProtectionOptionMergeWhitelistTeams+ , "merge_whitelist_usernames" .= createBranchProtectionOptionMergeWhitelistUsernames+ , "protected_file_patterns" .= createBranchProtectionOptionProtectedFilePatterns+ , "push_whitelist_deploy_keys" .= createBranchProtectionOptionPushWhitelistDeployKeys+ , "push_whitelist_teams" .= createBranchProtectionOptionPushWhitelistTeams+ , "push_whitelist_usernames" .= createBranchProtectionOptionPushWhitelistUsernames+ , "require_signed_commits" .= createBranchProtectionOptionRequireSignedCommits+ , "required_approvals" .= createBranchProtectionOptionRequiredApprovals+ , "rule_name" .= createBranchProtectionOptionRuleName+ , "status_check_contexts" .= createBranchProtectionOptionStatusCheckContexts+ , "unprotected_file_patterns" .= createBranchProtectionOptionUnprotectedFilePatterns+ ]+++-- | Construct a value of type 'CreateBranchProtectionOption' (by applying it's required fields, if any)+mkCreateBranchProtectionOption+ :: CreateBranchProtectionOption+mkCreateBranchProtectionOption =+ CreateBranchProtectionOption+ { createBranchProtectionOptionApprovalsWhitelistTeams = Nothing+ , createBranchProtectionOptionApprovalsWhitelistUsername = Nothing+ , createBranchProtectionOptionBlockOnOfficialReviewRequests = Nothing+ , createBranchProtectionOptionBlockOnOutdatedBranch = Nothing+ , createBranchProtectionOptionBlockOnRejectedReviews = Nothing+ , createBranchProtectionOptionBranchName = Nothing+ , createBranchProtectionOptionDismissStaleApprovals = Nothing+ , createBranchProtectionOptionEnableApprovalsWhitelist = Nothing+ , createBranchProtectionOptionEnableMergeWhitelist = Nothing+ , createBranchProtectionOptionEnablePush = Nothing+ , createBranchProtectionOptionEnablePushWhitelist = Nothing+ , createBranchProtectionOptionEnableStatusCheck = Nothing+ , createBranchProtectionOptionMergeWhitelistTeams = Nothing+ , createBranchProtectionOptionMergeWhitelistUsernames = Nothing+ , createBranchProtectionOptionProtectedFilePatterns = Nothing+ , createBranchProtectionOptionPushWhitelistDeployKeys = Nothing+ , createBranchProtectionOptionPushWhitelistTeams = Nothing+ , createBranchProtectionOptionPushWhitelistUsernames = Nothing+ , createBranchProtectionOptionRequireSignedCommits = Nothing+ , createBranchProtectionOptionRequiredApprovals = Nothing+ , createBranchProtectionOptionRuleName = Nothing+ , createBranchProtectionOptionStatusCheckContexts = Nothing+ , createBranchProtectionOptionUnprotectedFilePatterns = Nothing+ }++-- ** CreateBranchRepoOption+-- | CreateBranchRepoOption+-- CreateBranchRepoOption options when creating a branch in a repository+data CreateBranchRepoOption = CreateBranchRepoOption+ { createBranchRepoOptionNewBranchName :: !(Text) -- ^ /Required/ "new_branch_name" - Name of the branch to create+ , createBranchRepoOptionOldBranchName :: !(Maybe Text) -- ^ "old_branch_name" - Name of the old branch to create from+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateBranchRepoOption+instance A.FromJSON CreateBranchRepoOption where+ parseJSON = A.withObject "CreateBranchRepoOption" $ \o ->+ CreateBranchRepoOption+ <$> (o .: "new_branch_name")+ <*> (o .:? "old_branch_name")++-- | ToJSON CreateBranchRepoOption+instance A.ToJSON CreateBranchRepoOption where+ toJSON CreateBranchRepoOption {..} =+ _omitNulls+ [ "new_branch_name" .= createBranchRepoOptionNewBranchName+ , "old_branch_name" .= createBranchRepoOptionOldBranchName+ ]+++-- | Construct a value of type 'CreateBranchRepoOption' (by applying it's required fields, if any)+mkCreateBranchRepoOption+ :: Text -- ^ 'createBranchRepoOptionNewBranchName': Name of the branch to create+ -> CreateBranchRepoOption+mkCreateBranchRepoOption createBranchRepoOptionNewBranchName =+ CreateBranchRepoOption+ { createBranchRepoOptionNewBranchName+ , createBranchRepoOptionOldBranchName = Nothing+ }++-- ** CreateEmailOption+-- | CreateEmailOption+-- CreateEmailOption options when creating email addresses+data CreateEmailOption = CreateEmailOption+ { createEmailOptionEmails :: !(Maybe [Text]) -- ^ "emails" - email addresses to add+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateEmailOption+instance A.FromJSON CreateEmailOption where+ parseJSON = A.withObject "CreateEmailOption" $ \o ->+ CreateEmailOption+ <$> (o .:? "emails")++-- | ToJSON CreateEmailOption+instance A.ToJSON CreateEmailOption where+ toJSON CreateEmailOption {..} =+ _omitNulls+ [ "emails" .= createEmailOptionEmails+ ]+++-- | Construct a value of type 'CreateEmailOption' (by applying it's required fields, if any)+mkCreateEmailOption+ :: CreateEmailOption+mkCreateEmailOption =+ CreateEmailOption+ { createEmailOptionEmails = Nothing+ }++-- ** CreateFileOptions+-- | CreateFileOptions+-- CreateFileOptions options for creating files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)+data CreateFileOptions = CreateFileOptions+ { createFileOptionsAuthor :: !(Maybe Identity) -- ^ "author"+ , createFileOptionsBranch :: !(Maybe Text) -- ^ "branch" - branch (optional) to base this file from. if not given, the default branch is used+ , createFileOptionsCommitter :: !(Maybe Identity) -- ^ "committer"+ , createFileOptionsContent :: !(Text) -- ^ /Required/ "content" - content must be base64 encoded+ , createFileOptionsDates :: !(Maybe CommitDateOptions) -- ^ "dates"+ , createFileOptionsMessage :: !(Maybe Text) -- ^ "message" - message (optional) for the commit of this file. if not supplied, a default message will be used+ , createFileOptionsNewBranch :: !(Maybe Text) -- ^ "new_branch" - new_branch (optional) will make a new branch from `branch` before creating the file+ , createFileOptionsSignoff :: !(Maybe Bool) -- ^ "signoff" - Add a Signed-off-by trailer by the committer at the end of the commit log message.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateFileOptions+instance A.FromJSON CreateFileOptions where+ parseJSON = A.withObject "CreateFileOptions" $ \o ->+ CreateFileOptions+ <$> (o .:? "author")+ <*> (o .:? "branch")+ <*> (o .:? "committer")+ <*> (o .: "content")+ <*> (o .:? "dates")+ <*> (o .:? "message")+ <*> (o .:? "new_branch")+ <*> (o .:? "signoff")++-- | ToJSON CreateFileOptions+instance A.ToJSON CreateFileOptions where+ toJSON CreateFileOptions {..} =+ _omitNulls+ [ "author" .= createFileOptionsAuthor+ , "branch" .= createFileOptionsBranch+ , "committer" .= createFileOptionsCommitter+ , "content" .= createFileOptionsContent+ , "dates" .= createFileOptionsDates+ , "message" .= createFileOptionsMessage+ , "new_branch" .= createFileOptionsNewBranch+ , "signoff" .= createFileOptionsSignoff+ ]+++-- | Construct a value of type 'CreateFileOptions' (by applying it's required fields, if any)+mkCreateFileOptions+ :: Text -- ^ 'createFileOptionsContent': content must be base64 encoded+ -> CreateFileOptions+mkCreateFileOptions createFileOptionsContent =+ CreateFileOptions+ { createFileOptionsAuthor = Nothing+ , createFileOptionsBranch = Nothing+ , createFileOptionsCommitter = Nothing+ , createFileOptionsContent+ , createFileOptionsDates = Nothing+ , createFileOptionsMessage = Nothing+ , createFileOptionsNewBranch = Nothing+ , createFileOptionsSignoff = Nothing+ }++-- ** CreateForkOption+-- | CreateForkOption+-- CreateForkOption options for creating a fork+data CreateForkOption = CreateForkOption+ { createForkOptionName :: !(Maybe Text) -- ^ "name" - name of the forked repository+ , createForkOptionOrganization :: !(Maybe Text) -- ^ "organization" - organization name, if forking into an organization+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateForkOption+instance A.FromJSON CreateForkOption where+ parseJSON = A.withObject "CreateForkOption" $ \o ->+ CreateForkOption+ <$> (o .:? "name")+ <*> (o .:? "organization")++-- | ToJSON CreateForkOption+instance A.ToJSON CreateForkOption where+ toJSON CreateForkOption {..} =+ _omitNulls+ [ "name" .= createForkOptionName+ , "organization" .= createForkOptionOrganization+ ]+++-- | Construct a value of type 'CreateForkOption' (by applying it's required fields, if any)+mkCreateForkOption+ :: CreateForkOption+mkCreateForkOption =+ CreateForkOption+ { createForkOptionName = Nothing+ , createForkOptionOrganization = Nothing+ }++-- ** CreateGPGKeyOption+-- | CreateGPGKeyOption+-- CreateGPGKeyOption options create user GPG key+data CreateGPGKeyOption = CreateGPGKeyOption+ { createGPGKeyOptionArmoredPublicKey :: !(Text) -- ^ /Required/ "armored_public_key" - An armored GPG key to add+ , createGPGKeyOptionArmoredSignature :: !(Maybe Text) -- ^ "armored_signature"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateGPGKeyOption+instance A.FromJSON CreateGPGKeyOption where+ parseJSON = A.withObject "CreateGPGKeyOption" $ \o ->+ CreateGPGKeyOption+ <$> (o .: "armored_public_key")+ <*> (o .:? "armored_signature")++-- | ToJSON CreateGPGKeyOption+instance A.ToJSON CreateGPGKeyOption where+ toJSON CreateGPGKeyOption {..} =+ _omitNulls+ [ "armored_public_key" .= createGPGKeyOptionArmoredPublicKey+ , "armored_signature" .= createGPGKeyOptionArmoredSignature+ ]+++-- | Construct a value of type 'CreateGPGKeyOption' (by applying it's required fields, if any)+mkCreateGPGKeyOption+ :: Text -- ^ 'createGPGKeyOptionArmoredPublicKey': An armored GPG key to add+ -> CreateGPGKeyOption+mkCreateGPGKeyOption createGPGKeyOptionArmoredPublicKey =+ CreateGPGKeyOption+ { createGPGKeyOptionArmoredPublicKey+ , createGPGKeyOptionArmoredSignature = Nothing+ }++-- ** CreateHookOption+-- | CreateHookOption+-- CreateHookOption options when create a hook+data CreateHookOption = CreateHookOption+ { createHookOptionActive :: !(Maybe Bool) -- ^ "active"+ , createHookOptionAuthorizationHeader :: !(Maybe Text) -- ^ "authorization_header"+ , createHookOptionBranchFilter :: !(Maybe Text) -- ^ "branch_filter"+ , createHookOptionConfig :: !((Map.Map String Text)) -- ^ /Required/ "config" - CreateHookOptionConfig has all config options in it required are \"content_type\" and \"url\" Required+ , createHookOptionEvents :: !(Maybe [Text]) -- ^ "events"+ , createHookOptionType :: !(E'Type) -- ^ /Required/ "type"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateHookOption+instance A.FromJSON CreateHookOption where+ parseJSON = A.withObject "CreateHookOption" $ \o ->+ CreateHookOption+ <$> (o .:? "active")+ <*> (o .:? "authorization_header")+ <*> (o .:? "branch_filter")+ <*> (o .: "config")+ <*> (o .:? "events")+ <*> (o .: "type")++-- | ToJSON CreateHookOption+instance A.ToJSON CreateHookOption where+ toJSON CreateHookOption {..} =+ _omitNulls+ [ "active" .= createHookOptionActive+ , "authorization_header" .= createHookOptionAuthorizationHeader+ , "branch_filter" .= createHookOptionBranchFilter+ , "config" .= createHookOptionConfig+ , "events" .= createHookOptionEvents+ , "type" .= createHookOptionType+ ]+++-- | Construct a value of type 'CreateHookOption' (by applying it's required fields, if any)+mkCreateHookOption+ :: (Map.Map String Text) -- ^ 'createHookOptionConfig': CreateHookOptionConfig has all config options in it required are \"content_type\" and \"url\" Required+ -> E'Type -- ^ 'createHookOptionType' + -> CreateHookOption+mkCreateHookOption createHookOptionConfig createHookOptionType =+ CreateHookOption+ { createHookOptionActive = Nothing+ , createHookOptionAuthorizationHeader = Nothing+ , createHookOptionBranchFilter = Nothing+ , createHookOptionConfig+ , createHookOptionEvents = Nothing+ , createHookOptionType+ }++-- ** CreateIssueCommentOption+-- | CreateIssueCommentOption+-- CreateIssueCommentOption options for creating a comment on an issue+data CreateIssueCommentOption = CreateIssueCommentOption+ { createIssueCommentOptionBody :: !(Text) -- ^ /Required/ "body"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateIssueCommentOption+instance A.FromJSON CreateIssueCommentOption where+ parseJSON = A.withObject "CreateIssueCommentOption" $ \o ->+ CreateIssueCommentOption+ <$> (o .: "body")++-- | ToJSON CreateIssueCommentOption+instance A.ToJSON CreateIssueCommentOption where+ toJSON CreateIssueCommentOption {..} =+ _omitNulls+ [ "body" .= createIssueCommentOptionBody+ ]+++-- | Construct a value of type 'CreateIssueCommentOption' (by applying it's required fields, if any)+mkCreateIssueCommentOption+ :: Text -- ^ 'createIssueCommentOptionBody' + -> CreateIssueCommentOption+mkCreateIssueCommentOption createIssueCommentOptionBody =+ CreateIssueCommentOption+ { createIssueCommentOptionBody+ }++-- ** CreateIssueOption+-- | CreateIssueOption+-- CreateIssueOption options to create one issue+data CreateIssueOption = CreateIssueOption+ { createIssueOptionAssignee :: !(Maybe Text) -- ^ "assignee" - deprecated+ , createIssueOptionAssignees :: !(Maybe [Text]) -- ^ "assignees"+ , createIssueOptionBody :: !(Maybe Text) -- ^ "body"+ , createIssueOptionClosed :: !(Maybe Bool) -- ^ "closed"+ , createIssueOptionDueDate :: !(Maybe DateTime) -- ^ "due_date"+ , createIssueOptionLabels :: !(Maybe [Integer]) -- ^ "labels" - list of label ids+ , createIssueOptionMilestone :: !(Maybe Integer) -- ^ "milestone" - milestone id+ , createIssueOptionRef :: !(Maybe Text) -- ^ "ref"+ , createIssueOptionTitle :: !(Text) -- ^ /Required/ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateIssueOption+instance A.FromJSON CreateIssueOption where+ parseJSON = A.withObject "CreateIssueOption" $ \o ->+ CreateIssueOption+ <$> (o .:? "assignee")+ <*> (o .:? "assignees")+ <*> (o .:? "body")+ <*> (o .:? "closed")+ <*> (o .:? "due_date")+ <*> (o .:? "labels")+ <*> (o .:? "milestone")+ <*> (o .:? "ref")+ <*> (o .: "title")++-- | ToJSON CreateIssueOption+instance A.ToJSON CreateIssueOption where+ toJSON CreateIssueOption {..} =+ _omitNulls+ [ "assignee" .= createIssueOptionAssignee+ , "assignees" .= createIssueOptionAssignees+ , "body" .= createIssueOptionBody+ , "closed" .= createIssueOptionClosed+ , "due_date" .= createIssueOptionDueDate+ , "labels" .= createIssueOptionLabels+ , "milestone" .= createIssueOptionMilestone+ , "ref" .= createIssueOptionRef+ , "title" .= createIssueOptionTitle+ ]+++-- | Construct a value of type 'CreateIssueOption' (by applying it's required fields, if any)+mkCreateIssueOption+ :: Text -- ^ 'createIssueOptionTitle' + -> CreateIssueOption+mkCreateIssueOption createIssueOptionTitle =+ CreateIssueOption+ { createIssueOptionAssignee = Nothing+ , createIssueOptionAssignees = Nothing+ , createIssueOptionBody = Nothing+ , createIssueOptionClosed = Nothing+ , createIssueOptionDueDate = Nothing+ , createIssueOptionLabels = Nothing+ , createIssueOptionMilestone = Nothing+ , createIssueOptionRef = Nothing+ , createIssueOptionTitle+ }++-- ** CreateKeyOption+-- | CreateKeyOption+-- CreateKeyOption options when creating a key+data CreateKeyOption = CreateKeyOption+ { createKeyOptionKey :: !(Text) -- ^ /Required/ "key" - An armored SSH key to add+ , createKeyOptionReadOnly :: !(Maybe Bool) -- ^ "read_only" - Describe if the key has only read access or read/write+ , createKeyOptionTitle :: !(Text) -- ^ /Required/ "title" - Title of the key to add+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateKeyOption+instance A.FromJSON CreateKeyOption where+ parseJSON = A.withObject "CreateKeyOption" $ \o ->+ CreateKeyOption+ <$> (o .: "key")+ <*> (o .:? "read_only")+ <*> (o .: "title")++-- | ToJSON CreateKeyOption+instance A.ToJSON CreateKeyOption where+ toJSON CreateKeyOption {..} =+ _omitNulls+ [ "key" .= createKeyOptionKey+ , "read_only" .= createKeyOptionReadOnly+ , "title" .= createKeyOptionTitle+ ]+++-- | Construct a value of type 'CreateKeyOption' (by applying it's required fields, if any)+mkCreateKeyOption+ :: Text -- ^ 'createKeyOptionKey': An armored SSH key to add+ -> Text -- ^ 'createKeyOptionTitle': Title of the key to add+ -> CreateKeyOption+mkCreateKeyOption createKeyOptionKey createKeyOptionTitle =+ CreateKeyOption+ { createKeyOptionKey+ , createKeyOptionReadOnly = Nothing+ , createKeyOptionTitle+ }++-- ** CreateLabelOption+-- | CreateLabelOption+-- CreateLabelOption options for creating a label+data CreateLabelOption = CreateLabelOption+ { createLabelOptionColor :: !(Text) -- ^ /Required/ "color"+ , createLabelOptionDescription :: !(Maybe Text) -- ^ "description"+ , createLabelOptionExclusive :: !(Maybe Bool) -- ^ "exclusive"+ , createLabelOptionName :: !(Text) -- ^ /Required/ "name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateLabelOption+instance A.FromJSON CreateLabelOption where+ parseJSON = A.withObject "CreateLabelOption" $ \o ->+ CreateLabelOption+ <$> (o .: "color")+ <*> (o .:? "description")+ <*> (o .:? "exclusive")+ <*> (o .: "name")++-- | ToJSON CreateLabelOption+instance A.ToJSON CreateLabelOption where+ toJSON CreateLabelOption {..} =+ _omitNulls+ [ "color" .= createLabelOptionColor+ , "description" .= createLabelOptionDescription+ , "exclusive" .= createLabelOptionExclusive+ , "name" .= createLabelOptionName+ ]+++-- | Construct a value of type 'CreateLabelOption' (by applying it's required fields, if any)+mkCreateLabelOption+ :: Text -- ^ 'createLabelOptionColor' + -> Text -- ^ 'createLabelOptionName' + -> CreateLabelOption+mkCreateLabelOption createLabelOptionColor createLabelOptionName =+ CreateLabelOption+ { createLabelOptionColor+ , createLabelOptionDescription = Nothing+ , createLabelOptionExclusive = Nothing+ , createLabelOptionName+ }++-- ** CreateMilestoneOption+-- | CreateMilestoneOption+-- CreateMilestoneOption options for creating a milestone+data CreateMilestoneOption = CreateMilestoneOption+ { createMilestoneOptionDescription :: !(Maybe Text) -- ^ "description"+ , createMilestoneOptionDueOn :: !(Maybe DateTime) -- ^ "due_on"+ , createMilestoneOptionState :: !(Maybe E'State) -- ^ "state"+ , createMilestoneOptionTitle :: !(Maybe Text) -- ^ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateMilestoneOption+instance A.FromJSON CreateMilestoneOption where+ parseJSON = A.withObject "CreateMilestoneOption" $ \o ->+ CreateMilestoneOption+ <$> (o .:? "description")+ <*> (o .:? "due_on")+ <*> (o .:? "state")+ <*> (o .:? "title")++-- | ToJSON CreateMilestoneOption+instance A.ToJSON CreateMilestoneOption where+ toJSON CreateMilestoneOption {..} =+ _omitNulls+ [ "description" .= createMilestoneOptionDescription+ , "due_on" .= createMilestoneOptionDueOn+ , "state" .= createMilestoneOptionState+ , "title" .= createMilestoneOptionTitle+ ]+++-- | Construct a value of type 'CreateMilestoneOption' (by applying it's required fields, if any)+mkCreateMilestoneOption+ :: CreateMilestoneOption+mkCreateMilestoneOption =+ CreateMilestoneOption+ { createMilestoneOptionDescription = Nothing+ , createMilestoneOptionDueOn = Nothing+ , createMilestoneOptionState = Nothing+ , createMilestoneOptionTitle = Nothing+ }++-- ** CreateOAuth2ApplicationOptions+-- | CreateOAuth2ApplicationOptions+-- CreateOAuth2ApplicationOptions holds options to create an oauth2 application+data CreateOAuth2ApplicationOptions = CreateOAuth2ApplicationOptions+ { createOAuth2ApplicationOptionsConfidentialClient :: !(Maybe Bool) -- ^ "confidential_client"+ , createOAuth2ApplicationOptionsName :: !(Maybe Text) -- ^ "name"+ , createOAuth2ApplicationOptionsRedirectUris :: !(Maybe [Text]) -- ^ "redirect_uris"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateOAuth2ApplicationOptions+instance A.FromJSON CreateOAuth2ApplicationOptions where+ parseJSON = A.withObject "CreateOAuth2ApplicationOptions" $ \o ->+ CreateOAuth2ApplicationOptions+ <$> (o .:? "confidential_client")+ <*> (o .:? "name")+ <*> (o .:? "redirect_uris")++-- | ToJSON CreateOAuth2ApplicationOptions+instance A.ToJSON CreateOAuth2ApplicationOptions where+ toJSON CreateOAuth2ApplicationOptions {..} =+ _omitNulls+ [ "confidential_client" .= createOAuth2ApplicationOptionsConfidentialClient+ , "name" .= createOAuth2ApplicationOptionsName+ , "redirect_uris" .= createOAuth2ApplicationOptionsRedirectUris+ ]+++-- | Construct a value of type 'CreateOAuth2ApplicationOptions' (by applying it's required fields, if any)+mkCreateOAuth2ApplicationOptions+ :: CreateOAuth2ApplicationOptions+mkCreateOAuth2ApplicationOptions =+ CreateOAuth2ApplicationOptions+ { createOAuth2ApplicationOptionsConfidentialClient = Nothing+ , createOAuth2ApplicationOptionsName = Nothing+ , createOAuth2ApplicationOptionsRedirectUris = Nothing+ }++-- ** CreateOrgOption+-- | CreateOrgOption+-- CreateOrgOption options for creating an organization+data CreateOrgOption = CreateOrgOption+ { createOrgOptionDescription :: !(Maybe Text) -- ^ "description"+ , createOrgOptionFullName :: !(Maybe Text) -- ^ "full_name"+ , createOrgOptionLocation :: !(Maybe Text) -- ^ "location"+ , createOrgOptionRepoAdminChangeTeamAccess :: !(Maybe Bool) -- ^ "repo_admin_change_team_access"+ , createOrgOptionUsername :: !(Text) -- ^ /Required/ "username"+ , createOrgOptionVisibility :: !(Maybe E'Visibility) -- ^ "visibility" - possible values are `public` (default), `limited` or `private`+ , createOrgOptionWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateOrgOption+instance A.FromJSON CreateOrgOption where+ parseJSON = A.withObject "CreateOrgOption" $ \o ->+ CreateOrgOption+ <$> (o .:? "description")+ <*> (o .:? "full_name")+ <*> (o .:? "location")+ <*> (o .:? "repo_admin_change_team_access")+ <*> (o .: "username")+ <*> (o .:? "visibility")+ <*> (o .:? "website")++-- | ToJSON CreateOrgOption+instance A.ToJSON CreateOrgOption where+ toJSON CreateOrgOption {..} =+ _omitNulls+ [ "description" .= createOrgOptionDescription+ , "full_name" .= createOrgOptionFullName+ , "location" .= createOrgOptionLocation+ , "repo_admin_change_team_access" .= createOrgOptionRepoAdminChangeTeamAccess+ , "username" .= createOrgOptionUsername+ , "visibility" .= createOrgOptionVisibility+ , "website" .= createOrgOptionWebsite+ ]+++-- | Construct a value of type 'CreateOrgOption' (by applying it's required fields, if any)+mkCreateOrgOption+ :: Text -- ^ 'createOrgOptionUsername' + -> CreateOrgOption+mkCreateOrgOption createOrgOptionUsername =+ CreateOrgOption+ { createOrgOptionDescription = Nothing+ , createOrgOptionFullName = Nothing+ , createOrgOptionLocation = Nothing+ , createOrgOptionRepoAdminChangeTeamAccess = Nothing+ , createOrgOptionUsername+ , createOrgOptionVisibility = Nothing+ , createOrgOptionWebsite = Nothing+ }++-- ** CreatePullRequestOption+-- | CreatePullRequestOption+-- CreatePullRequestOption options when creating a pull request+data CreatePullRequestOption = CreatePullRequestOption+ { createPullRequestOptionAssignee :: !(Maybe Text) -- ^ "assignee"+ , createPullRequestOptionAssignees :: !(Maybe [Text]) -- ^ "assignees"+ , createPullRequestOptionBase :: !(Maybe Text) -- ^ "base"+ , createPullRequestOptionBody :: !(Maybe Text) -- ^ "body"+ , createPullRequestOptionDueDate :: !(Maybe DateTime) -- ^ "due_date"+ , createPullRequestOptionHead :: !(Maybe Text) -- ^ "head"+ , createPullRequestOptionLabels :: !(Maybe [Integer]) -- ^ "labels"+ , createPullRequestOptionMilestone :: !(Maybe Integer) -- ^ "milestone"+ , createPullRequestOptionTitle :: !(Maybe Text) -- ^ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreatePullRequestOption+instance A.FromJSON CreatePullRequestOption where+ parseJSON = A.withObject "CreatePullRequestOption" $ \o ->+ CreatePullRequestOption+ <$> (o .:? "assignee")+ <*> (o .:? "assignees")+ <*> (o .:? "base")+ <*> (o .:? "body")+ <*> (o .:? "due_date")+ <*> (o .:? "head")+ <*> (o .:? "labels")+ <*> (o .:? "milestone")+ <*> (o .:? "title")++-- | ToJSON CreatePullRequestOption+instance A.ToJSON CreatePullRequestOption where+ toJSON CreatePullRequestOption {..} =+ _omitNulls+ [ "assignee" .= createPullRequestOptionAssignee+ , "assignees" .= createPullRequestOptionAssignees+ , "base" .= createPullRequestOptionBase+ , "body" .= createPullRequestOptionBody+ , "due_date" .= createPullRequestOptionDueDate+ , "head" .= createPullRequestOptionHead+ , "labels" .= createPullRequestOptionLabels+ , "milestone" .= createPullRequestOptionMilestone+ , "title" .= createPullRequestOptionTitle+ ]+++-- | Construct a value of type 'CreatePullRequestOption' (by applying it's required fields, if any)+mkCreatePullRequestOption+ :: CreatePullRequestOption+mkCreatePullRequestOption =+ CreatePullRequestOption+ { createPullRequestOptionAssignee = Nothing+ , createPullRequestOptionAssignees = Nothing+ , createPullRequestOptionBase = Nothing+ , createPullRequestOptionBody = Nothing+ , createPullRequestOptionDueDate = Nothing+ , createPullRequestOptionHead = Nothing+ , createPullRequestOptionLabels = Nothing+ , createPullRequestOptionMilestone = Nothing+ , createPullRequestOptionTitle = Nothing+ }++-- ** CreatePullReviewComment+-- | CreatePullReviewComment+-- CreatePullReviewComment represent a review comment for creation api+data CreatePullReviewComment = CreatePullReviewComment+ { createPullReviewCommentBody :: !(Maybe Text) -- ^ "body"+ , createPullReviewCommentNewPosition :: !(Maybe Integer) -- ^ "new_position" - if comment to new file line or 0+ , createPullReviewCommentOldPosition :: !(Maybe Integer) -- ^ "old_position" - if comment to old file line or 0+ , createPullReviewCommentPath :: !(Maybe Text) -- ^ "path" - the tree path+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreatePullReviewComment+instance A.FromJSON CreatePullReviewComment where+ parseJSON = A.withObject "CreatePullReviewComment" $ \o ->+ CreatePullReviewComment+ <$> (o .:? "body")+ <*> (o .:? "new_position")+ <*> (o .:? "old_position")+ <*> (o .:? "path")++-- | ToJSON CreatePullReviewComment+instance A.ToJSON CreatePullReviewComment where+ toJSON CreatePullReviewComment {..} =+ _omitNulls+ [ "body" .= createPullReviewCommentBody+ , "new_position" .= createPullReviewCommentNewPosition+ , "old_position" .= createPullReviewCommentOldPosition+ , "path" .= createPullReviewCommentPath+ ]+++-- | Construct a value of type 'CreatePullReviewComment' (by applying it's required fields, if any)+mkCreatePullReviewComment+ :: CreatePullReviewComment+mkCreatePullReviewComment =+ CreatePullReviewComment+ { createPullReviewCommentBody = Nothing+ , createPullReviewCommentNewPosition = Nothing+ , createPullReviewCommentOldPosition = Nothing+ , createPullReviewCommentPath = Nothing+ }++-- ** CreatePullReviewOptions+-- | CreatePullReviewOptions+-- CreatePullReviewOptions are options to create a pull review+data CreatePullReviewOptions = CreatePullReviewOptions+ { createPullReviewOptionsBody :: !(Maybe Text) -- ^ "body"+ , createPullReviewOptionsComments :: !(Maybe [CreatePullReviewComment]) -- ^ "comments"+ , createPullReviewOptionsCommitId :: !(Maybe Text) -- ^ "commit_id"+ , createPullReviewOptionsEvent :: !(Maybe Text) -- ^ "event" - ReviewStateType review state type+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreatePullReviewOptions+instance A.FromJSON CreatePullReviewOptions where+ parseJSON = A.withObject "CreatePullReviewOptions" $ \o ->+ CreatePullReviewOptions+ <$> (o .:? "body")+ <*> (o .:? "comments")+ <*> (o .:? "commit_id")+ <*> (o .:? "event")++-- | ToJSON CreatePullReviewOptions+instance A.ToJSON CreatePullReviewOptions where+ toJSON CreatePullReviewOptions {..} =+ _omitNulls+ [ "body" .= createPullReviewOptionsBody+ , "comments" .= createPullReviewOptionsComments+ , "commit_id" .= createPullReviewOptionsCommitId+ , "event" .= createPullReviewOptionsEvent+ ]+++-- | Construct a value of type 'CreatePullReviewOptions' (by applying it's required fields, if any)+mkCreatePullReviewOptions+ :: CreatePullReviewOptions+mkCreatePullReviewOptions =+ CreatePullReviewOptions+ { createPullReviewOptionsBody = Nothing+ , createPullReviewOptionsComments = Nothing+ , createPullReviewOptionsCommitId = Nothing+ , createPullReviewOptionsEvent = Nothing+ }++-- ** CreatePushMirrorOption+-- | CreatePushMirrorOption+-- CreatePushMirrorOption represents need information to create a push mirror of a repository.+-- +data CreatePushMirrorOption = CreatePushMirrorOption+ { createPushMirrorOptionInterval :: !(Maybe Text) -- ^ "interval"+ , createPushMirrorOptionRemoteAddress :: !(Maybe Text) -- ^ "remote_address"+ , createPushMirrorOptionRemotePassword :: !(Maybe Text) -- ^ "remote_password"+ , createPushMirrorOptionRemoteUsername :: !(Maybe Text) -- ^ "remote_username"+ , createPushMirrorOptionSyncOnCommit :: !(Maybe Bool) -- ^ "sync_on_commit"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreatePushMirrorOption+instance A.FromJSON CreatePushMirrorOption where+ parseJSON = A.withObject "CreatePushMirrorOption" $ \o ->+ CreatePushMirrorOption+ <$> (o .:? "interval")+ <*> (o .:? "remote_address")+ <*> (o .:? "remote_password")+ <*> (o .:? "remote_username")+ <*> (o .:? "sync_on_commit")++-- | ToJSON CreatePushMirrorOption+instance A.ToJSON CreatePushMirrorOption where+ toJSON CreatePushMirrorOption {..} =+ _omitNulls+ [ "interval" .= createPushMirrorOptionInterval+ , "remote_address" .= createPushMirrorOptionRemoteAddress+ , "remote_password" .= createPushMirrorOptionRemotePassword+ , "remote_username" .= createPushMirrorOptionRemoteUsername+ , "sync_on_commit" .= createPushMirrorOptionSyncOnCommit+ ]+++-- | Construct a value of type 'CreatePushMirrorOption' (by applying it's required fields, if any)+mkCreatePushMirrorOption+ :: CreatePushMirrorOption+mkCreatePushMirrorOption =+ CreatePushMirrorOption+ { createPushMirrorOptionInterval = Nothing+ , createPushMirrorOptionRemoteAddress = Nothing+ , createPushMirrorOptionRemotePassword = Nothing+ , createPushMirrorOptionRemoteUsername = Nothing+ , createPushMirrorOptionSyncOnCommit = Nothing+ }++-- ** CreateReleaseOption+-- | CreateReleaseOption+-- CreateReleaseOption options when creating a release+data CreateReleaseOption = CreateReleaseOption+ { createReleaseOptionBody :: !(Maybe Text) -- ^ "body"+ , createReleaseOptionDraft :: !(Maybe Bool) -- ^ "draft"+ , createReleaseOptionName :: !(Maybe Text) -- ^ "name"+ , createReleaseOptionPrerelease :: !(Maybe Bool) -- ^ "prerelease"+ , createReleaseOptionTagName :: !(Text) -- ^ /Required/ "tag_name"+ , createReleaseOptionTargetCommitish :: !(Maybe Text) -- ^ "target_commitish"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateReleaseOption+instance A.FromJSON CreateReleaseOption where+ parseJSON = A.withObject "CreateReleaseOption" $ \o ->+ CreateReleaseOption+ <$> (o .:? "body")+ <*> (o .:? "draft")+ <*> (o .:? "name")+ <*> (o .:? "prerelease")+ <*> (o .: "tag_name")+ <*> (o .:? "target_commitish")++-- | ToJSON CreateReleaseOption+instance A.ToJSON CreateReleaseOption where+ toJSON CreateReleaseOption {..} =+ _omitNulls+ [ "body" .= createReleaseOptionBody+ , "draft" .= createReleaseOptionDraft+ , "name" .= createReleaseOptionName+ , "prerelease" .= createReleaseOptionPrerelease+ , "tag_name" .= createReleaseOptionTagName+ , "target_commitish" .= createReleaseOptionTargetCommitish+ ]+++-- | Construct a value of type 'CreateReleaseOption' (by applying it's required fields, if any)+mkCreateReleaseOption+ :: Text -- ^ 'createReleaseOptionTagName' + -> CreateReleaseOption+mkCreateReleaseOption createReleaseOptionTagName =+ CreateReleaseOption+ { createReleaseOptionBody = Nothing+ , createReleaseOptionDraft = Nothing+ , createReleaseOptionName = Nothing+ , createReleaseOptionPrerelease = Nothing+ , createReleaseOptionTagName+ , createReleaseOptionTargetCommitish = Nothing+ }++-- ** CreateRepoOption+-- | CreateRepoOption+-- CreateRepoOption options when creating repository+data CreateRepoOption = CreateRepoOption+ { createRepoOptionAutoInit :: !(Maybe Bool) -- ^ "auto_init" - Whether the repository should be auto-initialized?+ , createRepoOptionDefaultBranch :: !(Maybe Text) -- ^ "default_branch" - DefaultBranch of the repository (used when initializes and in template)+ , createRepoOptionDescription :: !(Maybe Text) -- ^ "description" - Description of the repository to create+ , createRepoOptionGitignores :: !(Maybe Text) -- ^ "gitignores" - Gitignores to use+ , createRepoOptionIssueLabels :: !(Maybe Text) -- ^ "issue_labels" - Label-Set to use+ , createRepoOptionLicense :: !(Maybe Text) -- ^ "license" - License to use+ , createRepoOptionName :: !(Text) -- ^ /Required/ "name" - Name of the repository to create+ , createRepoOptionPrivate :: !(Maybe Bool) -- ^ "private" - Whether the repository is private+ , createRepoOptionReadme :: !(Maybe Text) -- ^ "readme" - Readme of the repository to create+ , createRepoOptionTemplate :: !(Maybe Bool) -- ^ "template" - Whether the repository is template+ , createRepoOptionTrustModel :: !(Maybe E'TrustModel) -- ^ "trust_model" - TrustModel of the repository+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateRepoOption+instance A.FromJSON CreateRepoOption where+ parseJSON = A.withObject "CreateRepoOption" $ \o ->+ CreateRepoOption+ <$> (o .:? "auto_init")+ <*> (o .:? "default_branch")+ <*> (o .:? "description")+ <*> (o .:? "gitignores")+ <*> (o .:? "issue_labels")+ <*> (o .:? "license")+ <*> (o .: "name")+ <*> (o .:? "private")+ <*> (o .:? "readme")+ <*> (o .:? "template")+ <*> (o .:? "trust_model")++-- | ToJSON CreateRepoOption+instance A.ToJSON CreateRepoOption where+ toJSON CreateRepoOption {..} =+ _omitNulls+ [ "auto_init" .= createRepoOptionAutoInit+ , "default_branch" .= createRepoOptionDefaultBranch+ , "description" .= createRepoOptionDescription+ , "gitignores" .= createRepoOptionGitignores+ , "issue_labels" .= createRepoOptionIssueLabels+ , "license" .= createRepoOptionLicense+ , "name" .= createRepoOptionName+ , "private" .= createRepoOptionPrivate+ , "readme" .= createRepoOptionReadme+ , "template" .= createRepoOptionTemplate+ , "trust_model" .= createRepoOptionTrustModel+ ]+++-- | Construct a value of type 'CreateRepoOption' (by applying it's required fields, if any)+mkCreateRepoOption+ :: Text -- ^ 'createRepoOptionName': Name of the repository to create+ -> CreateRepoOption+mkCreateRepoOption createRepoOptionName =+ CreateRepoOption+ { createRepoOptionAutoInit = Nothing+ , createRepoOptionDefaultBranch = Nothing+ , createRepoOptionDescription = Nothing+ , createRepoOptionGitignores = Nothing+ , createRepoOptionIssueLabels = Nothing+ , createRepoOptionLicense = Nothing+ , createRepoOptionName+ , createRepoOptionPrivate = Nothing+ , createRepoOptionReadme = Nothing+ , createRepoOptionTemplate = Nothing+ , createRepoOptionTrustModel = Nothing+ }++-- ** CreateStatusOption+-- | CreateStatusOption+-- CreateStatusOption holds the information needed to create a new CommitStatus for a Commit+data CreateStatusOption = CreateStatusOption+ { createStatusOptionContext :: !(Maybe Text) -- ^ "context"+ , createStatusOptionDescription :: !(Maybe Text) -- ^ "description"+ , createStatusOptionState :: !(Maybe Text) -- ^ "state" - CommitStatusState holds the state of a CommitStatus It can be \"pending\", \"success\", \"error\", \"failure\", and \"warning\"+ , createStatusOptionTargetUrl :: !(Maybe Text) -- ^ "target_url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateStatusOption+instance A.FromJSON CreateStatusOption where+ parseJSON = A.withObject "CreateStatusOption" $ \o ->+ CreateStatusOption+ <$> (o .:? "context")+ <*> (o .:? "description")+ <*> (o .:? "state")+ <*> (o .:? "target_url")++-- | ToJSON CreateStatusOption+instance A.ToJSON CreateStatusOption where+ toJSON CreateStatusOption {..} =+ _omitNulls+ [ "context" .= createStatusOptionContext+ , "description" .= createStatusOptionDescription+ , "state" .= createStatusOptionState+ , "target_url" .= createStatusOptionTargetUrl+ ]+++-- | Construct a value of type 'CreateStatusOption' (by applying it's required fields, if any)+mkCreateStatusOption+ :: CreateStatusOption+mkCreateStatusOption =+ CreateStatusOption+ { createStatusOptionContext = Nothing+ , createStatusOptionDescription = Nothing+ , createStatusOptionState = Nothing+ , createStatusOptionTargetUrl = Nothing+ }++-- ** CreateTagOption+-- | CreateTagOption+-- CreateTagOption options when creating a tag+data CreateTagOption = CreateTagOption+ { createTagOptionMessage :: !(Maybe Text) -- ^ "message"+ , createTagOptionTagName :: !(Text) -- ^ /Required/ "tag_name"+ , createTagOptionTarget :: !(Maybe Text) -- ^ "target"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateTagOption+instance A.FromJSON CreateTagOption where+ parseJSON = A.withObject "CreateTagOption" $ \o ->+ CreateTagOption+ <$> (o .:? "message")+ <*> (o .: "tag_name")+ <*> (o .:? "target")++-- | ToJSON CreateTagOption+instance A.ToJSON CreateTagOption where+ toJSON CreateTagOption {..} =+ _omitNulls+ [ "message" .= createTagOptionMessage+ , "tag_name" .= createTagOptionTagName+ , "target" .= createTagOptionTarget+ ]+++-- | Construct a value of type 'CreateTagOption' (by applying it's required fields, if any)+mkCreateTagOption+ :: Text -- ^ 'createTagOptionTagName' + -> CreateTagOption+mkCreateTagOption createTagOptionTagName =+ CreateTagOption+ { createTagOptionMessage = Nothing+ , createTagOptionTagName+ , createTagOptionTarget = Nothing+ }++-- ** CreateTeamOption+-- | CreateTeamOption+-- CreateTeamOption options for creating a team+data CreateTeamOption = CreateTeamOption+ { createTeamOptionCanCreateOrgRepo :: !(Maybe Bool) -- ^ "can_create_org_repo"+ , createTeamOptionDescription :: !(Maybe Text) -- ^ "description"+ , createTeamOptionIncludesAllRepositories :: !(Maybe Bool) -- ^ "includes_all_repositories"+ , createTeamOptionName :: !(Text) -- ^ /Required/ "name"+ , createTeamOptionPermission :: !(Maybe E'Permission) -- ^ "permission"+ , createTeamOptionUnits :: !(Maybe [Text]) -- ^ "units"+ , createTeamOptionUnitsMap :: !(Maybe (Map.Map String Text)) -- ^ "units_map"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateTeamOption+instance A.FromJSON CreateTeamOption where+ parseJSON = A.withObject "CreateTeamOption" $ \o ->+ CreateTeamOption+ <$> (o .:? "can_create_org_repo")+ <*> (o .:? "description")+ <*> (o .:? "includes_all_repositories")+ <*> (o .: "name")+ <*> (o .:? "permission")+ <*> (o .:? "units")+ <*> (o .:? "units_map")++-- | ToJSON CreateTeamOption+instance A.ToJSON CreateTeamOption where+ toJSON CreateTeamOption {..} =+ _omitNulls+ [ "can_create_org_repo" .= createTeamOptionCanCreateOrgRepo+ , "description" .= createTeamOptionDescription+ , "includes_all_repositories" .= createTeamOptionIncludesAllRepositories+ , "name" .= createTeamOptionName+ , "permission" .= createTeamOptionPermission+ , "units" .= createTeamOptionUnits+ , "units_map" .= createTeamOptionUnitsMap+ ]+++-- | Construct a value of type 'CreateTeamOption' (by applying it's required fields, if any)+mkCreateTeamOption+ :: Text -- ^ 'createTeamOptionName' + -> CreateTeamOption+mkCreateTeamOption createTeamOptionName =+ CreateTeamOption+ { createTeamOptionCanCreateOrgRepo = Nothing+ , createTeamOptionDescription = Nothing+ , createTeamOptionIncludesAllRepositories = Nothing+ , createTeamOptionName+ , createTeamOptionPermission = Nothing+ , createTeamOptionUnits = Nothing+ , createTeamOptionUnitsMap = Nothing+ }++-- ** CreateUserOption+-- | CreateUserOption+-- CreateUserOption create user options+data CreateUserOption = CreateUserOption+ { createUserOptionCreatedAt :: !(Maybe DateTime) -- ^ "created_at" - For explicitly setting the user creation timestamp. Useful when users are migrated from other systems. When omitted, the user's creation timestamp will be set to \"now\".+ , createUserOptionEmail :: !(Text) -- ^ /Required/ "email"+ , createUserOptionFullName :: !(Maybe Text) -- ^ "full_name"+ , createUserOptionLoginName :: !(Maybe Text) -- ^ "login_name"+ , createUserOptionMustChangePassword :: !(Maybe Bool) -- ^ "must_change_password"+ , createUserOptionPassword :: !(Text) -- ^ /Required/ "password"+ , createUserOptionRestricted :: !(Maybe Bool) -- ^ "restricted"+ , createUserOptionSendNotify :: !(Maybe Bool) -- ^ "send_notify"+ , createUserOptionSourceId :: !(Maybe Integer) -- ^ "source_id"+ , createUserOptionUsername :: !(Text) -- ^ /Required/ "username"+ , createUserOptionVisibility :: !(Maybe Text) -- ^ "visibility"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateUserOption+instance A.FromJSON CreateUserOption where+ parseJSON = A.withObject "CreateUserOption" $ \o ->+ CreateUserOption+ <$> (o .:? "created_at")+ <*> (o .: "email")+ <*> (o .:? "full_name")+ <*> (o .:? "login_name")+ <*> (o .:? "must_change_password")+ <*> (o .: "password")+ <*> (o .:? "restricted")+ <*> (o .:? "send_notify")+ <*> (o .:? "source_id")+ <*> (o .: "username")+ <*> (o .:? "visibility")++-- | ToJSON CreateUserOption+instance A.ToJSON CreateUserOption where+ toJSON CreateUserOption {..} =+ _omitNulls+ [ "created_at" .= createUserOptionCreatedAt+ , "email" .= createUserOptionEmail+ , "full_name" .= createUserOptionFullName+ , "login_name" .= createUserOptionLoginName+ , "must_change_password" .= createUserOptionMustChangePassword+ , "password" .= createUserOptionPassword+ , "restricted" .= createUserOptionRestricted+ , "send_notify" .= createUserOptionSendNotify+ , "source_id" .= createUserOptionSourceId+ , "username" .= createUserOptionUsername+ , "visibility" .= createUserOptionVisibility+ ]+++-- | Construct a value of type 'CreateUserOption' (by applying it's required fields, if any)+mkCreateUserOption+ :: Text -- ^ 'createUserOptionEmail' + -> Text -- ^ 'createUserOptionPassword' + -> Text -- ^ 'createUserOptionUsername' + -> CreateUserOption+mkCreateUserOption createUserOptionEmail createUserOptionPassword createUserOptionUsername =+ CreateUserOption+ { createUserOptionCreatedAt = Nothing+ , createUserOptionEmail+ , createUserOptionFullName = Nothing+ , createUserOptionLoginName = Nothing+ , createUserOptionMustChangePassword = Nothing+ , createUserOptionPassword+ , createUserOptionRestricted = Nothing+ , createUserOptionSendNotify = Nothing+ , createUserOptionSourceId = Nothing+ , createUserOptionUsername+ , createUserOptionVisibility = Nothing+ }++-- ** CreateWikiPageOptions+-- | CreateWikiPageOptions+-- CreateWikiPageOptions form for creating wiki+data CreateWikiPageOptions = CreateWikiPageOptions+ { createWikiPageOptionsContentBase64 :: !(Maybe Text) -- ^ "content_base64" - content must be base64 encoded+ , createWikiPageOptionsMessage :: !(Maybe Text) -- ^ "message" - optional commit message summarizing the change+ , createWikiPageOptionsTitle :: !(Maybe Text) -- ^ "title" - page title. leave empty to keep unchanged+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON CreateWikiPageOptions+instance A.FromJSON CreateWikiPageOptions where+ parseJSON = A.withObject "CreateWikiPageOptions" $ \o ->+ CreateWikiPageOptions+ <$> (o .:? "content_base64")+ <*> (o .:? "message")+ <*> (o .:? "title")++-- | ToJSON CreateWikiPageOptions+instance A.ToJSON CreateWikiPageOptions where+ toJSON CreateWikiPageOptions {..} =+ _omitNulls+ [ "content_base64" .= createWikiPageOptionsContentBase64+ , "message" .= createWikiPageOptionsMessage+ , "title" .= createWikiPageOptionsTitle+ ]+++-- | Construct a value of type 'CreateWikiPageOptions' (by applying it's required fields, if any)+mkCreateWikiPageOptions+ :: CreateWikiPageOptions+mkCreateWikiPageOptions =+ CreateWikiPageOptions+ { createWikiPageOptionsContentBase64 = Nothing+ , createWikiPageOptionsMessage = Nothing+ , createWikiPageOptionsTitle = Nothing+ }++-- ** Cron+-- | Cron+-- Cron represents a Cron task+data Cron = Cron+ { cronExecTimes :: !(Maybe Integer) -- ^ "exec_times"+ , cronName :: !(Maybe Text) -- ^ "name"+ , cronNext :: !(Maybe DateTime) -- ^ "next"+ , cronPrev :: !(Maybe DateTime) -- ^ "prev"+ , cronSchedule :: !(Maybe Text) -- ^ "schedule"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Cron+instance A.FromJSON Cron where+ parseJSON = A.withObject "Cron" $ \o ->+ Cron+ <$> (o .:? "exec_times")+ <*> (o .:? "name")+ <*> (o .:? "next")+ <*> (o .:? "prev")+ <*> (o .:? "schedule")++-- | ToJSON Cron+instance A.ToJSON Cron where+ toJSON Cron {..} =+ _omitNulls+ [ "exec_times" .= cronExecTimes+ , "name" .= cronName+ , "next" .= cronNext+ , "prev" .= cronPrev+ , "schedule" .= cronSchedule+ ]+++-- | Construct a value of type 'Cron' (by applying it's required fields, if any)+mkCron+ :: Cron+mkCron =+ Cron+ { cronExecTimes = Nothing+ , cronName = Nothing+ , cronNext = Nothing+ , cronPrev = Nothing+ , cronSchedule = Nothing+ }++-- ** DeleteEmailOption+-- | DeleteEmailOption+-- DeleteEmailOption options when deleting email addresses+data DeleteEmailOption = DeleteEmailOption+ { deleteEmailOptionEmails :: !(Maybe [Text]) -- ^ "emails" - email addresses to delete+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON DeleteEmailOption+instance A.FromJSON DeleteEmailOption where+ parseJSON = A.withObject "DeleteEmailOption" $ \o ->+ DeleteEmailOption+ <$> (o .:? "emails")++-- | ToJSON DeleteEmailOption+instance A.ToJSON DeleteEmailOption where+ toJSON DeleteEmailOption {..} =+ _omitNulls+ [ "emails" .= deleteEmailOptionEmails+ ]+++-- | Construct a value of type 'DeleteEmailOption' (by applying it's required fields, if any)+mkDeleteEmailOption+ :: DeleteEmailOption+mkDeleteEmailOption =+ DeleteEmailOption+ { deleteEmailOptionEmails = Nothing+ }++-- ** DeleteFileOptions+-- | DeleteFileOptions+-- DeleteFileOptions options for deleting files (used for other File structs below) Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)+data DeleteFileOptions = DeleteFileOptions+ { deleteFileOptionsAuthor :: !(Maybe Identity) -- ^ "author"+ , deleteFileOptionsBranch :: !(Maybe Text) -- ^ "branch" - branch (optional) to base this file from. if not given, the default branch is used+ , deleteFileOptionsCommitter :: !(Maybe Identity) -- ^ "committer"+ , deleteFileOptionsDates :: !(Maybe CommitDateOptions) -- ^ "dates"+ , deleteFileOptionsMessage :: !(Maybe Text) -- ^ "message" - message (optional) for the commit of this file. if not supplied, a default message will be used+ , deleteFileOptionsNewBranch :: !(Maybe Text) -- ^ "new_branch" - new_branch (optional) will make a new branch from `branch` before creating the file+ , deleteFileOptionsSha :: !(Text) -- ^ /Required/ "sha" - sha is the SHA for the file that already exists+ , deleteFileOptionsSignoff :: !(Maybe Bool) -- ^ "signoff" - Add a Signed-off-by trailer by the committer at the end of the commit log message.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON DeleteFileOptions+instance A.FromJSON DeleteFileOptions where+ parseJSON = A.withObject "DeleteFileOptions" $ \o ->+ DeleteFileOptions+ <$> (o .:? "author")+ <*> (o .:? "branch")+ <*> (o .:? "committer")+ <*> (o .:? "dates")+ <*> (o .:? "message")+ <*> (o .:? "new_branch")+ <*> (o .: "sha")+ <*> (o .:? "signoff")++-- | ToJSON DeleteFileOptions+instance A.ToJSON DeleteFileOptions where+ toJSON DeleteFileOptions {..} =+ _omitNulls+ [ "author" .= deleteFileOptionsAuthor+ , "branch" .= deleteFileOptionsBranch+ , "committer" .= deleteFileOptionsCommitter+ , "dates" .= deleteFileOptionsDates+ , "message" .= deleteFileOptionsMessage+ , "new_branch" .= deleteFileOptionsNewBranch+ , "sha" .= deleteFileOptionsSha+ , "signoff" .= deleteFileOptionsSignoff+ ]+++-- | Construct a value of type 'DeleteFileOptions' (by applying it's required fields, if any)+mkDeleteFileOptions+ :: Text -- ^ 'deleteFileOptionsSha': sha is the SHA for the file that already exists+ -> DeleteFileOptions+mkDeleteFileOptions deleteFileOptionsSha =+ DeleteFileOptions+ { deleteFileOptionsAuthor = Nothing+ , deleteFileOptionsBranch = Nothing+ , deleteFileOptionsCommitter = Nothing+ , deleteFileOptionsDates = Nothing+ , deleteFileOptionsMessage = Nothing+ , deleteFileOptionsNewBranch = Nothing+ , deleteFileOptionsSha+ , deleteFileOptionsSignoff = Nothing+ }++-- ** DeployKey+-- | DeployKey+-- DeployKey a deploy key+data DeployKey = DeployKey+ { deployKeyCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , deployKeyFingerprint :: !(Maybe Text) -- ^ "fingerprint"+ , deployKeyId :: !(Maybe Integer) -- ^ "id"+ , deployKeyKey :: !(Maybe Text) -- ^ "key"+ , deployKeyKeyId :: !(Maybe Integer) -- ^ "key_id"+ , deployKeyReadOnly :: !(Maybe Bool) -- ^ "read_only"+ , deployKeyRepository :: !(Maybe Repository) -- ^ "repository"+ , deployKeyTitle :: !(Maybe Text) -- ^ "title"+ , deployKeyUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON DeployKey+instance A.FromJSON DeployKey where+ parseJSON = A.withObject "DeployKey" $ \o ->+ DeployKey+ <$> (o .:? "created_at")+ <*> (o .:? "fingerprint")+ <*> (o .:? "id")+ <*> (o .:? "key")+ <*> (o .:? "key_id")+ <*> (o .:? "read_only")+ <*> (o .:? "repository")+ <*> (o .:? "title")+ <*> (o .:? "url")++-- | ToJSON DeployKey+instance A.ToJSON DeployKey where+ toJSON DeployKey {..} =+ _omitNulls+ [ "created_at" .= deployKeyCreatedAt+ , "fingerprint" .= deployKeyFingerprint+ , "id" .= deployKeyId+ , "key" .= deployKeyKey+ , "key_id" .= deployKeyKeyId+ , "read_only" .= deployKeyReadOnly+ , "repository" .= deployKeyRepository+ , "title" .= deployKeyTitle+ , "url" .= deployKeyUrl+ ]+++-- | Construct a value of type 'DeployKey' (by applying it's required fields, if any)+mkDeployKey+ :: DeployKey+mkDeployKey =+ DeployKey+ { deployKeyCreatedAt = Nothing+ , deployKeyFingerprint = Nothing+ , deployKeyId = Nothing+ , deployKeyKey = Nothing+ , deployKeyKeyId = Nothing+ , deployKeyReadOnly = Nothing+ , deployKeyRepository = Nothing+ , deployKeyTitle = Nothing+ , deployKeyUrl = Nothing+ }++-- ** DismissPullReviewOptions+-- | DismissPullReviewOptions+-- DismissPullReviewOptions are options to dismiss a pull review+data DismissPullReviewOptions = DismissPullReviewOptions+ { dismissPullReviewOptionsMessage :: !(Maybe Text) -- ^ "message"+ , dismissPullReviewOptionsPriors :: !(Maybe Bool) -- ^ "priors"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON DismissPullReviewOptions+instance A.FromJSON DismissPullReviewOptions where+ parseJSON = A.withObject "DismissPullReviewOptions" $ \o ->+ DismissPullReviewOptions+ <$> (o .:? "message")+ <*> (o .:? "priors")++-- | ToJSON DismissPullReviewOptions+instance A.ToJSON DismissPullReviewOptions where+ toJSON DismissPullReviewOptions {..} =+ _omitNulls+ [ "message" .= dismissPullReviewOptionsMessage+ , "priors" .= dismissPullReviewOptionsPriors+ ]+++-- | Construct a value of type 'DismissPullReviewOptions' (by applying it's required fields, if any)+mkDismissPullReviewOptions+ :: DismissPullReviewOptions+mkDismissPullReviewOptions =+ DismissPullReviewOptions+ { dismissPullReviewOptionsMessage = Nothing+ , dismissPullReviewOptionsPriors = Nothing+ }++-- ** EditAttachmentOptions+-- | EditAttachmentOptions+-- EditAttachmentOptions options for editing attachments+data EditAttachmentOptions = EditAttachmentOptions+ { editAttachmentOptionsName :: !(Maybe Text) -- ^ "name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditAttachmentOptions+instance A.FromJSON EditAttachmentOptions where+ parseJSON = A.withObject "EditAttachmentOptions" $ \o ->+ EditAttachmentOptions+ <$> (o .:? "name")++-- | ToJSON EditAttachmentOptions+instance A.ToJSON EditAttachmentOptions where+ toJSON EditAttachmentOptions {..} =+ _omitNulls+ [ "name" .= editAttachmentOptionsName+ ]+++-- | Construct a value of type 'EditAttachmentOptions' (by applying it's required fields, if any)+mkEditAttachmentOptions+ :: EditAttachmentOptions+mkEditAttachmentOptions =+ EditAttachmentOptions+ { editAttachmentOptionsName = Nothing+ }++-- ** EditBranchProtectionOption+-- | EditBranchProtectionOption+-- EditBranchProtectionOption options for editing a branch protection+data EditBranchProtectionOption = EditBranchProtectionOption+ { editBranchProtectionOptionApprovalsWhitelistTeams :: !(Maybe [Text]) -- ^ "approvals_whitelist_teams"+ , editBranchProtectionOptionApprovalsWhitelistUsername :: !(Maybe [Text]) -- ^ "approvals_whitelist_username"+ , editBranchProtectionOptionBlockOnOfficialReviewRequests :: !(Maybe Bool) -- ^ "block_on_official_review_requests"+ , editBranchProtectionOptionBlockOnOutdatedBranch :: !(Maybe Bool) -- ^ "block_on_outdated_branch"+ , editBranchProtectionOptionBlockOnRejectedReviews :: !(Maybe Bool) -- ^ "block_on_rejected_reviews"+ , editBranchProtectionOptionDismissStaleApprovals :: !(Maybe Bool) -- ^ "dismiss_stale_approvals"+ , editBranchProtectionOptionEnableApprovalsWhitelist :: !(Maybe Bool) -- ^ "enable_approvals_whitelist"+ , editBranchProtectionOptionEnableMergeWhitelist :: !(Maybe Bool) -- ^ "enable_merge_whitelist"+ , editBranchProtectionOptionEnablePush :: !(Maybe Bool) -- ^ "enable_push"+ , editBranchProtectionOptionEnablePushWhitelist :: !(Maybe Bool) -- ^ "enable_push_whitelist"+ , editBranchProtectionOptionEnableStatusCheck :: !(Maybe Bool) -- ^ "enable_status_check"+ , editBranchProtectionOptionMergeWhitelistTeams :: !(Maybe [Text]) -- ^ "merge_whitelist_teams"+ , editBranchProtectionOptionMergeWhitelistUsernames :: !(Maybe [Text]) -- ^ "merge_whitelist_usernames"+ , editBranchProtectionOptionProtectedFilePatterns :: !(Maybe Text) -- ^ "protected_file_patterns"+ , editBranchProtectionOptionPushWhitelistDeployKeys :: !(Maybe Bool) -- ^ "push_whitelist_deploy_keys"+ , editBranchProtectionOptionPushWhitelistTeams :: !(Maybe [Text]) -- ^ "push_whitelist_teams"+ , editBranchProtectionOptionPushWhitelistUsernames :: !(Maybe [Text]) -- ^ "push_whitelist_usernames"+ , editBranchProtectionOptionRequireSignedCommits :: !(Maybe Bool) -- ^ "require_signed_commits"+ , editBranchProtectionOptionRequiredApprovals :: !(Maybe Integer) -- ^ "required_approvals"+ , editBranchProtectionOptionStatusCheckContexts :: !(Maybe [Text]) -- ^ "status_check_contexts"+ , editBranchProtectionOptionUnprotectedFilePatterns :: !(Maybe Text) -- ^ "unprotected_file_patterns"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditBranchProtectionOption+instance A.FromJSON EditBranchProtectionOption where+ parseJSON = A.withObject "EditBranchProtectionOption" $ \o ->+ EditBranchProtectionOption+ <$> (o .:? "approvals_whitelist_teams")+ <*> (o .:? "approvals_whitelist_username")+ <*> (o .:? "block_on_official_review_requests")+ <*> (o .:? "block_on_outdated_branch")+ <*> (o .:? "block_on_rejected_reviews")+ <*> (o .:? "dismiss_stale_approvals")+ <*> (o .:? "enable_approvals_whitelist")+ <*> (o .:? "enable_merge_whitelist")+ <*> (o .:? "enable_push")+ <*> (o .:? "enable_push_whitelist")+ <*> (o .:? "enable_status_check")+ <*> (o .:? "merge_whitelist_teams")+ <*> (o .:? "merge_whitelist_usernames")+ <*> (o .:? "protected_file_patterns")+ <*> (o .:? "push_whitelist_deploy_keys")+ <*> (o .:? "push_whitelist_teams")+ <*> (o .:? "push_whitelist_usernames")+ <*> (o .:? "require_signed_commits")+ <*> (o .:? "required_approvals")+ <*> (o .:? "status_check_contexts")+ <*> (o .:? "unprotected_file_patterns")++-- | ToJSON EditBranchProtectionOption+instance A.ToJSON EditBranchProtectionOption where+ toJSON EditBranchProtectionOption {..} =+ _omitNulls+ [ "approvals_whitelist_teams" .= editBranchProtectionOptionApprovalsWhitelistTeams+ , "approvals_whitelist_username" .= editBranchProtectionOptionApprovalsWhitelistUsername+ , "block_on_official_review_requests" .= editBranchProtectionOptionBlockOnOfficialReviewRequests+ , "block_on_outdated_branch" .= editBranchProtectionOptionBlockOnOutdatedBranch+ , "block_on_rejected_reviews" .= editBranchProtectionOptionBlockOnRejectedReviews+ , "dismiss_stale_approvals" .= editBranchProtectionOptionDismissStaleApprovals+ , "enable_approvals_whitelist" .= editBranchProtectionOptionEnableApprovalsWhitelist+ , "enable_merge_whitelist" .= editBranchProtectionOptionEnableMergeWhitelist+ , "enable_push" .= editBranchProtectionOptionEnablePush+ , "enable_push_whitelist" .= editBranchProtectionOptionEnablePushWhitelist+ , "enable_status_check" .= editBranchProtectionOptionEnableStatusCheck+ , "merge_whitelist_teams" .= editBranchProtectionOptionMergeWhitelistTeams+ , "merge_whitelist_usernames" .= editBranchProtectionOptionMergeWhitelistUsernames+ , "protected_file_patterns" .= editBranchProtectionOptionProtectedFilePatterns+ , "push_whitelist_deploy_keys" .= editBranchProtectionOptionPushWhitelistDeployKeys+ , "push_whitelist_teams" .= editBranchProtectionOptionPushWhitelistTeams+ , "push_whitelist_usernames" .= editBranchProtectionOptionPushWhitelistUsernames+ , "require_signed_commits" .= editBranchProtectionOptionRequireSignedCommits+ , "required_approvals" .= editBranchProtectionOptionRequiredApprovals+ , "status_check_contexts" .= editBranchProtectionOptionStatusCheckContexts+ , "unprotected_file_patterns" .= editBranchProtectionOptionUnprotectedFilePatterns+ ]+++-- | Construct a value of type 'EditBranchProtectionOption' (by applying it's required fields, if any)+mkEditBranchProtectionOption+ :: EditBranchProtectionOption+mkEditBranchProtectionOption =+ EditBranchProtectionOption+ { editBranchProtectionOptionApprovalsWhitelistTeams = Nothing+ , editBranchProtectionOptionApprovalsWhitelistUsername = Nothing+ , editBranchProtectionOptionBlockOnOfficialReviewRequests = Nothing+ , editBranchProtectionOptionBlockOnOutdatedBranch = Nothing+ , editBranchProtectionOptionBlockOnRejectedReviews = Nothing+ , editBranchProtectionOptionDismissStaleApprovals = Nothing+ , editBranchProtectionOptionEnableApprovalsWhitelist = Nothing+ , editBranchProtectionOptionEnableMergeWhitelist = Nothing+ , editBranchProtectionOptionEnablePush = Nothing+ , editBranchProtectionOptionEnablePushWhitelist = Nothing+ , editBranchProtectionOptionEnableStatusCheck = Nothing+ , editBranchProtectionOptionMergeWhitelistTeams = Nothing+ , editBranchProtectionOptionMergeWhitelistUsernames = Nothing+ , editBranchProtectionOptionProtectedFilePatterns = Nothing+ , editBranchProtectionOptionPushWhitelistDeployKeys = Nothing+ , editBranchProtectionOptionPushWhitelistTeams = Nothing+ , editBranchProtectionOptionPushWhitelistUsernames = Nothing+ , editBranchProtectionOptionRequireSignedCommits = Nothing+ , editBranchProtectionOptionRequiredApprovals = Nothing+ , editBranchProtectionOptionStatusCheckContexts = Nothing+ , editBranchProtectionOptionUnprotectedFilePatterns = Nothing+ }++-- ** EditDeadlineOption+-- | EditDeadlineOption+-- EditDeadlineOption options for creating a deadline+data EditDeadlineOption = EditDeadlineOption+ { editDeadlineOptionDueDate :: !(DateTime) -- ^ /Required/ "due_date"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditDeadlineOption+instance A.FromJSON EditDeadlineOption where+ parseJSON = A.withObject "EditDeadlineOption" $ \o ->+ EditDeadlineOption+ <$> (o .: "due_date")++-- | ToJSON EditDeadlineOption+instance A.ToJSON EditDeadlineOption where+ toJSON EditDeadlineOption {..} =+ _omitNulls+ [ "due_date" .= editDeadlineOptionDueDate+ ]+++-- | Construct a value of type 'EditDeadlineOption' (by applying it's required fields, if any)+mkEditDeadlineOption+ :: DateTime -- ^ 'editDeadlineOptionDueDate' + -> EditDeadlineOption+mkEditDeadlineOption editDeadlineOptionDueDate =+ EditDeadlineOption+ { editDeadlineOptionDueDate+ }++-- ** EditGitHookOption+-- | EditGitHookOption+-- EditGitHookOption options when modifying one Git hook+data EditGitHookOption = EditGitHookOption+ { editGitHookOptionContent :: !(Maybe Text) -- ^ "content"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditGitHookOption+instance A.FromJSON EditGitHookOption where+ parseJSON = A.withObject "EditGitHookOption" $ \o ->+ EditGitHookOption+ <$> (o .:? "content")++-- | ToJSON EditGitHookOption+instance A.ToJSON EditGitHookOption where+ toJSON EditGitHookOption {..} =+ _omitNulls+ [ "content" .= editGitHookOptionContent+ ]+++-- | Construct a value of type 'EditGitHookOption' (by applying it's required fields, if any)+mkEditGitHookOption+ :: EditGitHookOption+mkEditGitHookOption =+ EditGitHookOption+ { editGitHookOptionContent = Nothing+ }++-- ** EditHookOption+-- | EditHookOption+-- EditHookOption options when modify one hook+data EditHookOption = EditHookOption+ { editHookOptionActive :: !(Maybe Bool) -- ^ "active"+ , editHookOptionAuthorizationHeader :: !(Maybe Text) -- ^ "authorization_header"+ , editHookOptionBranchFilter :: !(Maybe Text) -- ^ "branch_filter"+ , editHookOptionConfig :: !(Maybe (Map.Map String Text)) -- ^ "config"+ , editHookOptionEvents :: !(Maybe [Text]) -- ^ "events"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditHookOption+instance A.FromJSON EditHookOption where+ parseJSON = A.withObject "EditHookOption" $ \o ->+ EditHookOption+ <$> (o .:? "active")+ <*> (o .:? "authorization_header")+ <*> (o .:? "branch_filter")+ <*> (o .:? "config")+ <*> (o .:? "events")++-- | ToJSON EditHookOption+instance A.ToJSON EditHookOption where+ toJSON EditHookOption {..} =+ _omitNulls+ [ "active" .= editHookOptionActive+ , "authorization_header" .= editHookOptionAuthorizationHeader+ , "branch_filter" .= editHookOptionBranchFilter+ , "config" .= editHookOptionConfig+ , "events" .= editHookOptionEvents+ ]+++-- | Construct a value of type 'EditHookOption' (by applying it's required fields, if any)+mkEditHookOption+ :: EditHookOption+mkEditHookOption =+ EditHookOption+ { editHookOptionActive = Nothing+ , editHookOptionAuthorizationHeader = Nothing+ , editHookOptionBranchFilter = Nothing+ , editHookOptionConfig = Nothing+ , editHookOptionEvents = Nothing+ }++-- ** EditIssueCommentOption+-- | EditIssueCommentOption+-- EditIssueCommentOption options for editing a comment+data EditIssueCommentOption = EditIssueCommentOption+ { editIssueCommentOptionBody :: !(Text) -- ^ /Required/ "body"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditIssueCommentOption+instance A.FromJSON EditIssueCommentOption where+ parseJSON = A.withObject "EditIssueCommentOption" $ \o ->+ EditIssueCommentOption+ <$> (o .: "body")++-- | ToJSON EditIssueCommentOption+instance A.ToJSON EditIssueCommentOption where+ toJSON EditIssueCommentOption {..} =+ _omitNulls+ [ "body" .= editIssueCommentOptionBody+ ]+++-- | Construct a value of type 'EditIssueCommentOption' (by applying it's required fields, if any)+mkEditIssueCommentOption+ :: Text -- ^ 'editIssueCommentOptionBody' + -> EditIssueCommentOption+mkEditIssueCommentOption editIssueCommentOptionBody =+ EditIssueCommentOption+ { editIssueCommentOptionBody+ }++-- ** EditIssueOption+-- | EditIssueOption+-- EditIssueOption options for editing an issue+data EditIssueOption = EditIssueOption+ { editIssueOptionAssignee :: !(Maybe Text) -- ^ "assignee" - deprecated+ , editIssueOptionAssignees :: !(Maybe [Text]) -- ^ "assignees"+ , editIssueOptionBody :: !(Maybe Text) -- ^ "body"+ , editIssueOptionDueDate :: !(Maybe DateTime) -- ^ "due_date"+ , editIssueOptionMilestone :: !(Maybe Integer) -- ^ "milestone"+ , editIssueOptionRef :: !(Maybe Text) -- ^ "ref"+ , editIssueOptionState :: !(Maybe Text) -- ^ "state"+ , editIssueOptionTitle :: !(Maybe Text) -- ^ "title"+ , editIssueOptionUnsetDueDate :: !(Maybe Bool) -- ^ "unset_due_date"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditIssueOption+instance A.FromJSON EditIssueOption where+ parseJSON = A.withObject "EditIssueOption" $ \o ->+ EditIssueOption+ <$> (o .:? "assignee")+ <*> (o .:? "assignees")+ <*> (o .:? "body")+ <*> (o .:? "due_date")+ <*> (o .:? "milestone")+ <*> (o .:? "ref")+ <*> (o .:? "state")+ <*> (o .:? "title")+ <*> (o .:? "unset_due_date")++-- | ToJSON EditIssueOption+instance A.ToJSON EditIssueOption where+ toJSON EditIssueOption {..} =+ _omitNulls+ [ "assignee" .= editIssueOptionAssignee+ , "assignees" .= editIssueOptionAssignees+ , "body" .= editIssueOptionBody+ , "due_date" .= editIssueOptionDueDate+ , "milestone" .= editIssueOptionMilestone+ , "ref" .= editIssueOptionRef+ , "state" .= editIssueOptionState+ , "title" .= editIssueOptionTitle+ , "unset_due_date" .= editIssueOptionUnsetDueDate+ ]+++-- | Construct a value of type 'EditIssueOption' (by applying it's required fields, if any)+mkEditIssueOption+ :: EditIssueOption+mkEditIssueOption =+ EditIssueOption+ { editIssueOptionAssignee = Nothing+ , editIssueOptionAssignees = Nothing+ , editIssueOptionBody = Nothing+ , editIssueOptionDueDate = Nothing+ , editIssueOptionMilestone = Nothing+ , editIssueOptionRef = Nothing+ , editIssueOptionState = Nothing+ , editIssueOptionTitle = Nothing+ , editIssueOptionUnsetDueDate = Nothing+ }++-- ** EditLabelOption+-- | EditLabelOption+-- EditLabelOption options for editing a label+data EditLabelOption = EditLabelOption+ { editLabelOptionColor :: !(Maybe Text) -- ^ "color"+ , editLabelOptionDescription :: !(Maybe Text) -- ^ "description"+ , editLabelOptionExclusive :: !(Maybe Bool) -- ^ "exclusive"+ , editLabelOptionName :: !(Maybe Text) -- ^ "name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditLabelOption+instance A.FromJSON EditLabelOption where+ parseJSON = A.withObject "EditLabelOption" $ \o ->+ EditLabelOption+ <$> (o .:? "color")+ <*> (o .:? "description")+ <*> (o .:? "exclusive")+ <*> (o .:? "name")++-- | ToJSON EditLabelOption+instance A.ToJSON EditLabelOption where+ toJSON EditLabelOption {..} =+ _omitNulls+ [ "color" .= editLabelOptionColor+ , "description" .= editLabelOptionDescription+ , "exclusive" .= editLabelOptionExclusive+ , "name" .= editLabelOptionName+ ]+++-- | Construct a value of type 'EditLabelOption' (by applying it's required fields, if any)+mkEditLabelOption+ :: EditLabelOption+mkEditLabelOption =+ EditLabelOption+ { editLabelOptionColor = Nothing+ , editLabelOptionDescription = Nothing+ , editLabelOptionExclusive = Nothing+ , editLabelOptionName = Nothing+ }++-- ** EditMilestoneOption+-- | EditMilestoneOption+-- EditMilestoneOption options for editing a milestone+data EditMilestoneOption = EditMilestoneOption+ { editMilestoneOptionDescription :: !(Maybe Text) -- ^ "description"+ , editMilestoneOptionDueOn :: !(Maybe DateTime) -- ^ "due_on"+ , editMilestoneOptionState :: !(Maybe Text) -- ^ "state"+ , editMilestoneOptionTitle :: !(Maybe Text) -- ^ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditMilestoneOption+instance A.FromJSON EditMilestoneOption where+ parseJSON = A.withObject "EditMilestoneOption" $ \o ->+ EditMilestoneOption+ <$> (o .:? "description")+ <*> (o .:? "due_on")+ <*> (o .:? "state")+ <*> (o .:? "title")++-- | ToJSON EditMilestoneOption+instance A.ToJSON EditMilestoneOption where+ toJSON EditMilestoneOption {..} =+ _omitNulls+ [ "description" .= editMilestoneOptionDescription+ , "due_on" .= editMilestoneOptionDueOn+ , "state" .= editMilestoneOptionState+ , "title" .= editMilestoneOptionTitle+ ]+++-- | Construct a value of type 'EditMilestoneOption' (by applying it's required fields, if any)+mkEditMilestoneOption+ :: EditMilestoneOption+mkEditMilestoneOption =+ EditMilestoneOption+ { editMilestoneOptionDescription = Nothing+ , editMilestoneOptionDueOn = Nothing+ , editMilestoneOptionState = Nothing+ , editMilestoneOptionTitle = Nothing+ }++-- ** EditOrgOption+-- | EditOrgOption+-- EditOrgOption options for editing an organization+data EditOrgOption = EditOrgOption+ { editOrgOptionDescription :: !(Maybe Text) -- ^ "description"+ , editOrgOptionFullName :: !(Maybe Text) -- ^ "full_name"+ , editOrgOptionLocation :: !(Maybe Text) -- ^ "location"+ , editOrgOptionRepoAdminChangeTeamAccess :: !(Maybe Bool) -- ^ "repo_admin_change_team_access"+ , editOrgOptionVisibility :: !(Maybe E'Visibility) -- ^ "visibility" - possible values are `public`, `limited` or `private`+ , editOrgOptionWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditOrgOption+instance A.FromJSON EditOrgOption where+ parseJSON = A.withObject "EditOrgOption" $ \o ->+ EditOrgOption+ <$> (o .:? "description")+ <*> (o .:? "full_name")+ <*> (o .:? "location")+ <*> (o .:? "repo_admin_change_team_access")+ <*> (o .:? "visibility")+ <*> (o .:? "website")++-- | ToJSON EditOrgOption+instance A.ToJSON EditOrgOption where+ toJSON EditOrgOption {..} =+ _omitNulls+ [ "description" .= editOrgOptionDescription+ , "full_name" .= editOrgOptionFullName+ , "location" .= editOrgOptionLocation+ , "repo_admin_change_team_access" .= editOrgOptionRepoAdminChangeTeamAccess+ , "visibility" .= editOrgOptionVisibility+ , "website" .= editOrgOptionWebsite+ ]+++-- | Construct a value of type 'EditOrgOption' (by applying it's required fields, if any)+mkEditOrgOption+ :: EditOrgOption+mkEditOrgOption =+ EditOrgOption+ { editOrgOptionDescription = Nothing+ , editOrgOptionFullName = Nothing+ , editOrgOptionLocation = Nothing+ , editOrgOptionRepoAdminChangeTeamAccess = Nothing+ , editOrgOptionVisibility = Nothing+ , editOrgOptionWebsite = Nothing+ }++-- ** EditPullRequestOption+-- | EditPullRequestOption+-- EditPullRequestOption options when modify pull request+data EditPullRequestOption = EditPullRequestOption+ { editPullRequestOptionAllowMaintainerEdit :: !(Maybe Bool) -- ^ "allow_maintainer_edit"+ , editPullRequestOptionAssignee :: !(Maybe Text) -- ^ "assignee"+ , editPullRequestOptionAssignees :: !(Maybe [Text]) -- ^ "assignees"+ , editPullRequestOptionBase :: !(Maybe Text) -- ^ "base"+ , editPullRequestOptionBody :: !(Maybe Text) -- ^ "body"+ , editPullRequestOptionDueDate :: !(Maybe DateTime) -- ^ "due_date"+ , editPullRequestOptionLabels :: !(Maybe [Integer]) -- ^ "labels"+ , editPullRequestOptionMilestone :: !(Maybe Integer) -- ^ "milestone"+ , editPullRequestOptionState :: !(Maybe Text) -- ^ "state"+ , editPullRequestOptionTitle :: !(Maybe Text) -- ^ "title"+ , editPullRequestOptionUnsetDueDate :: !(Maybe Bool) -- ^ "unset_due_date"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditPullRequestOption+instance A.FromJSON EditPullRequestOption where+ parseJSON = A.withObject "EditPullRequestOption" $ \o ->+ EditPullRequestOption+ <$> (o .:? "allow_maintainer_edit")+ <*> (o .:? "assignee")+ <*> (o .:? "assignees")+ <*> (o .:? "base")+ <*> (o .:? "body")+ <*> (o .:? "due_date")+ <*> (o .:? "labels")+ <*> (o .:? "milestone")+ <*> (o .:? "state")+ <*> (o .:? "title")+ <*> (o .:? "unset_due_date")++-- | ToJSON EditPullRequestOption+instance A.ToJSON EditPullRequestOption where+ toJSON EditPullRequestOption {..} =+ _omitNulls+ [ "allow_maintainer_edit" .= editPullRequestOptionAllowMaintainerEdit+ , "assignee" .= editPullRequestOptionAssignee+ , "assignees" .= editPullRequestOptionAssignees+ , "base" .= editPullRequestOptionBase+ , "body" .= editPullRequestOptionBody+ , "due_date" .= editPullRequestOptionDueDate+ , "labels" .= editPullRequestOptionLabels+ , "milestone" .= editPullRequestOptionMilestone+ , "state" .= editPullRequestOptionState+ , "title" .= editPullRequestOptionTitle+ , "unset_due_date" .= editPullRequestOptionUnsetDueDate+ ]+++-- | Construct a value of type 'EditPullRequestOption' (by applying it's required fields, if any)+mkEditPullRequestOption+ :: EditPullRequestOption+mkEditPullRequestOption =+ EditPullRequestOption+ { editPullRequestOptionAllowMaintainerEdit = Nothing+ , editPullRequestOptionAssignee = Nothing+ , editPullRequestOptionAssignees = Nothing+ , editPullRequestOptionBase = Nothing+ , editPullRequestOptionBody = Nothing+ , editPullRequestOptionDueDate = Nothing+ , editPullRequestOptionLabels = Nothing+ , editPullRequestOptionMilestone = Nothing+ , editPullRequestOptionState = Nothing+ , editPullRequestOptionTitle = Nothing+ , editPullRequestOptionUnsetDueDate = Nothing+ }++-- ** EditReactionOption+-- | EditReactionOption+-- EditReactionOption contain the reaction type+data EditReactionOption = EditReactionOption+ { editReactionOptionContent :: !(Maybe Text) -- ^ "content"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditReactionOption+instance A.FromJSON EditReactionOption where+ parseJSON = A.withObject "EditReactionOption" $ \o ->+ EditReactionOption+ <$> (o .:? "content")++-- | ToJSON EditReactionOption+instance A.ToJSON EditReactionOption where+ toJSON EditReactionOption {..} =+ _omitNulls+ [ "content" .= editReactionOptionContent+ ]+++-- | Construct a value of type 'EditReactionOption' (by applying it's required fields, if any)+mkEditReactionOption+ :: EditReactionOption+mkEditReactionOption =+ EditReactionOption+ { editReactionOptionContent = Nothing+ }++-- ** EditReleaseOption+-- | EditReleaseOption+-- EditReleaseOption options when editing a release+data EditReleaseOption = EditReleaseOption+ { editReleaseOptionBody :: !(Maybe Text) -- ^ "body"+ , editReleaseOptionDraft :: !(Maybe Bool) -- ^ "draft"+ , editReleaseOptionName :: !(Maybe Text) -- ^ "name"+ , editReleaseOptionPrerelease :: !(Maybe Bool) -- ^ "prerelease"+ , editReleaseOptionTagName :: !(Maybe Text) -- ^ "tag_name"+ , editReleaseOptionTargetCommitish :: !(Maybe Text) -- ^ "target_commitish"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditReleaseOption+instance A.FromJSON EditReleaseOption where+ parseJSON = A.withObject "EditReleaseOption" $ \o ->+ EditReleaseOption+ <$> (o .:? "body")+ <*> (o .:? "draft")+ <*> (o .:? "name")+ <*> (o .:? "prerelease")+ <*> (o .:? "tag_name")+ <*> (o .:? "target_commitish")++-- | ToJSON EditReleaseOption+instance A.ToJSON EditReleaseOption where+ toJSON EditReleaseOption {..} =+ _omitNulls+ [ "body" .= editReleaseOptionBody+ , "draft" .= editReleaseOptionDraft+ , "name" .= editReleaseOptionName+ , "prerelease" .= editReleaseOptionPrerelease+ , "tag_name" .= editReleaseOptionTagName+ , "target_commitish" .= editReleaseOptionTargetCommitish+ ]+++-- | Construct a value of type 'EditReleaseOption' (by applying it's required fields, if any)+mkEditReleaseOption+ :: EditReleaseOption+mkEditReleaseOption =+ EditReleaseOption+ { editReleaseOptionBody = Nothing+ , editReleaseOptionDraft = Nothing+ , editReleaseOptionName = Nothing+ , editReleaseOptionPrerelease = Nothing+ , editReleaseOptionTagName = Nothing+ , editReleaseOptionTargetCommitish = Nothing+ }++-- ** EditRepoOption+-- | EditRepoOption+-- EditRepoOption options when editing a repository's properties+data EditRepoOption = EditRepoOption+ { editRepoOptionAllowManualMerge :: !(Maybe Bool) -- ^ "allow_manual_merge" - either `true` to allow mark pr as merged manually, or `false` to prevent it.+ , editRepoOptionAllowMergeCommits :: !(Maybe Bool) -- ^ "allow_merge_commits" - either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.+ , editRepoOptionAllowRebase :: !(Maybe Bool) -- ^ "allow_rebase" - either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.+ , editRepoOptionAllowRebaseExplicit :: !(Maybe Bool) -- ^ "allow_rebase_explicit" - either `true` to allow rebase with explicit merge commits (--no-ff), or `false` to prevent rebase with explicit merge commits.+ , editRepoOptionAllowRebaseUpdate :: !(Maybe Bool) -- ^ "allow_rebase_update" - either `true` to allow updating pull request branch by rebase, or `false` to prevent it.+ , editRepoOptionAllowSquashMerge :: !(Maybe Bool) -- ^ "allow_squash_merge" - either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.+ , editRepoOptionArchived :: !(Maybe Bool) -- ^ "archived" - set to `true` to archive this repository.+ , editRepoOptionAutodetectManualMerge :: !(Maybe Bool) -- ^ "autodetect_manual_merge" - either `true` to enable AutodetectManualMerge, or `false` to prevent it. Note: In some special cases, misjudgments can occur.+ , editRepoOptionDefaultAllowMaintainerEdit :: !(Maybe Bool) -- ^ "default_allow_maintainer_edit" - set to `true` to allow edits from maintainers by default+ , editRepoOptionDefaultBranch :: !(Maybe Text) -- ^ "default_branch" - sets the default branch for this repository.+ , editRepoOptionDefaultDeleteBranchAfterMerge :: !(Maybe Bool) -- ^ "default_delete_branch_after_merge" - set to `true` to delete pr branch after merge by default+ , editRepoOptionDefaultMergeStyle :: !(Maybe Text) -- ^ "default_merge_style" - set to a merge style to be used by this repository: \"merge\", \"rebase\", \"rebase-merge\", or \"squash\".+ , editRepoOptionDescription :: !(Maybe Text) -- ^ "description" - a short description of the repository.+ , editRepoOptionEnablePrune :: !(Maybe Bool) -- ^ "enable_prune" - enable prune - remove obsolete remote-tracking references+ , editRepoOptionExternalTracker :: !(Maybe ExternalTracker) -- ^ "external_tracker"+ , editRepoOptionExternalWiki :: !(Maybe ExternalWiki) -- ^ "external_wiki"+ , editRepoOptionHasIssues :: !(Maybe Bool) -- ^ "has_issues" - either `true` to enable issues for this repository or `false` to disable them.+ , editRepoOptionHasProjects :: !(Maybe Bool) -- ^ "has_projects" - either `true` to enable project unit, or `false` to disable them.+ , editRepoOptionHasPullRequests :: !(Maybe Bool) -- ^ "has_pull_requests" - either `true` to allow pull requests, or `false` to prevent pull request.+ , editRepoOptionHasWiki :: !(Maybe Bool) -- ^ "has_wiki" - either `true` to enable the wiki for this repository or `false` to disable it.+ , editRepoOptionIgnoreWhitespaceConflicts :: !(Maybe Bool) -- ^ "ignore_whitespace_conflicts" - either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace.+ , editRepoOptionInternalTracker :: !(Maybe InternalTracker) -- ^ "internal_tracker"+ , editRepoOptionMirrorInterval :: !(Maybe Text) -- ^ "mirror_interval" - set to a string like `8h30m0s` to set the mirror interval time+ , editRepoOptionName :: !(Maybe Text) -- ^ "name" - name of the repository+ , editRepoOptionPrivate :: !(Maybe Bool) -- ^ "private" - either `true` to make the repository private or `false` to make it public. Note: you will get a 422 error if the organization restricts changing repository visibility to organization owners and a non-owner tries to change the value of private.+ , editRepoOptionTemplate :: !(Maybe Bool) -- ^ "template" - either `true` to make this repository a template or `false` to make it a normal repository+ , editRepoOptionWebsite :: !(Maybe Text) -- ^ "website" - a URL with more information about the repository.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditRepoOption+instance A.FromJSON EditRepoOption where+ parseJSON = A.withObject "EditRepoOption" $ \o ->+ EditRepoOption+ <$> (o .:? "allow_manual_merge")+ <*> (o .:? "allow_merge_commits")+ <*> (o .:? "allow_rebase")+ <*> (o .:? "allow_rebase_explicit")+ <*> (o .:? "allow_rebase_update")+ <*> (o .:? "allow_squash_merge")+ <*> (o .:? "archived")+ <*> (o .:? "autodetect_manual_merge")+ <*> (o .:? "default_allow_maintainer_edit")+ <*> (o .:? "default_branch")+ <*> (o .:? "default_delete_branch_after_merge")+ <*> (o .:? "default_merge_style")+ <*> (o .:? "description")+ <*> (o .:? "enable_prune")+ <*> (o .:? "external_tracker")+ <*> (o .:? "external_wiki")+ <*> (o .:? "has_issues")+ <*> (o .:? "has_projects")+ <*> (o .:? "has_pull_requests")+ <*> (o .:? "has_wiki")+ <*> (o .:? "ignore_whitespace_conflicts")+ <*> (o .:? "internal_tracker")+ <*> (o .:? "mirror_interval")+ <*> (o .:? "name")+ <*> (o .:? "private")+ <*> (o .:? "template")+ <*> (o .:? "website")++-- | ToJSON EditRepoOption+instance A.ToJSON EditRepoOption where+ toJSON EditRepoOption {..} =+ _omitNulls+ [ "allow_manual_merge" .= editRepoOptionAllowManualMerge+ , "allow_merge_commits" .= editRepoOptionAllowMergeCommits+ , "allow_rebase" .= editRepoOptionAllowRebase+ , "allow_rebase_explicit" .= editRepoOptionAllowRebaseExplicit+ , "allow_rebase_update" .= editRepoOptionAllowRebaseUpdate+ , "allow_squash_merge" .= editRepoOptionAllowSquashMerge+ , "archived" .= editRepoOptionArchived+ , "autodetect_manual_merge" .= editRepoOptionAutodetectManualMerge+ , "default_allow_maintainer_edit" .= editRepoOptionDefaultAllowMaintainerEdit+ , "default_branch" .= editRepoOptionDefaultBranch+ , "default_delete_branch_after_merge" .= editRepoOptionDefaultDeleteBranchAfterMerge+ , "default_merge_style" .= editRepoOptionDefaultMergeStyle+ , "description" .= editRepoOptionDescription+ , "enable_prune" .= editRepoOptionEnablePrune+ , "external_tracker" .= editRepoOptionExternalTracker+ , "external_wiki" .= editRepoOptionExternalWiki+ , "has_issues" .= editRepoOptionHasIssues+ , "has_projects" .= editRepoOptionHasProjects+ , "has_pull_requests" .= editRepoOptionHasPullRequests+ , "has_wiki" .= editRepoOptionHasWiki+ , "ignore_whitespace_conflicts" .= editRepoOptionIgnoreWhitespaceConflicts+ , "internal_tracker" .= editRepoOptionInternalTracker+ , "mirror_interval" .= editRepoOptionMirrorInterval+ , "name" .= editRepoOptionName+ , "private" .= editRepoOptionPrivate+ , "template" .= editRepoOptionTemplate+ , "website" .= editRepoOptionWebsite+ ]+++-- | Construct a value of type 'EditRepoOption' (by applying it's required fields, if any)+mkEditRepoOption+ :: EditRepoOption+mkEditRepoOption =+ EditRepoOption+ { editRepoOptionAllowManualMerge = Nothing+ , editRepoOptionAllowMergeCommits = Nothing+ , editRepoOptionAllowRebase = Nothing+ , editRepoOptionAllowRebaseExplicit = Nothing+ , editRepoOptionAllowRebaseUpdate = Nothing+ , editRepoOptionAllowSquashMerge = Nothing+ , editRepoOptionArchived = Nothing+ , editRepoOptionAutodetectManualMerge = Nothing+ , editRepoOptionDefaultAllowMaintainerEdit = Nothing+ , editRepoOptionDefaultBranch = Nothing+ , editRepoOptionDefaultDeleteBranchAfterMerge = Nothing+ , editRepoOptionDefaultMergeStyle = Nothing+ , editRepoOptionDescription = Nothing+ , editRepoOptionEnablePrune = Nothing+ , editRepoOptionExternalTracker = Nothing+ , editRepoOptionExternalWiki = Nothing+ , editRepoOptionHasIssues = Nothing+ , editRepoOptionHasProjects = Nothing+ , editRepoOptionHasPullRequests = Nothing+ , editRepoOptionHasWiki = Nothing+ , editRepoOptionIgnoreWhitespaceConflicts = Nothing+ , editRepoOptionInternalTracker = Nothing+ , editRepoOptionMirrorInterval = Nothing+ , editRepoOptionName = Nothing+ , editRepoOptionPrivate = Nothing+ , editRepoOptionTemplate = Nothing+ , editRepoOptionWebsite = Nothing+ }++-- ** EditTeamOption+-- | EditTeamOption+-- EditTeamOption options for editing a team+data EditTeamOption = EditTeamOption+ { editTeamOptionCanCreateOrgRepo :: !(Maybe Bool) -- ^ "can_create_org_repo"+ , editTeamOptionDescription :: !(Maybe Text) -- ^ "description"+ , editTeamOptionIncludesAllRepositories :: !(Maybe Bool) -- ^ "includes_all_repositories"+ , editTeamOptionName :: !(Text) -- ^ /Required/ "name"+ , editTeamOptionPermission :: !(Maybe E'Permission) -- ^ "permission"+ , editTeamOptionUnits :: !(Maybe [Text]) -- ^ "units"+ , editTeamOptionUnitsMap :: !(Maybe (Map.Map String Text)) -- ^ "units_map"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditTeamOption+instance A.FromJSON EditTeamOption where+ parseJSON = A.withObject "EditTeamOption" $ \o ->+ EditTeamOption+ <$> (o .:? "can_create_org_repo")+ <*> (o .:? "description")+ <*> (o .:? "includes_all_repositories")+ <*> (o .: "name")+ <*> (o .:? "permission")+ <*> (o .:? "units")+ <*> (o .:? "units_map")++-- | ToJSON EditTeamOption+instance A.ToJSON EditTeamOption where+ toJSON EditTeamOption {..} =+ _omitNulls+ [ "can_create_org_repo" .= editTeamOptionCanCreateOrgRepo+ , "description" .= editTeamOptionDescription+ , "includes_all_repositories" .= editTeamOptionIncludesAllRepositories+ , "name" .= editTeamOptionName+ , "permission" .= editTeamOptionPermission+ , "units" .= editTeamOptionUnits+ , "units_map" .= editTeamOptionUnitsMap+ ]+++-- | Construct a value of type 'EditTeamOption' (by applying it's required fields, if any)+mkEditTeamOption+ :: Text -- ^ 'editTeamOptionName' + -> EditTeamOption+mkEditTeamOption editTeamOptionName =+ EditTeamOption+ { editTeamOptionCanCreateOrgRepo = Nothing+ , editTeamOptionDescription = Nothing+ , editTeamOptionIncludesAllRepositories = Nothing+ , editTeamOptionName+ , editTeamOptionPermission = Nothing+ , editTeamOptionUnits = Nothing+ , editTeamOptionUnitsMap = Nothing+ }++-- ** EditUserOption+-- | EditUserOption+-- EditUserOption edit user options+data EditUserOption = EditUserOption+ { editUserOptionActive :: !(Maybe Bool) -- ^ "active"+ , editUserOptionAdmin :: !(Maybe Bool) -- ^ "admin"+ , editUserOptionAllowCreateOrganization :: !(Maybe Bool) -- ^ "allow_create_organization"+ , editUserOptionAllowGitHook :: !(Maybe Bool) -- ^ "allow_git_hook"+ , editUserOptionAllowImportLocal :: !(Maybe Bool) -- ^ "allow_import_local"+ , editUserOptionDescription :: !(Maybe Text) -- ^ "description"+ , editUserOptionEmail :: !(Maybe Text) -- ^ "email"+ , editUserOptionFullName :: !(Maybe Text) -- ^ "full_name"+ , editUserOptionLocation :: !(Maybe Text) -- ^ "location"+ , editUserOptionLoginName :: !(Text) -- ^ /Required/ "login_name"+ , editUserOptionMaxRepoCreation :: !(Maybe Integer) -- ^ "max_repo_creation"+ , editUserOptionMustChangePassword :: !(Maybe Bool) -- ^ "must_change_password"+ , editUserOptionPassword :: !(Maybe Text) -- ^ "password"+ , editUserOptionProhibitLogin :: !(Maybe Bool) -- ^ "prohibit_login"+ , editUserOptionRestricted :: !(Maybe Bool) -- ^ "restricted"+ , editUserOptionSourceId :: !(Integer) -- ^ /Required/ "source_id"+ , editUserOptionVisibility :: !(Maybe Text) -- ^ "visibility"+ , editUserOptionWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON EditUserOption+instance A.FromJSON EditUserOption where+ parseJSON = A.withObject "EditUserOption" $ \o ->+ EditUserOption+ <$> (o .:? "active")+ <*> (o .:? "admin")+ <*> (o .:? "allow_create_organization")+ <*> (o .:? "allow_git_hook")+ <*> (o .:? "allow_import_local")+ <*> (o .:? "description")+ <*> (o .:? "email")+ <*> (o .:? "full_name")+ <*> (o .:? "location")+ <*> (o .: "login_name")+ <*> (o .:? "max_repo_creation")+ <*> (o .:? "must_change_password")+ <*> (o .:? "password")+ <*> (o .:? "prohibit_login")+ <*> (o .:? "restricted")+ <*> (o .: "source_id")+ <*> (o .:? "visibility")+ <*> (o .:? "website")++-- | ToJSON EditUserOption+instance A.ToJSON EditUserOption where+ toJSON EditUserOption {..} =+ _omitNulls+ [ "active" .= editUserOptionActive+ , "admin" .= editUserOptionAdmin+ , "allow_create_organization" .= editUserOptionAllowCreateOrganization+ , "allow_git_hook" .= editUserOptionAllowGitHook+ , "allow_import_local" .= editUserOptionAllowImportLocal+ , "description" .= editUserOptionDescription+ , "email" .= editUserOptionEmail+ , "full_name" .= editUserOptionFullName+ , "location" .= editUserOptionLocation+ , "login_name" .= editUserOptionLoginName+ , "max_repo_creation" .= editUserOptionMaxRepoCreation+ , "must_change_password" .= editUserOptionMustChangePassword+ , "password" .= editUserOptionPassword+ , "prohibit_login" .= editUserOptionProhibitLogin+ , "restricted" .= editUserOptionRestricted+ , "source_id" .= editUserOptionSourceId+ , "visibility" .= editUserOptionVisibility+ , "website" .= editUserOptionWebsite+ ]+++-- | Construct a value of type 'EditUserOption' (by applying it's required fields, if any)+mkEditUserOption+ :: Text -- ^ 'editUserOptionLoginName' + -> Integer -- ^ 'editUserOptionSourceId' + -> EditUserOption+mkEditUserOption editUserOptionLoginName editUserOptionSourceId =+ EditUserOption+ { editUserOptionActive = Nothing+ , editUserOptionAdmin = Nothing+ , editUserOptionAllowCreateOrganization = Nothing+ , editUserOptionAllowGitHook = Nothing+ , editUserOptionAllowImportLocal = Nothing+ , editUserOptionDescription = Nothing+ , editUserOptionEmail = Nothing+ , editUserOptionFullName = Nothing+ , editUserOptionLocation = Nothing+ , editUserOptionLoginName+ , editUserOptionMaxRepoCreation = Nothing+ , editUserOptionMustChangePassword = Nothing+ , editUserOptionPassword = Nothing+ , editUserOptionProhibitLogin = Nothing+ , editUserOptionRestricted = Nothing+ , editUserOptionSourceId+ , editUserOptionVisibility = Nothing+ , editUserOptionWebsite = Nothing+ }++-- ** Email+-- | Email+-- Email an email address belonging to a user+data Email = Email+ { emailEmail :: !(Maybe Text) -- ^ "email"+ , emailPrimary :: !(Maybe Bool) -- ^ "primary"+ , emailVerified :: !(Maybe Bool) -- ^ "verified"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Email+instance A.FromJSON Email where+ parseJSON = A.withObject "Email" $ \o ->+ Email+ <$> (o .:? "email")+ <*> (o .:? "primary")+ <*> (o .:? "verified")++-- | ToJSON Email+instance A.ToJSON Email where+ toJSON Email {..} =+ _omitNulls+ [ "email" .= emailEmail+ , "primary" .= emailPrimary+ , "verified" .= emailVerified+ ]+++-- | Construct a value of type 'Email' (by applying it's required fields, if any)+mkEmail+ :: Email+mkEmail =+ Email+ { emailEmail = Nothing+ , emailPrimary = Nothing+ , emailVerified = Nothing+ }++-- ** ExternalTracker+-- | ExternalTracker+-- ExternalTracker represents settings for external tracker+data ExternalTracker = ExternalTracker+ { externalTrackerExternalTrackerFormat :: !(Maybe Text) -- ^ "external_tracker_format" - External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.+ , externalTrackerExternalTrackerRegexpPattern :: !(Maybe Text) -- ^ "external_tracker_regexp_pattern" - External Issue Tracker issue regular expression+ , externalTrackerExternalTrackerStyle :: !(Maybe Text) -- ^ "external_tracker_style" - External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`+ , externalTrackerExternalTrackerUrl :: !(Maybe Text) -- ^ "external_tracker_url" - URL of external issue tracker.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ExternalTracker+instance A.FromJSON ExternalTracker where+ parseJSON = A.withObject "ExternalTracker" $ \o ->+ ExternalTracker+ <$> (o .:? "external_tracker_format")+ <*> (o .:? "external_tracker_regexp_pattern")+ <*> (o .:? "external_tracker_style")+ <*> (o .:? "external_tracker_url")++-- | ToJSON ExternalTracker+instance A.ToJSON ExternalTracker where+ toJSON ExternalTracker {..} =+ _omitNulls+ [ "external_tracker_format" .= externalTrackerExternalTrackerFormat+ , "external_tracker_regexp_pattern" .= externalTrackerExternalTrackerRegexpPattern+ , "external_tracker_style" .= externalTrackerExternalTrackerStyle+ , "external_tracker_url" .= externalTrackerExternalTrackerUrl+ ]+++-- | Construct a value of type 'ExternalTracker' (by applying it's required fields, if any)+mkExternalTracker+ :: ExternalTracker+mkExternalTracker =+ ExternalTracker+ { externalTrackerExternalTrackerFormat = Nothing+ , externalTrackerExternalTrackerRegexpPattern = Nothing+ , externalTrackerExternalTrackerStyle = Nothing+ , externalTrackerExternalTrackerUrl = Nothing+ }++-- ** ExternalWiki+-- | ExternalWiki+-- ExternalWiki represents setting for external wiki+data ExternalWiki = ExternalWiki+ { externalWikiExternalWikiUrl :: !(Maybe Text) -- ^ "external_wiki_url" - URL of external wiki.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ExternalWiki+instance A.FromJSON ExternalWiki where+ parseJSON = A.withObject "ExternalWiki" $ \o ->+ ExternalWiki+ <$> (o .:? "external_wiki_url")++-- | ToJSON ExternalWiki+instance A.ToJSON ExternalWiki where+ toJSON ExternalWiki {..} =+ _omitNulls+ [ "external_wiki_url" .= externalWikiExternalWikiUrl+ ]+++-- | Construct a value of type 'ExternalWiki' (by applying it's required fields, if any)+mkExternalWiki+ :: ExternalWiki+mkExternalWiki =+ ExternalWiki+ { externalWikiExternalWikiUrl = Nothing+ }++-- ** FileCommitResponse+-- | FileCommitResponse+-- FileCommitResponse contains information generated from a Git commit for a repo's file.+-- +data FileCommitResponse = FileCommitResponse+ { fileCommitResponseAuthor :: !(Maybe CommitUser) -- ^ "author"+ , fileCommitResponseCommitter :: !(Maybe CommitUser) -- ^ "committer"+ , fileCommitResponseCreated :: !(Maybe DateTime) -- ^ "created"+ , fileCommitResponseHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , fileCommitResponseMessage :: !(Maybe Text) -- ^ "message"+ , fileCommitResponseParents :: !(Maybe [CommitMeta]) -- ^ "parents"+ , fileCommitResponseSha :: !(Maybe Text) -- ^ "sha"+ , fileCommitResponseTree :: !(Maybe CommitMeta) -- ^ "tree"+ , fileCommitResponseUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON FileCommitResponse+instance A.FromJSON FileCommitResponse where+ parseJSON = A.withObject "FileCommitResponse" $ \o ->+ FileCommitResponse+ <$> (o .:? "author")+ <*> (o .:? "committer")+ <*> (o .:? "created")+ <*> (o .:? "html_url")+ <*> (o .:? "message")+ <*> (o .:? "parents")+ <*> (o .:? "sha")+ <*> (o .:? "tree")+ <*> (o .:? "url")++-- | ToJSON FileCommitResponse+instance A.ToJSON FileCommitResponse where+ toJSON FileCommitResponse {..} =+ _omitNulls+ [ "author" .= fileCommitResponseAuthor+ , "committer" .= fileCommitResponseCommitter+ , "created" .= fileCommitResponseCreated+ , "html_url" .= fileCommitResponseHtmlUrl+ , "message" .= fileCommitResponseMessage+ , "parents" .= fileCommitResponseParents+ , "sha" .= fileCommitResponseSha+ , "tree" .= fileCommitResponseTree+ , "url" .= fileCommitResponseUrl+ ]+++-- | Construct a value of type 'FileCommitResponse' (by applying it's required fields, if any)+mkFileCommitResponse+ :: FileCommitResponse+mkFileCommitResponse =+ FileCommitResponse+ { fileCommitResponseAuthor = Nothing+ , fileCommitResponseCommitter = Nothing+ , fileCommitResponseCreated = Nothing+ , fileCommitResponseHtmlUrl = Nothing+ , fileCommitResponseMessage = Nothing+ , fileCommitResponseParents = Nothing+ , fileCommitResponseSha = Nothing+ , fileCommitResponseTree = Nothing+ , fileCommitResponseUrl = Nothing+ }++-- ** FileDeleteResponse+-- | FileDeleteResponse+-- FileDeleteResponse contains information about a repo's file that was deleted+data FileDeleteResponse = FileDeleteResponse+ { fileDeleteResponseCommit :: !(Maybe FileCommitResponse) -- ^ "commit"+ , fileDeleteResponseContent :: !(Maybe A.Value) -- ^ "content"+ , fileDeleteResponseVerification :: !(Maybe PayloadCommitVerification) -- ^ "verification"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON FileDeleteResponse+instance A.FromJSON FileDeleteResponse where+ parseJSON = A.withObject "FileDeleteResponse" $ \o ->+ FileDeleteResponse+ <$> (o .:? "commit")+ <*> (o .:? "content")+ <*> (o .:? "verification")++-- | ToJSON FileDeleteResponse+instance A.ToJSON FileDeleteResponse where+ toJSON FileDeleteResponse {..} =+ _omitNulls+ [ "commit" .= fileDeleteResponseCommit+ , "content" .= fileDeleteResponseContent+ , "verification" .= fileDeleteResponseVerification+ ]+++-- | Construct a value of type 'FileDeleteResponse' (by applying it's required fields, if any)+mkFileDeleteResponse+ :: FileDeleteResponse+mkFileDeleteResponse =+ FileDeleteResponse+ { fileDeleteResponseCommit = Nothing+ , fileDeleteResponseContent = Nothing+ , fileDeleteResponseVerification = Nothing+ }++-- ** FileLinksResponse+-- | FileLinksResponse+-- FileLinksResponse contains the links for a repo's file+data FileLinksResponse = FileLinksResponse+ { fileLinksResponseGit :: !(Maybe Text) -- ^ "git"+ , fileLinksResponseHtml :: !(Maybe Text) -- ^ "html"+ , fileLinksResponseSelf :: !(Maybe Text) -- ^ "self"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON FileLinksResponse+instance A.FromJSON FileLinksResponse where+ parseJSON = A.withObject "FileLinksResponse" $ \o ->+ FileLinksResponse+ <$> (o .:? "git")+ <*> (o .:? "html")+ <*> (o .:? "self")++-- | ToJSON FileLinksResponse+instance A.ToJSON FileLinksResponse where+ toJSON FileLinksResponse {..} =+ _omitNulls+ [ "git" .= fileLinksResponseGit+ , "html" .= fileLinksResponseHtml+ , "self" .= fileLinksResponseSelf+ ]+++-- | Construct a value of type 'FileLinksResponse' (by applying it's required fields, if any)+mkFileLinksResponse+ :: FileLinksResponse+mkFileLinksResponse =+ FileLinksResponse+ { fileLinksResponseGit = Nothing+ , fileLinksResponseHtml = Nothing+ , fileLinksResponseSelf = Nothing+ }++-- ** FileResponse+-- | FileResponse+-- FileResponse contains information about a repo's file+data FileResponse = FileResponse+ { fileResponseCommit :: !(Maybe FileCommitResponse) -- ^ "commit"+ , fileResponseContent :: !(Maybe ContentsResponse) -- ^ "content"+ , fileResponseVerification :: !(Maybe PayloadCommitVerification) -- ^ "verification"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON FileResponse+instance A.FromJSON FileResponse where+ parseJSON = A.withObject "FileResponse" $ \o ->+ FileResponse+ <$> (o .:? "commit")+ <*> (o .:? "content")+ <*> (o .:? "verification")++-- | ToJSON FileResponse+instance A.ToJSON FileResponse where+ toJSON FileResponse {..} =+ _omitNulls+ [ "commit" .= fileResponseCommit+ , "content" .= fileResponseContent+ , "verification" .= fileResponseVerification+ ]+++-- | Construct a value of type 'FileResponse' (by applying it's required fields, if any)+mkFileResponse+ :: FileResponse+mkFileResponse =+ FileResponse+ { fileResponseCommit = Nothing+ , fileResponseContent = Nothing+ , fileResponseVerification = Nothing+ }++-- ** GPGKey+-- | GPGKey+-- GPGKey a user GPG key to sign commit and tag in repository+data GPGKey = GPGKey+ { gPGKeyCanCertify :: !(Maybe Bool) -- ^ "can_certify"+ , gPGKeyCanEncryptComms :: !(Maybe Bool) -- ^ "can_encrypt_comms"+ , gPGKeyCanEncryptStorage :: !(Maybe Bool) -- ^ "can_encrypt_storage"+ , gPGKeyCanSign :: !(Maybe Bool) -- ^ "can_sign"+ , gPGKeyCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , gPGKeyEmails :: !(Maybe [GPGKeyEmail]) -- ^ "emails"+ , gPGKeyExpiresAt :: !(Maybe DateTime) -- ^ "expires_at"+ , gPGKeyId :: !(Maybe Integer) -- ^ "id"+ , gPGKeyKeyId :: !(Maybe Text) -- ^ "key_id"+ , gPGKeyPrimaryKeyId :: !(Maybe Text) -- ^ "primary_key_id"+ , gPGKeyPublicKey :: !(Maybe Text) -- ^ "public_key"+ , gPGKeySubkeys :: !(Maybe [GPGKey]) -- ^ "subkeys"+ , gPGKeyVerified :: !(Maybe Bool) -- ^ "verified"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GPGKey+instance A.FromJSON GPGKey where+ parseJSON = A.withObject "GPGKey" $ \o ->+ GPGKey+ <$> (o .:? "can_certify")+ <*> (o .:? "can_encrypt_comms")+ <*> (o .:? "can_encrypt_storage")+ <*> (o .:? "can_sign")+ <*> (o .:? "created_at")+ <*> (o .:? "emails")+ <*> (o .:? "expires_at")+ <*> (o .:? "id")+ <*> (o .:? "key_id")+ <*> (o .:? "primary_key_id")+ <*> (o .:? "public_key")+ <*> (o .:? "subkeys")+ <*> (o .:? "verified")++-- | ToJSON GPGKey+instance A.ToJSON GPGKey where+ toJSON GPGKey {..} =+ _omitNulls+ [ "can_certify" .= gPGKeyCanCertify+ , "can_encrypt_comms" .= gPGKeyCanEncryptComms+ , "can_encrypt_storage" .= gPGKeyCanEncryptStorage+ , "can_sign" .= gPGKeyCanSign+ , "created_at" .= gPGKeyCreatedAt+ , "emails" .= gPGKeyEmails+ , "expires_at" .= gPGKeyExpiresAt+ , "id" .= gPGKeyId+ , "key_id" .= gPGKeyKeyId+ , "primary_key_id" .= gPGKeyPrimaryKeyId+ , "public_key" .= gPGKeyPublicKey+ , "subkeys" .= gPGKeySubkeys+ , "verified" .= gPGKeyVerified+ ]+++-- | Construct a value of type 'GPGKey' (by applying it's required fields, if any)+mkGPGKey+ :: GPGKey+mkGPGKey =+ GPGKey+ { gPGKeyCanCertify = Nothing+ , gPGKeyCanEncryptComms = Nothing+ , gPGKeyCanEncryptStorage = Nothing+ , gPGKeyCanSign = Nothing+ , gPGKeyCreatedAt = Nothing+ , gPGKeyEmails = Nothing+ , gPGKeyExpiresAt = Nothing+ , gPGKeyId = Nothing+ , gPGKeyKeyId = Nothing+ , gPGKeyPrimaryKeyId = Nothing+ , gPGKeyPublicKey = Nothing+ , gPGKeySubkeys = Nothing+ , gPGKeyVerified = Nothing+ }++-- ** GPGKeyEmail+-- | GPGKeyEmail+-- GPGKeyEmail an email attached to a GPGKey+data GPGKeyEmail = GPGKeyEmail+ { gPGKeyEmailEmail :: !(Maybe Text) -- ^ "email"+ , gPGKeyEmailVerified :: !(Maybe Bool) -- ^ "verified"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GPGKeyEmail+instance A.FromJSON GPGKeyEmail where+ parseJSON = A.withObject "GPGKeyEmail" $ \o ->+ GPGKeyEmail+ <$> (o .:? "email")+ <*> (o .:? "verified")++-- | ToJSON GPGKeyEmail+instance A.ToJSON GPGKeyEmail where+ toJSON GPGKeyEmail {..} =+ _omitNulls+ [ "email" .= gPGKeyEmailEmail+ , "verified" .= gPGKeyEmailVerified+ ]+++-- | Construct a value of type 'GPGKeyEmail' (by applying it's required fields, if any)+mkGPGKeyEmail+ :: GPGKeyEmail+mkGPGKeyEmail =+ GPGKeyEmail+ { gPGKeyEmailEmail = Nothing+ , gPGKeyEmailVerified = Nothing+ }++-- ** GeneralAPISettings+-- | GeneralAPISettings+-- GeneralAPISettings contains global api settings exposed by it+data GeneralAPISettings = GeneralAPISettings+ { generalAPISettingsDefaultGitTreesPerPage :: !(Maybe Integer) -- ^ "default_git_trees_per_page"+ , generalAPISettingsDefaultMaxBlobSize :: !(Maybe Integer) -- ^ "default_max_blob_size"+ , generalAPISettingsDefaultPagingNum :: !(Maybe Integer) -- ^ "default_paging_num"+ , generalAPISettingsMaxResponseItems :: !(Maybe Integer) -- ^ "max_response_items"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GeneralAPISettings+instance A.FromJSON GeneralAPISettings where+ parseJSON = A.withObject "GeneralAPISettings" $ \o ->+ GeneralAPISettings+ <$> (o .:? "default_git_trees_per_page")+ <*> (o .:? "default_max_blob_size")+ <*> (o .:? "default_paging_num")+ <*> (o .:? "max_response_items")++-- | ToJSON GeneralAPISettings+instance A.ToJSON GeneralAPISettings where+ toJSON GeneralAPISettings {..} =+ _omitNulls+ [ "default_git_trees_per_page" .= generalAPISettingsDefaultGitTreesPerPage+ , "default_max_blob_size" .= generalAPISettingsDefaultMaxBlobSize+ , "default_paging_num" .= generalAPISettingsDefaultPagingNum+ , "max_response_items" .= generalAPISettingsMaxResponseItems+ ]+++-- | Construct a value of type 'GeneralAPISettings' (by applying it's required fields, if any)+mkGeneralAPISettings+ :: GeneralAPISettings+mkGeneralAPISettings =+ GeneralAPISettings+ { generalAPISettingsDefaultGitTreesPerPage = Nothing+ , generalAPISettingsDefaultMaxBlobSize = Nothing+ , generalAPISettingsDefaultPagingNum = Nothing+ , generalAPISettingsMaxResponseItems = Nothing+ }++-- ** GeneralAttachmentSettings+-- | GeneralAttachmentSettings+-- GeneralAttachmentSettings contains global Attachment settings exposed by API+data GeneralAttachmentSettings = GeneralAttachmentSettings+ { generalAttachmentSettingsAllowedTypes :: !(Maybe Text) -- ^ "allowed_types"+ , generalAttachmentSettingsEnabled :: !(Maybe Bool) -- ^ "enabled"+ , generalAttachmentSettingsMaxFiles :: !(Maybe Integer) -- ^ "max_files"+ , generalAttachmentSettingsMaxSize :: !(Maybe Integer) -- ^ "max_size"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GeneralAttachmentSettings+instance A.FromJSON GeneralAttachmentSettings where+ parseJSON = A.withObject "GeneralAttachmentSettings" $ \o ->+ GeneralAttachmentSettings+ <$> (o .:? "allowed_types")+ <*> (o .:? "enabled")+ <*> (o .:? "max_files")+ <*> (o .:? "max_size")++-- | ToJSON GeneralAttachmentSettings+instance A.ToJSON GeneralAttachmentSettings where+ toJSON GeneralAttachmentSettings {..} =+ _omitNulls+ [ "allowed_types" .= generalAttachmentSettingsAllowedTypes+ , "enabled" .= generalAttachmentSettingsEnabled+ , "max_files" .= generalAttachmentSettingsMaxFiles+ , "max_size" .= generalAttachmentSettingsMaxSize+ ]+++-- | Construct a value of type 'GeneralAttachmentSettings' (by applying it's required fields, if any)+mkGeneralAttachmentSettings+ :: GeneralAttachmentSettings+mkGeneralAttachmentSettings =+ GeneralAttachmentSettings+ { generalAttachmentSettingsAllowedTypes = Nothing+ , generalAttachmentSettingsEnabled = Nothing+ , generalAttachmentSettingsMaxFiles = Nothing+ , generalAttachmentSettingsMaxSize = Nothing+ }++-- ** GeneralRepoSettings+-- | GeneralRepoSettings+-- GeneralRepoSettings contains global repository settings exposed by API+data GeneralRepoSettings = GeneralRepoSettings+ { generalRepoSettingsHttpGitDisabled :: !(Maybe Bool) -- ^ "http_git_disabled"+ , generalRepoSettingsLfsDisabled :: !(Maybe Bool) -- ^ "lfs_disabled"+ , generalRepoSettingsMigrationsDisabled :: !(Maybe Bool) -- ^ "migrations_disabled"+ , generalRepoSettingsMirrorsDisabled :: !(Maybe Bool) -- ^ "mirrors_disabled"+ , generalRepoSettingsStarsDisabled :: !(Maybe Bool) -- ^ "stars_disabled"+ , generalRepoSettingsTimeTrackingDisabled :: !(Maybe Bool) -- ^ "time_tracking_disabled"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GeneralRepoSettings+instance A.FromJSON GeneralRepoSettings where+ parseJSON = A.withObject "GeneralRepoSettings" $ \o ->+ GeneralRepoSettings+ <$> (o .:? "http_git_disabled")+ <*> (o .:? "lfs_disabled")+ <*> (o .:? "migrations_disabled")+ <*> (o .:? "mirrors_disabled")+ <*> (o .:? "stars_disabled")+ <*> (o .:? "time_tracking_disabled")++-- | ToJSON GeneralRepoSettings+instance A.ToJSON GeneralRepoSettings where+ toJSON GeneralRepoSettings {..} =+ _omitNulls+ [ "http_git_disabled" .= generalRepoSettingsHttpGitDisabled+ , "lfs_disabled" .= generalRepoSettingsLfsDisabled+ , "migrations_disabled" .= generalRepoSettingsMigrationsDisabled+ , "mirrors_disabled" .= generalRepoSettingsMirrorsDisabled+ , "stars_disabled" .= generalRepoSettingsStarsDisabled+ , "time_tracking_disabled" .= generalRepoSettingsTimeTrackingDisabled+ ]+++-- | Construct a value of type 'GeneralRepoSettings' (by applying it's required fields, if any)+mkGeneralRepoSettings+ :: GeneralRepoSettings+mkGeneralRepoSettings =+ GeneralRepoSettings+ { generalRepoSettingsHttpGitDisabled = Nothing+ , generalRepoSettingsLfsDisabled = Nothing+ , generalRepoSettingsMigrationsDisabled = Nothing+ , generalRepoSettingsMirrorsDisabled = Nothing+ , generalRepoSettingsStarsDisabled = Nothing+ , generalRepoSettingsTimeTrackingDisabled = Nothing+ }++-- ** GeneralUISettings+-- | GeneralUISettings+-- GeneralUISettings contains global ui settings exposed by API+data GeneralUISettings = GeneralUISettings+ { generalUISettingsAllowedReactions :: !(Maybe [Text]) -- ^ "allowed_reactions"+ , generalUISettingsCustomEmojis :: !(Maybe [Text]) -- ^ "custom_emojis"+ , generalUISettingsDefaultTheme :: !(Maybe Text) -- ^ "default_theme"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GeneralUISettings+instance A.FromJSON GeneralUISettings where+ parseJSON = A.withObject "GeneralUISettings" $ \o ->+ GeneralUISettings+ <$> (o .:? "allowed_reactions")+ <*> (o .:? "custom_emojis")+ <*> (o .:? "default_theme")++-- | ToJSON GeneralUISettings+instance A.ToJSON GeneralUISettings where+ toJSON GeneralUISettings {..} =+ _omitNulls+ [ "allowed_reactions" .= generalUISettingsAllowedReactions+ , "custom_emojis" .= generalUISettingsCustomEmojis+ , "default_theme" .= generalUISettingsDefaultTheme+ ]+++-- | Construct a value of type 'GeneralUISettings' (by applying it's required fields, if any)+mkGeneralUISettings+ :: GeneralUISettings+mkGeneralUISettings =+ GeneralUISettings+ { generalUISettingsAllowedReactions = Nothing+ , generalUISettingsCustomEmojis = Nothing+ , generalUISettingsDefaultTheme = Nothing+ }++-- ** GenerateRepoOption+-- | GenerateRepoOption+-- GenerateRepoOption options when creating repository using a template+data GenerateRepoOption = GenerateRepoOption+ { generateRepoOptionAvatar :: !(Maybe Bool) -- ^ "avatar" - include avatar of the template repo+ , generateRepoOptionDefaultBranch :: !(Maybe Text) -- ^ "default_branch" - Default branch of the new repository+ , generateRepoOptionDescription :: !(Maybe Text) -- ^ "description" - Description of the repository to create+ , generateRepoOptionGitContent :: !(Maybe Bool) -- ^ "git_content" - include git content of default branch in template repo+ , generateRepoOptionGitHooks :: !(Maybe Bool) -- ^ "git_hooks" - include git hooks in template repo+ , generateRepoOptionLabels :: !(Maybe Bool) -- ^ "labels" - include labels in template repo+ , generateRepoOptionName :: !(Text) -- ^ /Required/ "name" - Name of the repository to create+ , generateRepoOptionOwner :: !(Text) -- ^ /Required/ "owner" - The organization or person who will own the new repository+ , generateRepoOptionPrivate :: !(Maybe Bool) -- ^ "private" - Whether the repository is private+ , generateRepoOptionTopics :: !(Maybe Bool) -- ^ "topics" - include topics in template repo+ , generateRepoOptionWebhooks :: !(Maybe Bool) -- ^ "webhooks" - include webhooks in template repo+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GenerateRepoOption+instance A.FromJSON GenerateRepoOption where+ parseJSON = A.withObject "GenerateRepoOption" $ \o ->+ GenerateRepoOption+ <$> (o .:? "avatar")+ <*> (o .:? "default_branch")+ <*> (o .:? "description")+ <*> (o .:? "git_content")+ <*> (o .:? "git_hooks")+ <*> (o .:? "labels")+ <*> (o .: "name")+ <*> (o .: "owner")+ <*> (o .:? "private")+ <*> (o .:? "topics")+ <*> (o .:? "webhooks")++-- | ToJSON GenerateRepoOption+instance A.ToJSON GenerateRepoOption where+ toJSON GenerateRepoOption {..} =+ _omitNulls+ [ "avatar" .= generateRepoOptionAvatar+ , "default_branch" .= generateRepoOptionDefaultBranch+ , "description" .= generateRepoOptionDescription+ , "git_content" .= generateRepoOptionGitContent+ , "git_hooks" .= generateRepoOptionGitHooks+ , "labels" .= generateRepoOptionLabels+ , "name" .= generateRepoOptionName+ , "owner" .= generateRepoOptionOwner+ , "private" .= generateRepoOptionPrivate+ , "topics" .= generateRepoOptionTopics+ , "webhooks" .= generateRepoOptionWebhooks+ ]+++-- | Construct a value of type 'GenerateRepoOption' (by applying it's required fields, if any)+mkGenerateRepoOption+ :: Text -- ^ 'generateRepoOptionName': Name of the repository to create+ -> Text -- ^ 'generateRepoOptionOwner': The organization or person who will own the new repository+ -> GenerateRepoOption+mkGenerateRepoOption generateRepoOptionName generateRepoOptionOwner =+ GenerateRepoOption+ { generateRepoOptionAvatar = Nothing+ , generateRepoOptionDefaultBranch = Nothing+ , generateRepoOptionDescription = Nothing+ , generateRepoOptionGitContent = Nothing+ , generateRepoOptionGitHooks = Nothing+ , generateRepoOptionLabels = Nothing+ , generateRepoOptionName+ , generateRepoOptionOwner+ , generateRepoOptionPrivate = Nothing+ , generateRepoOptionTopics = Nothing+ , generateRepoOptionWebhooks = Nothing+ }++-- ** GitBlobResponse+-- | GitBlobResponse+-- GitBlobResponse represents a git blob+data GitBlobResponse = GitBlobResponse+ { gitBlobResponseContent :: !(Maybe Text) -- ^ "content"+ , gitBlobResponseEncoding :: !(Maybe Text) -- ^ "encoding"+ , gitBlobResponseSha :: !(Maybe Text) -- ^ "sha"+ , gitBlobResponseSize :: !(Maybe Integer) -- ^ "size"+ , gitBlobResponseUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GitBlobResponse+instance A.FromJSON GitBlobResponse where+ parseJSON = A.withObject "GitBlobResponse" $ \o ->+ GitBlobResponse+ <$> (o .:? "content")+ <*> (o .:? "encoding")+ <*> (o .:? "sha")+ <*> (o .:? "size")+ <*> (o .:? "url")++-- | ToJSON GitBlobResponse+instance A.ToJSON GitBlobResponse where+ toJSON GitBlobResponse {..} =+ _omitNulls+ [ "content" .= gitBlobResponseContent+ , "encoding" .= gitBlobResponseEncoding+ , "sha" .= gitBlobResponseSha+ , "size" .= gitBlobResponseSize+ , "url" .= gitBlobResponseUrl+ ]+++-- | Construct a value of type 'GitBlobResponse' (by applying it's required fields, if any)+mkGitBlobResponse+ :: GitBlobResponse+mkGitBlobResponse =+ GitBlobResponse+ { gitBlobResponseContent = Nothing+ , gitBlobResponseEncoding = Nothing+ , gitBlobResponseSha = Nothing+ , gitBlobResponseSize = Nothing+ , gitBlobResponseUrl = Nothing+ }++-- ** GitEntry+-- | GitEntry+-- GitEntry represents a git tree+data GitEntry = GitEntry+ { gitEntryMode :: !(Maybe Text) -- ^ "mode"+ , gitEntryPath :: !(Maybe Text) -- ^ "path"+ , gitEntrySha :: !(Maybe Text) -- ^ "sha"+ , gitEntrySize :: !(Maybe Integer) -- ^ "size"+ , gitEntryType :: !(Maybe Text) -- ^ "type"+ , gitEntryUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GitEntry+instance A.FromJSON GitEntry where+ parseJSON = A.withObject "GitEntry" $ \o ->+ GitEntry+ <$> (o .:? "mode")+ <*> (o .:? "path")+ <*> (o .:? "sha")+ <*> (o .:? "size")+ <*> (o .:? "type")+ <*> (o .:? "url")++-- | ToJSON GitEntry+instance A.ToJSON GitEntry where+ toJSON GitEntry {..} =+ _omitNulls+ [ "mode" .= gitEntryMode+ , "path" .= gitEntryPath+ , "sha" .= gitEntrySha+ , "size" .= gitEntrySize+ , "type" .= gitEntryType+ , "url" .= gitEntryUrl+ ]+++-- | Construct a value of type 'GitEntry' (by applying it's required fields, if any)+mkGitEntry+ :: GitEntry+mkGitEntry =+ GitEntry+ { gitEntryMode = Nothing+ , gitEntryPath = Nothing+ , gitEntrySha = Nothing+ , gitEntrySize = Nothing+ , gitEntryType = Nothing+ , gitEntryUrl = Nothing+ }++-- ** GitHook+-- | GitHook+-- GitHook represents a Git repository hook+data GitHook = GitHook+ { gitHookContent :: !(Maybe Text) -- ^ "content"+ , gitHookIsActive :: !(Maybe Bool) -- ^ "is_active"+ , gitHookName :: !(Maybe Text) -- ^ "name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GitHook+instance A.FromJSON GitHook where+ parseJSON = A.withObject "GitHook" $ \o ->+ GitHook+ <$> (o .:? "content")+ <*> (o .:? "is_active")+ <*> (o .:? "name")++-- | ToJSON GitHook+instance A.ToJSON GitHook where+ toJSON GitHook {..} =+ _omitNulls+ [ "content" .= gitHookContent+ , "is_active" .= gitHookIsActive+ , "name" .= gitHookName+ ]+++-- | Construct a value of type 'GitHook' (by applying it's required fields, if any)+mkGitHook+ :: GitHook+mkGitHook =+ GitHook+ { gitHookContent = Nothing+ , gitHookIsActive = Nothing+ , gitHookName = Nothing+ }++-- ** GitObject+-- | GitObject+-- GitObject represents a Git object.+-- +data GitObject = GitObject+ { gitObjectSha :: !(Maybe Text) -- ^ "sha"+ , gitObjectType :: !(Maybe Text) -- ^ "type"+ , gitObjectUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GitObject+instance A.FromJSON GitObject where+ parseJSON = A.withObject "GitObject" $ \o ->+ GitObject+ <$> (o .:? "sha")+ <*> (o .:? "type")+ <*> (o .:? "url")++-- | ToJSON GitObject+instance A.ToJSON GitObject where+ toJSON GitObject {..} =+ _omitNulls+ [ "sha" .= gitObjectSha+ , "type" .= gitObjectType+ , "url" .= gitObjectUrl+ ]+++-- | Construct a value of type 'GitObject' (by applying it's required fields, if any)+mkGitObject+ :: GitObject+mkGitObject =+ GitObject+ { gitObjectSha = Nothing+ , gitObjectType = Nothing+ , gitObjectUrl = Nothing+ }++-- ** GitTreeResponse+-- | GitTreeResponse+-- GitTreeResponse returns a git tree+data GitTreeResponse = GitTreeResponse+ { gitTreeResponsePage :: !(Maybe Integer) -- ^ "page"+ , gitTreeResponseSha :: !(Maybe Text) -- ^ "sha"+ , gitTreeResponseTotalCount :: !(Maybe Integer) -- ^ "total_count"+ , gitTreeResponseTree :: !(Maybe [GitEntry]) -- ^ "tree"+ , gitTreeResponseTruncated :: !(Maybe Bool) -- ^ "truncated"+ , gitTreeResponseUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON GitTreeResponse+instance A.FromJSON GitTreeResponse where+ parseJSON = A.withObject "GitTreeResponse" $ \o ->+ GitTreeResponse+ <$> (o .:? "page")+ <*> (o .:? "sha")+ <*> (o .:? "total_count")+ <*> (o .:? "tree")+ <*> (o .:? "truncated")+ <*> (o .:? "url")++-- | ToJSON GitTreeResponse+instance A.ToJSON GitTreeResponse where+ toJSON GitTreeResponse {..} =+ _omitNulls+ [ "page" .= gitTreeResponsePage+ , "sha" .= gitTreeResponseSha+ , "total_count" .= gitTreeResponseTotalCount+ , "tree" .= gitTreeResponseTree+ , "truncated" .= gitTreeResponseTruncated+ , "url" .= gitTreeResponseUrl+ ]+++-- | Construct a value of type 'GitTreeResponse' (by applying it's required fields, if any)+mkGitTreeResponse+ :: GitTreeResponse+mkGitTreeResponse =+ GitTreeResponse+ { gitTreeResponsePage = Nothing+ , gitTreeResponseSha = Nothing+ , gitTreeResponseTotalCount = Nothing+ , gitTreeResponseTree = Nothing+ , gitTreeResponseTruncated = Nothing+ , gitTreeResponseUrl = Nothing+ }++-- ** Hook+-- | Hook+-- Hook a hook is a web hook when one repository changed+data Hook = Hook+ { hookActive :: !(Maybe Bool) -- ^ "active"+ , hookAuthorizationHeader :: !(Maybe Text) -- ^ "authorization_header"+ , hookConfig :: !(Maybe (Map.Map String Text)) -- ^ "config"+ , hookCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , hookEvents :: !(Maybe [Text]) -- ^ "events"+ , hookId :: !(Maybe Integer) -- ^ "id"+ , hookType :: !(Maybe Text) -- ^ "type"+ , hookUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Hook+instance A.FromJSON Hook where+ parseJSON = A.withObject "Hook" $ \o ->+ Hook+ <$> (o .:? "active")+ <*> (o .:? "authorization_header")+ <*> (o .:? "config")+ <*> (o .:? "created_at")+ <*> (o .:? "events")+ <*> (o .:? "id")+ <*> (o .:? "type")+ <*> (o .:? "updated_at")++-- | ToJSON Hook+instance A.ToJSON Hook where+ toJSON Hook {..} =+ _omitNulls+ [ "active" .= hookActive+ , "authorization_header" .= hookAuthorizationHeader+ , "config" .= hookConfig+ , "created_at" .= hookCreatedAt+ , "events" .= hookEvents+ , "id" .= hookId+ , "type" .= hookType+ , "updated_at" .= hookUpdatedAt+ ]+++-- | Construct a value of type 'Hook' (by applying it's required fields, if any)+mkHook+ :: Hook+mkHook =+ Hook+ { hookActive = Nothing+ , hookAuthorizationHeader = Nothing+ , hookConfig = Nothing+ , hookCreatedAt = Nothing+ , hookEvents = Nothing+ , hookId = Nothing+ , hookType = Nothing+ , hookUpdatedAt = Nothing+ }++-- ** Identity+-- | Identity+-- Identity for a person's identity like an author or committer+data Identity = Identity+ { identityEmail :: !(Maybe Text) -- ^ "email"+ , identityName :: !(Maybe Text) -- ^ "name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Identity+instance A.FromJSON Identity where+ parseJSON = A.withObject "Identity" $ \o ->+ Identity+ <$> (o .:? "email")+ <*> (o .:? "name")++-- | ToJSON Identity+instance A.ToJSON Identity where+ toJSON Identity {..} =+ _omitNulls+ [ "email" .= identityEmail+ , "name" .= identityName+ ]+++-- | Construct a value of type 'Identity' (by applying it's required fields, if any)+mkIdentity+ :: Identity+mkIdentity =+ Identity+ { identityEmail = Nothing+ , identityName = Nothing+ }++-- ** InternalTracker+-- | InternalTracker+-- InternalTracker represents settings for internal tracker+data InternalTracker = InternalTracker+ { internalTrackerAllowOnlyContributorsToTrackTime :: !(Maybe Bool) -- ^ "allow_only_contributors_to_track_time" - Let only contributors track time (Built-in issue tracker)+ , internalTrackerEnableIssueDependencies :: !(Maybe Bool) -- ^ "enable_issue_dependencies" - Enable dependencies for issues and pull requests (Built-in issue tracker)+ , internalTrackerEnableTimeTracker :: !(Maybe Bool) -- ^ "enable_time_tracker" - Enable time tracking (Built-in issue tracker)+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON InternalTracker+instance A.FromJSON InternalTracker where+ parseJSON = A.withObject "InternalTracker" $ \o ->+ InternalTracker+ <$> (o .:? "allow_only_contributors_to_track_time")+ <*> (o .:? "enable_issue_dependencies")+ <*> (o .:? "enable_time_tracker")++-- | ToJSON InternalTracker+instance A.ToJSON InternalTracker where+ toJSON InternalTracker {..} =+ _omitNulls+ [ "allow_only_contributors_to_track_time" .= internalTrackerAllowOnlyContributorsToTrackTime+ , "enable_issue_dependencies" .= internalTrackerEnableIssueDependencies+ , "enable_time_tracker" .= internalTrackerEnableTimeTracker+ ]+++-- | Construct a value of type 'InternalTracker' (by applying it's required fields, if any)+mkInternalTracker+ :: InternalTracker+mkInternalTracker =+ InternalTracker+ { internalTrackerAllowOnlyContributorsToTrackTime = Nothing+ , internalTrackerEnableIssueDependencies = Nothing+ , internalTrackerEnableTimeTracker = Nothing+ }++-- ** Issue+-- | Issue+-- Issue represents an issue in a repository+data Issue = Issue+ { issueAssets :: !(Maybe [Attachment]) -- ^ "assets"+ , issueAssignee :: !(Maybe User) -- ^ "assignee"+ , issueAssignees :: !(Maybe [User]) -- ^ "assignees"+ , issueBody :: !(Maybe Text) -- ^ "body"+ , issueClosedAt :: !(Maybe DateTime) -- ^ "closed_at"+ , issueComments :: !(Maybe Integer) -- ^ "comments"+ , issueCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , issueDueDate :: !(Maybe DateTime) -- ^ "due_date"+ , issueHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , issueId :: !(Maybe Integer) -- ^ "id"+ , issueIsLocked :: !(Maybe Bool) -- ^ "is_locked"+ , issueLabels :: !(Maybe [Label]) -- ^ "labels"+ , issueMilestone :: !(Maybe Milestone) -- ^ "milestone"+ , issueNumber :: !(Maybe Integer) -- ^ "number"+ , issueOriginalAuthor :: !(Maybe Text) -- ^ "original_author"+ , issueOriginalAuthorId :: !(Maybe Integer) -- ^ "original_author_id"+ , issuePullRequest :: !(Maybe PullRequestMeta) -- ^ "pull_request"+ , issueRef :: !(Maybe Text) -- ^ "ref"+ , issueRepository :: !(Maybe RepositoryMeta) -- ^ "repository"+ , issueState :: !(Maybe Text) -- ^ "state" - StateType issue state type+ , issueTitle :: !(Maybe Text) -- ^ "title"+ , issueUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , issueUrl :: !(Maybe Text) -- ^ "url"+ , issueUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Issue+instance A.FromJSON Issue where+ parseJSON = A.withObject "Issue" $ \o ->+ Issue+ <$> (o .:? "assets")+ <*> (o .:? "assignee")+ <*> (o .:? "assignees")+ <*> (o .:? "body")+ <*> (o .:? "closed_at")+ <*> (o .:? "comments")+ <*> (o .:? "created_at")+ <*> (o .:? "due_date")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "is_locked")+ <*> (o .:? "labels")+ <*> (o .:? "milestone")+ <*> (o .:? "number")+ <*> (o .:? "original_author")+ <*> (o .:? "original_author_id")+ <*> (o .:? "pull_request")+ <*> (o .:? "ref")+ <*> (o .:? "repository")+ <*> (o .:? "state")+ <*> (o .:? "title")+ <*> (o .:? "updated_at")+ <*> (o .:? "url")+ <*> (o .:? "user")++-- | ToJSON Issue+instance A.ToJSON Issue where+ toJSON Issue {..} =+ _omitNulls+ [ "assets" .= issueAssets+ , "assignee" .= issueAssignee+ , "assignees" .= issueAssignees+ , "body" .= issueBody+ , "closed_at" .= issueClosedAt+ , "comments" .= issueComments+ , "created_at" .= issueCreatedAt+ , "due_date" .= issueDueDate+ , "html_url" .= issueHtmlUrl+ , "id" .= issueId+ , "is_locked" .= issueIsLocked+ , "labels" .= issueLabels+ , "milestone" .= issueMilestone+ , "number" .= issueNumber+ , "original_author" .= issueOriginalAuthor+ , "original_author_id" .= issueOriginalAuthorId+ , "pull_request" .= issuePullRequest+ , "ref" .= issueRef+ , "repository" .= issueRepository+ , "state" .= issueState+ , "title" .= issueTitle+ , "updated_at" .= issueUpdatedAt+ , "url" .= issueUrl+ , "user" .= issueUser+ ]+++-- | Construct a value of type 'Issue' (by applying it's required fields, if any)+mkIssue+ :: Issue+mkIssue =+ Issue+ { issueAssets = Nothing+ , issueAssignee = Nothing+ , issueAssignees = Nothing+ , issueBody = Nothing+ , issueClosedAt = Nothing+ , issueComments = Nothing+ , issueCreatedAt = Nothing+ , issueDueDate = Nothing+ , issueHtmlUrl = Nothing+ , issueId = Nothing+ , issueIsLocked = Nothing+ , issueLabels = Nothing+ , issueMilestone = Nothing+ , issueNumber = Nothing+ , issueOriginalAuthor = Nothing+ , issueOriginalAuthorId = Nothing+ , issuePullRequest = Nothing+ , issueRef = Nothing+ , issueRepository = Nothing+ , issueState = Nothing+ , issueTitle = Nothing+ , issueUpdatedAt = Nothing+ , issueUrl = Nothing+ , issueUser = Nothing+ }++-- ** IssueDeadline+-- | IssueDeadline+-- IssueDeadline represents an issue deadline+data IssueDeadline = IssueDeadline+ { issueDeadlineDueDate :: !(Maybe DateTime) -- ^ "due_date"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IssueDeadline+instance A.FromJSON IssueDeadline where+ parseJSON = A.withObject "IssueDeadline" $ \o ->+ IssueDeadline+ <$> (o .:? "due_date")++-- | ToJSON IssueDeadline+instance A.ToJSON IssueDeadline where+ toJSON IssueDeadline {..} =+ _omitNulls+ [ "due_date" .= issueDeadlineDueDate+ ]+++-- | Construct a value of type 'IssueDeadline' (by applying it's required fields, if any)+mkIssueDeadline+ :: IssueDeadline+mkIssueDeadline =+ IssueDeadline+ { issueDeadlineDueDate = Nothing+ }++-- ** IssueFormField+-- | IssueFormField+-- IssueFormField represents a form field+data IssueFormField = IssueFormField+ { issueFormFieldAttributes :: !(Maybe (Map.Map String A.Value)) -- ^ "attributes"+ , issueFormFieldId :: !(Maybe Text) -- ^ "id"+ , issueFormFieldType :: !(Maybe Text) -- ^ "type"+ , issueFormFieldValidations :: !(Maybe (Map.Map String A.Value)) -- ^ "validations"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IssueFormField+instance A.FromJSON IssueFormField where+ parseJSON = A.withObject "IssueFormField" $ \o ->+ IssueFormField+ <$> (o .:? "attributes")+ <*> (o .:? "id")+ <*> (o .:? "type")+ <*> (o .:? "validations")++-- | ToJSON IssueFormField+instance A.ToJSON IssueFormField where+ toJSON IssueFormField {..} =+ _omitNulls+ [ "attributes" .= issueFormFieldAttributes+ , "id" .= issueFormFieldId+ , "type" .= issueFormFieldType+ , "validations" .= issueFormFieldValidations+ ]+++-- | Construct a value of type 'IssueFormField' (by applying it's required fields, if any)+mkIssueFormField+ :: IssueFormField+mkIssueFormField =+ IssueFormField+ { issueFormFieldAttributes = Nothing+ , issueFormFieldId = Nothing+ , issueFormFieldType = Nothing+ , issueFormFieldValidations = Nothing+ }++-- ** IssueLabelsOption+-- | IssueLabelsOption+-- IssueLabelsOption a collection of labels+data IssueLabelsOption = IssueLabelsOption+ { issueLabelsOptionLabels :: !(Maybe [Integer]) -- ^ "labels" - list of label IDs+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IssueLabelsOption+instance A.FromJSON IssueLabelsOption where+ parseJSON = A.withObject "IssueLabelsOption" $ \o ->+ IssueLabelsOption+ <$> (o .:? "labels")++-- | ToJSON IssueLabelsOption+instance A.ToJSON IssueLabelsOption where+ toJSON IssueLabelsOption {..} =+ _omitNulls+ [ "labels" .= issueLabelsOptionLabels+ ]+++-- | Construct a value of type 'IssueLabelsOption' (by applying it's required fields, if any)+mkIssueLabelsOption+ :: IssueLabelsOption+mkIssueLabelsOption =+ IssueLabelsOption+ { issueLabelsOptionLabels = Nothing+ }++-- ** IssueTemplate+-- | IssueTemplate+-- IssueTemplate represents an issue template for a repository+data IssueTemplate = IssueTemplate+ { issueTemplateAbout :: !(Maybe Text) -- ^ "about"+ , issueTemplateBody :: !(Maybe [IssueFormField]) -- ^ "body"+ , issueTemplateContent :: !(Maybe Text) -- ^ "content"+ , issueTemplateFileName :: !(Maybe Text) -- ^ "file_name"+ , issueTemplateLabels :: !(Maybe [Text]) -- ^ "labels"+ , issueTemplateName :: !(Maybe Text) -- ^ "name"+ , issueTemplateRef :: !(Maybe Text) -- ^ "ref"+ , issueTemplateTitle :: !(Maybe Text) -- ^ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON IssueTemplate+instance A.FromJSON IssueTemplate where+ parseJSON = A.withObject "IssueTemplate" $ \o ->+ IssueTemplate+ <$> (o .:? "about")+ <*> (o .:? "body")+ <*> (o .:? "content")+ <*> (o .:? "file_name")+ <*> (o .:? "labels")+ <*> (o .:? "name")+ <*> (o .:? "ref")+ <*> (o .:? "title")++-- | ToJSON IssueTemplate+instance A.ToJSON IssueTemplate where+ toJSON IssueTemplate {..} =+ _omitNulls+ [ "about" .= issueTemplateAbout+ , "body" .= issueTemplateBody+ , "content" .= issueTemplateContent+ , "file_name" .= issueTemplateFileName+ , "labels" .= issueTemplateLabels+ , "name" .= issueTemplateName+ , "ref" .= issueTemplateRef+ , "title" .= issueTemplateTitle+ ]+++-- | Construct a value of type 'IssueTemplate' (by applying it's required fields, if any)+mkIssueTemplate+ :: IssueTemplate+mkIssueTemplate =+ IssueTemplate+ { issueTemplateAbout = Nothing+ , issueTemplateBody = Nothing+ , issueTemplateContent = Nothing+ , issueTemplateFileName = Nothing+ , issueTemplateLabels = Nothing+ , issueTemplateName = Nothing+ , issueTemplateRef = Nothing+ , issueTemplateTitle = Nothing+ }++-- ** Label+-- | Label+-- Label a label to an issue or a pr+data Label = Label+ { labelColor :: !(Maybe Text) -- ^ "color"+ , labelDescription :: !(Maybe Text) -- ^ "description"+ , labelExclusive :: !(Maybe Bool) -- ^ "exclusive"+ , labelId :: !(Maybe Integer) -- ^ "id"+ , labelName :: !(Maybe Text) -- ^ "name"+ , labelUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Label+instance A.FromJSON Label where+ parseJSON = A.withObject "Label" $ \o ->+ Label+ <$> (o .:? "color")+ <*> (o .:? "description")+ <*> (o .:? "exclusive")+ <*> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "url")++-- | ToJSON Label+instance A.ToJSON Label where+ toJSON Label {..} =+ _omitNulls+ [ "color" .= labelColor+ , "description" .= labelDescription+ , "exclusive" .= labelExclusive+ , "id" .= labelId+ , "name" .= labelName+ , "url" .= labelUrl+ ]+++-- | Construct a value of type 'Label' (by applying it's required fields, if any)+mkLabel+ :: Label+mkLabel =+ Label+ { labelColor = Nothing+ , labelDescription = Nothing+ , labelExclusive = Nothing+ , labelId = Nothing+ , labelName = Nothing+ , labelUrl = Nothing+ }++-- ** MarkdownOption+-- | MarkdownOption+-- MarkdownOption markdown options+data MarkdownOption = MarkdownOption+ { markdownOptionContext :: !(Maybe Text) -- ^ "Context" - Context to render in: body+ , markdownOptionMode :: !(Maybe Text) -- ^ "Mode" - Mode to render in: body+ , markdownOptionText :: !(Maybe Text) -- ^ "Text" - Text markdown to render in: body+ , markdownOptionWiki :: !(Maybe Bool) -- ^ "Wiki" - Is it a wiki page ? in: body+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON MarkdownOption+instance A.FromJSON MarkdownOption where+ parseJSON = A.withObject "MarkdownOption" $ \o ->+ MarkdownOption+ <$> (o .:? "Context")+ <*> (o .:? "Mode")+ <*> (o .:? "Text")+ <*> (o .:? "Wiki")++-- | ToJSON MarkdownOption+instance A.ToJSON MarkdownOption where+ toJSON MarkdownOption {..} =+ _omitNulls+ [ "Context" .= markdownOptionContext+ , "Mode" .= markdownOptionMode+ , "Text" .= markdownOptionText+ , "Wiki" .= markdownOptionWiki+ ]+++-- | Construct a value of type 'MarkdownOption' (by applying it's required fields, if any)+mkMarkdownOption+ :: MarkdownOption+mkMarkdownOption =+ MarkdownOption+ { markdownOptionContext = Nothing+ , markdownOptionMode = Nothing+ , markdownOptionText = Nothing+ , markdownOptionWiki = Nothing+ }++-- ** MergePullRequestOption+-- | MergePullRequestOption+-- MergePullRequestForm form for merging Pull Request+data MergePullRequestOption = MergePullRequestOption+ { mergePullRequestOptionDo :: !(E'Do) -- ^ /Required/ "Do"+ , mergePullRequestOptionMergeCommitId :: !(Maybe Text) -- ^ "MergeCommitID"+ , mergePullRequestOptionMergeMessageField :: !(Maybe Text) -- ^ "MergeMessageField"+ , mergePullRequestOptionMergeTitleField :: !(Maybe Text) -- ^ "MergeTitleField"+ , mergePullRequestOptionDeleteBranchAfterMerge :: !(Maybe Bool) -- ^ "delete_branch_after_merge"+ , mergePullRequestOptionForceMerge :: !(Maybe Bool) -- ^ "force_merge"+ , mergePullRequestOptionHeadCommitId :: !(Maybe Text) -- ^ "head_commit_id"+ , mergePullRequestOptionMergeWhenChecksSucceed :: !(Maybe Bool) -- ^ "merge_when_checks_succeed"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON MergePullRequestOption+instance A.FromJSON MergePullRequestOption where+ parseJSON = A.withObject "MergePullRequestOption" $ \o ->+ MergePullRequestOption+ <$> (o .: "Do")+ <*> (o .:? "MergeCommitID")+ <*> (o .:? "MergeMessageField")+ <*> (o .:? "MergeTitleField")+ <*> (o .:? "delete_branch_after_merge")+ <*> (o .:? "force_merge")+ <*> (o .:? "head_commit_id")+ <*> (o .:? "merge_when_checks_succeed")++-- | ToJSON MergePullRequestOption+instance A.ToJSON MergePullRequestOption where+ toJSON MergePullRequestOption {..} =+ _omitNulls+ [ "Do" .= mergePullRequestOptionDo+ , "MergeCommitID" .= mergePullRequestOptionMergeCommitId+ , "MergeMessageField" .= mergePullRequestOptionMergeMessageField+ , "MergeTitleField" .= mergePullRequestOptionMergeTitleField+ , "delete_branch_after_merge" .= mergePullRequestOptionDeleteBranchAfterMerge+ , "force_merge" .= mergePullRequestOptionForceMerge+ , "head_commit_id" .= mergePullRequestOptionHeadCommitId+ , "merge_when_checks_succeed" .= mergePullRequestOptionMergeWhenChecksSucceed+ ]+++-- | Construct a value of type 'MergePullRequestOption' (by applying it's required fields, if any)+mkMergePullRequestOption+ :: E'Do -- ^ 'mergePullRequestOptionDo' + -> MergePullRequestOption+mkMergePullRequestOption mergePullRequestOptionDo =+ MergePullRequestOption+ { mergePullRequestOptionDo+ , mergePullRequestOptionMergeCommitId = Nothing+ , mergePullRequestOptionMergeMessageField = Nothing+ , mergePullRequestOptionMergeTitleField = Nothing+ , mergePullRequestOptionDeleteBranchAfterMerge = Nothing+ , mergePullRequestOptionForceMerge = Nothing+ , mergePullRequestOptionHeadCommitId = Nothing+ , mergePullRequestOptionMergeWhenChecksSucceed = Nothing+ }++-- ** MigrateRepoOptions+-- | MigrateRepoOptions+-- MigrateRepoOptions options for migrating repository's this is used to interact with api v1+data MigrateRepoOptions = MigrateRepoOptions+ { migrateRepoOptionsAuthPassword :: !(Maybe Text) -- ^ "auth_password"+ , migrateRepoOptionsAuthToken :: !(Maybe Text) -- ^ "auth_token"+ , migrateRepoOptionsAuthUsername :: !(Maybe Text) -- ^ "auth_username"+ , migrateRepoOptionsCloneAddr :: !(Text) -- ^ /Required/ "clone_addr"+ , migrateRepoOptionsDescription :: !(Maybe Text) -- ^ "description"+ , migrateRepoOptionsIssues :: !(Maybe Bool) -- ^ "issues"+ , migrateRepoOptionsLabels :: !(Maybe Bool) -- ^ "labels"+ , migrateRepoOptionsLfs :: !(Maybe Bool) -- ^ "lfs"+ , migrateRepoOptionsLfsEndpoint :: !(Maybe Text) -- ^ "lfs_endpoint"+ , migrateRepoOptionsMilestones :: !(Maybe Bool) -- ^ "milestones"+ , migrateRepoOptionsMirror :: !(Maybe Bool) -- ^ "mirror"+ , migrateRepoOptionsMirrorInterval :: !(Maybe Text) -- ^ "mirror_interval"+ , migrateRepoOptionsPrivate :: !(Maybe Bool) -- ^ "private"+ , migrateRepoOptionsPullRequests :: !(Maybe Bool) -- ^ "pull_requests"+ , migrateRepoOptionsReleases :: !(Maybe Bool) -- ^ "releases"+ , migrateRepoOptionsRepoName :: !(Text) -- ^ /Required/ "repo_name"+ , migrateRepoOptionsRepoOwner :: !(Maybe Text) -- ^ "repo_owner" - Name of User or Organisation who will own Repo after migration+ , migrateRepoOptionsService :: !(Maybe E'Service) -- ^ "service"+ , migrateRepoOptionsUid :: !(Maybe Integer) -- ^ "uid" - deprecated (only for backwards compatibility)+ , migrateRepoOptionsWiki :: !(Maybe Bool) -- ^ "wiki"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON MigrateRepoOptions+instance A.FromJSON MigrateRepoOptions where+ parseJSON = A.withObject "MigrateRepoOptions" $ \o ->+ MigrateRepoOptions+ <$> (o .:? "auth_password")+ <*> (o .:? "auth_token")+ <*> (o .:? "auth_username")+ <*> (o .: "clone_addr")+ <*> (o .:? "description")+ <*> (o .:? "issues")+ <*> (o .:? "labels")+ <*> (o .:? "lfs")+ <*> (o .:? "lfs_endpoint")+ <*> (o .:? "milestones")+ <*> (o .:? "mirror")+ <*> (o .:? "mirror_interval")+ <*> (o .:? "private")+ <*> (o .:? "pull_requests")+ <*> (o .:? "releases")+ <*> (o .: "repo_name")+ <*> (o .:? "repo_owner")+ <*> (o .:? "service")+ <*> (o .:? "uid")+ <*> (o .:? "wiki")++-- | ToJSON MigrateRepoOptions+instance A.ToJSON MigrateRepoOptions where+ toJSON MigrateRepoOptions {..} =+ _omitNulls+ [ "auth_password" .= migrateRepoOptionsAuthPassword+ , "auth_token" .= migrateRepoOptionsAuthToken+ , "auth_username" .= migrateRepoOptionsAuthUsername+ , "clone_addr" .= migrateRepoOptionsCloneAddr+ , "description" .= migrateRepoOptionsDescription+ , "issues" .= migrateRepoOptionsIssues+ , "labels" .= migrateRepoOptionsLabels+ , "lfs" .= migrateRepoOptionsLfs+ , "lfs_endpoint" .= migrateRepoOptionsLfsEndpoint+ , "milestones" .= migrateRepoOptionsMilestones+ , "mirror" .= migrateRepoOptionsMirror+ , "mirror_interval" .= migrateRepoOptionsMirrorInterval+ , "private" .= migrateRepoOptionsPrivate+ , "pull_requests" .= migrateRepoOptionsPullRequests+ , "releases" .= migrateRepoOptionsReleases+ , "repo_name" .= migrateRepoOptionsRepoName+ , "repo_owner" .= migrateRepoOptionsRepoOwner+ , "service" .= migrateRepoOptionsService+ , "uid" .= migrateRepoOptionsUid+ , "wiki" .= migrateRepoOptionsWiki+ ]+++-- | Construct a value of type 'MigrateRepoOptions' (by applying it's required fields, if any)+mkMigrateRepoOptions+ :: Text -- ^ 'migrateRepoOptionsCloneAddr' + -> Text -- ^ 'migrateRepoOptionsRepoName' + -> MigrateRepoOptions+mkMigrateRepoOptions migrateRepoOptionsCloneAddr migrateRepoOptionsRepoName =+ MigrateRepoOptions+ { migrateRepoOptionsAuthPassword = Nothing+ , migrateRepoOptionsAuthToken = Nothing+ , migrateRepoOptionsAuthUsername = Nothing+ , migrateRepoOptionsCloneAddr+ , migrateRepoOptionsDescription = Nothing+ , migrateRepoOptionsIssues = Nothing+ , migrateRepoOptionsLabels = Nothing+ , migrateRepoOptionsLfs = Nothing+ , migrateRepoOptionsLfsEndpoint = Nothing+ , migrateRepoOptionsMilestones = Nothing+ , migrateRepoOptionsMirror = Nothing+ , migrateRepoOptionsMirrorInterval = Nothing+ , migrateRepoOptionsPrivate = Nothing+ , migrateRepoOptionsPullRequests = Nothing+ , migrateRepoOptionsReleases = Nothing+ , migrateRepoOptionsRepoName+ , migrateRepoOptionsRepoOwner = Nothing+ , migrateRepoOptionsService = Nothing+ , migrateRepoOptionsUid = Nothing+ , migrateRepoOptionsWiki = Nothing+ }++-- ** Milestone+-- | Milestone+-- Milestone milestone is a collection of issues on one repository+data Milestone = Milestone+ { milestoneClosedAt :: !(Maybe DateTime) -- ^ "closed_at"+ , milestoneClosedIssues :: !(Maybe Integer) -- ^ "closed_issues"+ , milestoneCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , milestoneDescription :: !(Maybe Text) -- ^ "description"+ , milestoneDueOn :: !(Maybe DateTime) -- ^ "due_on"+ , milestoneId :: !(Maybe Integer) -- ^ "id"+ , milestoneOpenIssues :: !(Maybe Integer) -- ^ "open_issues"+ , milestoneState :: !(Maybe Text) -- ^ "state" - StateType issue state type+ , milestoneTitle :: !(Maybe Text) -- ^ "title"+ , milestoneUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Milestone+instance A.FromJSON Milestone where+ parseJSON = A.withObject "Milestone" $ \o ->+ Milestone+ <$> (o .:? "closed_at")+ <*> (o .:? "closed_issues")+ <*> (o .:? "created_at")+ <*> (o .:? "description")+ <*> (o .:? "due_on")+ <*> (o .:? "id")+ <*> (o .:? "open_issues")+ <*> (o .:? "state")+ <*> (o .:? "title")+ <*> (o .:? "updated_at")++-- | ToJSON Milestone+instance A.ToJSON Milestone where+ toJSON Milestone {..} =+ _omitNulls+ [ "closed_at" .= milestoneClosedAt+ , "closed_issues" .= milestoneClosedIssues+ , "created_at" .= milestoneCreatedAt+ , "description" .= milestoneDescription+ , "due_on" .= milestoneDueOn+ , "id" .= milestoneId+ , "open_issues" .= milestoneOpenIssues+ , "state" .= milestoneState+ , "title" .= milestoneTitle+ , "updated_at" .= milestoneUpdatedAt+ ]+++-- | Construct a value of type 'Milestone' (by applying it's required fields, if any)+mkMilestone+ :: Milestone+mkMilestone =+ Milestone+ { milestoneClosedAt = Nothing+ , milestoneClosedIssues = Nothing+ , milestoneCreatedAt = Nothing+ , milestoneDescription = Nothing+ , milestoneDueOn = Nothing+ , milestoneId = Nothing+ , milestoneOpenIssues = Nothing+ , milestoneState = Nothing+ , milestoneTitle = Nothing+ , milestoneUpdatedAt = Nothing+ }++-- ** NodeInfo+-- | NodeInfo+-- NodeInfo contains standardized way of exposing metadata about a server running one of the distributed social networks+data NodeInfo = NodeInfo+ { nodeInfoMetadata :: !(Maybe A.Value) -- ^ "metadata"+ , nodeInfoOpenRegistrations :: !(Maybe Bool) -- ^ "openRegistrations"+ , nodeInfoProtocols :: !(Maybe [Text]) -- ^ "protocols"+ , nodeInfoServices :: !(Maybe NodeInfoServices) -- ^ "services"+ , nodeInfoSoftware :: !(Maybe NodeInfoSoftware) -- ^ "software"+ , nodeInfoUsage :: !(Maybe NodeInfoUsage) -- ^ "usage"+ , nodeInfoVersion :: !(Maybe Text) -- ^ "version"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NodeInfo+instance A.FromJSON NodeInfo where+ parseJSON = A.withObject "NodeInfo" $ \o ->+ NodeInfo+ <$> (o .:? "metadata")+ <*> (o .:? "openRegistrations")+ <*> (o .:? "protocols")+ <*> (o .:? "services")+ <*> (o .:? "software")+ <*> (o .:? "usage")+ <*> (o .:? "version")++-- | ToJSON NodeInfo+instance A.ToJSON NodeInfo where+ toJSON NodeInfo {..} =+ _omitNulls+ [ "metadata" .= nodeInfoMetadata+ , "openRegistrations" .= nodeInfoOpenRegistrations+ , "protocols" .= nodeInfoProtocols+ , "services" .= nodeInfoServices+ , "software" .= nodeInfoSoftware+ , "usage" .= nodeInfoUsage+ , "version" .= nodeInfoVersion+ ]+++-- | Construct a value of type 'NodeInfo' (by applying it's required fields, if any)+mkNodeInfo+ :: NodeInfo+mkNodeInfo =+ NodeInfo+ { nodeInfoMetadata = Nothing+ , nodeInfoOpenRegistrations = Nothing+ , nodeInfoProtocols = Nothing+ , nodeInfoServices = Nothing+ , nodeInfoSoftware = Nothing+ , nodeInfoUsage = Nothing+ , nodeInfoVersion = Nothing+ }++-- ** NodeInfoServices+-- | NodeInfoServices+-- NodeInfoServices contains the third party sites this server can connect to via their application API+data NodeInfoServices = NodeInfoServices+ { nodeInfoServicesInbound :: !(Maybe [Text]) -- ^ "inbound"+ , nodeInfoServicesOutbound :: !(Maybe [Text]) -- ^ "outbound"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NodeInfoServices+instance A.FromJSON NodeInfoServices where+ parseJSON = A.withObject "NodeInfoServices" $ \o ->+ NodeInfoServices+ <$> (o .:? "inbound")+ <*> (o .:? "outbound")++-- | ToJSON NodeInfoServices+instance A.ToJSON NodeInfoServices where+ toJSON NodeInfoServices {..} =+ _omitNulls+ [ "inbound" .= nodeInfoServicesInbound+ , "outbound" .= nodeInfoServicesOutbound+ ]+++-- | Construct a value of type 'NodeInfoServices' (by applying it's required fields, if any)+mkNodeInfoServices+ :: NodeInfoServices+mkNodeInfoServices =+ NodeInfoServices+ { nodeInfoServicesInbound = Nothing+ , nodeInfoServicesOutbound = Nothing+ }++-- ** NodeInfoSoftware+-- | NodeInfoSoftware+-- NodeInfoSoftware contains Metadata about server software in use+data NodeInfoSoftware = NodeInfoSoftware+ { nodeInfoSoftwareHomepage :: !(Maybe Text) -- ^ "homepage"+ , nodeInfoSoftwareName :: !(Maybe Text) -- ^ "name"+ , nodeInfoSoftwareRepository :: !(Maybe Text) -- ^ "repository"+ , nodeInfoSoftwareVersion :: !(Maybe Text) -- ^ "version"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NodeInfoSoftware+instance A.FromJSON NodeInfoSoftware where+ parseJSON = A.withObject "NodeInfoSoftware" $ \o ->+ NodeInfoSoftware+ <$> (o .:? "homepage")+ <*> (o .:? "name")+ <*> (o .:? "repository")+ <*> (o .:? "version")++-- | ToJSON NodeInfoSoftware+instance A.ToJSON NodeInfoSoftware where+ toJSON NodeInfoSoftware {..} =+ _omitNulls+ [ "homepage" .= nodeInfoSoftwareHomepage+ , "name" .= nodeInfoSoftwareName+ , "repository" .= nodeInfoSoftwareRepository+ , "version" .= nodeInfoSoftwareVersion+ ]+++-- | Construct a value of type 'NodeInfoSoftware' (by applying it's required fields, if any)+mkNodeInfoSoftware+ :: NodeInfoSoftware+mkNodeInfoSoftware =+ NodeInfoSoftware+ { nodeInfoSoftwareHomepage = Nothing+ , nodeInfoSoftwareName = Nothing+ , nodeInfoSoftwareRepository = Nothing+ , nodeInfoSoftwareVersion = Nothing+ }++-- ** NodeInfoUsage+-- | NodeInfoUsage+-- NodeInfoUsage contains usage statistics for this server+data NodeInfoUsage = NodeInfoUsage+ { nodeInfoUsageLocalComments :: !(Maybe Integer) -- ^ "localComments"+ , nodeInfoUsageLocalPosts :: !(Maybe Integer) -- ^ "localPosts"+ , nodeInfoUsageUsers :: !(Maybe NodeInfoUsageUsers) -- ^ "users"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NodeInfoUsage+instance A.FromJSON NodeInfoUsage where+ parseJSON = A.withObject "NodeInfoUsage" $ \o ->+ NodeInfoUsage+ <$> (o .:? "localComments")+ <*> (o .:? "localPosts")+ <*> (o .:? "users")++-- | ToJSON NodeInfoUsage+instance A.ToJSON NodeInfoUsage where+ toJSON NodeInfoUsage {..} =+ _omitNulls+ [ "localComments" .= nodeInfoUsageLocalComments+ , "localPosts" .= nodeInfoUsageLocalPosts+ , "users" .= nodeInfoUsageUsers+ ]+++-- | Construct a value of type 'NodeInfoUsage' (by applying it's required fields, if any)+mkNodeInfoUsage+ :: NodeInfoUsage+mkNodeInfoUsage =+ NodeInfoUsage+ { nodeInfoUsageLocalComments = Nothing+ , nodeInfoUsageLocalPosts = Nothing+ , nodeInfoUsageUsers = Nothing+ }++-- ** NodeInfoUsageUsers+-- | NodeInfoUsageUsers+-- NodeInfoUsageUsers contains statistics about the users of this server+data NodeInfoUsageUsers = NodeInfoUsageUsers+ { nodeInfoUsageUsersActiveHalfyear :: !(Maybe Integer) -- ^ "activeHalfyear"+ , nodeInfoUsageUsersActiveMonth :: !(Maybe Integer) -- ^ "activeMonth"+ , nodeInfoUsageUsersTotal :: !(Maybe Integer) -- ^ "total"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NodeInfoUsageUsers+instance A.FromJSON NodeInfoUsageUsers where+ parseJSON = A.withObject "NodeInfoUsageUsers" $ \o ->+ NodeInfoUsageUsers+ <$> (o .:? "activeHalfyear")+ <*> (o .:? "activeMonth")+ <*> (o .:? "total")++-- | ToJSON NodeInfoUsageUsers+instance A.ToJSON NodeInfoUsageUsers where+ toJSON NodeInfoUsageUsers {..} =+ _omitNulls+ [ "activeHalfyear" .= nodeInfoUsageUsersActiveHalfyear+ , "activeMonth" .= nodeInfoUsageUsersActiveMonth+ , "total" .= nodeInfoUsageUsersTotal+ ]+++-- | Construct a value of type 'NodeInfoUsageUsers' (by applying it's required fields, if any)+mkNodeInfoUsageUsers+ :: NodeInfoUsageUsers+mkNodeInfoUsageUsers =+ NodeInfoUsageUsers+ { nodeInfoUsageUsersActiveHalfyear = Nothing+ , nodeInfoUsageUsersActiveMonth = Nothing+ , nodeInfoUsageUsersTotal = Nothing+ }++-- ** Note+-- | Note+-- Note contains information related to a git note+data Note = Note+ { noteCommit :: !(Maybe Commit) -- ^ "commit"+ , noteMessage :: !(Maybe Text) -- ^ "message"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Note+instance A.FromJSON Note where+ parseJSON = A.withObject "Note" $ \o ->+ Note+ <$> (o .:? "commit")+ <*> (o .:? "message")++-- | ToJSON Note+instance A.ToJSON Note where+ toJSON Note {..} =+ _omitNulls+ [ "commit" .= noteCommit+ , "message" .= noteMessage+ ]+++-- | Construct a value of type 'Note' (by applying it's required fields, if any)+mkNote+ :: Note+mkNote =+ Note+ { noteCommit = Nothing+ , noteMessage = Nothing+ }++-- ** NotificationCount+-- | NotificationCount+-- NotificationCount number of unread notifications+data NotificationCount = NotificationCount+ { notificationCountNew :: !(Maybe Integer) -- ^ "new"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NotificationCount+instance A.FromJSON NotificationCount where+ parseJSON = A.withObject "NotificationCount" $ \o ->+ NotificationCount+ <$> (o .:? "new")++-- | ToJSON NotificationCount+instance A.ToJSON NotificationCount where+ toJSON NotificationCount {..} =+ _omitNulls+ [ "new" .= notificationCountNew+ ]+++-- | Construct a value of type 'NotificationCount' (by applying it's required fields, if any)+mkNotificationCount+ :: NotificationCount+mkNotificationCount =+ NotificationCount+ { notificationCountNew = Nothing+ }++-- ** NotificationSubject+-- | NotificationSubject+-- NotificationSubject contains the notification subject (Issue/Pull/Commit)+data NotificationSubject = NotificationSubject+ { notificationSubjectHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , notificationSubjectLatestCommentHtmlUrl :: !(Maybe Text) -- ^ "latest_comment_html_url"+ , notificationSubjectLatestCommentUrl :: !(Maybe Text) -- ^ "latest_comment_url"+ , notificationSubjectState :: !(Maybe Text) -- ^ "state" - StateType issue state type+ , notificationSubjectTitle :: !(Maybe Text) -- ^ "title"+ , notificationSubjectType :: !(Maybe Text) -- ^ "type" - NotifySubjectType represent type of notification subject+ , notificationSubjectUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NotificationSubject+instance A.FromJSON NotificationSubject where+ parseJSON = A.withObject "NotificationSubject" $ \o ->+ NotificationSubject+ <$> (o .:? "html_url")+ <*> (o .:? "latest_comment_html_url")+ <*> (o .:? "latest_comment_url")+ <*> (o .:? "state")+ <*> (o .:? "title")+ <*> (o .:? "type")+ <*> (o .:? "url")++-- | ToJSON NotificationSubject+instance A.ToJSON NotificationSubject where+ toJSON NotificationSubject {..} =+ _omitNulls+ [ "html_url" .= notificationSubjectHtmlUrl+ , "latest_comment_html_url" .= notificationSubjectLatestCommentHtmlUrl+ , "latest_comment_url" .= notificationSubjectLatestCommentUrl+ , "state" .= notificationSubjectState+ , "title" .= notificationSubjectTitle+ , "type" .= notificationSubjectType+ , "url" .= notificationSubjectUrl+ ]+++-- | Construct a value of type 'NotificationSubject' (by applying it's required fields, if any)+mkNotificationSubject+ :: NotificationSubject+mkNotificationSubject =+ NotificationSubject+ { notificationSubjectHtmlUrl = Nothing+ , notificationSubjectLatestCommentHtmlUrl = Nothing+ , notificationSubjectLatestCommentUrl = Nothing+ , notificationSubjectState = Nothing+ , notificationSubjectTitle = Nothing+ , notificationSubjectType = Nothing+ , notificationSubjectUrl = Nothing+ }++-- ** NotificationThread+-- | NotificationThread+-- NotificationThread expose Notification on API+data NotificationThread = NotificationThread+ { notificationThreadId :: !(Maybe Integer) -- ^ "id"+ , notificationThreadPinned :: !(Maybe Bool) -- ^ "pinned"+ , notificationThreadRepository :: !(Maybe Repository) -- ^ "repository"+ , notificationThreadSubject :: !(Maybe NotificationSubject) -- ^ "subject"+ , notificationThreadUnread :: !(Maybe Bool) -- ^ "unread"+ , notificationThreadUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , notificationThreadUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON NotificationThread+instance A.FromJSON NotificationThread where+ parseJSON = A.withObject "NotificationThread" $ \o ->+ NotificationThread+ <$> (o .:? "id")+ <*> (o .:? "pinned")+ <*> (o .:? "repository")+ <*> (o .:? "subject")+ <*> (o .:? "unread")+ <*> (o .:? "updated_at")+ <*> (o .:? "url")++-- | ToJSON NotificationThread+instance A.ToJSON NotificationThread where+ toJSON NotificationThread {..} =+ _omitNulls+ [ "id" .= notificationThreadId+ , "pinned" .= notificationThreadPinned+ , "repository" .= notificationThreadRepository+ , "subject" .= notificationThreadSubject+ , "unread" .= notificationThreadUnread+ , "updated_at" .= notificationThreadUpdatedAt+ , "url" .= notificationThreadUrl+ ]+++-- | Construct a value of type 'NotificationThread' (by applying it's required fields, if any)+mkNotificationThread+ :: NotificationThread+mkNotificationThread =+ NotificationThread+ { notificationThreadId = Nothing+ , notificationThreadPinned = Nothing+ , notificationThreadRepository = Nothing+ , notificationThreadSubject = Nothing+ , notificationThreadUnread = Nothing+ , notificationThreadUpdatedAt = Nothing+ , notificationThreadUrl = Nothing+ }++-- ** OAuth2Application+-- | OAuth2Application+-- OAuth2Application represents an OAuth2 application.+-- +data OAuth2Application = OAuth2Application+ { oAuth2ApplicationClientId :: !(Maybe Text) -- ^ "client_id"+ , oAuth2ApplicationClientSecret :: !(Maybe Text) -- ^ "client_secret"+ , oAuth2ApplicationConfidentialClient :: !(Maybe Bool) -- ^ "confidential_client"+ , oAuth2ApplicationCreated :: !(Maybe DateTime) -- ^ "created"+ , oAuth2ApplicationId :: !(Maybe Integer) -- ^ "id"+ , oAuth2ApplicationName :: !(Maybe Text) -- ^ "name"+ , oAuth2ApplicationRedirectUris :: !(Maybe [Text]) -- ^ "redirect_uris"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OAuth2Application+instance A.FromJSON OAuth2Application where+ parseJSON = A.withObject "OAuth2Application" $ \o ->+ OAuth2Application+ <$> (o .:? "client_id")+ <*> (o .:? "client_secret")+ <*> (o .:? "confidential_client")+ <*> (o .:? "created")+ <*> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "redirect_uris")++-- | ToJSON OAuth2Application+instance A.ToJSON OAuth2Application where+ toJSON OAuth2Application {..} =+ _omitNulls+ [ "client_id" .= oAuth2ApplicationClientId+ , "client_secret" .= oAuth2ApplicationClientSecret+ , "confidential_client" .= oAuth2ApplicationConfidentialClient+ , "created" .= oAuth2ApplicationCreated+ , "id" .= oAuth2ApplicationId+ , "name" .= oAuth2ApplicationName+ , "redirect_uris" .= oAuth2ApplicationRedirectUris+ ]+++-- | Construct a value of type 'OAuth2Application' (by applying it's required fields, if any)+mkOAuth2Application+ :: OAuth2Application+mkOAuth2Application =+ OAuth2Application+ { oAuth2ApplicationClientId = Nothing+ , oAuth2ApplicationClientSecret = Nothing+ , oAuth2ApplicationConfidentialClient = Nothing+ , oAuth2ApplicationCreated = Nothing+ , oAuth2ApplicationId = Nothing+ , oAuth2ApplicationName = Nothing+ , oAuth2ApplicationRedirectUris = Nothing+ }++-- ** Organization+-- | Organization+-- Organization represents an organization+data Organization = Organization+ { organizationAvatarUrl :: !(Maybe Text) -- ^ "avatar_url"+ , organizationDescription :: !(Maybe Text) -- ^ "description"+ , organizationFullName :: !(Maybe Text) -- ^ "full_name"+ , organizationId :: !(Maybe Integer) -- ^ "id"+ , organizationLocation :: !(Maybe Text) -- ^ "location"+ , organizationName :: !(Maybe Text) -- ^ "name"+ , organizationRepoAdminChangeTeamAccess :: !(Maybe Bool) -- ^ "repo_admin_change_team_access"+ , organizationUsername :: !(Maybe Text) -- ^ "username" - deprecated+ , organizationVisibility :: !(Maybe Text) -- ^ "visibility"+ , organizationWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Organization+instance A.FromJSON Organization where+ parseJSON = A.withObject "Organization" $ \o ->+ Organization+ <$> (o .:? "avatar_url")+ <*> (o .:? "description")+ <*> (o .:? "full_name")+ <*> (o .:? "id")+ <*> (o .:? "location")+ <*> (o .:? "name")+ <*> (o .:? "repo_admin_change_team_access")+ <*> (o .:? "username")+ <*> (o .:? "visibility")+ <*> (o .:? "website")++-- | ToJSON Organization+instance A.ToJSON Organization where+ toJSON Organization {..} =+ _omitNulls+ [ "avatar_url" .= organizationAvatarUrl+ , "description" .= organizationDescription+ , "full_name" .= organizationFullName+ , "id" .= organizationId+ , "location" .= organizationLocation+ , "name" .= organizationName+ , "repo_admin_change_team_access" .= organizationRepoAdminChangeTeamAccess+ , "username" .= organizationUsername+ , "visibility" .= organizationVisibility+ , "website" .= organizationWebsite+ ]+++-- | Construct a value of type 'Organization' (by applying it's required fields, if any)+mkOrganization+ :: Organization+mkOrganization =+ Organization+ { organizationAvatarUrl = Nothing+ , organizationDescription = Nothing+ , organizationFullName = Nothing+ , organizationId = Nothing+ , organizationLocation = Nothing+ , organizationName = Nothing+ , organizationRepoAdminChangeTeamAccess = Nothing+ , organizationUsername = Nothing+ , organizationVisibility = Nothing+ , organizationWebsite = Nothing+ }++-- ** OrganizationPermissions+-- | OrganizationPermissions+-- OrganizationPermissions list different users permissions on an organization+data OrganizationPermissions = OrganizationPermissions+ { organizationPermissionsCanCreateRepository :: !(Maybe Bool) -- ^ "can_create_repository"+ , organizationPermissionsCanRead :: !(Maybe Bool) -- ^ "can_read"+ , organizationPermissionsCanWrite :: !(Maybe Bool) -- ^ "can_write"+ , organizationPermissionsIsAdmin :: !(Maybe Bool) -- ^ "is_admin"+ , organizationPermissionsIsOwner :: !(Maybe Bool) -- ^ "is_owner"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON OrganizationPermissions+instance A.FromJSON OrganizationPermissions where+ parseJSON = A.withObject "OrganizationPermissions" $ \o ->+ OrganizationPermissions+ <$> (o .:? "can_create_repository")+ <*> (o .:? "can_read")+ <*> (o .:? "can_write")+ <*> (o .:? "is_admin")+ <*> (o .:? "is_owner")++-- | ToJSON OrganizationPermissions+instance A.ToJSON OrganizationPermissions where+ toJSON OrganizationPermissions {..} =+ _omitNulls+ [ "can_create_repository" .= organizationPermissionsCanCreateRepository+ , "can_read" .= organizationPermissionsCanRead+ , "can_write" .= organizationPermissionsCanWrite+ , "is_admin" .= organizationPermissionsIsAdmin+ , "is_owner" .= organizationPermissionsIsOwner+ ]+++-- | Construct a value of type 'OrganizationPermissions' (by applying it's required fields, if any)+mkOrganizationPermissions+ :: OrganizationPermissions+mkOrganizationPermissions =+ OrganizationPermissions+ { organizationPermissionsCanCreateRepository = Nothing+ , organizationPermissionsCanRead = Nothing+ , organizationPermissionsCanWrite = Nothing+ , organizationPermissionsIsAdmin = Nothing+ , organizationPermissionsIsOwner = Nothing+ }++-- ** PRBranchInfo+-- | PRBranchInfo+-- PRBranchInfo information about a branch+data PRBranchInfo = PRBranchInfo+ { pRBranchInfoLabel :: !(Maybe Text) -- ^ "label"+ , pRBranchInfoRef :: !(Maybe Text) -- ^ "ref"+ , pRBranchInfoRepo :: !(Maybe Repository) -- ^ "repo"+ , pRBranchInfoRepoId :: !(Maybe Integer) -- ^ "repo_id"+ , pRBranchInfoSha :: !(Maybe Text) -- ^ "sha"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PRBranchInfo+instance A.FromJSON PRBranchInfo where+ parseJSON = A.withObject "PRBranchInfo" $ \o ->+ PRBranchInfo+ <$> (o .:? "label")+ <*> (o .:? "ref")+ <*> (o .:? "repo")+ <*> (o .:? "repo_id")+ <*> (o .:? "sha")++-- | ToJSON PRBranchInfo+instance A.ToJSON PRBranchInfo where+ toJSON PRBranchInfo {..} =+ _omitNulls+ [ "label" .= pRBranchInfoLabel+ , "ref" .= pRBranchInfoRef+ , "repo" .= pRBranchInfoRepo+ , "repo_id" .= pRBranchInfoRepoId+ , "sha" .= pRBranchInfoSha+ ]+++-- | Construct a value of type 'PRBranchInfo' (by applying it's required fields, if any)+mkPRBranchInfo+ :: PRBranchInfo+mkPRBranchInfo =+ PRBranchInfo+ { pRBranchInfoLabel = Nothing+ , pRBranchInfoRef = Nothing+ , pRBranchInfoRepo = Nothing+ , pRBranchInfoRepoId = Nothing+ , pRBranchInfoSha = Nothing+ }++-- ** Package+-- | Package+-- Package represents a package+data Package = Package+ { packageCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , packageCreator :: !(Maybe User) -- ^ "creator"+ , packageId :: !(Maybe Integer) -- ^ "id"+ , packageName :: !(Maybe Text) -- ^ "name"+ , packageOwner :: !(Maybe User) -- ^ "owner"+ , packageRepository :: !(Maybe Repository) -- ^ "repository"+ , packageType :: !(Maybe Text) -- ^ "type"+ , packageVersion :: !(Maybe Text) -- ^ "version"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Package+instance A.FromJSON Package where+ parseJSON = A.withObject "Package" $ \o ->+ Package+ <$> (o .:? "created_at")+ <*> (o .:? "creator")+ <*> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "owner")+ <*> (o .:? "repository")+ <*> (o .:? "type")+ <*> (o .:? "version")++-- | ToJSON Package+instance A.ToJSON Package where+ toJSON Package {..} =+ _omitNulls+ [ "created_at" .= packageCreatedAt+ , "creator" .= packageCreator+ , "id" .= packageId+ , "name" .= packageName+ , "owner" .= packageOwner+ , "repository" .= packageRepository+ , "type" .= packageType+ , "version" .= packageVersion+ ]+++-- | Construct a value of type 'Package' (by applying it's required fields, if any)+mkPackage+ :: Package+mkPackage =+ Package+ { packageCreatedAt = Nothing+ , packageCreator = Nothing+ , packageId = Nothing+ , packageName = Nothing+ , packageOwner = Nothing+ , packageRepository = Nothing+ , packageType = Nothing+ , packageVersion = Nothing+ }++-- ** PackageFile+-- | PackageFile+-- PackageFile represents a package file+data PackageFile = PackageFile+ { packageFileSize :: !(Maybe Integer) -- ^ "Size"+ , packageFileId :: !(Maybe Integer) -- ^ "id"+ , packageFileMd5 :: !(Maybe Text) -- ^ "md5"+ , packageFileName :: !(Maybe Text) -- ^ "name"+ , packageFileSha1 :: !(Maybe Text) -- ^ "sha1"+ , packageFileSha256 :: !(Maybe Text) -- ^ "sha256"+ , packageFileSha512 :: !(Maybe Text) -- ^ "sha512"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PackageFile+instance A.FromJSON PackageFile where+ parseJSON = A.withObject "PackageFile" $ \o ->+ PackageFile+ <$> (o .:? "Size")+ <*> (o .:? "id")+ <*> (o .:? "md5")+ <*> (o .:? "name")+ <*> (o .:? "sha1")+ <*> (o .:? "sha256")+ <*> (o .:? "sha512")++-- | ToJSON PackageFile+instance A.ToJSON PackageFile where+ toJSON PackageFile {..} =+ _omitNulls+ [ "Size" .= packageFileSize+ , "id" .= packageFileId+ , "md5" .= packageFileMd5+ , "name" .= packageFileName+ , "sha1" .= packageFileSha1+ , "sha256" .= packageFileSha256+ , "sha512" .= packageFileSha512+ ]+++-- | Construct a value of type 'PackageFile' (by applying it's required fields, if any)+mkPackageFile+ :: PackageFile+mkPackageFile =+ PackageFile+ { packageFileSize = Nothing+ , packageFileId = Nothing+ , packageFileMd5 = Nothing+ , packageFileName = Nothing+ , packageFileSha1 = Nothing+ , packageFileSha256 = Nothing+ , packageFileSha512 = Nothing+ }++-- ** PayloadCommit+-- | PayloadCommit+-- PayloadCommit represents a commit+data PayloadCommit = PayloadCommit+ { payloadCommitAdded :: !(Maybe [Text]) -- ^ "added"+ , payloadCommitAuthor :: !(Maybe PayloadUser) -- ^ "author"+ , payloadCommitCommitter :: !(Maybe PayloadUser) -- ^ "committer"+ , payloadCommitId :: !(Maybe Text) -- ^ "id" - sha1 hash of the commit+ , payloadCommitMessage :: !(Maybe Text) -- ^ "message"+ , payloadCommitModified :: !(Maybe [Text]) -- ^ "modified"+ , payloadCommitRemoved :: !(Maybe [Text]) -- ^ "removed"+ , payloadCommitTimestamp :: !(Maybe DateTime) -- ^ "timestamp"+ , payloadCommitUrl :: !(Maybe Text) -- ^ "url"+ , payloadCommitVerification :: !(Maybe PayloadCommitVerification) -- ^ "verification"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PayloadCommit+instance A.FromJSON PayloadCommit where+ parseJSON = A.withObject "PayloadCommit" $ \o ->+ PayloadCommit+ <$> (o .:? "added")+ <*> (o .:? "author")+ <*> (o .:? "committer")+ <*> (o .:? "id")+ <*> (o .:? "message")+ <*> (o .:? "modified")+ <*> (o .:? "removed")+ <*> (o .:? "timestamp")+ <*> (o .:? "url")+ <*> (o .:? "verification")++-- | ToJSON PayloadCommit+instance A.ToJSON PayloadCommit where+ toJSON PayloadCommit {..} =+ _omitNulls+ [ "added" .= payloadCommitAdded+ , "author" .= payloadCommitAuthor+ , "committer" .= payloadCommitCommitter+ , "id" .= payloadCommitId+ , "message" .= payloadCommitMessage+ , "modified" .= payloadCommitModified+ , "removed" .= payloadCommitRemoved+ , "timestamp" .= payloadCommitTimestamp+ , "url" .= payloadCommitUrl+ , "verification" .= payloadCommitVerification+ ]+++-- | Construct a value of type 'PayloadCommit' (by applying it's required fields, if any)+mkPayloadCommit+ :: PayloadCommit+mkPayloadCommit =+ PayloadCommit+ { payloadCommitAdded = Nothing+ , payloadCommitAuthor = Nothing+ , payloadCommitCommitter = Nothing+ , payloadCommitId = Nothing+ , payloadCommitMessage = Nothing+ , payloadCommitModified = Nothing+ , payloadCommitRemoved = Nothing+ , payloadCommitTimestamp = Nothing+ , payloadCommitUrl = Nothing+ , payloadCommitVerification = Nothing+ }++-- ** PayloadCommitVerification+-- | PayloadCommitVerification+-- PayloadCommitVerification represents the GPG verification of a commit+data PayloadCommitVerification = PayloadCommitVerification+ { payloadCommitVerificationPayload :: !(Maybe Text) -- ^ "payload"+ , payloadCommitVerificationReason :: !(Maybe Text) -- ^ "reason"+ , payloadCommitVerificationSignature :: !(Maybe Text) -- ^ "signature"+ , payloadCommitVerificationSigner :: !(Maybe PayloadUser) -- ^ "signer"+ , payloadCommitVerificationVerified :: !(Maybe Bool) -- ^ "verified"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PayloadCommitVerification+instance A.FromJSON PayloadCommitVerification where+ parseJSON = A.withObject "PayloadCommitVerification" $ \o ->+ PayloadCommitVerification+ <$> (o .:? "payload")+ <*> (o .:? "reason")+ <*> (o .:? "signature")+ <*> (o .:? "signer")+ <*> (o .:? "verified")++-- | ToJSON PayloadCommitVerification+instance A.ToJSON PayloadCommitVerification where+ toJSON PayloadCommitVerification {..} =+ _omitNulls+ [ "payload" .= payloadCommitVerificationPayload+ , "reason" .= payloadCommitVerificationReason+ , "signature" .= payloadCommitVerificationSignature+ , "signer" .= payloadCommitVerificationSigner+ , "verified" .= payloadCommitVerificationVerified+ ]+++-- | Construct a value of type 'PayloadCommitVerification' (by applying it's required fields, if any)+mkPayloadCommitVerification+ :: PayloadCommitVerification+mkPayloadCommitVerification =+ PayloadCommitVerification+ { payloadCommitVerificationPayload = Nothing+ , payloadCommitVerificationReason = Nothing+ , payloadCommitVerificationSignature = Nothing+ , payloadCommitVerificationSigner = Nothing+ , payloadCommitVerificationVerified = Nothing+ }++-- ** PayloadUser+-- | PayloadUser+-- PayloadUser represents the author or committer of a commit+data PayloadUser = PayloadUser+ { payloadUserEmail :: !(Maybe Text) -- ^ "email"+ , payloadUserName :: !(Maybe Text) -- ^ "name" - Full name of the commit author+ , payloadUserUsername :: !(Maybe Text) -- ^ "username"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PayloadUser+instance A.FromJSON PayloadUser where+ parseJSON = A.withObject "PayloadUser" $ \o ->+ PayloadUser+ <$> (o .:? "email")+ <*> (o .:? "name")+ <*> (o .:? "username")++-- | ToJSON PayloadUser+instance A.ToJSON PayloadUser where+ toJSON PayloadUser {..} =+ _omitNulls+ [ "email" .= payloadUserEmail+ , "name" .= payloadUserName+ , "username" .= payloadUserUsername+ ]+++-- | Construct a value of type 'PayloadUser' (by applying it's required fields, if any)+mkPayloadUser+ :: PayloadUser+mkPayloadUser =+ PayloadUser+ { payloadUserEmail = Nothing+ , payloadUserName = Nothing+ , payloadUserUsername = Nothing+ }++-- ** Permission+-- | Permission+-- Permission represents a set of permissions+data Permission = Permission+ { permissionAdmin :: !(Maybe Bool) -- ^ "admin"+ , permissionPull :: !(Maybe Bool) -- ^ "pull"+ , permissionPush :: !(Maybe Bool) -- ^ "push"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Permission+instance A.FromJSON Permission where+ parseJSON = A.withObject "Permission" $ \o ->+ Permission+ <$> (o .:? "admin")+ <*> (o .:? "pull")+ <*> (o .:? "push")++-- | ToJSON Permission+instance A.ToJSON Permission where+ toJSON Permission {..} =+ _omitNulls+ [ "admin" .= permissionAdmin+ , "pull" .= permissionPull+ , "push" .= permissionPush+ ]+++-- | Construct a value of type 'Permission' (by applying it's required fields, if any)+mkPermission+ :: Permission+mkPermission =+ Permission+ { permissionAdmin = Nothing+ , permissionPull = Nothing+ , permissionPush = Nothing+ }++-- ** PublicKey+-- | PublicKey+-- PublicKey publickey is a user key to push code to repository+data PublicKey = PublicKey+ { publicKeyCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , publicKeyFingerprint :: !(Maybe Text) -- ^ "fingerprint"+ , publicKeyId :: !(Maybe Integer) -- ^ "id"+ , publicKeyKey :: !(Maybe Text) -- ^ "key"+ , publicKeyKeyType :: !(Maybe Text) -- ^ "key_type"+ , publicKeyReadOnly :: !(Maybe Bool) -- ^ "read_only"+ , publicKeyTitle :: !(Maybe Text) -- ^ "title"+ , publicKeyUrl :: !(Maybe Text) -- ^ "url"+ , publicKeyUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PublicKey+instance A.FromJSON PublicKey where+ parseJSON = A.withObject "PublicKey" $ \o ->+ PublicKey+ <$> (o .:? "created_at")+ <*> (o .:? "fingerprint")+ <*> (o .:? "id")+ <*> (o .:? "key")+ <*> (o .:? "key_type")+ <*> (o .:? "read_only")+ <*> (o .:? "title")+ <*> (o .:? "url")+ <*> (o .:? "user")++-- | ToJSON PublicKey+instance A.ToJSON PublicKey where+ toJSON PublicKey {..} =+ _omitNulls+ [ "created_at" .= publicKeyCreatedAt+ , "fingerprint" .= publicKeyFingerprint+ , "id" .= publicKeyId+ , "key" .= publicKeyKey+ , "key_type" .= publicKeyKeyType+ , "read_only" .= publicKeyReadOnly+ , "title" .= publicKeyTitle+ , "url" .= publicKeyUrl+ , "user" .= publicKeyUser+ ]+++-- | Construct a value of type 'PublicKey' (by applying it's required fields, if any)+mkPublicKey+ :: PublicKey+mkPublicKey =+ PublicKey+ { publicKeyCreatedAt = Nothing+ , publicKeyFingerprint = Nothing+ , publicKeyId = Nothing+ , publicKeyKey = Nothing+ , publicKeyKeyType = Nothing+ , publicKeyReadOnly = Nothing+ , publicKeyTitle = Nothing+ , publicKeyUrl = Nothing+ , publicKeyUser = Nothing+ }++-- ** PullRequest+-- | PullRequest+-- PullRequest represents a pull request+data PullRequest = PullRequest+ { pullRequestAllowMaintainerEdit :: !(Maybe Bool) -- ^ "allow_maintainer_edit"+ , pullRequestAssignee :: !(Maybe User) -- ^ "assignee"+ , pullRequestAssignees :: !(Maybe [User]) -- ^ "assignees"+ , pullRequestBase :: !(Maybe PRBranchInfo) -- ^ "base"+ , pullRequestBody :: !(Maybe Text) -- ^ "body"+ , pullRequestClosedAt :: !(Maybe DateTime) -- ^ "closed_at"+ , pullRequestComments :: !(Maybe Integer) -- ^ "comments"+ , pullRequestCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , pullRequestDiffUrl :: !(Maybe Text) -- ^ "diff_url"+ , pullRequestDueDate :: !(Maybe DateTime) -- ^ "due_date"+ , pullRequestHead :: !(Maybe PRBranchInfo) -- ^ "head"+ , pullRequestHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , pullRequestId :: !(Maybe Integer) -- ^ "id"+ , pullRequestIsLocked :: !(Maybe Bool) -- ^ "is_locked"+ , pullRequestLabels :: !(Maybe [Label]) -- ^ "labels"+ , pullRequestMergeBase :: !(Maybe Text) -- ^ "merge_base"+ , pullRequestMergeCommitSha :: !(Maybe Text) -- ^ "merge_commit_sha"+ , pullRequestMergeable :: !(Maybe Bool) -- ^ "mergeable"+ , pullRequestMerged :: !(Maybe Bool) -- ^ "merged"+ , pullRequestMergedAt :: !(Maybe DateTime) -- ^ "merged_at"+ , pullRequestMergedBy :: !(Maybe User) -- ^ "merged_by"+ , pullRequestMilestone :: !(Maybe Milestone) -- ^ "milestone"+ , pullRequestNumber :: !(Maybe Integer) -- ^ "number"+ , pullRequestPatchUrl :: !(Maybe Text) -- ^ "patch_url"+ , pullRequestState :: !(Maybe Text) -- ^ "state" - StateType issue state type+ , pullRequestTitle :: !(Maybe Text) -- ^ "title"+ , pullRequestUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , pullRequestUrl :: !(Maybe Text) -- ^ "url"+ , pullRequestUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PullRequest+instance A.FromJSON PullRequest where+ parseJSON = A.withObject "PullRequest" $ \o ->+ PullRequest+ <$> (o .:? "allow_maintainer_edit")+ <*> (o .:? "assignee")+ <*> (o .:? "assignees")+ <*> (o .:? "base")+ <*> (o .:? "body")+ <*> (o .:? "closed_at")+ <*> (o .:? "comments")+ <*> (o .:? "created_at")+ <*> (o .:? "diff_url")+ <*> (o .:? "due_date")+ <*> (o .:? "head")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "is_locked")+ <*> (o .:? "labels")+ <*> (o .:? "merge_base")+ <*> (o .:? "merge_commit_sha")+ <*> (o .:? "mergeable")+ <*> (o .:? "merged")+ <*> (o .:? "merged_at")+ <*> (o .:? "merged_by")+ <*> (o .:? "milestone")+ <*> (o .:? "number")+ <*> (o .:? "patch_url")+ <*> (o .:? "state")+ <*> (o .:? "title")+ <*> (o .:? "updated_at")+ <*> (o .:? "url")+ <*> (o .:? "user")++-- | ToJSON PullRequest+instance A.ToJSON PullRequest where+ toJSON PullRequest {..} =+ _omitNulls+ [ "allow_maintainer_edit" .= pullRequestAllowMaintainerEdit+ , "assignee" .= pullRequestAssignee+ , "assignees" .= pullRequestAssignees+ , "base" .= pullRequestBase+ , "body" .= pullRequestBody+ , "closed_at" .= pullRequestClosedAt+ , "comments" .= pullRequestComments+ , "created_at" .= pullRequestCreatedAt+ , "diff_url" .= pullRequestDiffUrl+ , "due_date" .= pullRequestDueDate+ , "head" .= pullRequestHead+ , "html_url" .= pullRequestHtmlUrl+ , "id" .= pullRequestId+ , "is_locked" .= pullRequestIsLocked+ , "labels" .= pullRequestLabels+ , "merge_base" .= pullRequestMergeBase+ , "merge_commit_sha" .= pullRequestMergeCommitSha+ , "mergeable" .= pullRequestMergeable+ , "merged" .= pullRequestMerged+ , "merged_at" .= pullRequestMergedAt+ , "merged_by" .= pullRequestMergedBy+ , "milestone" .= pullRequestMilestone+ , "number" .= pullRequestNumber+ , "patch_url" .= pullRequestPatchUrl+ , "state" .= pullRequestState+ , "title" .= pullRequestTitle+ , "updated_at" .= pullRequestUpdatedAt+ , "url" .= pullRequestUrl+ , "user" .= pullRequestUser+ ]+++-- | Construct a value of type 'PullRequest' (by applying it's required fields, if any)+mkPullRequest+ :: PullRequest+mkPullRequest =+ PullRequest+ { pullRequestAllowMaintainerEdit = Nothing+ , pullRequestAssignee = Nothing+ , pullRequestAssignees = Nothing+ , pullRequestBase = Nothing+ , pullRequestBody = Nothing+ , pullRequestClosedAt = Nothing+ , pullRequestComments = Nothing+ , pullRequestCreatedAt = Nothing+ , pullRequestDiffUrl = Nothing+ , pullRequestDueDate = Nothing+ , pullRequestHead = Nothing+ , pullRequestHtmlUrl = Nothing+ , pullRequestId = Nothing+ , pullRequestIsLocked = Nothing+ , pullRequestLabels = Nothing+ , pullRequestMergeBase = Nothing+ , pullRequestMergeCommitSha = Nothing+ , pullRequestMergeable = Nothing+ , pullRequestMerged = Nothing+ , pullRequestMergedAt = Nothing+ , pullRequestMergedBy = Nothing+ , pullRequestMilestone = Nothing+ , pullRequestNumber = Nothing+ , pullRequestPatchUrl = Nothing+ , pullRequestState = Nothing+ , pullRequestTitle = Nothing+ , pullRequestUpdatedAt = Nothing+ , pullRequestUrl = Nothing+ , pullRequestUser = Nothing+ }++-- ** PullRequestMeta+-- | PullRequestMeta+-- PullRequestMeta PR info if an issue is a PR+data PullRequestMeta = PullRequestMeta+ { pullRequestMetaMerged :: !(Maybe Bool) -- ^ "merged"+ , pullRequestMetaMergedAt :: !(Maybe DateTime) -- ^ "merged_at"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PullRequestMeta+instance A.FromJSON PullRequestMeta where+ parseJSON = A.withObject "PullRequestMeta" $ \o ->+ PullRequestMeta+ <$> (o .:? "merged")+ <*> (o .:? "merged_at")++-- | ToJSON PullRequestMeta+instance A.ToJSON PullRequestMeta where+ toJSON PullRequestMeta {..} =+ _omitNulls+ [ "merged" .= pullRequestMetaMerged+ , "merged_at" .= pullRequestMetaMergedAt+ ]+++-- | Construct a value of type 'PullRequestMeta' (by applying it's required fields, if any)+mkPullRequestMeta+ :: PullRequestMeta+mkPullRequestMeta =+ PullRequestMeta+ { pullRequestMetaMerged = Nothing+ , pullRequestMetaMergedAt = Nothing+ }++-- ** PullReview+-- | PullReview+-- PullReview represents a pull request review+data PullReview = PullReview+ { pullReviewBody :: !(Maybe Text) -- ^ "body"+ , pullReviewCommentsCount :: !(Maybe Integer) -- ^ "comments_count"+ , pullReviewCommitId :: !(Maybe Text) -- ^ "commit_id"+ , pullReviewDismissed :: !(Maybe Bool) -- ^ "dismissed"+ , pullReviewHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , pullReviewId :: !(Maybe Integer) -- ^ "id"+ , pullReviewOfficial :: !(Maybe Bool) -- ^ "official"+ , pullReviewPullRequestUrl :: !(Maybe Text) -- ^ "pull_request_url"+ , pullReviewStale :: !(Maybe Bool) -- ^ "stale"+ , pullReviewState :: !(Maybe Text) -- ^ "state" - ReviewStateType review state type+ , pullReviewSubmittedAt :: !(Maybe DateTime) -- ^ "submitted_at"+ , pullReviewTeam :: !(Maybe Team) -- ^ "team"+ , pullReviewUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , pullReviewUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PullReview+instance A.FromJSON PullReview where+ parseJSON = A.withObject "PullReview" $ \o ->+ PullReview+ <$> (o .:? "body")+ <*> (o .:? "comments_count")+ <*> (o .:? "commit_id")+ <*> (o .:? "dismissed")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "official")+ <*> (o .:? "pull_request_url")+ <*> (o .:? "stale")+ <*> (o .:? "state")+ <*> (o .:? "submitted_at")+ <*> (o .:? "team")+ <*> (o .:? "updated_at")+ <*> (o .:? "user")++-- | ToJSON PullReview+instance A.ToJSON PullReview where+ toJSON PullReview {..} =+ _omitNulls+ [ "body" .= pullReviewBody+ , "comments_count" .= pullReviewCommentsCount+ , "commit_id" .= pullReviewCommitId+ , "dismissed" .= pullReviewDismissed+ , "html_url" .= pullReviewHtmlUrl+ , "id" .= pullReviewId+ , "official" .= pullReviewOfficial+ , "pull_request_url" .= pullReviewPullRequestUrl+ , "stale" .= pullReviewStale+ , "state" .= pullReviewState+ , "submitted_at" .= pullReviewSubmittedAt+ , "team" .= pullReviewTeam+ , "updated_at" .= pullReviewUpdatedAt+ , "user" .= pullReviewUser+ ]+++-- | Construct a value of type 'PullReview' (by applying it's required fields, if any)+mkPullReview+ :: PullReview+mkPullReview =+ PullReview+ { pullReviewBody = Nothing+ , pullReviewCommentsCount = Nothing+ , pullReviewCommitId = Nothing+ , pullReviewDismissed = Nothing+ , pullReviewHtmlUrl = Nothing+ , pullReviewId = Nothing+ , pullReviewOfficial = Nothing+ , pullReviewPullRequestUrl = Nothing+ , pullReviewStale = Nothing+ , pullReviewState = Nothing+ , pullReviewSubmittedAt = Nothing+ , pullReviewTeam = Nothing+ , pullReviewUpdatedAt = Nothing+ , pullReviewUser = Nothing+ }++-- ** PullReviewComment+-- | PullReviewComment+-- PullReviewComment represents a comment on a pull request review+data PullReviewComment = PullReviewComment+ { pullReviewCommentBody :: !(Maybe Text) -- ^ "body"+ , pullReviewCommentCommitId :: !(Maybe Text) -- ^ "commit_id"+ , pullReviewCommentCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , pullReviewCommentDiffHunk :: !(Maybe Text) -- ^ "diff_hunk"+ , pullReviewCommentHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , pullReviewCommentId :: !(Maybe Integer) -- ^ "id"+ , pullReviewCommentOriginalCommitId :: !(Maybe Text) -- ^ "original_commit_id"+ , pullReviewCommentOriginalPosition :: !(Maybe Int) -- ^ "original_position"+ , pullReviewCommentPath :: !(Maybe Text) -- ^ "path"+ , pullReviewCommentPosition :: !(Maybe Int) -- ^ "position"+ , pullReviewCommentPullRequestReviewId :: !(Maybe Integer) -- ^ "pull_request_review_id"+ , pullReviewCommentPullRequestUrl :: !(Maybe Text) -- ^ "pull_request_url"+ , pullReviewCommentResolver :: !(Maybe User) -- ^ "resolver"+ , pullReviewCommentUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , pullReviewCommentUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PullReviewComment+instance A.FromJSON PullReviewComment where+ parseJSON = A.withObject "PullReviewComment" $ \o ->+ PullReviewComment+ <$> (o .:? "body")+ <*> (o .:? "commit_id")+ <*> (o .:? "created_at")+ <*> (o .:? "diff_hunk")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "original_commit_id")+ <*> (o .:? "original_position")+ <*> (o .:? "path")+ <*> (o .:? "position")+ <*> (o .:? "pull_request_review_id")+ <*> (o .:? "pull_request_url")+ <*> (o .:? "resolver")+ <*> (o .:? "updated_at")+ <*> (o .:? "user")++-- | ToJSON PullReviewComment+instance A.ToJSON PullReviewComment where+ toJSON PullReviewComment {..} =+ _omitNulls+ [ "body" .= pullReviewCommentBody+ , "commit_id" .= pullReviewCommentCommitId+ , "created_at" .= pullReviewCommentCreatedAt+ , "diff_hunk" .= pullReviewCommentDiffHunk+ , "html_url" .= pullReviewCommentHtmlUrl+ , "id" .= pullReviewCommentId+ , "original_commit_id" .= pullReviewCommentOriginalCommitId+ , "original_position" .= pullReviewCommentOriginalPosition+ , "path" .= pullReviewCommentPath+ , "position" .= pullReviewCommentPosition+ , "pull_request_review_id" .= pullReviewCommentPullRequestReviewId+ , "pull_request_url" .= pullReviewCommentPullRequestUrl+ , "resolver" .= pullReviewCommentResolver+ , "updated_at" .= pullReviewCommentUpdatedAt+ , "user" .= pullReviewCommentUser+ ]+++-- | Construct a value of type 'PullReviewComment' (by applying it's required fields, if any)+mkPullReviewComment+ :: PullReviewComment+mkPullReviewComment =+ PullReviewComment+ { pullReviewCommentBody = Nothing+ , pullReviewCommentCommitId = Nothing+ , pullReviewCommentCreatedAt = Nothing+ , pullReviewCommentDiffHunk = Nothing+ , pullReviewCommentHtmlUrl = Nothing+ , pullReviewCommentId = Nothing+ , pullReviewCommentOriginalCommitId = Nothing+ , pullReviewCommentOriginalPosition = Nothing+ , pullReviewCommentPath = Nothing+ , pullReviewCommentPosition = Nothing+ , pullReviewCommentPullRequestReviewId = Nothing+ , pullReviewCommentPullRequestUrl = Nothing+ , pullReviewCommentResolver = Nothing+ , pullReviewCommentUpdatedAt = Nothing+ , pullReviewCommentUser = Nothing+ }++-- ** PullReviewRequestOptions+-- | PullReviewRequestOptions+-- PullReviewRequestOptions are options to add or remove pull review requests+data PullReviewRequestOptions = PullReviewRequestOptions+ { pullReviewRequestOptionsReviewers :: !(Maybe [Text]) -- ^ "reviewers"+ , pullReviewRequestOptionsTeamReviewers :: !(Maybe [Text]) -- ^ "team_reviewers"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PullReviewRequestOptions+instance A.FromJSON PullReviewRequestOptions where+ parseJSON = A.withObject "PullReviewRequestOptions" $ \o ->+ PullReviewRequestOptions+ <$> (o .:? "reviewers")+ <*> (o .:? "team_reviewers")++-- | ToJSON PullReviewRequestOptions+instance A.ToJSON PullReviewRequestOptions where+ toJSON PullReviewRequestOptions {..} =+ _omitNulls+ [ "reviewers" .= pullReviewRequestOptionsReviewers+ , "team_reviewers" .= pullReviewRequestOptionsTeamReviewers+ ]+++-- | Construct a value of type 'PullReviewRequestOptions' (by applying it's required fields, if any)+mkPullReviewRequestOptions+ :: PullReviewRequestOptions+mkPullReviewRequestOptions =+ PullReviewRequestOptions+ { pullReviewRequestOptionsReviewers = Nothing+ , pullReviewRequestOptionsTeamReviewers = Nothing+ }++-- ** PushMirror+-- | PushMirror+-- PushMirror represents information of a push mirror+data PushMirror = PushMirror+ { pushMirrorCreated :: !(Maybe Text) -- ^ "created"+ , pushMirrorInterval :: !(Maybe Text) -- ^ "interval"+ , pushMirrorLastError :: !(Maybe Text) -- ^ "last_error"+ , pushMirrorLastUpdate :: !(Maybe Text) -- ^ "last_update"+ , pushMirrorRemoteAddress :: !(Maybe Text) -- ^ "remote_address"+ , pushMirrorRemoteName :: !(Maybe Text) -- ^ "remote_name"+ , pushMirrorRepoName :: !(Maybe Text) -- ^ "repo_name"+ , pushMirrorSyncOnCommit :: !(Maybe Bool) -- ^ "sync_on_commit"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON PushMirror+instance A.FromJSON PushMirror where+ parseJSON = A.withObject "PushMirror" $ \o ->+ PushMirror+ <$> (o .:? "created")+ <*> (o .:? "interval")+ <*> (o .:? "last_error")+ <*> (o .:? "last_update")+ <*> (o .:? "remote_address")+ <*> (o .:? "remote_name")+ <*> (o .:? "repo_name")+ <*> (o .:? "sync_on_commit")++-- | ToJSON PushMirror+instance A.ToJSON PushMirror where+ toJSON PushMirror {..} =+ _omitNulls+ [ "created" .= pushMirrorCreated+ , "interval" .= pushMirrorInterval+ , "last_error" .= pushMirrorLastError+ , "last_update" .= pushMirrorLastUpdate+ , "remote_address" .= pushMirrorRemoteAddress+ , "remote_name" .= pushMirrorRemoteName+ , "repo_name" .= pushMirrorRepoName+ , "sync_on_commit" .= pushMirrorSyncOnCommit+ ]+++-- | Construct a value of type 'PushMirror' (by applying it's required fields, if any)+mkPushMirror+ :: PushMirror+mkPushMirror =+ PushMirror+ { pushMirrorCreated = Nothing+ , pushMirrorInterval = Nothing+ , pushMirrorLastError = Nothing+ , pushMirrorLastUpdate = Nothing+ , pushMirrorRemoteAddress = Nothing+ , pushMirrorRemoteName = Nothing+ , pushMirrorRepoName = Nothing+ , pushMirrorSyncOnCommit = Nothing+ }++-- ** Reaction+-- | Reaction+-- Reaction contain one reaction+data Reaction = Reaction+ { reactionContent :: !(Maybe Text) -- ^ "content"+ , reactionCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , reactionUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Reaction+instance A.FromJSON Reaction where+ parseJSON = A.withObject "Reaction" $ \o ->+ Reaction+ <$> (o .:? "content")+ <*> (o .:? "created_at")+ <*> (o .:? "user")++-- | ToJSON Reaction+instance A.ToJSON Reaction where+ toJSON Reaction {..} =+ _omitNulls+ [ "content" .= reactionContent+ , "created_at" .= reactionCreatedAt+ , "user" .= reactionUser+ ]+++-- | Construct a value of type 'Reaction' (by applying it's required fields, if any)+mkReaction+ :: Reaction+mkReaction =+ Reaction+ { reactionContent = Nothing+ , reactionCreatedAt = Nothing+ , reactionUser = Nothing+ }++-- ** Reference+-- | Reference+-- Reference represents a Git reference.+-- +data Reference = Reference+ { referenceObject :: !(Maybe GitObject) -- ^ "object"+ , referenceRef :: !(Maybe Text) -- ^ "ref"+ , referenceUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Reference+instance A.FromJSON Reference where+ parseJSON = A.withObject "Reference" $ \o ->+ Reference+ <$> (o .:? "object")+ <*> (o .:? "ref")+ <*> (o .:? "url")++-- | ToJSON Reference+instance A.ToJSON Reference where+ toJSON Reference {..} =+ _omitNulls+ [ "object" .= referenceObject+ , "ref" .= referenceRef+ , "url" .= referenceUrl+ ]+++-- | Construct a value of type 'Reference' (by applying it's required fields, if any)+mkReference+ :: Reference+mkReference =+ Reference+ { referenceObject = Nothing+ , referenceRef = Nothing+ , referenceUrl = Nothing+ }++-- ** Release+-- | Release+-- Release represents a repository release+data Release = Release+ { releaseAssets :: !(Maybe [Attachment]) -- ^ "assets"+ , releaseAuthor :: !(Maybe User) -- ^ "author"+ , releaseBody :: !(Maybe Text) -- ^ "body"+ , releaseCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , releaseDraft :: !(Maybe Bool) -- ^ "draft"+ , releaseHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , releaseId :: !(Maybe Integer) -- ^ "id"+ , releaseName :: !(Maybe Text) -- ^ "name"+ , releasePrerelease :: !(Maybe Bool) -- ^ "prerelease"+ , releasePublishedAt :: !(Maybe DateTime) -- ^ "published_at"+ , releaseTagName :: !(Maybe Text) -- ^ "tag_name"+ , releaseTarballUrl :: !(Maybe Text) -- ^ "tarball_url"+ , releaseTargetCommitish :: !(Maybe Text) -- ^ "target_commitish"+ , releaseUrl :: !(Maybe Text) -- ^ "url"+ , releaseZipballUrl :: !(Maybe Text) -- ^ "zipball_url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Release+instance A.FromJSON Release where+ parseJSON = A.withObject "Release" $ \o ->+ Release+ <$> (o .:? "assets")+ <*> (o .:? "author")+ <*> (o .:? "body")+ <*> (o .:? "created_at")+ <*> (o .:? "draft")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "prerelease")+ <*> (o .:? "published_at")+ <*> (o .:? "tag_name")+ <*> (o .:? "tarball_url")+ <*> (o .:? "target_commitish")+ <*> (o .:? "url")+ <*> (o .:? "zipball_url")++-- | ToJSON Release+instance A.ToJSON Release where+ toJSON Release {..} =+ _omitNulls+ [ "assets" .= releaseAssets+ , "author" .= releaseAuthor+ , "body" .= releaseBody+ , "created_at" .= releaseCreatedAt+ , "draft" .= releaseDraft+ , "html_url" .= releaseHtmlUrl+ , "id" .= releaseId+ , "name" .= releaseName+ , "prerelease" .= releasePrerelease+ , "published_at" .= releasePublishedAt+ , "tag_name" .= releaseTagName+ , "tarball_url" .= releaseTarballUrl+ , "target_commitish" .= releaseTargetCommitish+ , "url" .= releaseUrl+ , "zipball_url" .= releaseZipballUrl+ ]+++-- | Construct a value of type 'Release' (by applying it's required fields, if any)+mkRelease+ :: Release+mkRelease =+ Release+ { releaseAssets = Nothing+ , releaseAuthor = Nothing+ , releaseBody = Nothing+ , releaseCreatedAt = Nothing+ , releaseDraft = Nothing+ , releaseHtmlUrl = Nothing+ , releaseId = Nothing+ , releaseName = Nothing+ , releasePrerelease = Nothing+ , releasePublishedAt = Nothing+ , releaseTagName = Nothing+ , releaseTarballUrl = Nothing+ , releaseTargetCommitish = Nothing+ , releaseUrl = Nothing+ , releaseZipballUrl = Nothing+ }++-- ** RepoCollaboratorPermission+-- | RepoCollaboratorPermission+-- RepoCollaboratorPermission to get repository permission for a collaborator+data RepoCollaboratorPermission = RepoCollaboratorPermission+ { repoCollaboratorPermissionPermission :: !(Maybe Text) -- ^ "permission"+ , repoCollaboratorPermissionRoleName :: !(Maybe Text) -- ^ "role_name"+ , repoCollaboratorPermissionUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON RepoCollaboratorPermission+instance A.FromJSON RepoCollaboratorPermission where+ parseJSON = A.withObject "RepoCollaboratorPermission" $ \o ->+ RepoCollaboratorPermission+ <$> (o .:? "permission")+ <*> (o .:? "role_name")+ <*> (o .:? "user")++-- | ToJSON RepoCollaboratorPermission+instance A.ToJSON RepoCollaboratorPermission where+ toJSON RepoCollaboratorPermission {..} =+ _omitNulls+ [ "permission" .= repoCollaboratorPermissionPermission+ , "role_name" .= repoCollaboratorPermissionRoleName+ , "user" .= repoCollaboratorPermissionUser+ ]+++-- | Construct a value of type 'RepoCollaboratorPermission' (by applying it's required fields, if any)+mkRepoCollaboratorPermission+ :: RepoCollaboratorPermission+mkRepoCollaboratorPermission =+ RepoCollaboratorPermission+ { repoCollaboratorPermissionPermission = Nothing+ , repoCollaboratorPermissionRoleName = Nothing+ , repoCollaboratorPermissionUser = Nothing+ }++-- ** RepoCommit+-- | RepoCommit+-- RepoCommit contains information of a commit in the context of a repository.+-- +data RepoCommit = RepoCommit+ { repoCommitAuthor :: !(Maybe CommitUser) -- ^ "author"+ , repoCommitCommitter :: !(Maybe CommitUser) -- ^ "committer"+ , repoCommitMessage :: !(Maybe Text) -- ^ "message"+ , repoCommitTree :: !(Maybe CommitMeta) -- ^ "tree"+ , repoCommitUrl :: !(Maybe Text) -- ^ "url"+ , repoCommitVerification :: !(Maybe PayloadCommitVerification) -- ^ "verification"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON RepoCommit+instance A.FromJSON RepoCommit where+ parseJSON = A.withObject "RepoCommit" $ \o ->+ RepoCommit+ <$> (o .:? "author")+ <*> (o .:? "committer")+ <*> (o .:? "message")+ <*> (o .:? "tree")+ <*> (o .:? "url")+ <*> (o .:? "verification")++-- | ToJSON RepoCommit+instance A.ToJSON RepoCommit where+ toJSON RepoCommit {..} =+ _omitNulls+ [ "author" .= repoCommitAuthor+ , "committer" .= repoCommitCommitter+ , "message" .= repoCommitMessage+ , "tree" .= repoCommitTree+ , "url" .= repoCommitUrl+ , "verification" .= repoCommitVerification+ ]+++-- | Construct a value of type 'RepoCommit' (by applying it's required fields, if any)+mkRepoCommit+ :: RepoCommit+mkRepoCommit =+ RepoCommit+ { repoCommitAuthor = Nothing+ , repoCommitCommitter = Nothing+ , repoCommitMessage = Nothing+ , repoCommitTree = Nothing+ , repoCommitUrl = Nothing+ , repoCommitVerification = Nothing+ }++-- ** RepoTopicOptions+-- | RepoTopicOptions+-- RepoTopicOptions a collection of repo topic names+data RepoTopicOptions = RepoTopicOptions+ { repoTopicOptionsTopics :: !(Maybe [Text]) -- ^ "topics" - list of topic names+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON RepoTopicOptions+instance A.FromJSON RepoTopicOptions where+ parseJSON = A.withObject "RepoTopicOptions" $ \o ->+ RepoTopicOptions+ <$> (o .:? "topics")++-- | ToJSON RepoTopicOptions+instance A.ToJSON RepoTopicOptions where+ toJSON RepoTopicOptions {..} =+ _omitNulls+ [ "topics" .= repoTopicOptionsTopics+ ]+++-- | Construct a value of type 'RepoTopicOptions' (by applying it's required fields, if any)+mkRepoTopicOptions+ :: RepoTopicOptions+mkRepoTopicOptions =+ RepoTopicOptions+ { repoTopicOptionsTopics = Nothing+ }++-- ** RepoTransfer+-- | RepoTransfer+-- RepoTransfer represents a pending repo transfer+data RepoTransfer = RepoTransfer+ { repoTransferDoer :: !(Maybe User) -- ^ "doer"+ , repoTransferRecipient :: !(Maybe User) -- ^ "recipient"+ , repoTransferTeams :: !(Maybe [Team]) -- ^ "teams"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON RepoTransfer+instance A.FromJSON RepoTransfer where+ parseJSON = A.withObject "RepoTransfer" $ \o ->+ RepoTransfer+ <$> (o .:? "doer")+ <*> (o .:? "recipient")+ <*> (o .:? "teams")++-- | ToJSON RepoTransfer+instance A.ToJSON RepoTransfer where+ toJSON RepoTransfer {..} =+ _omitNulls+ [ "doer" .= repoTransferDoer+ , "recipient" .= repoTransferRecipient+ , "teams" .= repoTransferTeams+ ]+++-- | Construct a value of type 'RepoTransfer' (by applying it's required fields, if any)+mkRepoTransfer+ :: RepoTransfer+mkRepoTransfer =+ RepoTransfer+ { repoTransferDoer = Nothing+ , repoTransferRecipient = Nothing+ , repoTransferTeams = Nothing+ }++-- ** Repository+-- | Repository+-- Repository represents a repository+data Repository = Repository+ { repositoryAllowMergeCommits :: !(Maybe Bool) -- ^ "allow_merge_commits"+ , repositoryAllowRebase :: !(Maybe Bool) -- ^ "allow_rebase"+ , repositoryAllowRebaseExplicit :: !(Maybe Bool) -- ^ "allow_rebase_explicit"+ , repositoryAllowRebaseUpdate :: !(Maybe Bool) -- ^ "allow_rebase_update"+ , repositoryAllowSquashMerge :: !(Maybe Bool) -- ^ "allow_squash_merge"+ , repositoryArchived :: !(Maybe Bool) -- ^ "archived"+ , repositoryAvatarUrl :: !(Maybe Text) -- ^ "avatar_url"+ , repositoryCloneUrl :: !(Maybe Text) -- ^ "clone_url"+ , repositoryCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , repositoryDefaultAllowMaintainerEdit :: !(Maybe Bool) -- ^ "default_allow_maintainer_edit"+ , repositoryDefaultBranch :: !(Maybe Text) -- ^ "default_branch"+ , repositoryDefaultDeleteBranchAfterMerge :: !(Maybe Bool) -- ^ "default_delete_branch_after_merge"+ , repositoryDefaultMergeStyle :: !(Maybe Text) -- ^ "default_merge_style"+ , repositoryDescription :: !(Maybe Text) -- ^ "description"+ , repositoryEmpty :: !(Maybe Bool) -- ^ "empty"+ , repositoryExternalTracker :: !(Maybe ExternalTracker) -- ^ "external_tracker"+ , repositoryExternalWiki :: !(Maybe ExternalWiki) -- ^ "external_wiki"+ , repositoryFork :: !(Maybe Bool) -- ^ "fork"+ , repositoryForksCount :: !(Maybe Integer) -- ^ "forks_count"+ , repositoryFullName :: !(Maybe Text) -- ^ "full_name"+ , repositoryHasIssues :: !(Maybe Bool) -- ^ "has_issues"+ , repositoryHasProjects :: !(Maybe Bool) -- ^ "has_projects"+ , repositoryHasPullRequests :: !(Maybe Bool) -- ^ "has_pull_requests"+ , repositoryHasWiki :: !(Maybe Bool) -- ^ "has_wiki"+ , repositoryHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , repositoryId :: !(Maybe Integer) -- ^ "id"+ , repositoryIgnoreWhitespaceConflicts :: !(Maybe Bool) -- ^ "ignore_whitespace_conflicts"+ , repositoryInternal :: !(Maybe Bool) -- ^ "internal"+ , repositoryInternalTracker :: !(Maybe InternalTracker) -- ^ "internal_tracker"+ , repositoryLanguage :: !(Maybe Text) -- ^ "language"+ , repositoryLanguagesUrl :: !(Maybe Text) -- ^ "languages_url"+ , repositoryLink :: !(Maybe Text) -- ^ "link"+ , repositoryMirror :: !(Maybe Bool) -- ^ "mirror"+ , repositoryMirrorInterval :: !(Maybe Text) -- ^ "mirror_interval"+ , repositoryMirrorUpdated :: !(Maybe DateTime) -- ^ "mirror_updated"+ , repositoryName :: !(Maybe Text) -- ^ "name"+ , repositoryOpenIssuesCount :: !(Maybe Integer) -- ^ "open_issues_count"+ , repositoryOpenPrCounter :: !(Maybe Integer) -- ^ "open_pr_counter"+ , repositoryOriginalUrl :: !(Maybe Text) -- ^ "original_url"+ , repositoryOwner :: !(Maybe User) -- ^ "owner"+ , repositoryParent :: !(Maybe Repository) -- ^ "parent"+ , repositoryPermissions :: !(Maybe Permission) -- ^ "permissions"+ , repositoryPrivate :: !(Maybe Bool) -- ^ "private"+ , repositoryReleaseCounter :: !(Maybe Integer) -- ^ "release_counter"+ , repositoryRepoTransfer :: !(Maybe RepoTransfer) -- ^ "repo_transfer"+ , repositorySize :: !(Maybe Integer) -- ^ "size"+ , repositorySshUrl :: !(Maybe Text) -- ^ "ssh_url"+ , repositoryStarsCount :: !(Maybe Integer) -- ^ "stars_count"+ , repositoryTemplate :: !(Maybe Bool) -- ^ "template"+ , repositoryUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , repositoryWatchersCount :: !(Maybe Integer) -- ^ "watchers_count"+ , repositoryWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Repository+instance A.FromJSON Repository where+ parseJSON = A.withObject "Repository" $ \o ->+ Repository+ <$> (o .:? "allow_merge_commits")+ <*> (o .:? "allow_rebase")+ <*> (o .:? "allow_rebase_explicit")+ <*> (o .:? "allow_rebase_update")+ <*> (o .:? "allow_squash_merge")+ <*> (o .:? "archived")+ <*> (o .:? "avatar_url")+ <*> (o .:? "clone_url")+ <*> (o .:? "created_at")+ <*> (o .:? "default_allow_maintainer_edit")+ <*> (o .:? "default_branch")+ <*> (o .:? "default_delete_branch_after_merge")+ <*> (o .:? "default_merge_style")+ <*> (o .:? "description")+ <*> (o .:? "empty")+ <*> (o .:? "external_tracker")+ <*> (o .:? "external_wiki")+ <*> (o .:? "fork")+ <*> (o .:? "forks_count")+ <*> (o .:? "full_name")+ <*> (o .:? "has_issues")+ <*> (o .:? "has_projects")+ <*> (o .:? "has_pull_requests")+ <*> (o .:? "has_wiki")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "ignore_whitespace_conflicts")+ <*> (o .:? "internal")+ <*> (o .:? "internal_tracker")+ <*> (o .:? "language")+ <*> (o .:? "languages_url")+ <*> (o .:? "link")+ <*> (o .:? "mirror")+ <*> (o .:? "mirror_interval")+ <*> (o .:? "mirror_updated")+ <*> (o .:? "name")+ <*> (o .:? "open_issues_count")+ <*> (o .:? "open_pr_counter")+ <*> (o .:? "original_url")+ <*> (o .:? "owner")+ <*> (o .:? "parent")+ <*> (o .:? "permissions")+ <*> (o .:? "private")+ <*> (o .:? "release_counter")+ <*> (o .:? "repo_transfer")+ <*> (o .:? "size")+ <*> (o .:? "ssh_url")+ <*> (o .:? "stars_count")+ <*> (o .:? "template")+ <*> (o .:? "updated_at")+ <*> (o .:? "watchers_count")+ <*> (o .:? "website")++-- | ToJSON Repository+instance A.ToJSON Repository where+ toJSON Repository {..} =+ _omitNulls+ [ "allow_merge_commits" .= repositoryAllowMergeCommits+ , "allow_rebase" .= repositoryAllowRebase+ , "allow_rebase_explicit" .= repositoryAllowRebaseExplicit+ , "allow_rebase_update" .= repositoryAllowRebaseUpdate+ , "allow_squash_merge" .= repositoryAllowSquashMerge+ , "archived" .= repositoryArchived+ , "avatar_url" .= repositoryAvatarUrl+ , "clone_url" .= repositoryCloneUrl+ , "created_at" .= repositoryCreatedAt+ , "default_allow_maintainer_edit" .= repositoryDefaultAllowMaintainerEdit+ , "default_branch" .= repositoryDefaultBranch+ , "default_delete_branch_after_merge" .= repositoryDefaultDeleteBranchAfterMerge+ , "default_merge_style" .= repositoryDefaultMergeStyle+ , "description" .= repositoryDescription+ , "empty" .= repositoryEmpty+ , "external_tracker" .= repositoryExternalTracker+ , "external_wiki" .= repositoryExternalWiki+ , "fork" .= repositoryFork+ , "forks_count" .= repositoryForksCount+ , "full_name" .= repositoryFullName+ , "has_issues" .= repositoryHasIssues+ , "has_projects" .= repositoryHasProjects+ , "has_pull_requests" .= repositoryHasPullRequests+ , "has_wiki" .= repositoryHasWiki+ , "html_url" .= repositoryHtmlUrl+ , "id" .= repositoryId+ , "ignore_whitespace_conflicts" .= repositoryIgnoreWhitespaceConflicts+ , "internal" .= repositoryInternal+ , "internal_tracker" .= repositoryInternalTracker+ , "language" .= repositoryLanguage+ , "languages_url" .= repositoryLanguagesUrl+ , "link" .= repositoryLink+ , "mirror" .= repositoryMirror+ , "mirror_interval" .= repositoryMirrorInterval+ , "mirror_updated" .= repositoryMirrorUpdated+ , "name" .= repositoryName+ , "open_issues_count" .= repositoryOpenIssuesCount+ , "open_pr_counter" .= repositoryOpenPrCounter+ , "original_url" .= repositoryOriginalUrl+ , "owner" .= repositoryOwner+ , "parent" .= repositoryParent+ , "permissions" .= repositoryPermissions+ , "private" .= repositoryPrivate+ , "release_counter" .= repositoryReleaseCounter+ , "repo_transfer" .= repositoryRepoTransfer+ , "size" .= repositorySize+ , "ssh_url" .= repositorySshUrl+ , "stars_count" .= repositoryStarsCount+ , "template" .= repositoryTemplate+ , "updated_at" .= repositoryUpdatedAt+ , "watchers_count" .= repositoryWatchersCount+ , "website" .= repositoryWebsite+ ]+++-- | Construct a value of type 'Repository' (by applying it's required fields, if any)+mkRepository+ :: Repository+mkRepository =+ Repository+ { repositoryAllowMergeCommits = Nothing+ , repositoryAllowRebase = Nothing+ , repositoryAllowRebaseExplicit = Nothing+ , repositoryAllowRebaseUpdate = Nothing+ , repositoryAllowSquashMerge = Nothing+ , repositoryArchived = Nothing+ , repositoryAvatarUrl = Nothing+ , repositoryCloneUrl = Nothing+ , repositoryCreatedAt = Nothing+ , repositoryDefaultAllowMaintainerEdit = Nothing+ , repositoryDefaultBranch = Nothing+ , repositoryDefaultDeleteBranchAfterMerge = Nothing+ , repositoryDefaultMergeStyle = Nothing+ , repositoryDescription = Nothing+ , repositoryEmpty = Nothing+ , repositoryExternalTracker = Nothing+ , repositoryExternalWiki = Nothing+ , repositoryFork = Nothing+ , repositoryForksCount = Nothing+ , repositoryFullName = Nothing+ , repositoryHasIssues = Nothing+ , repositoryHasProjects = Nothing+ , repositoryHasPullRequests = Nothing+ , repositoryHasWiki = Nothing+ , repositoryHtmlUrl = Nothing+ , repositoryId = Nothing+ , repositoryIgnoreWhitespaceConflicts = Nothing+ , repositoryInternal = Nothing+ , repositoryInternalTracker = Nothing+ , repositoryLanguage = Nothing+ , repositoryLanguagesUrl = Nothing+ , repositoryLink = Nothing+ , repositoryMirror = Nothing+ , repositoryMirrorInterval = Nothing+ , repositoryMirrorUpdated = Nothing+ , repositoryName = Nothing+ , repositoryOpenIssuesCount = Nothing+ , repositoryOpenPrCounter = Nothing+ , repositoryOriginalUrl = Nothing+ , repositoryOwner = Nothing+ , repositoryParent = Nothing+ , repositoryPermissions = Nothing+ , repositoryPrivate = Nothing+ , repositoryReleaseCounter = Nothing+ , repositoryRepoTransfer = Nothing+ , repositorySize = Nothing+ , repositorySshUrl = Nothing+ , repositoryStarsCount = Nothing+ , repositoryTemplate = Nothing+ , repositoryUpdatedAt = Nothing+ , repositoryWatchersCount = Nothing+ , repositoryWebsite = Nothing+ }++-- ** RepositoryMeta+-- | RepositoryMeta+-- RepositoryMeta basic repository information+data RepositoryMeta = RepositoryMeta+ { repositoryMetaFullName :: !(Maybe Text) -- ^ "full_name"+ , repositoryMetaId :: !(Maybe Integer) -- ^ "id"+ , repositoryMetaName :: !(Maybe Text) -- ^ "name"+ , repositoryMetaOwner :: !(Maybe Text) -- ^ "owner"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON RepositoryMeta+instance A.FromJSON RepositoryMeta where+ parseJSON = A.withObject "RepositoryMeta" $ \o ->+ RepositoryMeta+ <$> (o .:? "full_name")+ <*> (o .:? "id")+ <*> (o .:? "name")+ <*> (o .:? "owner")++-- | ToJSON RepositoryMeta+instance A.ToJSON RepositoryMeta where+ toJSON RepositoryMeta {..} =+ _omitNulls+ [ "full_name" .= repositoryMetaFullName+ , "id" .= repositoryMetaId+ , "name" .= repositoryMetaName+ , "owner" .= repositoryMetaOwner+ ]+++-- | Construct a value of type 'RepositoryMeta' (by applying it's required fields, if any)+mkRepositoryMeta+ :: RepositoryMeta+mkRepositoryMeta =+ RepositoryMeta+ { repositoryMetaFullName = Nothing+ , repositoryMetaId = Nothing+ , repositoryMetaName = Nothing+ , repositoryMetaOwner = Nothing+ }++-- ** SearchResults+-- | SearchResults+-- SearchResults results of a successful search+data SearchResults = SearchResults+ { searchResultsData :: !(Maybe [Repository]) -- ^ "data"+ , searchResultsOk :: !(Maybe Bool) -- ^ "ok"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON SearchResults+instance A.FromJSON SearchResults where+ parseJSON = A.withObject "SearchResults" $ \o ->+ SearchResults+ <$> (o .:? "data")+ <*> (o .:? "ok")++-- | ToJSON SearchResults+instance A.ToJSON SearchResults where+ toJSON SearchResults {..} =+ _omitNulls+ [ "data" .= searchResultsData+ , "ok" .= searchResultsOk+ ]+++-- | Construct a value of type 'SearchResults' (by applying it's required fields, if any)+mkSearchResults+ :: SearchResults+mkSearchResults =+ SearchResults+ { searchResultsData = Nothing+ , searchResultsOk = Nothing+ }++-- ** ServerVersion+-- | ServerVersion+-- ServerVersion wraps the version of the server+data ServerVersion = ServerVersion+ { serverVersionVersion :: !(Maybe Text) -- ^ "version"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON ServerVersion+instance A.FromJSON ServerVersion where+ parseJSON = A.withObject "ServerVersion" $ \o ->+ ServerVersion+ <$> (o .:? "version")++-- | ToJSON ServerVersion+instance A.ToJSON ServerVersion where+ toJSON ServerVersion {..} =+ _omitNulls+ [ "version" .= serverVersionVersion+ ]+++-- | Construct a value of type 'ServerVersion' (by applying it's required fields, if any)+mkServerVersion+ :: ServerVersion+mkServerVersion =+ ServerVersion+ { serverVersionVersion = Nothing+ }++-- ** StopWatch+-- | StopWatch+-- StopWatch represent a running stopwatch+data StopWatch = StopWatch+ { stopWatchCreated :: !(Maybe DateTime) -- ^ "created"+ , stopWatchDuration :: !(Maybe Text) -- ^ "duration"+ , stopWatchIssueIndex :: !(Maybe Integer) -- ^ "issue_index"+ , stopWatchIssueTitle :: !(Maybe Text) -- ^ "issue_title"+ , stopWatchRepoName :: !(Maybe Text) -- ^ "repo_name"+ , stopWatchRepoOwnerName :: !(Maybe Text) -- ^ "repo_owner_name"+ , stopWatchSeconds :: !(Maybe Integer) -- ^ "seconds"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON StopWatch+instance A.FromJSON StopWatch where+ parseJSON = A.withObject "StopWatch" $ \o ->+ StopWatch+ <$> (o .:? "created")+ <*> (o .:? "duration")+ <*> (o .:? "issue_index")+ <*> (o .:? "issue_title")+ <*> (o .:? "repo_name")+ <*> (o .:? "repo_owner_name")+ <*> (o .:? "seconds")++-- | ToJSON StopWatch+instance A.ToJSON StopWatch where+ toJSON StopWatch {..} =+ _omitNulls+ [ "created" .= stopWatchCreated+ , "duration" .= stopWatchDuration+ , "issue_index" .= stopWatchIssueIndex+ , "issue_title" .= stopWatchIssueTitle+ , "repo_name" .= stopWatchRepoName+ , "repo_owner_name" .= stopWatchRepoOwnerName+ , "seconds" .= stopWatchSeconds+ ]+++-- | Construct a value of type 'StopWatch' (by applying it's required fields, if any)+mkStopWatch+ :: StopWatch+mkStopWatch =+ StopWatch+ { stopWatchCreated = Nothing+ , stopWatchDuration = Nothing+ , stopWatchIssueIndex = Nothing+ , stopWatchIssueTitle = Nothing+ , stopWatchRepoName = Nothing+ , stopWatchRepoOwnerName = Nothing+ , stopWatchSeconds = Nothing+ }++-- ** SubmitPullReviewOptions+-- | SubmitPullReviewOptions+-- SubmitPullReviewOptions are options to submit a pending pull review+data SubmitPullReviewOptions = SubmitPullReviewOptions+ { submitPullReviewOptionsBody :: !(Maybe Text) -- ^ "body"+ , submitPullReviewOptionsEvent :: !(Maybe Text) -- ^ "event" - ReviewStateType review state type+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON SubmitPullReviewOptions+instance A.FromJSON SubmitPullReviewOptions where+ parseJSON = A.withObject "SubmitPullReviewOptions" $ \o ->+ SubmitPullReviewOptions+ <$> (o .:? "body")+ <*> (o .:? "event")++-- | ToJSON SubmitPullReviewOptions+instance A.ToJSON SubmitPullReviewOptions where+ toJSON SubmitPullReviewOptions {..} =+ _omitNulls+ [ "body" .= submitPullReviewOptionsBody+ , "event" .= submitPullReviewOptionsEvent+ ]+++-- | Construct a value of type 'SubmitPullReviewOptions' (by applying it's required fields, if any)+mkSubmitPullReviewOptions+ :: SubmitPullReviewOptions+mkSubmitPullReviewOptions =+ SubmitPullReviewOptions+ { submitPullReviewOptionsBody = Nothing+ , submitPullReviewOptionsEvent = Nothing+ }++-- ** Tag+-- | Tag+-- Tag represents a repository tag+data Tag = Tag+ { tagCommit :: !(Maybe CommitMeta) -- ^ "commit"+ , tagId :: !(Maybe Text) -- ^ "id"+ , tagMessage :: !(Maybe Text) -- ^ "message"+ , tagName :: !(Maybe Text) -- ^ "name"+ , tagTarballUrl :: !(Maybe Text) -- ^ "tarball_url"+ , tagZipballUrl :: !(Maybe Text) -- ^ "zipball_url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Tag+instance A.FromJSON Tag where+ parseJSON = A.withObject "Tag" $ \o ->+ Tag+ <$> (o .:? "commit")+ <*> (o .:? "id")+ <*> (o .:? "message")+ <*> (o .:? "name")+ <*> (o .:? "tarball_url")+ <*> (o .:? "zipball_url")++-- | ToJSON Tag+instance A.ToJSON Tag where+ toJSON Tag {..} =+ _omitNulls+ [ "commit" .= tagCommit+ , "id" .= tagId+ , "message" .= tagMessage+ , "name" .= tagName+ , "tarball_url" .= tagTarballUrl+ , "zipball_url" .= tagZipballUrl+ ]+++-- | Construct a value of type 'Tag' (by applying it's required fields, if any)+mkTag+ :: Tag+mkTag =+ Tag+ { tagCommit = Nothing+ , tagId = Nothing+ , tagMessage = Nothing+ , tagName = Nothing+ , tagTarballUrl = Nothing+ , tagZipballUrl = Nothing+ }++-- ** Team+-- | Team+-- Team represents a team in an organization+data Team = Team+ { teamCanCreateOrgRepo :: !(Maybe Bool) -- ^ "can_create_org_repo"+ , teamDescription :: !(Maybe Text) -- ^ "description"+ , teamId :: !(Maybe Integer) -- ^ "id"+ , teamIncludesAllRepositories :: !(Maybe Bool) -- ^ "includes_all_repositories"+ , teamName :: !(Maybe Text) -- ^ "name"+ , teamOrganization :: !(Maybe Organization) -- ^ "organization"+ , teamPermission :: !(Maybe E'Permission2) -- ^ "permission"+ , teamUnits :: !(Maybe [Text]) -- ^ "units"+ , teamUnitsMap :: !(Maybe (Map.Map String Text)) -- ^ "units_map"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON Team+instance A.FromJSON Team where+ parseJSON = A.withObject "Team" $ \o ->+ Team+ <$> (o .:? "can_create_org_repo")+ <*> (o .:? "description")+ <*> (o .:? "id")+ <*> (o .:? "includes_all_repositories")+ <*> (o .:? "name")+ <*> (o .:? "organization")+ <*> (o .:? "permission")+ <*> (o .:? "units")+ <*> (o .:? "units_map")++-- | ToJSON Team+instance A.ToJSON Team where+ toJSON Team {..} =+ _omitNulls+ [ "can_create_org_repo" .= teamCanCreateOrgRepo+ , "description" .= teamDescription+ , "id" .= teamId+ , "includes_all_repositories" .= teamIncludesAllRepositories+ , "name" .= teamName+ , "organization" .= teamOrganization+ , "permission" .= teamPermission+ , "units" .= teamUnits+ , "units_map" .= teamUnitsMap+ ]+++-- | Construct a value of type 'Team' (by applying it's required fields, if any)+mkTeam+ :: Team+mkTeam =+ Team+ { teamCanCreateOrgRepo = Nothing+ , teamDescription = Nothing+ , teamId = Nothing+ , teamIncludesAllRepositories = Nothing+ , teamName = Nothing+ , teamOrganization = Nothing+ , teamPermission = Nothing+ , teamUnits = Nothing+ , teamUnitsMap = Nothing+ }++-- ** TeamSearch200Response+-- | TeamSearch200Response+data TeamSearch200Response = TeamSearch200Response+ { teamSearch200ResponseData :: !(Maybe [Team]) -- ^ "data"+ , teamSearch200ResponseOk :: !(Maybe Bool) -- ^ "ok"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TeamSearch200Response+instance A.FromJSON TeamSearch200Response where+ parseJSON = A.withObject "TeamSearch200Response" $ \o ->+ TeamSearch200Response+ <$> (o .:? "data")+ <*> (o .:? "ok")++-- | ToJSON TeamSearch200Response+instance A.ToJSON TeamSearch200Response where+ toJSON TeamSearch200Response {..} =+ _omitNulls+ [ "data" .= teamSearch200ResponseData+ , "ok" .= teamSearch200ResponseOk+ ]+++-- | Construct a value of type 'TeamSearch200Response' (by applying it's required fields, if any)+mkTeamSearch200Response+ :: TeamSearch200Response+mkTeamSearch200Response =+ TeamSearch200Response+ { teamSearch200ResponseData = Nothing+ , teamSearch200ResponseOk = Nothing+ }++-- ** TimelineComment+-- | TimelineComment+-- TimelineComment represents a timeline comment (comment of any type) on a commit or issue+data TimelineComment = TimelineComment+ { timelineCommentAssignee :: !(Maybe User) -- ^ "assignee"+ , timelineCommentAssigneeTeam :: !(Maybe Team) -- ^ "assignee_team"+ , timelineCommentBody :: !(Maybe Text) -- ^ "body"+ , timelineCommentCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , timelineCommentDependentIssue :: !(Maybe Issue) -- ^ "dependent_issue"+ , timelineCommentHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , timelineCommentId :: !(Maybe Integer) -- ^ "id"+ , timelineCommentIssueUrl :: !(Maybe Text) -- ^ "issue_url"+ , timelineCommentLabel :: !(Maybe Label) -- ^ "label"+ , timelineCommentMilestone :: !(Maybe Milestone) -- ^ "milestone"+ , timelineCommentNewRef :: !(Maybe Text) -- ^ "new_ref"+ , timelineCommentNewTitle :: !(Maybe Text) -- ^ "new_title"+ , timelineCommentOldMilestone :: !(Maybe Milestone) -- ^ "old_milestone"+ , timelineCommentOldProjectId :: !(Maybe Integer) -- ^ "old_project_id"+ , timelineCommentOldRef :: !(Maybe Text) -- ^ "old_ref"+ , timelineCommentOldTitle :: !(Maybe Text) -- ^ "old_title"+ , timelineCommentProjectId :: !(Maybe Integer) -- ^ "project_id"+ , timelineCommentPullRequestUrl :: !(Maybe Text) -- ^ "pull_request_url"+ , timelineCommentRefAction :: !(Maybe Text) -- ^ "ref_action"+ , timelineCommentRefComment :: !(Maybe Comment) -- ^ "ref_comment"+ , timelineCommentRefCommitSha :: !(Maybe Text) -- ^ "ref_commit_sha" - commit SHA where issue/PR was referenced+ , timelineCommentRefIssue :: !(Maybe Issue) -- ^ "ref_issue"+ , timelineCommentRemovedAssignee :: !(Maybe Bool) -- ^ "removed_assignee" - whether the assignees were removed or added+ , timelineCommentResolveDoer :: !(Maybe User) -- ^ "resolve_doer"+ , timelineCommentReviewId :: !(Maybe Integer) -- ^ "review_id"+ , timelineCommentTrackedTime :: !(Maybe TrackedTime) -- ^ "tracked_time"+ , timelineCommentType :: !(Maybe Text) -- ^ "type"+ , timelineCommentUpdatedAt :: !(Maybe DateTime) -- ^ "updated_at"+ , timelineCommentUser :: !(Maybe User) -- ^ "user"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TimelineComment+instance A.FromJSON TimelineComment where+ parseJSON = A.withObject "TimelineComment" $ \o ->+ TimelineComment+ <$> (o .:? "assignee")+ <*> (o .:? "assignee_team")+ <*> (o .:? "body")+ <*> (o .:? "created_at")+ <*> (o .:? "dependent_issue")+ <*> (o .:? "html_url")+ <*> (o .:? "id")+ <*> (o .:? "issue_url")+ <*> (o .:? "label")+ <*> (o .:? "milestone")+ <*> (o .:? "new_ref")+ <*> (o .:? "new_title")+ <*> (o .:? "old_milestone")+ <*> (o .:? "old_project_id")+ <*> (o .:? "old_ref")+ <*> (o .:? "old_title")+ <*> (o .:? "project_id")+ <*> (o .:? "pull_request_url")+ <*> (o .:? "ref_action")+ <*> (o .:? "ref_comment")+ <*> (o .:? "ref_commit_sha")+ <*> (o .:? "ref_issue")+ <*> (o .:? "removed_assignee")+ <*> (o .:? "resolve_doer")+ <*> (o .:? "review_id")+ <*> (o .:? "tracked_time")+ <*> (o .:? "type")+ <*> (o .:? "updated_at")+ <*> (o .:? "user")++-- | ToJSON TimelineComment+instance A.ToJSON TimelineComment where+ toJSON TimelineComment {..} =+ _omitNulls+ [ "assignee" .= timelineCommentAssignee+ , "assignee_team" .= timelineCommentAssigneeTeam+ , "body" .= timelineCommentBody+ , "created_at" .= timelineCommentCreatedAt+ , "dependent_issue" .= timelineCommentDependentIssue+ , "html_url" .= timelineCommentHtmlUrl+ , "id" .= timelineCommentId+ , "issue_url" .= timelineCommentIssueUrl+ , "label" .= timelineCommentLabel+ , "milestone" .= timelineCommentMilestone+ , "new_ref" .= timelineCommentNewRef+ , "new_title" .= timelineCommentNewTitle+ , "old_milestone" .= timelineCommentOldMilestone+ , "old_project_id" .= timelineCommentOldProjectId+ , "old_ref" .= timelineCommentOldRef+ , "old_title" .= timelineCommentOldTitle+ , "project_id" .= timelineCommentProjectId+ , "pull_request_url" .= timelineCommentPullRequestUrl+ , "ref_action" .= timelineCommentRefAction+ , "ref_comment" .= timelineCommentRefComment+ , "ref_commit_sha" .= timelineCommentRefCommitSha+ , "ref_issue" .= timelineCommentRefIssue+ , "removed_assignee" .= timelineCommentRemovedAssignee+ , "resolve_doer" .= timelineCommentResolveDoer+ , "review_id" .= timelineCommentReviewId+ , "tracked_time" .= timelineCommentTrackedTime+ , "type" .= timelineCommentType+ , "updated_at" .= timelineCommentUpdatedAt+ , "user" .= timelineCommentUser+ ]+++-- | Construct a value of type 'TimelineComment' (by applying it's required fields, if any)+mkTimelineComment+ :: TimelineComment+mkTimelineComment =+ TimelineComment+ { timelineCommentAssignee = Nothing+ , timelineCommentAssigneeTeam = Nothing+ , timelineCommentBody = Nothing+ , timelineCommentCreatedAt = Nothing+ , timelineCommentDependentIssue = Nothing+ , timelineCommentHtmlUrl = Nothing+ , timelineCommentId = Nothing+ , timelineCommentIssueUrl = Nothing+ , timelineCommentLabel = Nothing+ , timelineCommentMilestone = Nothing+ , timelineCommentNewRef = Nothing+ , timelineCommentNewTitle = Nothing+ , timelineCommentOldMilestone = Nothing+ , timelineCommentOldProjectId = Nothing+ , timelineCommentOldRef = Nothing+ , timelineCommentOldTitle = Nothing+ , timelineCommentProjectId = Nothing+ , timelineCommentPullRequestUrl = Nothing+ , timelineCommentRefAction = Nothing+ , timelineCommentRefComment = Nothing+ , timelineCommentRefCommitSha = Nothing+ , timelineCommentRefIssue = Nothing+ , timelineCommentRemovedAssignee = Nothing+ , timelineCommentResolveDoer = Nothing+ , timelineCommentReviewId = Nothing+ , timelineCommentTrackedTime = Nothing+ , timelineCommentType = Nothing+ , timelineCommentUpdatedAt = Nothing+ , timelineCommentUser = Nothing+ }++-- ** TopicName+-- | TopicName+-- TopicName a list of repo topic names+data TopicName = TopicName+ { topicNameTopics :: !(Maybe [Text]) -- ^ "topics"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TopicName+instance A.FromJSON TopicName where+ parseJSON = A.withObject "TopicName" $ \o ->+ TopicName+ <$> (o .:? "topics")++-- | ToJSON TopicName+instance A.ToJSON TopicName where+ toJSON TopicName {..} =+ _omitNulls+ [ "topics" .= topicNameTopics+ ]+++-- | Construct a value of type 'TopicName' (by applying it's required fields, if any)+mkTopicName+ :: TopicName+mkTopicName =+ TopicName+ { topicNameTopics = Nothing+ }++-- ** TopicResponse+-- | TopicResponse+-- TopicResponse for returning topics+data TopicResponse = TopicResponse+ { topicResponseCreated :: !(Maybe DateTime) -- ^ "created"+ , topicResponseId :: !(Maybe Integer) -- ^ "id"+ , topicResponseRepoCount :: !(Maybe Integer) -- ^ "repo_count"+ , topicResponseTopicName :: !(Maybe Text) -- ^ "topic_name"+ , topicResponseUpdated :: !(Maybe DateTime) -- ^ "updated"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TopicResponse+instance A.FromJSON TopicResponse where+ parseJSON = A.withObject "TopicResponse" $ \o ->+ TopicResponse+ <$> (o .:? "created")+ <*> (o .:? "id")+ <*> (o .:? "repo_count")+ <*> (o .:? "topic_name")+ <*> (o .:? "updated")++-- | ToJSON TopicResponse+instance A.ToJSON TopicResponse where+ toJSON TopicResponse {..} =+ _omitNulls+ [ "created" .= topicResponseCreated+ , "id" .= topicResponseId+ , "repo_count" .= topicResponseRepoCount+ , "topic_name" .= topicResponseTopicName+ , "updated" .= topicResponseUpdated+ ]+++-- | Construct a value of type 'TopicResponse' (by applying it's required fields, if any)+mkTopicResponse+ :: TopicResponse+mkTopicResponse =+ TopicResponse+ { topicResponseCreated = Nothing+ , topicResponseId = Nothing+ , topicResponseRepoCount = Nothing+ , topicResponseTopicName = Nothing+ , topicResponseUpdated = Nothing+ }++-- ** TrackedTime+-- | TrackedTime+-- TrackedTime worked time for an issue / pr+data TrackedTime = TrackedTime+ { trackedTimeCreated :: !(Maybe DateTime) -- ^ "created"+ , trackedTimeId :: !(Maybe Integer) -- ^ "id"+ , trackedTimeIssue :: !(Maybe Issue) -- ^ "issue"+ , trackedTimeIssueId :: !(Maybe Integer) -- ^ "issue_id" - deprecated (only for backwards compatibility)+ , trackedTimeTime :: !(Maybe Integer) -- ^ "time" - Time in seconds+ , trackedTimeUserId :: !(Maybe Integer) -- ^ "user_id" - deprecated (only for backwards compatibility)+ , trackedTimeUserName :: !(Maybe Text) -- ^ "user_name"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TrackedTime+instance A.FromJSON TrackedTime where+ parseJSON = A.withObject "TrackedTime" $ \o ->+ TrackedTime+ <$> (o .:? "created")+ <*> (o .:? "id")+ <*> (o .:? "issue")+ <*> (o .:? "issue_id")+ <*> (o .:? "time")+ <*> (o .:? "user_id")+ <*> (o .:? "user_name")++-- | ToJSON TrackedTime+instance A.ToJSON TrackedTime where+ toJSON TrackedTime {..} =+ _omitNulls+ [ "created" .= trackedTimeCreated+ , "id" .= trackedTimeId+ , "issue" .= trackedTimeIssue+ , "issue_id" .= trackedTimeIssueId+ , "time" .= trackedTimeTime+ , "user_id" .= trackedTimeUserId+ , "user_name" .= trackedTimeUserName+ ]+++-- | Construct a value of type 'TrackedTime' (by applying it's required fields, if any)+mkTrackedTime+ :: TrackedTime+mkTrackedTime =+ TrackedTime+ { trackedTimeCreated = Nothing+ , trackedTimeId = Nothing+ , trackedTimeIssue = Nothing+ , trackedTimeIssueId = Nothing+ , trackedTimeTime = Nothing+ , trackedTimeUserId = Nothing+ , trackedTimeUserName = Nothing+ }++-- ** TransferRepoOption+-- | TransferRepoOption+-- TransferRepoOption options when transfer a repository's ownership+data TransferRepoOption = TransferRepoOption+ { transferRepoOptionNewOwner :: !(Text) -- ^ /Required/ "new_owner"+ , transferRepoOptionTeamIds :: !(Maybe [Integer]) -- ^ "team_ids" - ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON TransferRepoOption+instance A.FromJSON TransferRepoOption where+ parseJSON = A.withObject "TransferRepoOption" $ \o ->+ TransferRepoOption+ <$> (o .: "new_owner")+ <*> (o .:? "team_ids")++-- | ToJSON TransferRepoOption+instance A.ToJSON TransferRepoOption where+ toJSON TransferRepoOption {..} =+ _omitNulls+ [ "new_owner" .= transferRepoOptionNewOwner+ , "team_ids" .= transferRepoOptionTeamIds+ ]+++-- | Construct a value of type 'TransferRepoOption' (by applying it's required fields, if any)+mkTransferRepoOption+ :: Text -- ^ 'transferRepoOptionNewOwner' + -> TransferRepoOption+mkTransferRepoOption transferRepoOptionNewOwner =+ TransferRepoOption+ { transferRepoOptionNewOwner+ , transferRepoOptionTeamIds = Nothing+ }++-- ** UpdateFileOptions+-- | UpdateFileOptions+-- UpdateFileOptions options for updating files Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)+data UpdateFileOptions = UpdateFileOptions+ { updateFileOptionsAuthor :: !(Maybe Identity) -- ^ "author"+ , updateFileOptionsBranch :: !(Maybe Text) -- ^ "branch" - branch (optional) to base this file from. if not given, the default branch is used+ , updateFileOptionsCommitter :: !(Maybe Identity) -- ^ "committer"+ , updateFileOptionsContent :: !(Text) -- ^ /Required/ "content" - content must be base64 encoded+ , updateFileOptionsDates :: !(Maybe CommitDateOptions) -- ^ "dates"+ , updateFileOptionsFromPath :: !(Maybe Text) -- ^ "from_path" - from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL+ , updateFileOptionsMessage :: !(Maybe Text) -- ^ "message" - message (optional) for the commit of this file. if not supplied, a default message will be used+ , updateFileOptionsNewBranch :: !(Maybe Text) -- ^ "new_branch" - new_branch (optional) will make a new branch from `branch` before creating the file+ , updateFileOptionsSha :: !(Text) -- ^ /Required/ "sha" - sha is the SHA for the file that already exists+ , updateFileOptionsSignoff :: !(Maybe Bool) -- ^ "signoff" - Add a Signed-off-by trailer by the committer at the end of the commit log message.+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON UpdateFileOptions+instance A.FromJSON UpdateFileOptions where+ parseJSON = A.withObject "UpdateFileOptions" $ \o ->+ UpdateFileOptions+ <$> (o .:? "author")+ <*> (o .:? "branch")+ <*> (o .:? "committer")+ <*> (o .: "content")+ <*> (o .:? "dates")+ <*> (o .:? "from_path")+ <*> (o .:? "message")+ <*> (o .:? "new_branch")+ <*> (o .: "sha")+ <*> (o .:? "signoff")++-- | ToJSON UpdateFileOptions+instance A.ToJSON UpdateFileOptions where+ toJSON UpdateFileOptions {..} =+ _omitNulls+ [ "author" .= updateFileOptionsAuthor+ , "branch" .= updateFileOptionsBranch+ , "committer" .= updateFileOptionsCommitter+ , "content" .= updateFileOptionsContent+ , "dates" .= updateFileOptionsDates+ , "from_path" .= updateFileOptionsFromPath+ , "message" .= updateFileOptionsMessage+ , "new_branch" .= updateFileOptionsNewBranch+ , "sha" .= updateFileOptionsSha+ , "signoff" .= updateFileOptionsSignoff+ ]+++-- | Construct a value of type 'UpdateFileOptions' (by applying it's required fields, if any)+mkUpdateFileOptions+ :: Text -- ^ 'updateFileOptionsContent': content must be base64 encoded+ -> Text -- ^ 'updateFileOptionsSha': sha is the SHA for the file that already exists+ -> UpdateFileOptions+mkUpdateFileOptions updateFileOptionsContent updateFileOptionsSha =+ UpdateFileOptions+ { updateFileOptionsAuthor = Nothing+ , updateFileOptionsBranch = Nothing+ , updateFileOptionsCommitter = Nothing+ , updateFileOptionsContent+ , updateFileOptionsDates = Nothing+ , updateFileOptionsFromPath = Nothing+ , updateFileOptionsMessage = Nothing+ , updateFileOptionsNewBranch = Nothing+ , updateFileOptionsSha+ , updateFileOptionsSignoff = Nothing+ }++-- ** User+-- | User+-- User represents a user+data User = User+ { userActive :: !(Maybe Bool) -- ^ "active" - Is user active+ , userAvatarUrl :: !(Maybe Text) -- ^ "avatar_url" - URL to the user's avatar+ , userCreated :: !(Maybe DateTime) -- ^ "created"+ , userDescription :: !(Maybe Text) -- ^ "description" - the user's description+ , userEmail :: !(Maybe Text) -- ^ "email"+ , userFollowersCount :: !(Maybe Integer) -- ^ "followers_count" - user counts+ , userFollowingCount :: !(Maybe Integer) -- ^ "following_count"+ , userFullName :: !(Maybe Text) -- ^ "full_name" - the user's full name+ , userId :: !(Maybe Integer) -- ^ "id" - the user's id+ , userIsAdmin :: !(Maybe Bool) -- ^ "is_admin" - Is the user an administrator+ , userLanguage :: !(Maybe Text) -- ^ "language" - User locale+ , userLastLogin :: !(Maybe DateTime) -- ^ "last_login"+ , userLocation :: !(Maybe Text) -- ^ "location" - the user's location+ , userLogin :: !(Maybe Text) -- ^ "login" - the user's username+ , userLoginName :: !(Maybe Text) -- ^ "login_name" - the user's authentication sign-in name.+ , userProhibitLogin :: !(Maybe Bool) -- ^ "prohibit_login" - Is user login prohibited+ , userRestricted :: !(Maybe Bool) -- ^ "restricted" - Is user restricted+ , userStarredReposCount :: !(Maybe Integer) -- ^ "starred_repos_count"+ , userVisibility :: !(Maybe Text) -- ^ "visibility" - User visibility level option: public, limited, private+ , userWebsite :: !(Maybe Text) -- ^ "website" - the user's website+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON User+instance A.FromJSON User where+ parseJSON = A.withObject "User" $ \o ->+ User+ <$> (o .:? "active")+ <*> (o .:? "avatar_url")+ <*> (o .:? "created")+ <*> (o .:? "description")+ <*> (o .:? "email")+ <*> (o .:? "followers_count")+ <*> (o .:? "following_count")+ <*> (o .:? "full_name")+ <*> (o .:? "id")+ <*> (o .:? "is_admin")+ <*> (o .:? "language")+ <*> (o .:? "last_login")+ <*> (o .:? "location")+ <*> (o .:? "login")+ <*> (o .:? "login_name")+ <*> (o .:? "prohibit_login")+ <*> (o .:? "restricted")+ <*> (o .:? "starred_repos_count")+ <*> (o .:? "visibility")+ <*> (o .:? "website")++-- | ToJSON User+instance A.ToJSON User where+ toJSON User {..} =+ _omitNulls+ [ "active" .= userActive+ , "avatar_url" .= userAvatarUrl+ , "created" .= userCreated+ , "description" .= userDescription+ , "email" .= userEmail+ , "followers_count" .= userFollowersCount+ , "following_count" .= userFollowingCount+ , "full_name" .= userFullName+ , "id" .= userId+ , "is_admin" .= userIsAdmin+ , "language" .= userLanguage+ , "last_login" .= userLastLogin+ , "location" .= userLocation+ , "login" .= userLogin+ , "login_name" .= userLoginName+ , "prohibit_login" .= userProhibitLogin+ , "restricted" .= userRestricted+ , "starred_repos_count" .= userStarredReposCount+ , "visibility" .= userVisibility+ , "website" .= userWebsite+ ]+++-- | Construct a value of type 'User' (by applying it's required fields, if any)+mkUser+ :: User+mkUser =+ User+ { userActive = Nothing+ , userAvatarUrl = Nothing+ , userCreated = Nothing+ , userDescription = Nothing+ , userEmail = Nothing+ , userFollowersCount = Nothing+ , userFollowingCount = Nothing+ , userFullName = Nothing+ , userId = Nothing+ , userIsAdmin = Nothing+ , userLanguage = Nothing+ , userLastLogin = Nothing+ , userLocation = Nothing+ , userLogin = Nothing+ , userLoginName = Nothing+ , userProhibitLogin = Nothing+ , userRestricted = Nothing+ , userStarredReposCount = Nothing+ , userVisibility = Nothing+ , userWebsite = Nothing+ }++-- ** UserHeatmapData+-- | UserHeatmapData+-- UserHeatmapData represents the data needed to create a heatmap+data UserHeatmapData = UserHeatmapData+ { userHeatmapDataContributions :: !(Maybe Integer) -- ^ "contributions"+ , userHeatmapDataTimestamp :: !(Maybe Integer) -- ^ "timestamp" - TimeStamp defines a timestamp+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON UserHeatmapData+instance A.FromJSON UserHeatmapData where+ parseJSON = A.withObject "UserHeatmapData" $ \o ->+ UserHeatmapData+ <$> (o .:? "contributions")+ <*> (o .:? "timestamp")++-- | ToJSON UserHeatmapData+instance A.ToJSON UserHeatmapData where+ toJSON UserHeatmapData {..} =+ _omitNulls+ [ "contributions" .= userHeatmapDataContributions+ , "timestamp" .= userHeatmapDataTimestamp+ ]+++-- | Construct a value of type 'UserHeatmapData' (by applying it's required fields, if any)+mkUserHeatmapData+ :: UserHeatmapData+mkUserHeatmapData =+ UserHeatmapData+ { userHeatmapDataContributions = Nothing+ , userHeatmapDataTimestamp = Nothing+ }++-- ** UserSearch200Response+-- | UserSearch200Response+data UserSearch200Response = UserSearch200Response+ { userSearch200ResponseData :: !(Maybe [User]) -- ^ "data"+ , userSearch200ResponseOk :: !(Maybe Bool) -- ^ "ok"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON UserSearch200Response+instance A.FromJSON UserSearch200Response where+ parseJSON = A.withObject "UserSearch200Response" $ \o ->+ UserSearch200Response+ <$> (o .:? "data")+ <*> (o .:? "ok")++-- | ToJSON UserSearch200Response+instance A.ToJSON UserSearch200Response where+ toJSON UserSearch200Response {..} =+ _omitNulls+ [ "data" .= userSearch200ResponseData+ , "ok" .= userSearch200ResponseOk+ ]+++-- | Construct a value of type 'UserSearch200Response' (by applying it's required fields, if any)+mkUserSearch200Response+ :: UserSearch200Response+mkUserSearch200Response =+ UserSearch200Response+ { userSearch200ResponseData = Nothing+ , userSearch200ResponseOk = Nothing+ }++-- ** UserSettings+-- | UserSettings+-- UserSettings represents user settings+data UserSettings = UserSettings+ { userSettingsDescription :: !(Maybe Text) -- ^ "description"+ , userSettingsDiffViewStyle :: !(Maybe Text) -- ^ "diff_view_style"+ , userSettingsFullName :: !(Maybe Text) -- ^ "full_name"+ , userSettingsHideActivity :: !(Maybe Bool) -- ^ "hide_activity"+ , userSettingsHideEmail :: !(Maybe Bool) -- ^ "hide_email" - Privacy+ , userSettingsLanguage :: !(Maybe Text) -- ^ "language"+ , userSettingsLocation :: !(Maybe Text) -- ^ "location"+ , userSettingsTheme :: !(Maybe Text) -- ^ "theme"+ , userSettingsWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON UserSettings+instance A.FromJSON UserSettings where+ parseJSON = A.withObject "UserSettings" $ \o ->+ UserSettings+ <$> (o .:? "description")+ <*> (o .:? "diff_view_style")+ <*> (o .:? "full_name")+ <*> (o .:? "hide_activity")+ <*> (o .:? "hide_email")+ <*> (o .:? "language")+ <*> (o .:? "location")+ <*> (o .:? "theme")+ <*> (o .:? "website")++-- | ToJSON UserSettings+instance A.ToJSON UserSettings where+ toJSON UserSettings {..} =+ _omitNulls+ [ "description" .= userSettingsDescription+ , "diff_view_style" .= userSettingsDiffViewStyle+ , "full_name" .= userSettingsFullName+ , "hide_activity" .= userSettingsHideActivity+ , "hide_email" .= userSettingsHideEmail+ , "language" .= userSettingsLanguage+ , "location" .= userSettingsLocation+ , "theme" .= userSettingsTheme+ , "website" .= userSettingsWebsite+ ]+++-- | Construct a value of type 'UserSettings' (by applying it's required fields, if any)+mkUserSettings+ :: UserSettings+mkUserSettings =+ UserSettings+ { userSettingsDescription = Nothing+ , userSettingsDiffViewStyle = Nothing+ , userSettingsFullName = Nothing+ , userSettingsHideActivity = Nothing+ , userSettingsHideEmail = Nothing+ , userSettingsLanguage = Nothing+ , userSettingsLocation = Nothing+ , userSettingsTheme = Nothing+ , userSettingsWebsite = Nothing+ }++-- ** UserSettingsOptions+-- | UserSettingsOptions+-- UserSettingsOptions represents options to change user settings+data UserSettingsOptions = UserSettingsOptions+ { userSettingsOptionsDescription :: !(Maybe Text) -- ^ "description"+ , userSettingsOptionsDiffViewStyle :: !(Maybe Text) -- ^ "diff_view_style"+ , userSettingsOptionsFullName :: !(Maybe Text) -- ^ "full_name"+ , userSettingsOptionsHideActivity :: !(Maybe Bool) -- ^ "hide_activity"+ , userSettingsOptionsHideEmail :: !(Maybe Bool) -- ^ "hide_email" - Privacy+ , userSettingsOptionsLanguage :: !(Maybe Text) -- ^ "language"+ , userSettingsOptionsLocation :: !(Maybe Text) -- ^ "location"+ , userSettingsOptionsTheme :: !(Maybe Text) -- ^ "theme"+ , userSettingsOptionsWebsite :: !(Maybe Text) -- ^ "website"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON UserSettingsOptions+instance A.FromJSON UserSettingsOptions where+ parseJSON = A.withObject "UserSettingsOptions" $ \o ->+ UserSettingsOptions+ <$> (o .:? "description")+ <*> (o .:? "diff_view_style")+ <*> (o .:? "full_name")+ <*> (o .:? "hide_activity")+ <*> (o .:? "hide_email")+ <*> (o .:? "language")+ <*> (o .:? "location")+ <*> (o .:? "theme")+ <*> (o .:? "website")++-- | ToJSON UserSettingsOptions+instance A.ToJSON UserSettingsOptions where+ toJSON UserSettingsOptions {..} =+ _omitNulls+ [ "description" .= userSettingsOptionsDescription+ , "diff_view_style" .= userSettingsOptionsDiffViewStyle+ , "full_name" .= userSettingsOptionsFullName+ , "hide_activity" .= userSettingsOptionsHideActivity+ , "hide_email" .= userSettingsOptionsHideEmail+ , "language" .= userSettingsOptionsLanguage+ , "location" .= userSettingsOptionsLocation+ , "theme" .= userSettingsOptionsTheme+ , "website" .= userSettingsOptionsWebsite+ ]+++-- | Construct a value of type 'UserSettingsOptions' (by applying it's required fields, if any)+mkUserSettingsOptions+ :: UserSettingsOptions+mkUserSettingsOptions =+ UserSettingsOptions+ { userSettingsOptionsDescription = Nothing+ , userSettingsOptionsDiffViewStyle = Nothing+ , userSettingsOptionsFullName = Nothing+ , userSettingsOptionsHideActivity = Nothing+ , userSettingsOptionsHideEmail = Nothing+ , userSettingsOptionsLanguage = Nothing+ , userSettingsOptionsLocation = Nothing+ , userSettingsOptionsTheme = Nothing+ , userSettingsOptionsWebsite = Nothing+ }++-- ** WatchInfo+-- | WatchInfo+-- WatchInfo represents an API watch status of one repository+data WatchInfo = WatchInfo+ { watchInfoCreatedAt :: !(Maybe DateTime) -- ^ "created_at"+ , watchInfoIgnored :: !(Maybe Bool) -- ^ "ignored"+ , watchInfoReason :: !(Maybe A.Value) -- ^ "reason"+ , watchInfoRepositoryUrl :: !(Maybe Text) -- ^ "repository_url"+ , watchInfoSubscribed :: !(Maybe Bool) -- ^ "subscribed"+ , watchInfoUrl :: !(Maybe Text) -- ^ "url"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON WatchInfo+instance A.FromJSON WatchInfo where+ parseJSON = A.withObject "WatchInfo" $ \o ->+ WatchInfo+ <$> (o .:? "created_at")+ <*> (o .:? "ignored")+ <*> (o .:? "reason")+ <*> (o .:? "repository_url")+ <*> (o .:? "subscribed")+ <*> (o .:? "url")++-- | ToJSON WatchInfo+instance A.ToJSON WatchInfo where+ toJSON WatchInfo {..} =+ _omitNulls+ [ "created_at" .= watchInfoCreatedAt+ , "ignored" .= watchInfoIgnored+ , "reason" .= watchInfoReason+ , "repository_url" .= watchInfoRepositoryUrl+ , "subscribed" .= watchInfoSubscribed+ , "url" .= watchInfoUrl+ ]+++-- | Construct a value of type 'WatchInfo' (by applying it's required fields, if any)+mkWatchInfo+ :: WatchInfo+mkWatchInfo =+ WatchInfo+ { watchInfoCreatedAt = Nothing+ , watchInfoIgnored = Nothing+ , watchInfoReason = Nothing+ , watchInfoRepositoryUrl = Nothing+ , watchInfoSubscribed = Nothing+ , watchInfoUrl = Nothing+ }++-- ** WikiCommit+-- | WikiCommit+-- WikiCommit page commit/revision+data WikiCommit = WikiCommit+ { wikiCommitAuthor :: !(Maybe CommitUser) -- ^ "author"+ , wikiCommitCommiter :: !(Maybe CommitUser) -- ^ "commiter"+ , wikiCommitMessage :: !(Maybe Text) -- ^ "message"+ , wikiCommitSha :: !(Maybe Text) -- ^ "sha"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON WikiCommit+instance A.FromJSON WikiCommit where+ parseJSON = A.withObject "WikiCommit" $ \o ->+ WikiCommit+ <$> (o .:? "author")+ <*> (o .:? "commiter")+ <*> (o .:? "message")+ <*> (o .:? "sha")++-- | ToJSON WikiCommit+instance A.ToJSON WikiCommit where+ toJSON WikiCommit {..} =+ _omitNulls+ [ "author" .= wikiCommitAuthor+ , "commiter" .= wikiCommitCommiter+ , "message" .= wikiCommitMessage+ , "sha" .= wikiCommitSha+ ]+++-- | Construct a value of type 'WikiCommit' (by applying it's required fields, if any)+mkWikiCommit+ :: WikiCommit+mkWikiCommit =+ WikiCommit+ { wikiCommitAuthor = Nothing+ , wikiCommitCommiter = Nothing+ , wikiCommitMessage = Nothing+ , wikiCommitSha = Nothing+ }++-- ** WikiCommitList+-- | WikiCommitList+-- WikiCommitList commit/revision list+data WikiCommitList = WikiCommitList+ { wikiCommitListCommits :: !(Maybe [WikiCommit]) -- ^ "commits"+ , wikiCommitListCount :: !(Maybe Integer) -- ^ "count"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON WikiCommitList+instance A.FromJSON WikiCommitList where+ parseJSON = A.withObject "WikiCommitList" $ \o ->+ WikiCommitList+ <$> (o .:? "commits")+ <*> (o .:? "count")++-- | ToJSON WikiCommitList+instance A.ToJSON WikiCommitList where+ toJSON WikiCommitList {..} =+ _omitNulls+ [ "commits" .= wikiCommitListCommits+ , "count" .= wikiCommitListCount+ ]+++-- | Construct a value of type 'WikiCommitList' (by applying it's required fields, if any)+mkWikiCommitList+ :: WikiCommitList+mkWikiCommitList =+ WikiCommitList+ { wikiCommitListCommits = Nothing+ , wikiCommitListCount = Nothing+ }++-- ** WikiPage+-- | WikiPage+-- WikiPage a wiki page+data WikiPage = WikiPage+ { wikiPageCommitCount :: !(Maybe Integer) -- ^ "commit_count"+ , wikiPageContentBase64 :: !(Maybe Text) -- ^ "content_base64" - Page content, base64 encoded+ , wikiPageFooter :: !(Maybe Text) -- ^ "footer"+ , wikiPageHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , wikiPageLastCommit :: !(Maybe WikiCommit) -- ^ "last_commit"+ , wikiPageSidebar :: !(Maybe Text) -- ^ "sidebar"+ , wikiPageSubUrl :: !(Maybe Text) -- ^ "sub_url"+ , wikiPageTitle :: !(Maybe Text) -- ^ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON WikiPage+instance A.FromJSON WikiPage where+ parseJSON = A.withObject "WikiPage" $ \o ->+ WikiPage+ <$> (o .:? "commit_count")+ <*> (o .:? "content_base64")+ <*> (o .:? "footer")+ <*> (o .:? "html_url")+ <*> (o .:? "last_commit")+ <*> (o .:? "sidebar")+ <*> (o .:? "sub_url")+ <*> (o .:? "title")++-- | ToJSON WikiPage+instance A.ToJSON WikiPage where+ toJSON WikiPage {..} =+ _omitNulls+ [ "commit_count" .= wikiPageCommitCount+ , "content_base64" .= wikiPageContentBase64+ , "footer" .= wikiPageFooter+ , "html_url" .= wikiPageHtmlUrl+ , "last_commit" .= wikiPageLastCommit+ , "sidebar" .= wikiPageSidebar+ , "sub_url" .= wikiPageSubUrl+ , "title" .= wikiPageTitle+ ]+++-- | Construct a value of type 'WikiPage' (by applying it's required fields, if any)+mkWikiPage+ :: WikiPage+mkWikiPage =+ WikiPage+ { wikiPageCommitCount = Nothing+ , wikiPageContentBase64 = Nothing+ , wikiPageFooter = Nothing+ , wikiPageHtmlUrl = Nothing+ , wikiPageLastCommit = Nothing+ , wikiPageSidebar = Nothing+ , wikiPageSubUrl = Nothing+ , wikiPageTitle = Nothing+ }++-- ** WikiPageMetaData+-- | WikiPageMetaData+-- WikiPageMetaData wiki page meta information+data WikiPageMetaData = WikiPageMetaData+ { wikiPageMetaDataHtmlUrl :: !(Maybe Text) -- ^ "html_url"+ , wikiPageMetaDataLastCommit :: !(Maybe WikiCommit) -- ^ "last_commit"+ , wikiPageMetaDataSubUrl :: !(Maybe Text) -- ^ "sub_url"+ , wikiPageMetaDataTitle :: !(Maybe Text) -- ^ "title"+ } deriving (P.Show, P.Eq, P.Typeable)++-- | FromJSON WikiPageMetaData+instance A.FromJSON WikiPageMetaData where+ parseJSON = A.withObject "WikiPageMetaData" $ \o ->+ WikiPageMetaData+ <$> (o .:? "html_url")+ <*> (o .:? "last_commit")+ <*> (o .:? "sub_url")+ <*> (o .:? "title")++-- | ToJSON WikiPageMetaData+instance A.ToJSON WikiPageMetaData where+ toJSON WikiPageMetaData {..} =+ _omitNulls+ [ "html_url" .= wikiPageMetaDataHtmlUrl+ , "last_commit" .= wikiPageMetaDataLastCommit+ , "sub_url" .= wikiPageMetaDataSubUrl+ , "title" .= wikiPageMetaDataTitle+ ]+++-- | Construct a value of type 'WikiPageMetaData' (by applying it's required fields, if any)+mkWikiPageMetaData+ :: WikiPageMetaData+mkWikiPageMetaData =+ WikiPageMetaData+ { wikiPageMetaDataHtmlUrl = Nothing+ , wikiPageMetaDataLastCommit = Nothing+ , wikiPageMetaDataSubUrl = Nothing+ , wikiPageMetaDataTitle = Nothing+ }+++-- * Enums+++-- ** E'DiffType++-- | Enum of 'Text'+data E'DiffType+ = E'DiffType'Diff -- ^ @"diff"@+ | E'DiffType'Patch -- ^ @"patch"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'DiffType where toJSON = A.toJSON . fromE'DiffType+instance A.FromJSON E'DiffType where parseJSON o = P.either P.fail (pure . P.id) . toE'DiffType =<< A.parseJSON o+instance WH.ToHttpApiData E'DiffType where toQueryParam = WH.toQueryParam . fromE'DiffType+instance WH.FromHttpApiData E'DiffType where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'DiffType+instance MimeRender MimeMultipartFormData E'DiffType where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'DiffType' enum+fromE'DiffType :: E'DiffType -> Text+fromE'DiffType = \case+ E'DiffType'Diff -> "diff"+ E'DiffType'Patch -> "patch"++-- | parse 'E'DiffType' enum+toE'DiffType :: Text -> P.Either String E'DiffType+toE'DiffType = \case+ "diff" -> P.Right E'DiffType'Diff+ "patch" -> P.Right E'DiffType'Patch+ s -> P.Left $ "toE'DiffType: enum parse failure: " P.++ P.show s+++-- ** E'Do++-- | Enum of 'Text'+data E'Do+ = E'Do'Merge -- ^ @"merge"@+ | E'Do'Rebase -- ^ @"rebase"@+ | E'Do'Rebase_merge -- ^ @"rebase-merge"@+ | E'Do'Squash -- ^ @"squash"@+ | E'Do'Manually_merged -- ^ @"manually-merged"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Do where toJSON = A.toJSON . fromE'Do+instance A.FromJSON E'Do where parseJSON o = P.either P.fail (pure . P.id) . toE'Do =<< A.parseJSON o+instance WH.ToHttpApiData E'Do where toQueryParam = WH.toQueryParam . fromE'Do+instance WH.FromHttpApiData E'Do where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Do+instance MimeRender MimeMultipartFormData E'Do where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Do' enum+fromE'Do :: E'Do -> Text+fromE'Do = \case+ E'Do'Merge -> "merge"+ E'Do'Rebase -> "rebase"+ E'Do'Rebase_merge -> "rebase-merge"+ E'Do'Squash -> "squash"+ E'Do'Manually_merged -> "manually-merged"++-- | parse 'E'Do' enum+toE'Do :: Text -> P.Either String E'Do+toE'Do = \case+ "merge" -> P.Right E'Do'Merge+ "rebase" -> P.Right E'Do'Rebase+ "rebase-merge" -> P.Right E'Do'Rebase_merge+ "squash" -> P.Right E'Do'Squash+ "manually-merged" -> P.Right E'Do'Manually_merged+ s -> P.Left $ "toE'Do: enum parse failure: " P.++ P.show s+++-- ** E'Permission++-- | Enum of 'Text'+data E'Permission+ = E'Permission'Read -- ^ @"read"@+ | E'Permission'Write -- ^ @"write"@+ | E'Permission'Admin -- ^ @"admin"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Permission where toJSON = A.toJSON . fromE'Permission+instance A.FromJSON E'Permission where parseJSON o = P.either P.fail (pure . P.id) . toE'Permission =<< A.parseJSON o+instance WH.ToHttpApiData E'Permission where toQueryParam = WH.toQueryParam . fromE'Permission+instance WH.FromHttpApiData E'Permission where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Permission+instance MimeRender MimeMultipartFormData E'Permission where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Permission' enum+fromE'Permission :: E'Permission -> Text+fromE'Permission = \case+ E'Permission'Read -> "read"+ E'Permission'Write -> "write"+ E'Permission'Admin -> "admin"++-- | parse 'E'Permission' enum+toE'Permission :: Text -> P.Either String E'Permission+toE'Permission = \case+ "read" -> P.Right E'Permission'Read+ "write" -> P.Right E'Permission'Write+ "admin" -> P.Right E'Permission'Admin+ s -> P.Left $ "toE'Permission: enum parse failure: " P.++ P.show s+++-- ** E'Permission2++-- | Enum of 'Text'+data E'Permission2+ = E'Permission2'None -- ^ @"none"@+ | E'Permission2'Read -- ^ @"read"@+ | E'Permission2'Write -- ^ @"write"@+ | E'Permission2'Admin -- ^ @"admin"@+ | E'Permission2'Owner -- ^ @"owner"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Permission2 where toJSON = A.toJSON . fromE'Permission2+instance A.FromJSON E'Permission2 where parseJSON o = P.either P.fail (pure . P.id) . toE'Permission2 =<< A.parseJSON o+instance WH.ToHttpApiData E'Permission2 where toQueryParam = WH.toQueryParam . fromE'Permission2+instance WH.FromHttpApiData E'Permission2 where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Permission2+instance MimeRender MimeMultipartFormData E'Permission2 where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Permission2' enum+fromE'Permission2 :: E'Permission2 -> Text+fromE'Permission2 = \case+ E'Permission2'None -> "none"+ E'Permission2'Read -> "read"+ E'Permission2'Write -> "write"+ E'Permission2'Admin -> "admin"+ E'Permission2'Owner -> "owner"++-- | parse 'E'Permission2' enum+toE'Permission2 :: Text -> P.Either String E'Permission2+toE'Permission2 = \case+ "none" -> P.Right E'Permission2'None+ "read" -> P.Right E'Permission2'Read+ "write" -> P.Right E'Permission2'Write+ "admin" -> P.Right E'Permission2'Admin+ "owner" -> P.Right E'Permission2'Owner+ s -> P.Left $ "toE'Permission2: enum parse failure: " P.++ P.show s+++-- ** E'Service++-- | Enum of 'Text'+data E'Service+ = E'Service'Git -- ^ @"git"@+ | E'Service'Github -- ^ @"github"@+ | E'Service'Gitea -- ^ @"gitea"@+ | E'Service'Gitlab -- ^ @"gitlab"@+ | E'Service'Gogs -- ^ @"gogs"@+ | E'Service'Onedev -- ^ @"onedev"@+ | E'Service'Gitbucket -- ^ @"gitbucket"@+ | E'Service'Codebase -- ^ @"codebase"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Service where toJSON = A.toJSON . fromE'Service+instance A.FromJSON E'Service where parseJSON o = P.either P.fail (pure . P.id) . toE'Service =<< A.parseJSON o+instance WH.ToHttpApiData E'Service where toQueryParam = WH.toQueryParam . fromE'Service+instance WH.FromHttpApiData E'Service where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Service+instance MimeRender MimeMultipartFormData E'Service where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Service' enum+fromE'Service :: E'Service -> Text+fromE'Service = \case+ E'Service'Git -> "git"+ E'Service'Github -> "github"+ E'Service'Gitea -> "gitea"+ E'Service'Gitlab -> "gitlab"+ E'Service'Gogs -> "gogs"+ E'Service'Onedev -> "onedev"+ E'Service'Gitbucket -> "gitbucket"+ E'Service'Codebase -> "codebase"++-- | parse 'E'Service' enum+toE'Service :: Text -> P.Either String E'Service+toE'Service = \case+ "git" -> P.Right E'Service'Git+ "github" -> P.Right E'Service'Github+ "gitea" -> P.Right E'Service'Gitea+ "gitlab" -> P.Right E'Service'Gitlab+ "gogs" -> P.Right E'Service'Gogs+ "onedev" -> P.Right E'Service'Onedev+ "gitbucket" -> P.Right E'Service'Gitbucket+ "codebase" -> P.Right E'Service'Codebase+ s -> P.Left $ "toE'Service: enum parse failure: " P.++ P.show s+++-- ** E'Sort++-- | Enum of 'Text'+data E'Sort+ = E'Sort'Oldest -- ^ @"oldest"@+ | E'Sort'Recentupdate -- ^ @"recentupdate"@+ | E'Sort'Leastupdate -- ^ @"leastupdate"@+ | E'Sort'Leastindex -- ^ @"leastindex"@+ | E'Sort'Highestindex -- ^ @"highestindex"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Sort where toJSON = A.toJSON . fromE'Sort+instance A.FromJSON E'Sort where parseJSON o = P.either P.fail (pure . P.id) . toE'Sort =<< A.parseJSON o+instance WH.ToHttpApiData E'Sort where toQueryParam = WH.toQueryParam . fromE'Sort+instance WH.FromHttpApiData E'Sort where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Sort+instance MimeRender MimeMultipartFormData E'Sort where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Sort' enum+fromE'Sort :: E'Sort -> Text+fromE'Sort = \case+ E'Sort'Oldest -> "oldest"+ E'Sort'Recentupdate -> "recentupdate"+ E'Sort'Leastupdate -> "leastupdate"+ E'Sort'Leastindex -> "leastindex"+ E'Sort'Highestindex -> "highestindex"++-- | parse 'E'Sort' enum+toE'Sort :: Text -> P.Either String E'Sort+toE'Sort = \case+ "oldest" -> P.Right E'Sort'Oldest+ "recentupdate" -> P.Right E'Sort'Recentupdate+ "leastupdate" -> P.Right E'Sort'Leastupdate+ "leastindex" -> P.Right E'Sort'Leastindex+ "highestindex" -> P.Right E'Sort'Highestindex+ s -> P.Left $ "toE'Sort: enum parse failure: " P.++ P.show s+++-- ** E'Sort2++-- | Enum of 'Text'+data E'Sort2+ = E'Sort2'Oldest -- ^ @"oldest"@+ | E'Sort2'Recentupdate -- ^ @"recentupdate"@+ | E'Sort2'Leastupdate -- ^ @"leastupdate"@+ | E'Sort2'Mostcomment -- ^ @"mostcomment"@+ | E'Sort2'Leastcomment -- ^ @"leastcomment"@+ | E'Sort2'Priority -- ^ @"priority"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Sort2 where toJSON = A.toJSON . fromE'Sort2+instance A.FromJSON E'Sort2 where parseJSON o = P.either P.fail (pure . P.id) . toE'Sort2 =<< A.parseJSON o+instance WH.ToHttpApiData E'Sort2 where toQueryParam = WH.toQueryParam . fromE'Sort2+instance WH.FromHttpApiData E'Sort2 where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Sort2+instance MimeRender MimeMultipartFormData E'Sort2 where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Sort2' enum+fromE'Sort2 :: E'Sort2 -> Text+fromE'Sort2 = \case+ E'Sort2'Oldest -> "oldest"+ E'Sort2'Recentupdate -> "recentupdate"+ E'Sort2'Leastupdate -> "leastupdate"+ E'Sort2'Mostcomment -> "mostcomment"+ E'Sort2'Leastcomment -> "leastcomment"+ E'Sort2'Priority -> "priority"++-- | parse 'E'Sort2' enum+toE'Sort2 :: Text -> P.Either String E'Sort2+toE'Sort2 = \case+ "oldest" -> P.Right E'Sort2'Oldest+ "recentupdate" -> P.Right E'Sort2'Recentupdate+ "leastupdate" -> P.Right E'Sort2'Leastupdate+ "mostcomment" -> P.Right E'Sort2'Mostcomment+ "leastcomment" -> P.Right E'Sort2'Leastcomment+ "priority" -> P.Right E'Sort2'Priority+ s -> P.Left $ "toE'Sort2: enum parse failure: " P.++ P.show s+++-- ** E'State++-- | Enum of 'Text'+data E'State+ = E'State'Open -- ^ @"open"@+ | E'State'Closed -- ^ @"closed"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'State where toJSON = A.toJSON . fromE'State+instance A.FromJSON E'State where parseJSON o = P.either P.fail (pure . P.id) . toE'State =<< A.parseJSON o+instance WH.ToHttpApiData E'State where toQueryParam = WH.toQueryParam . fromE'State+instance WH.FromHttpApiData E'State where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'State+instance MimeRender MimeMultipartFormData E'State where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'State' enum+fromE'State :: E'State -> Text+fromE'State = \case+ E'State'Open -> "open"+ E'State'Closed -> "closed"++-- | parse 'E'State' enum+toE'State :: Text -> P.Either String E'State+toE'State = \case+ "open" -> P.Right E'State'Open+ "closed" -> P.Right E'State'Closed+ s -> P.Left $ "toE'State: enum parse failure: " P.++ P.show s+++-- ** E'State2++-- | Enum of 'Text'+data E'State2+ = E'State2'Pending -- ^ @"pending"@+ | E'State2'Success -- ^ @"success"@+ | E'State2'Error -- ^ @"error"@+ | E'State2'Failure -- ^ @"failure"@+ | E'State2'Warning -- ^ @"warning"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'State2 where toJSON = A.toJSON . fromE'State2+instance A.FromJSON E'State2 where parseJSON o = P.either P.fail (pure . P.id) . toE'State2 =<< A.parseJSON o+instance WH.ToHttpApiData E'State2 where toQueryParam = WH.toQueryParam . fromE'State2+instance WH.FromHttpApiData E'State2 where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'State2+instance MimeRender MimeMultipartFormData E'State2 where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'State2' enum+fromE'State2 :: E'State2 -> Text+fromE'State2 = \case+ E'State2'Pending -> "pending"+ E'State2'Success -> "success"+ E'State2'Error -> "error"+ E'State2'Failure -> "failure"+ E'State2'Warning -> "warning"++-- | parse 'E'State2' enum+toE'State2 :: Text -> P.Either String E'State2+toE'State2 = \case+ "pending" -> P.Right E'State2'Pending+ "success" -> P.Right E'State2'Success+ "error" -> P.Right E'State2'Error+ "failure" -> P.Right E'State2'Failure+ "warning" -> P.Right E'State2'Warning+ s -> P.Left $ "toE'State2: enum parse failure: " P.++ P.show s+++-- ** E'State3++-- | Enum of 'Text'+data E'State3+ = E'State3'Closed -- ^ @"closed"@+ | E'State3'Open -- ^ @"open"@+ | E'State3'All -- ^ @"all"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'State3 where toJSON = A.toJSON . fromE'State3+instance A.FromJSON E'State3 where parseJSON o = P.either P.fail (pure . P.id) . toE'State3 =<< A.parseJSON o+instance WH.ToHttpApiData E'State3 where toQueryParam = WH.toQueryParam . fromE'State3+instance WH.FromHttpApiData E'State3 where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'State3+instance MimeRender MimeMultipartFormData E'State3 where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'State3' enum+fromE'State3 :: E'State3 -> Text+fromE'State3 = \case+ E'State3'Closed -> "closed"+ E'State3'Open -> "open"+ E'State3'All -> "all"++-- | parse 'E'State3' enum+toE'State3 :: Text -> P.Either String E'State3+toE'State3 = \case+ "closed" -> P.Right E'State3'Closed+ "open" -> P.Right E'State3'Open+ "all" -> P.Right E'State3'All+ s -> P.Left $ "toE'State3: enum parse failure: " P.++ P.show s+++-- ** E'Style++-- | Enum of 'Text'+data E'Style+ = E'Style'Merge -- ^ @"merge"@+ | E'Style'Rebase -- ^ @"rebase"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Style where toJSON = A.toJSON . fromE'Style+instance A.FromJSON E'Style where parseJSON o = P.either P.fail (pure . P.id) . toE'Style =<< A.parseJSON o+instance WH.ToHttpApiData E'Style where toQueryParam = WH.toQueryParam . fromE'Style+instance WH.FromHttpApiData E'Style where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Style+instance MimeRender MimeMultipartFormData E'Style where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Style' enum+fromE'Style :: E'Style -> Text+fromE'Style = \case+ E'Style'Merge -> "merge"+ E'Style'Rebase -> "rebase"++-- | parse 'E'Style' enum+toE'Style :: Text -> P.Either String E'Style+toE'Style = \case+ "merge" -> P.Right E'Style'Merge+ "rebase" -> P.Right E'Style'Rebase+ s -> P.Left $ "toE'Style: enum parse failure: " P.++ P.show s+++-- ** E'SubjectType++-- | Enum of 'Text'+data E'SubjectType+ = E'SubjectType'Issue -- ^ @"issue"@+ | E'SubjectType'Pull -- ^ @"pull"@+ | E'SubjectType'Commit -- ^ @"commit"@+ | E'SubjectType'Repository -- ^ @"repository"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'SubjectType where toJSON = A.toJSON . fromE'SubjectType+instance A.FromJSON E'SubjectType where parseJSON o = P.either P.fail (pure . P.id) . toE'SubjectType =<< A.parseJSON o+instance WH.ToHttpApiData E'SubjectType where toQueryParam = WH.toQueryParam . fromE'SubjectType+instance WH.FromHttpApiData E'SubjectType where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'SubjectType+instance MimeRender MimeMultipartFormData E'SubjectType where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'SubjectType' enum+fromE'SubjectType :: E'SubjectType -> Text+fromE'SubjectType = \case+ E'SubjectType'Issue -> "issue"+ E'SubjectType'Pull -> "pull"+ E'SubjectType'Commit -> "commit"+ E'SubjectType'Repository -> "repository"++-- | parse 'E'SubjectType' enum+toE'SubjectType :: Text -> P.Either String E'SubjectType+toE'SubjectType = \case+ "issue" -> P.Right E'SubjectType'Issue+ "pull" -> P.Right E'SubjectType'Pull+ "commit" -> P.Right E'SubjectType'Commit+ "repository" -> P.Right E'SubjectType'Repository+ s -> P.Left $ "toE'SubjectType: enum parse failure: " P.++ P.show s+++-- ** E'TrustModel++-- | Enum of 'Text' .+-- TrustModel of the repository+data E'TrustModel+ = E'TrustModel'Default -- ^ @"default"@+ | E'TrustModel'Collaborator -- ^ @"collaborator"@+ | E'TrustModel'Committer -- ^ @"committer"@+ | E'TrustModel'Collaboratorcommitter -- ^ @"collaboratorcommitter"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'TrustModel where toJSON = A.toJSON . fromE'TrustModel+instance A.FromJSON E'TrustModel where parseJSON o = P.either P.fail (pure . P.id) . toE'TrustModel =<< A.parseJSON o+instance WH.ToHttpApiData E'TrustModel where toQueryParam = WH.toQueryParam . fromE'TrustModel+instance WH.FromHttpApiData E'TrustModel where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'TrustModel+instance MimeRender MimeMultipartFormData E'TrustModel where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'TrustModel' enum+fromE'TrustModel :: E'TrustModel -> Text+fromE'TrustModel = \case+ E'TrustModel'Default -> "default"+ E'TrustModel'Collaborator -> "collaborator"+ E'TrustModel'Committer -> "committer"+ E'TrustModel'Collaboratorcommitter -> "collaboratorcommitter"++-- | parse 'E'TrustModel' enum+toE'TrustModel :: Text -> P.Either String E'TrustModel+toE'TrustModel = \case+ "default" -> P.Right E'TrustModel'Default+ "collaborator" -> P.Right E'TrustModel'Collaborator+ "committer" -> P.Right E'TrustModel'Committer+ "collaboratorcommitter" -> P.Right E'TrustModel'Collaboratorcommitter+ s -> P.Left $ "toE'TrustModel: enum parse failure: " P.++ P.show s+++-- ** E'Type++-- | Enum of 'Text'+data E'Type+ = E'Type'Dingtalk -- ^ @"dingtalk"@+ | E'Type'Discord -- ^ @"discord"@+ | E'Type'Gitea -- ^ @"gitea"@+ | E'Type'Gogs -- ^ @"gogs"@+ | E'Type'Msteams -- ^ @"msteams"@+ | E'Type'Slack -- ^ @"slack"@+ | E'Type'Telegram -- ^ @"telegram"@+ | E'Type'Feishu -- ^ @"feishu"@+ | E'Type'Wechatwork -- ^ @"wechatwork"@+ | E'Type'Packagist -- ^ @"packagist"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Type where toJSON = A.toJSON . fromE'Type+instance A.FromJSON E'Type where parseJSON o = P.either P.fail (pure . P.id) . toE'Type =<< A.parseJSON o+instance WH.ToHttpApiData E'Type where toQueryParam = WH.toQueryParam . fromE'Type+instance WH.FromHttpApiData E'Type where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Type+instance MimeRender MimeMultipartFormData E'Type where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Type' enum+fromE'Type :: E'Type -> Text+fromE'Type = \case+ E'Type'Dingtalk -> "dingtalk"+ E'Type'Discord -> "discord"+ E'Type'Gitea -> "gitea"+ E'Type'Gogs -> "gogs"+ E'Type'Msteams -> "msteams"+ E'Type'Slack -> "slack"+ E'Type'Telegram -> "telegram"+ E'Type'Feishu -> "feishu"+ E'Type'Wechatwork -> "wechatwork"+ E'Type'Packagist -> "packagist"++-- | parse 'E'Type' enum+toE'Type :: Text -> P.Either String E'Type+toE'Type = \case+ "dingtalk" -> P.Right E'Type'Dingtalk+ "discord" -> P.Right E'Type'Discord+ "gitea" -> P.Right E'Type'Gitea+ "gogs" -> P.Right E'Type'Gogs+ "msteams" -> P.Right E'Type'Msteams+ "slack" -> P.Right E'Type'Slack+ "telegram" -> P.Right E'Type'Telegram+ "feishu" -> P.Right E'Type'Feishu+ "wechatwork" -> P.Right E'Type'Wechatwork+ "packagist" -> P.Right E'Type'Packagist+ s -> P.Left $ "toE'Type: enum parse failure: " P.++ P.show s+++-- ** E'Type2++-- | Enum of 'Text'+data E'Type2+ = E'Type2'Cargo -- ^ @"cargo"@+ | E'Type2'Chef -- ^ @"chef"@+ | E'Type2'Composer -- ^ @"composer"@+ | E'Type2'Conan -- ^ @"conan"@+ | E'Type2'Conda -- ^ @"conda"@+ | E'Type2'Container -- ^ @"container"@+ | E'Type2'Generic -- ^ @"generic"@+ | E'Type2'Helm -- ^ @"helm"@+ | E'Type2'Maven -- ^ @"maven"@+ | E'Type2'Npm -- ^ @"npm"@+ | E'Type2'Nuget -- ^ @"nuget"@+ | E'Type2'Pub -- ^ @"pub"@+ | E'Type2'Pypi -- ^ @"pypi"@+ | E'Type2'Rubygems -- ^ @"rubygems"@+ | E'Type2'Vagrant -- ^ @"vagrant"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Type2 where toJSON = A.toJSON . fromE'Type2+instance A.FromJSON E'Type2 where parseJSON o = P.either P.fail (pure . P.id) . toE'Type2 =<< A.parseJSON o+instance WH.ToHttpApiData E'Type2 where toQueryParam = WH.toQueryParam . fromE'Type2+instance WH.FromHttpApiData E'Type2 where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Type2+instance MimeRender MimeMultipartFormData E'Type2 where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Type2' enum+fromE'Type2 :: E'Type2 -> Text+fromE'Type2 = \case+ E'Type2'Cargo -> "cargo"+ E'Type2'Chef -> "chef"+ E'Type2'Composer -> "composer"+ E'Type2'Conan -> "conan"+ E'Type2'Conda -> "conda"+ E'Type2'Container -> "container"+ E'Type2'Generic -> "generic"+ E'Type2'Helm -> "helm"+ E'Type2'Maven -> "maven"+ E'Type2'Npm -> "npm"+ E'Type2'Nuget -> "nuget"+ E'Type2'Pub -> "pub"+ E'Type2'Pypi -> "pypi"+ E'Type2'Rubygems -> "rubygems"+ E'Type2'Vagrant -> "vagrant"++-- | parse 'E'Type2' enum+toE'Type2 :: Text -> P.Either String E'Type2+toE'Type2 = \case+ "cargo" -> P.Right E'Type2'Cargo+ "chef" -> P.Right E'Type2'Chef+ "composer" -> P.Right E'Type2'Composer+ "conan" -> P.Right E'Type2'Conan+ "conda" -> P.Right E'Type2'Conda+ "container" -> P.Right E'Type2'Container+ "generic" -> P.Right E'Type2'Generic+ "helm" -> P.Right E'Type2'Helm+ "maven" -> P.Right E'Type2'Maven+ "npm" -> P.Right E'Type2'Npm+ "nuget" -> P.Right E'Type2'Nuget+ "pub" -> P.Right E'Type2'Pub+ "pypi" -> P.Right E'Type2'Pypi+ "rubygems" -> P.Right E'Type2'Rubygems+ "vagrant" -> P.Right E'Type2'Vagrant+ s -> P.Left $ "toE'Type2: enum parse failure: " P.++ P.show s+++-- ** E'Type3++-- | Enum of 'Text'+data E'Type3+ = E'Type3'Issues -- ^ @"issues"@+ | E'Type3'Pulls -- ^ @"pulls"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Type3 where toJSON = A.toJSON . fromE'Type3+instance A.FromJSON E'Type3 where parseJSON o = P.either P.fail (pure . P.id) . toE'Type3 =<< A.parseJSON o+instance WH.ToHttpApiData E'Type3 where toQueryParam = WH.toQueryParam . fromE'Type3+instance WH.FromHttpApiData E'Type3 where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Type3+instance MimeRender MimeMultipartFormData E'Type3 where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Type3' enum+fromE'Type3 :: E'Type3 -> Text+fromE'Type3 = \case+ E'Type3'Issues -> "issues"+ E'Type3'Pulls -> "pulls"++-- | parse 'E'Type3' enum+toE'Type3 :: Text -> P.Either String E'Type3+toE'Type3 = \case+ "issues" -> P.Right E'Type3'Issues+ "pulls" -> P.Right E'Type3'Pulls+ s -> P.Left $ "toE'Type3: enum parse failure: " P.++ P.show s+++-- ** E'Visibility++-- | Enum of 'Text' .+-- possible values are `public` (default), `limited` or `private`+data E'Visibility+ = E'Visibility'Public -- ^ @"public"@+ | E'Visibility'Limited -- ^ @"limited"@+ | E'Visibility'Private -- ^ @"private"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Visibility where toJSON = A.toJSON . fromE'Visibility+instance A.FromJSON E'Visibility where parseJSON o = P.either P.fail (pure . P.id) . toE'Visibility =<< A.parseJSON o+instance WH.ToHttpApiData E'Visibility where toQueryParam = WH.toQueryParam . fromE'Visibility+instance WH.FromHttpApiData E'Visibility where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Visibility+instance MimeRender MimeMultipartFormData E'Visibility where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Visibility' enum+fromE'Visibility :: E'Visibility -> Text+fromE'Visibility = \case+ E'Visibility'Public -> "public"+ E'Visibility'Limited -> "limited"+ E'Visibility'Private -> "private"++-- | parse 'E'Visibility' enum+toE'Visibility :: Text -> P.Either String E'Visibility+toE'Visibility = \case+ "public" -> P.Right E'Visibility'Public+ "limited" -> P.Right E'Visibility'Limited+ "private" -> P.Right E'Visibility'Private+ s -> P.Left $ "toE'Visibility: enum parse failure: " P.++ P.show s+++-- ** E'Whitespace++-- | Enum of 'Text'+data E'Whitespace+ = E'Whitespace'Ignore_all -- ^ @"ignore-all"@+ | E'Whitespace'Ignore_change -- ^ @"ignore-change"@+ | E'Whitespace'Ignore_eol -- ^ @"ignore-eol"@+ | E'Whitespace'Show_all -- ^ @"show-all"@+ deriving (P.Show, P.Eq, P.Typeable, P.Ord, P.Bounded, P.Enum)++instance A.ToJSON E'Whitespace where toJSON = A.toJSON . fromE'Whitespace+instance A.FromJSON E'Whitespace where parseJSON o = P.either P.fail (pure . P.id) . toE'Whitespace =<< A.parseJSON o+instance WH.ToHttpApiData E'Whitespace where toQueryParam = WH.toQueryParam . fromE'Whitespace+instance WH.FromHttpApiData E'Whitespace where parseQueryParam o = WH.parseQueryParam o >>= P.left T.pack . toE'Whitespace+instance MimeRender MimeMultipartFormData E'Whitespace where mimeRender _ = mimeRenderDefaultMultipartFormData++-- | unwrap 'E'Whitespace' enum+fromE'Whitespace :: E'Whitespace -> Text+fromE'Whitespace = \case+ E'Whitespace'Ignore_all -> "ignore-all"+ E'Whitespace'Ignore_change -> "ignore-change"+ E'Whitespace'Ignore_eol -> "ignore-eol"+ E'Whitespace'Show_all -> "show-all"++-- | parse 'E'Whitespace' enum+toE'Whitespace :: Text -> P.Either String E'Whitespace+toE'Whitespace = \case+ "ignore-all" -> P.Right E'Whitespace'Ignore_all+ "ignore-change" -> P.Right E'Whitespace'Ignore_change+ "ignore-eol" -> P.Right E'Whitespace'Ignore_eol+ "show-all" -> P.Right E'Whitespace'Show_all+ s -> P.Left $ "toE'Whitespace: enum parse failure: " P.++ P.show s+++-- * Auth Methods++-- ** AuthApiKeyAccessToken+data AuthApiKeyAccessToken =+ AuthApiKeyAccessToken Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthApiKeyAccessToken where+ applyAuthMethod _ a@(AuthApiKeyAccessToken secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setQuery` toQuery ("access_token", Just secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++-- ** AuthApiKeyAuthorizationHeaderToken+data AuthApiKeyAuthorizationHeaderToken =+ AuthApiKeyAuthorizationHeaderToken Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthApiKeyAuthorizationHeaderToken where+ applyAuthMethod _ a@(AuthApiKeyAuthorizationHeaderToken secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("Authorization", secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++-- ** AuthBasicBasicAuth+data AuthBasicBasicAuth =+ AuthBasicBasicAuth B.ByteString B.ByteString -- ^ username password+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthBasicBasicAuth where+ applyAuthMethod _ a@(AuthBasicBasicAuth user pw) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("Authorization", T.decodeUtf8 cred)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req+ where cred = BC.append "Basic " (B64.encode $ BC.concat [ user, ":", pw ])++-- ** AuthApiKeySudoHeader+data AuthApiKeySudoHeader =+ AuthApiKeySudoHeader Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthApiKeySudoHeader where+ applyAuthMethod _ a@(AuthApiKeySudoHeader secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("Sudo", secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++-- ** AuthApiKeySudoParam+data AuthApiKeySudoParam =+ AuthApiKeySudoParam Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthApiKeySudoParam where+ applyAuthMethod _ a@(AuthApiKeySudoParam secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setQuery` toQuery ("sudo", Just secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++-- ** AuthApiKeyTOTPHeader+data AuthApiKeyTOTPHeader =+ AuthApiKeyTOTPHeader Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthApiKeyTOTPHeader where+ applyAuthMethod _ a@(AuthApiKeyTOTPHeader secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setHeader` toHeader ("X-GITEA-OTP", secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++-- ** AuthApiKeyToken+data AuthApiKeyToken =+ AuthApiKeyToken Text -- ^ secret+ deriving (P.Eq, P.Show, P.Typeable)++instance AuthMethod AuthApiKeyToken where+ applyAuthMethod _ a@(AuthApiKeyToken secret) req =+ P.pure $+ if (P.typeOf a `P.elem` rAuthTypes req)+ then req `setQuery` toQuery ("token", Just secret)+ & L.over rAuthTypesL (P.filter (/= P.typeOf a))+ else req++
+ lib/Gitea/ModelLens.hs view
@@ -0,0 +1,5849 @@+{-+ Gitea API.++ This documentation describes the Gitea API.++ OpenAPI Version: 3.0.1+ Gitea API. API version: 1.19.4+ Generated by OpenAPI Generator (https://openapi-generator.tech)+-}++{-|+Module : Gitea.Lens+-}++{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE RecordWildCards #-}+{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}++module Gitea.ModelLens where++import qualified Data.Aeson as A+import qualified Data.ByteString.Lazy as BL+import qualified Data.Data as P (Data, Typeable)+import qualified Data.Map as Map+import qualified Data.Set as Set+import qualified Data.Time as TI++import Data.Text (Text)++import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)+import qualified Prelude as P++import Gitea.Model+import Gitea.Core+++-- * APIError++-- | 'aPIErrorMessage' Lens+aPIErrorMessageL :: Lens_' APIError (Maybe Text)+aPIErrorMessageL f APIError{..} = (\aPIErrorMessage -> APIError { aPIErrorMessage, ..} ) <$> f aPIErrorMessage+{-# INLINE aPIErrorMessageL #-}++-- | 'aPIErrorUrl' Lens+aPIErrorUrlL :: Lens_' APIError (Maybe Text)+aPIErrorUrlL f APIError{..} = (\aPIErrorUrl -> APIError { aPIErrorUrl, ..} ) <$> f aPIErrorUrl+{-# INLINE aPIErrorUrlL #-}++++-- * AccessToken++-- | 'accessTokenId' Lens+accessTokenIdL :: Lens_' AccessToken (Maybe Integer)+accessTokenIdL f AccessToken{..} = (\accessTokenId -> AccessToken { accessTokenId, ..} ) <$> f accessTokenId+{-# INLINE accessTokenIdL #-}++-- | 'accessTokenName' Lens+accessTokenNameL :: Lens_' AccessToken (Maybe Text)+accessTokenNameL f AccessToken{..} = (\accessTokenName -> AccessToken { accessTokenName, ..} ) <$> f accessTokenName+{-# INLINE accessTokenNameL #-}++-- | 'accessTokenScopes' Lens+accessTokenScopesL :: Lens_' AccessToken (Maybe [Text])+accessTokenScopesL f AccessToken{..} = (\accessTokenScopes -> AccessToken { accessTokenScopes, ..} ) <$> f accessTokenScopes+{-# INLINE accessTokenScopesL #-}++-- | 'accessTokenSha1' Lens+accessTokenSha1L :: Lens_' AccessToken (Maybe Text)+accessTokenSha1L f AccessToken{..} = (\accessTokenSha1 -> AccessToken { accessTokenSha1, ..} ) <$> f accessTokenSha1+{-# INLINE accessTokenSha1L #-}++-- | 'accessTokenTokenLastEight' Lens+accessTokenTokenLastEightL :: Lens_' AccessToken (Maybe Text)+accessTokenTokenLastEightL f AccessToken{..} = (\accessTokenTokenLastEight -> AccessToken { accessTokenTokenLastEight, ..} ) <$> f accessTokenTokenLastEight+{-# INLINE accessTokenTokenLastEightL #-}++++-- * ActivityPub++-- | 'activityPubContext' Lens+activityPubContextL :: Lens_' ActivityPub (Maybe Text)+activityPubContextL f ActivityPub{..} = (\activityPubContext -> ActivityPub { activityPubContext, ..} ) <$> f activityPubContext+{-# INLINE activityPubContextL #-}++++-- * AddCollaboratorOption++-- | 'addCollaboratorOptionPermission' Lens+addCollaboratorOptionPermissionL :: Lens_' AddCollaboratorOption (Maybe Text)+addCollaboratorOptionPermissionL f AddCollaboratorOption{..} = (\addCollaboratorOptionPermission -> AddCollaboratorOption { addCollaboratorOptionPermission, ..} ) <$> f addCollaboratorOptionPermission+{-# INLINE addCollaboratorOptionPermissionL #-}++++-- * AddTimeOption++-- | 'addTimeOptionCreated' Lens+addTimeOptionCreatedL :: Lens_' AddTimeOption (Maybe DateTime)+addTimeOptionCreatedL f AddTimeOption{..} = (\addTimeOptionCreated -> AddTimeOption { addTimeOptionCreated, ..} ) <$> f addTimeOptionCreated+{-# INLINE addTimeOptionCreatedL #-}++-- | 'addTimeOptionTime' Lens+addTimeOptionTimeL :: Lens_' AddTimeOption (Integer)+addTimeOptionTimeL f AddTimeOption{..} = (\addTimeOptionTime -> AddTimeOption { addTimeOptionTime, ..} ) <$> f addTimeOptionTime+{-# INLINE addTimeOptionTimeL #-}++-- | 'addTimeOptionUserName' Lens+addTimeOptionUserNameL :: Lens_' AddTimeOption (Maybe Text)+addTimeOptionUserNameL f AddTimeOption{..} = (\addTimeOptionUserName -> AddTimeOption { addTimeOptionUserName, ..} ) <$> f addTimeOptionUserName+{-# INLINE addTimeOptionUserNameL #-}++++-- * AnnotatedTag++-- | 'annotatedTagMessage' Lens+annotatedTagMessageL :: Lens_' AnnotatedTag (Maybe Text)+annotatedTagMessageL f AnnotatedTag{..} = (\annotatedTagMessage -> AnnotatedTag { annotatedTagMessage, ..} ) <$> f annotatedTagMessage+{-# INLINE annotatedTagMessageL #-}++-- | 'annotatedTagObject' Lens+annotatedTagObjectL :: Lens_' AnnotatedTag (Maybe AnnotatedTagObject)+annotatedTagObjectL f AnnotatedTag{..} = (\annotatedTagObject -> AnnotatedTag { annotatedTagObject, ..} ) <$> f annotatedTagObject+{-# INLINE annotatedTagObjectL #-}++-- | 'annotatedTagSha' Lens+annotatedTagShaL :: Lens_' AnnotatedTag (Maybe Text)+annotatedTagShaL f AnnotatedTag{..} = (\annotatedTagSha -> AnnotatedTag { annotatedTagSha, ..} ) <$> f annotatedTagSha+{-# INLINE annotatedTagShaL #-}++-- | 'annotatedTagTag' Lens+annotatedTagTagL :: Lens_' AnnotatedTag (Maybe Text)+annotatedTagTagL f AnnotatedTag{..} = (\annotatedTagTag -> AnnotatedTag { annotatedTagTag, ..} ) <$> f annotatedTagTag+{-# INLINE annotatedTagTagL #-}++-- | 'annotatedTagTagger' Lens+annotatedTagTaggerL :: Lens_' AnnotatedTag (Maybe CommitUser)+annotatedTagTaggerL f AnnotatedTag{..} = (\annotatedTagTagger -> AnnotatedTag { annotatedTagTagger, ..} ) <$> f annotatedTagTagger+{-# INLINE annotatedTagTaggerL #-}++-- | 'annotatedTagUrl' Lens+annotatedTagUrlL :: Lens_' AnnotatedTag (Maybe Text)+annotatedTagUrlL f AnnotatedTag{..} = (\annotatedTagUrl -> AnnotatedTag { annotatedTagUrl, ..} ) <$> f annotatedTagUrl+{-# INLINE annotatedTagUrlL #-}++-- | 'annotatedTagVerification' Lens+annotatedTagVerificationL :: Lens_' AnnotatedTag (Maybe PayloadCommitVerification)+annotatedTagVerificationL f AnnotatedTag{..} = (\annotatedTagVerification -> AnnotatedTag { annotatedTagVerification, ..} ) <$> f annotatedTagVerification+{-# INLINE annotatedTagVerificationL #-}++++-- * AnnotatedTagObject++-- | 'annotatedTagObjectSha' Lens+annotatedTagObjectShaL :: Lens_' AnnotatedTagObject (Maybe Text)+annotatedTagObjectShaL f AnnotatedTagObject{..} = (\annotatedTagObjectSha -> AnnotatedTagObject { annotatedTagObjectSha, ..} ) <$> f annotatedTagObjectSha+{-# INLINE annotatedTagObjectShaL #-}++-- | 'annotatedTagObjectType' Lens+annotatedTagObjectTypeL :: Lens_' AnnotatedTagObject (Maybe Text)+annotatedTagObjectTypeL f AnnotatedTagObject{..} = (\annotatedTagObjectType -> AnnotatedTagObject { annotatedTagObjectType, ..} ) <$> f annotatedTagObjectType+{-# INLINE annotatedTagObjectTypeL #-}++-- | 'annotatedTagObjectUrl' Lens+annotatedTagObjectUrlL :: Lens_' AnnotatedTagObject (Maybe Text)+annotatedTagObjectUrlL f AnnotatedTagObject{..} = (\annotatedTagObjectUrl -> AnnotatedTagObject { annotatedTagObjectUrl, ..} ) <$> f annotatedTagObjectUrl+{-# INLINE annotatedTagObjectUrlL #-}++++-- * Attachment++-- | 'attachmentBrowserDownloadUrl' Lens+attachmentBrowserDownloadUrlL :: Lens_' Attachment (Maybe Text)+attachmentBrowserDownloadUrlL f Attachment{..} = (\attachmentBrowserDownloadUrl -> Attachment { attachmentBrowserDownloadUrl, ..} ) <$> f attachmentBrowserDownloadUrl+{-# INLINE attachmentBrowserDownloadUrlL #-}++-- | 'attachmentCreatedAt' Lens+attachmentCreatedAtL :: Lens_' Attachment (Maybe DateTime)+attachmentCreatedAtL f Attachment{..} = (\attachmentCreatedAt -> Attachment { attachmentCreatedAt, ..} ) <$> f attachmentCreatedAt+{-# INLINE attachmentCreatedAtL #-}++-- | 'attachmentDownloadCount' Lens+attachmentDownloadCountL :: Lens_' Attachment (Maybe Integer)+attachmentDownloadCountL f Attachment{..} = (\attachmentDownloadCount -> Attachment { attachmentDownloadCount, ..} ) <$> f attachmentDownloadCount+{-# INLINE attachmentDownloadCountL #-}++-- | 'attachmentId' Lens+attachmentIdL :: Lens_' Attachment (Maybe Integer)+attachmentIdL f Attachment{..} = (\attachmentId -> Attachment { attachmentId, ..} ) <$> f attachmentId+{-# INLINE attachmentIdL #-}++-- | 'attachmentName' Lens+attachmentNameL :: Lens_' Attachment (Maybe Text)+attachmentNameL f Attachment{..} = (\attachmentName -> Attachment { attachmentName, ..} ) <$> f attachmentName+{-# INLINE attachmentNameL #-}++-- | 'attachmentSize' Lens+attachmentSizeL :: Lens_' Attachment (Maybe Integer)+attachmentSizeL f Attachment{..} = (\attachmentSize -> Attachment { attachmentSize, ..} ) <$> f attachmentSize+{-# INLINE attachmentSizeL #-}++-- | 'attachmentUuid' Lens+attachmentUuidL :: Lens_' Attachment (Maybe Text)+attachmentUuidL f Attachment{..} = (\attachmentUuid -> Attachment { attachmentUuid, ..} ) <$> f attachmentUuid+{-# INLINE attachmentUuidL #-}++++-- * Branch++-- | 'branchCommit' Lens+branchCommitL :: Lens_' Branch (Maybe PayloadCommit)+branchCommitL f Branch{..} = (\branchCommit -> Branch { branchCommit, ..} ) <$> f branchCommit+{-# INLINE branchCommitL #-}++-- | 'branchEffectiveBranchProtectionName' Lens+branchEffectiveBranchProtectionNameL :: Lens_' Branch (Maybe Text)+branchEffectiveBranchProtectionNameL f Branch{..} = (\branchEffectiveBranchProtectionName -> Branch { branchEffectiveBranchProtectionName, ..} ) <$> f branchEffectiveBranchProtectionName+{-# INLINE branchEffectiveBranchProtectionNameL #-}++-- | 'branchEnableStatusCheck' Lens+branchEnableStatusCheckL :: Lens_' Branch (Maybe Bool)+branchEnableStatusCheckL f Branch{..} = (\branchEnableStatusCheck -> Branch { branchEnableStatusCheck, ..} ) <$> f branchEnableStatusCheck+{-# INLINE branchEnableStatusCheckL #-}++-- | 'branchName' Lens+branchNameL :: Lens_' Branch (Maybe Text)+branchNameL f Branch{..} = (\branchName -> Branch { branchName, ..} ) <$> f branchName+{-# INLINE branchNameL #-}++-- | 'branchProtected' Lens+branchProtectedL :: Lens_' Branch (Maybe Bool)+branchProtectedL f Branch{..} = (\branchProtected -> Branch { branchProtected, ..} ) <$> f branchProtected+{-# INLINE branchProtectedL #-}++-- | 'branchRequiredApprovals' Lens+branchRequiredApprovalsL :: Lens_' Branch (Maybe Integer)+branchRequiredApprovalsL f Branch{..} = (\branchRequiredApprovals -> Branch { branchRequiredApprovals, ..} ) <$> f branchRequiredApprovals+{-# INLINE branchRequiredApprovalsL #-}++-- | 'branchStatusCheckContexts' Lens+branchStatusCheckContextsL :: Lens_' Branch (Maybe [Text])+branchStatusCheckContextsL f Branch{..} = (\branchStatusCheckContexts -> Branch { branchStatusCheckContexts, ..} ) <$> f branchStatusCheckContexts+{-# INLINE branchStatusCheckContextsL #-}++-- | 'branchUserCanMerge' Lens+branchUserCanMergeL :: Lens_' Branch (Maybe Bool)+branchUserCanMergeL f Branch{..} = (\branchUserCanMerge -> Branch { branchUserCanMerge, ..} ) <$> f branchUserCanMerge+{-# INLINE branchUserCanMergeL #-}++-- | 'branchUserCanPush' Lens+branchUserCanPushL :: Lens_' Branch (Maybe Bool)+branchUserCanPushL f Branch{..} = (\branchUserCanPush -> Branch { branchUserCanPush, ..} ) <$> f branchUserCanPush+{-# INLINE branchUserCanPushL #-}++++-- * BranchProtection++-- | 'branchProtectionApprovalsWhitelistTeams' Lens+branchProtectionApprovalsWhitelistTeamsL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionApprovalsWhitelistTeamsL f BranchProtection{..} = (\branchProtectionApprovalsWhitelistTeams -> BranchProtection { branchProtectionApprovalsWhitelistTeams, ..} ) <$> f branchProtectionApprovalsWhitelistTeams+{-# INLINE branchProtectionApprovalsWhitelistTeamsL #-}++-- | 'branchProtectionApprovalsWhitelistUsername' Lens+branchProtectionApprovalsWhitelistUsernameL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionApprovalsWhitelistUsernameL f BranchProtection{..} = (\branchProtectionApprovalsWhitelistUsername -> BranchProtection { branchProtectionApprovalsWhitelistUsername, ..} ) <$> f branchProtectionApprovalsWhitelistUsername+{-# INLINE branchProtectionApprovalsWhitelistUsernameL #-}++-- | 'branchProtectionBlockOnOfficialReviewRequests' Lens+branchProtectionBlockOnOfficialReviewRequestsL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionBlockOnOfficialReviewRequestsL f BranchProtection{..} = (\branchProtectionBlockOnOfficialReviewRequests -> BranchProtection { branchProtectionBlockOnOfficialReviewRequests, ..} ) <$> f branchProtectionBlockOnOfficialReviewRequests+{-# INLINE branchProtectionBlockOnOfficialReviewRequestsL #-}++-- | 'branchProtectionBlockOnOutdatedBranch' Lens+branchProtectionBlockOnOutdatedBranchL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionBlockOnOutdatedBranchL f BranchProtection{..} = (\branchProtectionBlockOnOutdatedBranch -> BranchProtection { branchProtectionBlockOnOutdatedBranch, ..} ) <$> f branchProtectionBlockOnOutdatedBranch+{-# INLINE branchProtectionBlockOnOutdatedBranchL #-}++-- | 'branchProtectionBlockOnRejectedReviews' Lens+branchProtectionBlockOnRejectedReviewsL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionBlockOnRejectedReviewsL f BranchProtection{..} = (\branchProtectionBlockOnRejectedReviews -> BranchProtection { branchProtectionBlockOnRejectedReviews, ..} ) <$> f branchProtectionBlockOnRejectedReviews+{-# INLINE branchProtectionBlockOnRejectedReviewsL #-}++-- | 'branchProtectionBranchName' Lens+branchProtectionBranchNameL :: Lens_' BranchProtection (Maybe Text)+branchProtectionBranchNameL f BranchProtection{..} = (\branchProtectionBranchName -> BranchProtection { branchProtectionBranchName, ..} ) <$> f branchProtectionBranchName+{-# INLINE branchProtectionBranchNameL #-}++-- | 'branchProtectionCreatedAt' Lens+branchProtectionCreatedAtL :: Lens_' BranchProtection (Maybe DateTime)+branchProtectionCreatedAtL f BranchProtection{..} = (\branchProtectionCreatedAt -> BranchProtection { branchProtectionCreatedAt, ..} ) <$> f branchProtectionCreatedAt+{-# INLINE branchProtectionCreatedAtL #-}++-- | 'branchProtectionDismissStaleApprovals' Lens+branchProtectionDismissStaleApprovalsL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionDismissStaleApprovalsL f BranchProtection{..} = (\branchProtectionDismissStaleApprovals -> BranchProtection { branchProtectionDismissStaleApprovals, ..} ) <$> f branchProtectionDismissStaleApprovals+{-# INLINE branchProtectionDismissStaleApprovalsL #-}++-- | 'branchProtectionEnableApprovalsWhitelist' Lens+branchProtectionEnableApprovalsWhitelistL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionEnableApprovalsWhitelistL f BranchProtection{..} = (\branchProtectionEnableApprovalsWhitelist -> BranchProtection { branchProtectionEnableApprovalsWhitelist, ..} ) <$> f branchProtectionEnableApprovalsWhitelist+{-# INLINE branchProtectionEnableApprovalsWhitelistL #-}++-- | 'branchProtectionEnableMergeWhitelist' Lens+branchProtectionEnableMergeWhitelistL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionEnableMergeWhitelistL f BranchProtection{..} = (\branchProtectionEnableMergeWhitelist -> BranchProtection { branchProtectionEnableMergeWhitelist, ..} ) <$> f branchProtectionEnableMergeWhitelist+{-# INLINE branchProtectionEnableMergeWhitelistL #-}++-- | 'branchProtectionEnablePush' Lens+branchProtectionEnablePushL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionEnablePushL f BranchProtection{..} = (\branchProtectionEnablePush -> BranchProtection { branchProtectionEnablePush, ..} ) <$> f branchProtectionEnablePush+{-# INLINE branchProtectionEnablePushL #-}++-- | 'branchProtectionEnablePushWhitelist' Lens+branchProtectionEnablePushWhitelistL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionEnablePushWhitelistL f BranchProtection{..} = (\branchProtectionEnablePushWhitelist -> BranchProtection { branchProtectionEnablePushWhitelist, ..} ) <$> f branchProtectionEnablePushWhitelist+{-# INLINE branchProtectionEnablePushWhitelistL #-}++-- | 'branchProtectionEnableStatusCheck' Lens+branchProtectionEnableStatusCheckL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionEnableStatusCheckL f BranchProtection{..} = (\branchProtectionEnableStatusCheck -> BranchProtection { branchProtectionEnableStatusCheck, ..} ) <$> f branchProtectionEnableStatusCheck+{-# INLINE branchProtectionEnableStatusCheckL #-}++-- | 'branchProtectionMergeWhitelistTeams' Lens+branchProtectionMergeWhitelistTeamsL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionMergeWhitelistTeamsL f BranchProtection{..} = (\branchProtectionMergeWhitelistTeams -> BranchProtection { branchProtectionMergeWhitelistTeams, ..} ) <$> f branchProtectionMergeWhitelistTeams+{-# INLINE branchProtectionMergeWhitelistTeamsL #-}++-- | 'branchProtectionMergeWhitelistUsernames' Lens+branchProtectionMergeWhitelistUsernamesL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionMergeWhitelistUsernamesL f BranchProtection{..} = (\branchProtectionMergeWhitelistUsernames -> BranchProtection { branchProtectionMergeWhitelistUsernames, ..} ) <$> f branchProtectionMergeWhitelistUsernames+{-# INLINE branchProtectionMergeWhitelistUsernamesL #-}++-- | 'branchProtectionProtectedFilePatterns' Lens+branchProtectionProtectedFilePatternsL :: Lens_' BranchProtection (Maybe Text)+branchProtectionProtectedFilePatternsL f BranchProtection{..} = (\branchProtectionProtectedFilePatterns -> BranchProtection { branchProtectionProtectedFilePatterns, ..} ) <$> f branchProtectionProtectedFilePatterns+{-# INLINE branchProtectionProtectedFilePatternsL #-}++-- | 'branchProtectionPushWhitelistDeployKeys' Lens+branchProtectionPushWhitelistDeployKeysL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionPushWhitelistDeployKeysL f BranchProtection{..} = (\branchProtectionPushWhitelistDeployKeys -> BranchProtection { branchProtectionPushWhitelistDeployKeys, ..} ) <$> f branchProtectionPushWhitelistDeployKeys+{-# INLINE branchProtectionPushWhitelistDeployKeysL #-}++-- | 'branchProtectionPushWhitelistTeams' Lens+branchProtectionPushWhitelistTeamsL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionPushWhitelistTeamsL f BranchProtection{..} = (\branchProtectionPushWhitelistTeams -> BranchProtection { branchProtectionPushWhitelistTeams, ..} ) <$> f branchProtectionPushWhitelistTeams+{-# INLINE branchProtectionPushWhitelistTeamsL #-}++-- | 'branchProtectionPushWhitelistUsernames' Lens+branchProtectionPushWhitelistUsernamesL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionPushWhitelistUsernamesL f BranchProtection{..} = (\branchProtectionPushWhitelistUsernames -> BranchProtection { branchProtectionPushWhitelistUsernames, ..} ) <$> f branchProtectionPushWhitelistUsernames+{-# INLINE branchProtectionPushWhitelistUsernamesL #-}++-- | 'branchProtectionRequireSignedCommits' Lens+branchProtectionRequireSignedCommitsL :: Lens_' BranchProtection (Maybe Bool)+branchProtectionRequireSignedCommitsL f BranchProtection{..} = (\branchProtectionRequireSignedCommits -> BranchProtection { branchProtectionRequireSignedCommits, ..} ) <$> f branchProtectionRequireSignedCommits+{-# INLINE branchProtectionRequireSignedCommitsL #-}++-- | 'branchProtectionRequiredApprovals' Lens+branchProtectionRequiredApprovalsL :: Lens_' BranchProtection (Maybe Integer)+branchProtectionRequiredApprovalsL f BranchProtection{..} = (\branchProtectionRequiredApprovals -> BranchProtection { branchProtectionRequiredApprovals, ..} ) <$> f branchProtectionRequiredApprovals+{-# INLINE branchProtectionRequiredApprovalsL #-}++-- | 'branchProtectionRuleName' Lens+branchProtectionRuleNameL :: Lens_' BranchProtection (Maybe Text)+branchProtectionRuleNameL f BranchProtection{..} = (\branchProtectionRuleName -> BranchProtection { branchProtectionRuleName, ..} ) <$> f branchProtectionRuleName+{-# INLINE branchProtectionRuleNameL #-}++-- | 'branchProtectionStatusCheckContexts' Lens+branchProtectionStatusCheckContextsL :: Lens_' BranchProtection (Maybe [Text])+branchProtectionStatusCheckContextsL f BranchProtection{..} = (\branchProtectionStatusCheckContexts -> BranchProtection { branchProtectionStatusCheckContexts, ..} ) <$> f branchProtectionStatusCheckContexts+{-# INLINE branchProtectionStatusCheckContextsL #-}++-- | 'branchProtectionUnprotectedFilePatterns' Lens+branchProtectionUnprotectedFilePatternsL :: Lens_' BranchProtection (Maybe Text)+branchProtectionUnprotectedFilePatternsL f BranchProtection{..} = (\branchProtectionUnprotectedFilePatterns -> BranchProtection { branchProtectionUnprotectedFilePatterns, ..} ) <$> f branchProtectionUnprotectedFilePatterns+{-# INLINE branchProtectionUnprotectedFilePatternsL #-}++-- | 'branchProtectionUpdatedAt' Lens+branchProtectionUpdatedAtL :: Lens_' BranchProtection (Maybe DateTime)+branchProtectionUpdatedAtL f BranchProtection{..} = (\branchProtectionUpdatedAt -> BranchProtection { branchProtectionUpdatedAt, ..} ) <$> f branchProtectionUpdatedAt+{-# INLINE branchProtectionUpdatedAtL #-}++++-- * ChangedFile++-- | 'changedFileAdditions' Lens+changedFileAdditionsL :: Lens_' ChangedFile (Maybe Integer)+changedFileAdditionsL f ChangedFile{..} = (\changedFileAdditions -> ChangedFile { changedFileAdditions, ..} ) <$> f changedFileAdditions+{-# INLINE changedFileAdditionsL #-}++-- | 'changedFileChanges' Lens+changedFileChangesL :: Lens_' ChangedFile (Maybe Integer)+changedFileChangesL f ChangedFile{..} = (\changedFileChanges -> ChangedFile { changedFileChanges, ..} ) <$> f changedFileChanges+{-# INLINE changedFileChangesL #-}++-- | 'changedFileContentsUrl' Lens+changedFileContentsUrlL :: Lens_' ChangedFile (Maybe Text)+changedFileContentsUrlL f ChangedFile{..} = (\changedFileContentsUrl -> ChangedFile { changedFileContentsUrl, ..} ) <$> f changedFileContentsUrl+{-# INLINE changedFileContentsUrlL #-}++-- | 'changedFileDeletions' Lens+changedFileDeletionsL :: Lens_' ChangedFile (Maybe Integer)+changedFileDeletionsL f ChangedFile{..} = (\changedFileDeletions -> ChangedFile { changedFileDeletions, ..} ) <$> f changedFileDeletions+{-# INLINE changedFileDeletionsL #-}++-- | 'changedFileFilename' Lens+changedFileFilenameL :: Lens_' ChangedFile (Maybe Text)+changedFileFilenameL f ChangedFile{..} = (\changedFileFilename -> ChangedFile { changedFileFilename, ..} ) <$> f changedFileFilename+{-# INLINE changedFileFilenameL #-}++-- | 'changedFileHtmlUrl' Lens+changedFileHtmlUrlL :: Lens_' ChangedFile (Maybe Text)+changedFileHtmlUrlL f ChangedFile{..} = (\changedFileHtmlUrl -> ChangedFile { changedFileHtmlUrl, ..} ) <$> f changedFileHtmlUrl+{-# INLINE changedFileHtmlUrlL #-}++-- | 'changedFilePreviousFilename' Lens+changedFilePreviousFilenameL :: Lens_' ChangedFile (Maybe Text)+changedFilePreviousFilenameL f ChangedFile{..} = (\changedFilePreviousFilename -> ChangedFile { changedFilePreviousFilename, ..} ) <$> f changedFilePreviousFilename+{-# INLINE changedFilePreviousFilenameL #-}++-- | 'changedFileRawUrl' Lens+changedFileRawUrlL :: Lens_' ChangedFile (Maybe Text)+changedFileRawUrlL f ChangedFile{..} = (\changedFileRawUrl -> ChangedFile { changedFileRawUrl, ..} ) <$> f changedFileRawUrl+{-# INLINE changedFileRawUrlL #-}++-- | 'changedFileStatus' Lens+changedFileStatusL :: Lens_' ChangedFile (Maybe Text)+changedFileStatusL f ChangedFile{..} = (\changedFileStatus -> ChangedFile { changedFileStatus, ..} ) <$> f changedFileStatus+{-# INLINE changedFileStatusL #-}++++-- * CombinedStatus++-- | 'combinedStatusCommitUrl' Lens+combinedStatusCommitUrlL :: Lens_' CombinedStatus (Maybe Text)+combinedStatusCommitUrlL f CombinedStatus{..} = (\combinedStatusCommitUrl -> CombinedStatus { combinedStatusCommitUrl, ..} ) <$> f combinedStatusCommitUrl+{-# INLINE combinedStatusCommitUrlL #-}++-- | 'combinedStatusRepository' Lens+combinedStatusRepositoryL :: Lens_' CombinedStatus (Maybe Repository)+combinedStatusRepositoryL f CombinedStatus{..} = (\combinedStatusRepository -> CombinedStatus { combinedStatusRepository, ..} ) <$> f combinedStatusRepository+{-# INLINE combinedStatusRepositoryL #-}++-- | 'combinedStatusSha' Lens+combinedStatusShaL :: Lens_' CombinedStatus (Maybe Text)+combinedStatusShaL f CombinedStatus{..} = (\combinedStatusSha -> CombinedStatus { combinedStatusSha, ..} ) <$> f combinedStatusSha+{-# INLINE combinedStatusShaL #-}++-- | 'combinedStatusState' Lens+combinedStatusStateL :: Lens_' CombinedStatus (Maybe Text)+combinedStatusStateL f CombinedStatus{..} = (\combinedStatusState -> CombinedStatus { combinedStatusState, ..} ) <$> f combinedStatusState+{-# INLINE combinedStatusStateL #-}++-- | 'combinedStatusStatuses' Lens+combinedStatusStatusesL :: Lens_' CombinedStatus (Maybe [CommitStatus])+combinedStatusStatusesL f CombinedStatus{..} = (\combinedStatusStatuses -> CombinedStatus { combinedStatusStatuses, ..} ) <$> f combinedStatusStatuses+{-# INLINE combinedStatusStatusesL #-}++-- | 'combinedStatusTotalCount' Lens+combinedStatusTotalCountL :: Lens_' CombinedStatus (Maybe Integer)+combinedStatusTotalCountL f CombinedStatus{..} = (\combinedStatusTotalCount -> CombinedStatus { combinedStatusTotalCount, ..} ) <$> f combinedStatusTotalCount+{-# INLINE combinedStatusTotalCountL #-}++-- | 'combinedStatusUrl' Lens+combinedStatusUrlL :: Lens_' CombinedStatus (Maybe Text)+combinedStatusUrlL f CombinedStatus{..} = (\combinedStatusUrl -> CombinedStatus { combinedStatusUrl, ..} ) <$> f combinedStatusUrl+{-# INLINE combinedStatusUrlL #-}++++-- * Comment++-- | 'commentAssets' Lens+commentAssetsL :: Lens_' Comment (Maybe [Attachment])+commentAssetsL f Comment{..} = (\commentAssets -> Comment { commentAssets, ..} ) <$> f commentAssets+{-# INLINE commentAssetsL #-}++-- | 'commentBody' Lens+commentBodyL :: Lens_' Comment (Maybe Text)+commentBodyL f Comment{..} = (\commentBody -> Comment { commentBody, ..} ) <$> f commentBody+{-# INLINE commentBodyL #-}++-- | 'commentCreatedAt' Lens+commentCreatedAtL :: Lens_' Comment (Maybe DateTime)+commentCreatedAtL f Comment{..} = (\commentCreatedAt -> Comment { commentCreatedAt, ..} ) <$> f commentCreatedAt+{-# INLINE commentCreatedAtL #-}++-- | 'commentHtmlUrl' Lens+commentHtmlUrlL :: Lens_' Comment (Maybe Text)+commentHtmlUrlL f Comment{..} = (\commentHtmlUrl -> Comment { commentHtmlUrl, ..} ) <$> f commentHtmlUrl+{-# INLINE commentHtmlUrlL #-}++-- | 'commentId' Lens+commentIdL :: Lens_' Comment (Maybe Integer)+commentIdL f Comment{..} = (\commentId -> Comment { commentId, ..} ) <$> f commentId+{-# INLINE commentIdL #-}++-- | 'commentIssueUrl' Lens+commentIssueUrlL :: Lens_' Comment (Maybe Text)+commentIssueUrlL f Comment{..} = (\commentIssueUrl -> Comment { commentIssueUrl, ..} ) <$> f commentIssueUrl+{-# INLINE commentIssueUrlL #-}++-- | 'commentOriginalAuthor' Lens+commentOriginalAuthorL :: Lens_' Comment (Maybe Text)+commentOriginalAuthorL f Comment{..} = (\commentOriginalAuthor -> Comment { commentOriginalAuthor, ..} ) <$> f commentOriginalAuthor+{-# INLINE commentOriginalAuthorL #-}++-- | 'commentOriginalAuthorId' Lens+commentOriginalAuthorIdL :: Lens_' Comment (Maybe Integer)+commentOriginalAuthorIdL f Comment{..} = (\commentOriginalAuthorId -> Comment { commentOriginalAuthorId, ..} ) <$> f commentOriginalAuthorId+{-# INLINE commentOriginalAuthorIdL #-}++-- | 'commentPullRequestUrl' Lens+commentPullRequestUrlL :: Lens_' Comment (Maybe Text)+commentPullRequestUrlL f Comment{..} = (\commentPullRequestUrl -> Comment { commentPullRequestUrl, ..} ) <$> f commentPullRequestUrl+{-# INLINE commentPullRequestUrlL #-}++-- | 'commentUpdatedAt' Lens+commentUpdatedAtL :: Lens_' Comment (Maybe DateTime)+commentUpdatedAtL f Comment{..} = (\commentUpdatedAt -> Comment { commentUpdatedAt, ..} ) <$> f commentUpdatedAt+{-# INLINE commentUpdatedAtL #-}++-- | 'commentUser' Lens+commentUserL :: Lens_' Comment (Maybe User)+commentUserL f Comment{..} = (\commentUser -> Comment { commentUser, ..} ) <$> f commentUser+{-# INLINE commentUserL #-}++++-- * Commit++-- | 'commitAuthor' Lens+commitAuthorL :: Lens_' Commit (Maybe User)+commitAuthorL f Commit{..} = (\commitAuthor -> Commit { commitAuthor, ..} ) <$> f commitAuthor+{-# INLINE commitAuthorL #-}++-- | 'commitCommit' Lens+commitCommitL :: Lens_' Commit (Maybe RepoCommit)+commitCommitL f Commit{..} = (\commitCommit -> Commit { commitCommit, ..} ) <$> f commitCommit+{-# INLINE commitCommitL #-}++-- | 'commitCommitter' Lens+commitCommitterL :: Lens_' Commit (Maybe User)+commitCommitterL f Commit{..} = (\commitCommitter -> Commit { commitCommitter, ..} ) <$> f commitCommitter+{-# INLINE commitCommitterL #-}++-- | 'commitCreated' Lens+commitCreatedL :: Lens_' Commit (Maybe DateTime)+commitCreatedL f Commit{..} = (\commitCreated -> Commit { commitCreated, ..} ) <$> f commitCreated+{-# INLINE commitCreatedL #-}++-- | 'commitFiles' Lens+commitFilesL :: Lens_' Commit (Maybe [CommitAffectedFiles])+commitFilesL f Commit{..} = (\commitFiles -> Commit { commitFiles, ..} ) <$> f commitFiles+{-# INLINE commitFilesL #-}++-- | 'commitHtmlUrl' Lens+commitHtmlUrlL :: Lens_' Commit (Maybe Text)+commitHtmlUrlL f Commit{..} = (\commitHtmlUrl -> Commit { commitHtmlUrl, ..} ) <$> f commitHtmlUrl+{-# INLINE commitHtmlUrlL #-}++-- | 'commitParents' Lens+commitParentsL :: Lens_' Commit (Maybe [CommitMeta])+commitParentsL f Commit{..} = (\commitParents -> Commit { commitParents, ..} ) <$> f commitParents+{-# INLINE commitParentsL #-}++-- | 'commitSha' Lens+commitShaL :: Lens_' Commit (Maybe Text)+commitShaL f Commit{..} = (\commitSha -> Commit { commitSha, ..} ) <$> f commitSha+{-# INLINE commitShaL #-}++-- | 'commitStats' Lens+commitStatsL :: Lens_' Commit (Maybe CommitStats)+commitStatsL f Commit{..} = (\commitStats -> Commit { commitStats, ..} ) <$> f commitStats+{-# INLINE commitStatsL #-}++-- | 'commitUrl' Lens+commitUrlL :: Lens_' Commit (Maybe Text)+commitUrlL f Commit{..} = (\commitUrl -> Commit { commitUrl, ..} ) <$> f commitUrl+{-# INLINE commitUrlL #-}++++-- * CommitAffectedFiles++-- | 'commitAffectedFilesFilename' Lens+commitAffectedFilesFilenameL :: Lens_' CommitAffectedFiles (Maybe Text)+commitAffectedFilesFilenameL f CommitAffectedFiles{..} = (\commitAffectedFilesFilename -> CommitAffectedFiles { commitAffectedFilesFilename, ..} ) <$> f commitAffectedFilesFilename+{-# INLINE commitAffectedFilesFilenameL #-}++++-- * CommitDateOptions++-- | 'commitDateOptionsAuthor' Lens+commitDateOptionsAuthorL :: Lens_' CommitDateOptions (Maybe DateTime)+commitDateOptionsAuthorL f CommitDateOptions{..} = (\commitDateOptionsAuthor -> CommitDateOptions { commitDateOptionsAuthor, ..} ) <$> f commitDateOptionsAuthor+{-# INLINE commitDateOptionsAuthorL #-}++-- | 'commitDateOptionsCommitter' Lens+commitDateOptionsCommitterL :: Lens_' CommitDateOptions (Maybe DateTime)+commitDateOptionsCommitterL f CommitDateOptions{..} = (\commitDateOptionsCommitter -> CommitDateOptions { commitDateOptionsCommitter, ..} ) <$> f commitDateOptionsCommitter+{-# INLINE commitDateOptionsCommitterL #-}++++-- * CommitMeta++-- | 'commitMetaCreated' Lens+commitMetaCreatedL :: Lens_' CommitMeta (Maybe DateTime)+commitMetaCreatedL f CommitMeta{..} = (\commitMetaCreated -> CommitMeta { commitMetaCreated, ..} ) <$> f commitMetaCreated+{-# INLINE commitMetaCreatedL #-}++-- | 'commitMetaSha' Lens+commitMetaShaL :: Lens_' CommitMeta (Maybe Text)+commitMetaShaL f CommitMeta{..} = (\commitMetaSha -> CommitMeta { commitMetaSha, ..} ) <$> f commitMetaSha+{-# INLINE commitMetaShaL #-}++-- | 'commitMetaUrl' Lens+commitMetaUrlL :: Lens_' CommitMeta (Maybe Text)+commitMetaUrlL f CommitMeta{..} = (\commitMetaUrl -> CommitMeta { commitMetaUrl, ..} ) <$> f commitMetaUrl+{-# INLINE commitMetaUrlL #-}++++-- * CommitStats++-- | 'commitStatsAdditions' Lens+commitStatsAdditionsL :: Lens_' CommitStats (Maybe Integer)+commitStatsAdditionsL f CommitStats{..} = (\commitStatsAdditions -> CommitStats { commitStatsAdditions, ..} ) <$> f commitStatsAdditions+{-# INLINE commitStatsAdditionsL #-}++-- | 'commitStatsDeletions' Lens+commitStatsDeletionsL :: Lens_' CommitStats (Maybe Integer)+commitStatsDeletionsL f CommitStats{..} = (\commitStatsDeletions -> CommitStats { commitStatsDeletions, ..} ) <$> f commitStatsDeletions+{-# INLINE commitStatsDeletionsL #-}++-- | 'commitStatsTotal' Lens+commitStatsTotalL :: Lens_' CommitStats (Maybe Integer)+commitStatsTotalL f CommitStats{..} = (\commitStatsTotal -> CommitStats { commitStatsTotal, ..} ) <$> f commitStatsTotal+{-# INLINE commitStatsTotalL #-}++++-- * CommitStatus++-- | 'commitStatusContext' Lens+commitStatusContextL :: Lens_' CommitStatus (Maybe Text)+commitStatusContextL f CommitStatus{..} = (\commitStatusContext -> CommitStatus { commitStatusContext, ..} ) <$> f commitStatusContext+{-# INLINE commitStatusContextL #-}++-- | 'commitStatusCreatedAt' Lens+commitStatusCreatedAtL :: Lens_' CommitStatus (Maybe DateTime)+commitStatusCreatedAtL f CommitStatus{..} = (\commitStatusCreatedAt -> CommitStatus { commitStatusCreatedAt, ..} ) <$> f commitStatusCreatedAt+{-# INLINE commitStatusCreatedAtL #-}++-- | 'commitStatusCreator' Lens+commitStatusCreatorL :: Lens_' CommitStatus (Maybe User)+commitStatusCreatorL f CommitStatus{..} = (\commitStatusCreator -> CommitStatus { commitStatusCreator, ..} ) <$> f commitStatusCreator+{-# INLINE commitStatusCreatorL #-}++-- | 'commitStatusDescription' Lens+commitStatusDescriptionL :: Lens_' CommitStatus (Maybe Text)+commitStatusDescriptionL f CommitStatus{..} = (\commitStatusDescription -> CommitStatus { commitStatusDescription, ..} ) <$> f commitStatusDescription+{-# INLINE commitStatusDescriptionL #-}++-- | 'commitStatusId' Lens+commitStatusIdL :: Lens_' CommitStatus (Maybe Integer)+commitStatusIdL f CommitStatus{..} = (\commitStatusId -> CommitStatus { commitStatusId, ..} ) <$> f commitStatusId+{-# INLINE commitStatusIdL #-}++-- | 'commitStatusStatus' Lens+commitStatusStatusL :: Lens_' CommitStatus (Maybe Text)+commitStatusStatusL f CommitStatus{..} = (\commitStatusStatus -> CommitStatus { commitStatusStatus, ..} ) <$> f commitStatusStatus+{-# INLINE commitStatusStatusL #-}++-- | 'commitStatusTargetUrl' Lens+commitStatusTargetUrlL :: Lens_' CommitStatus (Maybe Text)+commitStatusTargetUrlL f CommitStatus{..} = (\commitStatusTargetUrl -> CommitStatus { commitStatusTargetUrl, ..} ) <$> f commitStatusTargetUrl+{-# INLINE commitStatusTargetUrlL #-}++-- | 'commitStatusUpdatedAt' Lens+commitStatusUpdatedAtL :: Lens_' CommitStatus (Maybe DateTime)+commitStatusUpdatedAtL f CommitStatus{..} = (\commitStatusUpdatedAt -> CommitStatus { commitStatusUpdatedAt, ..} ) <$> f commitStatusUpdatedAt+{-# INLINE commitStatusUpdatedAtL #-}++-- | 'commitStatusUrl' Lens+commitStatusUrlL :: Lens_' CommitStatus (Maybe Text)+commitStatusUrlL f CommitStatus{..} = (\commitStatusUrl -> CommitStatus { commitStatusUrl, ..} ) <$> f commitStatusUrl+{-# INLINE commitStatusUrlL #-}++++-- * CommitUser++-- | 'commitUserDate' Lens+commitUserDateL :: Lens_' CommitUser (Maybe Text)+commitUserDateL f CommitUser{..} = (\commitUserDate -> CommitUser { commitUserDate, ..} ) <$> f commitUserDate+{-# INLINE commitUserDateL #-}++-- | 'commitUserEmail' Lens+commitUserEmailL :: Lens_' CommitUser (Maybe Text)+commitUserEmailL f CommitUser{..} = (\commitUserEmail -> CommitUser { commitUserEmail, ..} ) <$> f commitUserEmail+{-# INLINE commitUserEmailL #-}++-- | 'commitUserName' Lens+commitUserNameL :: Lens_' CommitUser (Maybe Text)+commitUserNameL f CommitUser{..} = (\commitUserName -> CommitUser { commitUserName, ..} ) <$> f commitUserName+{-# INLINE commitUserNameL #-}++++-- * ContentsResponse++-- | 'contentsResponseLinks' Lens+contentsResponseLinksL :: Lens_' ContentsResponse (Maybe FileLinksResponse)+contentsResponseLinksL f ContentsResponse{..} = (\contentsResponseLinks -> ContentsResponse { contentsResponseLinks, ..} ) <$> f contentsResponseLinks+{-# INLINE contentsResponseLinksL #-}++-- | 'contentsResponseContent' Lens+contentsResponseContentL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseContentL f ContentsResponse{..} = (\contentsResponseContent -> ContentsResponse { contentsResponseContent, ..} ) <$> f contentsResponseContent+{-# INLINE contentsResponseContentL #-}++-- | 'contentsResponseDownloadUrl' Lens+contentsResponseDownloadUrlL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseDownloadUrlL f ContentsResponse{..} = (\contentsResponseDownloadUrl -> ContentsResponse { contentsResponseDownloadUrl, ..} ) <$> f contentsResponseDownloadUrl+{-# INLINE contentsResponseDownloadUrlL #-}++-- | 'contentsResponseEncoding' Lens+contentsResponseEncodingL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseEncodingL f ContentsResponse{..} = (\contentsResponseEncoding -> ContentsResponse { contentsResponseEncoding, ..} ) <$> f contentsResponseEncoding+{-# INLINE contentsResponseEncodingL #-}++-- | 'contentsResponseGitUrl' Lens+contentsResponseGitUrlL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseGitUrlL f ContentsResponse{..} = (\contentsResponseGitUrl -> ContentsResponse { contentsResponseGitUrl, ..} ) <$> f contentsResponseGitUrl+{-# INLINE contentsResponseGitUrlL #-}++-- | 'contentsResponseHtmlUrl' Lens+contentsResponseHtmlUrlL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseHtmlUrlL f ContentsResponse{..} = (\contentsResponseHtmlUrl -> ContentsResponse { contentsResponseHtmlUrl, ..} ) <$> f contentsResponseHtmlUrl+{-# INLINE contentsResponseHtmlUrlL #-}++-- | 'contentsResponseLastCommitSha' Lens+contentsResponseLastCommitShaL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseLastCommitShaL f ContentsResponse{..} = (\contentsResponseLastCommitSha -> ContentsResponse { contentsResponseLastCommitSha, ..} ) <$> f contentsResponseLastCommitSha+{-# INLINE contentsResponseLastCommitShaL #-}++-- | 'contentsResponseName' Lens+contentsResponseNameL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseNameL f ContentsResponse{..} = (\contentsResponseName -> ContentsResponse { contentsResponseName, ..} ) <$> f contentsResponseName+{-# INLINE contentsResponseNameL #-}++-- | 'contentsResponsePath' Lens+contentsResponsePathL :: Lens_' ContentsResponse (Maybe Text)+contentsResponsePathL f ContentsResponse{..} = (\contentsResponsePath -> ContentsResponse { contentsResponsePath, ..} ) <$> f contentsResponsePath+{-# INLINE contentsResponsePathL #-}++-- | 'contentsResponseSha' Lens+contentsResponseShaL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseShaL f ContentsResponse{..} = (\contentsResponseSha -> ContentsResponse { contentsResponseSha, ..} ) <$> f contentsResponseSha+{-# INLINE contentsResponseShaL #-}++-- | 'contentsResponseSize' Lens+contentsResponseSizeL :: Lens_' ContentsResponse (Maybe Integer)+contentsResponseSizeL f ContentsResponse{..} = (\contentsResponseSize -> ContentsResponse { contentsResponseSize, ..} ) <$> f contentsResponseSize+{-# INLINE contentsResponseSizeL #-}++-- | 'contentsResponseSubmoduleGitUrl' Lens+contentsResponseSubmoduleGitUrlL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseSubmoduleGitUrlL f ContentsResponse{..} = (\contentsResponseSubmoduleGitUrl -> ContentsResponse { contentsResponseSubmoduleGitUrl, ..} ) <$> f contentsResponseSubmoduleGitUrl+{-# INLINE contentsResponseSubmoduleGitUrlL #-}++-- | 'contentsResponseTarget' Lens+contentsResponseTargetL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseTargetL f ContentsResponse{..} = (\contentsResponseTarget -> ContentsResponse { contentsResponseTarget, ..} ) <$> f contentsResponseTarget+{-# INLINE contentsResponseTargetL #-}++-- | 'contentsResponseType' Lens+contentsResponseTypeL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseTypeL f ContentsResponse{..} = (\contentsResponseType -> ContentsResponse { contentsResponseType, ..} ) <$> f contentsResponseType+{-# INLINE contentsResponseTypeL #-}++-- | 'contentsResponseUrl' Lens+contentsResponseUrlL :: Lens_' ContentsResponse (Maybe Text)+contentsResponseUrlL f ContentsResponse{..} = (\contentsResponseUrl -> ContentsResponse { contentsResponseUrl, ..} ) <$> f contentsResponseUrl+{-# INLINE contentsResponseUrlL #-}++++-- * CreateAccessTokenOption++-- | 'createAccessTokenOptionName' Lens+createAccessTokenOptionNameL :: Lens_' CreateAccessTokenOption (Text)+createAccessTokenOptionNameL f CreateAccessTokenOption{..} = (\createAccessTokenOptionName -> CreateAccessTokenOption { createAccessTokenOptionName, ..} ) <$> f createAccessTokenOptionName+{-# INLINE createAccessTokenOptionNameL #-}++-- | 'createAccessTokenOptionScopes' Lens+createAccessTokenOptionScopesL :: Lens_' CreateAccessTokenOption (Maybe [Text])+createAccessTokenOptionScopesL f CreateAccessTokenOption{..} = (\createAccessTokenOptionScopes -> CreateAccessTokenOption { createAccessTokenOptionScopes, ..} ) <$> f createAccessTokenOptionScopes+{-# INLINE createAccessTokenOptionScopesL #-}++++-- * CreateBranchProtectionOption++-- | 'createBranchProtectionOptionApprovalsWhitelistTeams' Lens+createBranchProtectionOptionApprovalsWhitelistTeamsL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionApprovalsWhitelistTeamsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionApprovalsWhitelistTeams -> CreateBranchProtectionOption { createBranchProtectionOptionApprovalsWhitelistTeams, ..} ) <$> f createBranchProtectionOptionApprovalsWhitelistTeams+{-# INLINE createBranchProtectionOptionApprovalsWhitelistTeamsL #-}++-- | 'createBranchProtectionOptionApprovalsWhitelistUsername' Lens+createBranchProtectionOptionApprovalsWhitelistUsernameL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionApprovalsWhitelistUsernameL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionApprovalsWhitelistUsername -> CreateBranchProtectionOption { createBranchProtectionOptionApprovalsWhitelistUsername, ..} ) <$> f createBranchProtectionOptionApprovalsWhitelistUsername+{-# INLINE createBranchProtectionOptionApprovalsWhitelistUsernameL #-}++-- | 'createBranchProtectionOptionBlockOnOfficialReviewRequests' Lens+createBranchProtectionOptionBlockOnOfficialReviewRequestsL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionBlockOnOfficialReviewRequestsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionBlockOnOfficialReviewRequests -> CreateBranchProtectionOption { createBranchProtectionOptionBlockOnOfficialReviewRequests, ..} ) <$> f createBranchProtectionOptionBlockOnOfficialReviewRequests+{-# INLINE createBranchProtectionOptionBlockOnOfficialReviewRequestsL #-}++-- | 'createBranchProtectionOptionBlockOnOutdatedBranch' Lens+createBranchProtectionOptionBlockOnOutdatedBranchL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionBlockOnOutdatedBranchL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionBlockOnOutdatedBranch -> CreateBranchProtectionOption { createBranchProtectionOptionBlockOnOutdatedBranch, ..} ) <$> f createBranchProtectionOptionBlockOnOutdatedBranch+{-# INLINE createBranchProtectionOptionBlockOnOutdatedBranchL #-}++-- | 'createBranchProtectionOptionBlockOnRejectedReviews' Lens+createBranchProtectionOptionBlockOnRejectedReviewsL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionBlockOnRejectedReviewsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionBlockOnRejectedReviews -> CreateBranchProtectionOption { createBranchProtectionOptionBlockOnRejectedReviews, ..} ) <$> f createBranchProtectionOptionBlockOnRejectedReviews+{-# INLINE createBranchProtectionOptionBlockOnRejectedReviewsL #-}++-- | 'createBranchProtectionOptionBranchName' Lens+createBranchProtectionOptionBranchNameL :: Lens_' CreateBranchProtectionOption (Maybe Text)+createBranchProtectionOptionBranchNameL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionBranchName -> CreateBranchProtectionOption { createBranchProtectionOptionBranchName, ..} ) <$> f createBranchProtectionOptionBranchName+{-# INLINE createBranchProtectionOptionBranchNameL #-}++-- | 'createBranchProtectionOptionDismissStaleApprovals' Lens+createBranchProtectionOptionDismissStaleApprovalsL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionDismissStaleApprovalsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionDismissStaleApprovals -> CreateBranchProtectionOption { createBranchProtectionOptionDismissStaleApprovals, ..} ) <$> f createBranchProtectionOptionDismissStaleApprovals+{-# INLINE createBranchProtectionOptionDismissStaleApprovalsL #-}++-- | 'createBranchProtectionOptionEnableApprovalsWhitelist' Lens+createBranchProtectionOptionEnableApprovalsWhitelistL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionEnableApprovalsWhitelistL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionEnableApprovalsWhitelist -> CreateBranchProtectionOption { createBranchProtectionOptionEnableApprovalsWhitelist, ..} ) <$> f createBranchProtectionOptionEnableApprovalsWhitelist+{-# INLINE createBranchProtectionOptionEnableApprovalsWhitelistL #-}++-- | 'createBranchProtectionOptionEnableMergeWhitelist' Lens+createBranchProtectionOptionEnableMergeWhitelistL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionEnableMergeWhitelistL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionEnableMergeWhitelist -> CreateBranchProtectionOption { createBranchProtectionOptionEnableMergeWhitelist, ..} ) <$> f createBranchProtectionOptionEnableMergeWhitelist+{-# INLINE createBranchProtectionOptionEnableMergeWhitelistL #-}++-- | 'createBranchProtectionOptionEnablePush' Lens+createBranchProtectionOptionEnablePushL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionEnablePushL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionEnablePush -> CreateBranchProtectionOption { createBranchProtectionOptionEnablePush, ..} ) <$> f createBranchProtectionOptionEnablePush+{-# INLINE createBranchProtectionOptionEnablePushL #-}++-- | 'createBranchProtectionOptionEnablePushWhitelist' Lens+createBranchProtectionOptionEnablePushWhitelistL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionEnablePushWhitelistL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionEnablePushWhitelist -> CreateBranchProtectionOption { createBranchProtectionOptionEnablePushWhitelist, ..} ) <$> f createBranchProtectionOptionEnablePushWhitelist+{-# INLINE createBranchProtectionOptionEnablePushWhitelistL #-}++-- | 'createBranchProtectionOptionEnableStatusCheck' Lens+createBranchProtectionOptionEnableStatusCheckL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionEnableStatusCheckL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionEnableStatusCheck -> CreateBranchProtectionOption { createBranchProtectionOptionEnableStatusCheck, ..} ) <$> f createBranchProtectionOptionEnableStatusCheck+{-# INLINE createBranchProtectionOptionEnableStatusCheckL #-}++-- | 'createBranchProtectionOptionMergeWhitelistTeams' Lens+createBranchProtectionOptionMergeWhitelistTeamsL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionMergeWhitelistTeamsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionMergeWhitelistTeams -> CreateBranchProtectionOption { createBranchProtectionOptionMergeWhitelistTeams, ..} ) <$> f createBranchProtectionOptionMergeWhitelistTeams+{-# INLINE createBranchProtectionOptionMergeWhitelistTeamsL #-}++-- | 'createBranchProtectionOptionMergeWhitelistUsernames' Lens+createBranchProtectionOptionMergeWhitelistUsernamesL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionMergeWhitelistUsernamesL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionMergeWhitelistUsernames -> CreateBranchProtectionOption { createBranchProtectionOptionMergeWhitelistUsernames, ..} ) <$> f createBranchProtectionOptionMergeWhitelistUsernames+{-# INLINE createBranchProtectionOptionMergeWhitelistUsernamesL #-}++-- | 'createBranchProtectionOptionProtectedFilePatterns' Lens+createBranchProtectionOptionProtectedFilePatternsL :: Lens_' CreateBranchProtectionOption (Maybe Text)+createBranchProtectionOptionProtectedFilePatternsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionProtectedFilePatterns -> CreateBranchProtectionOption { createBranchProtectionOptionProtectedFilePatterns, ..} ) <$> f createBranchProtectionOptionProtectedFilePatterns+{-# INLINE createBranchProtectionOptionProtectedFilePatternsL #-}++-- | 'createBranchProtectionOptionPushWhitelistDeployKeys' Lens+createBranchProtectionOptionPushWhitelistDeployKeysL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionPushWhitelistDeployKeysL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionPushWhitelistDeployKeys -> CreateBranchProtectionOption { createBranchProtectionOptionPushWhitelistDeployKeys, ..} ) <$> f createBranchProtectionOptionPushWhitelistDeployKeys+{-# INLINE createBranchProtectionOptionPushWhitelistDeployKeysL #-}++-- | 'createBranchProtectionOptionPushWhitelistTeams' Lens+createBranchProtectionOptionPushWhitelistTeamsL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionPushWhitelistTeamsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionPushWhitelistTeams -> CreateBranchProtectionOption { createBranchProtectionOptionPushWhitelistTeams, ..} ) <$> f createBranchProtectionOptionPushWhitelistTeams+{-# INLINE createBranchProtectionOptionPushWhitelistTeamsL #-}++-- | 'createBranchProtectionOptionPushWhitelistUsernames' Lens+createBranchProtectionOptionPushWhitelistUsernamesL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionPushWhitelistUsernamesL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionPushWhitelistUsernames -> CreateBranchProtectionOption { createBranchProtectionOptionPushWhitelistUsernames, ..} ) <$> f createBranchProtectionOptionPushWhitelistUsernames+{-# INLINE createBranchProtectionOptionPushWhitelistUsernamesL #-}++-- | 'createBranchProtectionOptionRequireSignedCommits' Lens+createBranchProtectionOptionRequireSignedCommitsL :: Lens_' CreateBranchProtectionOption (Maybe Bool)+createBranchProtectionOptionRequireSignedCommitsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionRequireSignedCommits -> CreateBranchProtectionOption { createBranchProtectionOptionRequireSignedCommits, ..} ) <$> f createBranchProtectionOptionRequireSignedCommits+{-# INLINE createBranchProtectionOptionRequireSignedCommitsL #-}++-- | 'createBranchProtectionOptionRequiredApprovals' Lens+createBranchProtectionOptionRequiredApprovalsL :: Lens_' CreateBranchProtectionOption (Maybe Integer)+createBranchProtectionOptionRequiredApprovalsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionRequiredApprovals -> CreateBranchProtectionOption { createBranchProtectionOptionRequiredApprovals, ..} ) <$> f createBranchProtectionOptionRequiredApprovals+{-# INLINE createBranchProtectionOptionRequiredApprovalsL #-}++-- | 'createBranchProtectionOptionRuleName' Lens+createBranchProtectionOptionRuleNameL :: Lens_' CreateBranchProtectionOption (Maybe Text)+createBranchProtectionOptionRuleNameL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionRuleName -> CreateBranchProtectionOption { createBranchProtectionOptionRuleName, ..} ) <$> f createBranchProtectionOptionRuleName+{-# INLINE createBranchProtectionOptionRuleNameL #-}++-- | 'createBranchProtectionOptionStatusCheckContexts' Lens+createBranchProtectionOptionStatusCheckContextsL :: Lens_' CreateBranchProtectionOption (Maybe [Text])+createBranchProtectionOptionStatusCheckContextsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionStatusCheckContexts -> CreateBranchProtectionOption { createBranchProtectionOptionStatusCheckContexts, ..} ) <$> f createBranchProtectionOptionStatusCheckContexts+{-# INLINE createBranchProtectionOptionStatusCheckContextsL #-}++-- | 'createBranchProtectionOptionUnprotectedFilePatterns' Lens+createBranchProtectionOptionUnprotectedFilePatternsL :: Lens_' CreateBranchProtectionOption (Maybe Text)+createBranchProtectionOptionUnprotectedFilePatternsL f CreateBranchProtectionOption{..} = (\createBranchProtectionOptionUnprotectedFilePatterns -> CreateBranchProtectionOption { createBranchProtectionOptionUnprotectedFilePatterns, ..} ) <$> f createBranchProtectionOptionUnprotectedFilePatterns+{-# INLINE createBranchProtectionOptionUnprotectedFilePatternsL #-}++++-- * CreateBranchRepoOption++-- | 'createBranchRepoOptionNewBranchName' Lens+createBranchRepoOptionNewBranchNameL :: Lens_' CreateBranchRepoOption (Text)+createBranchRepoOptionNewBranchNameL f CreateBranchRepoOption{..} = (\createBranchRepoOptionNewBranchName -> CreateBranchRepoOption { createBranchRepoOptionNewBranchName, ..} ) <$> f createBranchRepoOptionNewBranchName+{-# INLINE createBranchRepoOptionNewBranchNameL #-}++-- | 'createBranchRepoOptionOldBranchName' Lens+createBranchRepoOptionOldBranchNameL :: Lens_' CreateBranchRepoOption (Maybe Text)+createBranchRepoOptionOldBranchNameL f CreateBranchRepoOption{..} = (\createBranchRepoOptionOldBranchName -> CreateBranchRepoOption { createBranchRepoOptionOldBranchName, ..} ) <$> f createBranchRepoOptionOldBranchName+{-# INLINE createBranchRepoOptionOldBranchNameL #-}++++-- * CreateEmailOption++-- | 'createEmailOptionEmails' Lens+createEmailOptionEmailsL :: Lens_' CreateEmailOption (Maybe [Text])+createEmailOptionEmailsL f CreateEmailOption{..} = (\createEmailOptionEmails -> CreateEmailOption { createEmailOptionEmails, ..} ) <$> f createEmailOptionEmails+{-# INLINE createEmailOptionEmailsL #-}++++-- * CreateFileOptions++-- | 'createFileOptionsAuthor' Lens+createFileOptionsAuthorL :: Lens_' CreateFileOptions (Maybe Identity)+createFileOptionsAuthorL f CreateFileOptions{..} = (\createFileOptionsAuthor -> CreateFileOptions { createFileOptionsAuthor, ..} ) <$> f createFileOptionsAuthor+{-# INLINE createFileOptionsAuthorL #-}++-- | 'createFileOptionsBranch' Lens+createFileOptionsBranchL :: Lens_' CreateFileOptions (Maybe Text)+createFileOptionsBranchL f CreateFileOptions{..} = (\createFileOptionsBranch -> CreateFileOptions { createFileOptionsBranch, ..} ) <$> f createFileOptionsBranch+{-# INLINE createFileOptionsBranchL #-}++-- | 'createFileOptionsCommitter' Lens+createFileOptionsCommitterL :: Lens_' CreateFileOptions (Maybe Identity)+createFileOptionsCommitterL f CreateFileOptions{..} = (\createFileOptionsCommitter -> CreateFileOptions { createFileOptionsCommitter, ..} ) <$> f createFileOptionsCommitter+{-# INLINE createFileOptionsCommitterL #-}++-- | 'createFileOptionsContent' Lens+createFileOptionsContentL :: Lens_' CreateFileOptions (Text)+createFileOptionsContentL f CreateFileOptions{..} = (\createFileOptionsContent -> CreateFileOptions { createFileOptionsContent, ..} ) <$> f createFileOptionsContent+{-# INLINE createFileOptionsContentL #-}++-- | 'createFileOptionsDates' Lens+createFileOptionsDatesL :: Lens_' CreateFileOptions (Maybe CommitDateOptions)+createFileOptionsDatesL f CreateFileOptions{..} = (\createFileOptionsDates -> CreateFileOptions { createFileOptionsDates, ..} ) <$> f createFileOptionsDates+{-# INLINE createFileOptionsDatesL #-}++-- | 'createFileOptionsMessage' Lens+createFileOptionsMessageL :: Lens_' CreateFileOptions (Maybe Text)+createFileOptionsMessageL f CreateFileOptions{..} = (\createFileOptionsMessage -> CreateFileOptions { createFileOptionsMessage, ..} ) <$> f createFileOptionsMessage+{-# INLINE createFileOptionsMessageL #-}++-- | 'createFileOptionsNewBranch' Lens+createFileOptionsNewBranchL :: Lens_' CreateFileOptions (Maybe Text)+createFileOptionsNewBranchL f CreateFileOptions{..} = (\createFileOptionsNewBranch -> CreateFileOptions { createFileOptionsNewBranch, ..} ) <$> f createFileOptionsNewBranch+{-# INLINE createFileOptionsNewBranchL #-}++-- | 'createFileOptionsSignoff' Lens+createFileOptionsSignoffL :: Lens_' CreateFileOptions (Maybe Bool)+createFileOptionsSignoffL f CreateFileOptions{..} = (\createFileOptionsSignoff -> CreateFileOptions { createFileOptionsSignoff, ..} ) <$> f createFileOptionsSignoff+{-# INLINE createFileOptionsSignoffL #-}++++-- * CreateForkOption++-- | 'createForkOptionName' Lens+createForkOptionNameL :: Lens_' CreateForkOption (Maybe Text)+createForkOptionNameL f CreateForkOption{..} = (\createForkOptionName -> CreateForkOption { createForkOptionName, ..} ) <$> f createForkOptionName+{-# INLINE createForkOptionNameL #-}++-- | 'createForkOptionOrganization' Lens+createForkOptionOrganizationL :: Lens_' CreateForkOption (Maybe Text)+createForkOptionOrganizationL f CreateForkOption{..} = (\createForkOptionOrganization -> CreateForkOption { createForkOptionOrganization, ..} ) <$> f createForkOptionOrganization+{-# INLINE createForkOptionOrganizationL #-}++++-- * CreateGPGKeyOption++-- | 'createGPGKeyOptionArmoredPublicKey' Lens+createGPGKeyOptionArmoredPublicKeyL :: Lens_' CreateGPGKeyOption (Text)+createGPGKeyOptionArmoredPublicKeyL f CreateGPGKeyOption{..} = (\createGPGKeyOptionArmoredPublicKey -> CreateGPGKeyOption { createGPGKeyOptionArmoredPublicKey, ..} ) <$> f createGPGKeyOptionArmoredPublicKey+{-# INLINE createGPGKeyOptionArmoredPublicKeyL #-}++-- | 'createGPGKeyOptionArmoredSignature' Lens+createGPGKeyOptionArmoredSignatureL :: Lens_' CreateGPGKeyOption (Maybe Text)+createGPGKeyOptionArmoredSignatureL f CreateGPGKeyOption{..} = (\createGPGKeyOptionArmoredSignature -> CreateGPGKeyOption { createGPGKeyOptionArmoredSignature, ..} ) <$> f createGPGKeyOptionArmoredSignature+{-# INLINE createGPGKeyOptionArmoredSignatureL #-}++++-- * CreateHookOption++-- | 'createHookOptionActive' Lens+createHookOptionActiveL :: Lens_' CreateHookOption (Maybe Bool)+createHookOptionActiveL f CreateHookOption{..} = (\createHookOptionActive -> CreateHookOption { createHookOptionActive, ..} ) <$> f createHookOptionActive+{-# INLINE createHookOptionActiveL #-}++-- | 'createHookOptionAuthorizationHeader' Lens+createHookOptionAuthorizationHeaderL :: Lens_' CreateHookOption (Maybe Text)+createHookOptionAuthorizationHeaderL f CreateHookOption{..} = (\createHookOptionAuthorizationHeader -> CreateHookOption { createHookOptionAuthorizationHeader, ..} ) <$> f createHookOptionAuthorizationHeader+{-# INLINE createHookOptionAuthorizationHeaderL #-}++-- | 'createHookOptionBranchFilter' Lens+createHookOptionBranchFilterL :: Lens_' CreateHookOption (Maybe Text)+createHookOptionBranchFilterL f CreateHookOption{..} = (\createHookOptionBranchFilter -> CreateHookOption { createHookOptionBranchFilter, ..} ) <$> f createHookOptionBranchFilter+{-# INLINE createHookOptionBranchFilterL #-}++-- | 'createHookOptionConfig' Lens+createHookOptionConfigL :: Lens_' CreateHookOption ((Map.Map String Text))+createHookOptionConfigL f CreateHookOption{..} = (\createHookOptionConfig -> CreateHookOption { createHookOptionConfig, ..} ) <$> f createHookOptionConfig+{-# INLINE createHookOptionConfigL #-}++-- | 'createHookOptionEvents' Lens+createHookOptionEventsL :: Lens_' CreateHookOption (Maybe [Text])+createHookOptionEventsL f CreateHookOption{..} = (\createHookOptionEvents -> CreateHookOption { createHookOptionEvents, ..} ) <$> f createHookOptionEvents+{-# INLINE createHookOptionEventsL #-}++-- | 'createHookOptionType' Lens+createHookOptionTypeL :: Lens_' CreateHookOption (E'Type)+createHookOptionTypeL f CreateHookOption{..} = (\createHookOptionType -> CreateHookOption { createHookOptionType, ..} ) <$> f createHookOptionType+{-# INLINE createHookOptionTypeL #-}++++-- * CreateIssueCommentOption++-- | 'createIssueCommentOptionBody' Lens+createIssueCommentOptionBodyL :: Lens_' CreateIssueCommentOption (Text)+createIssueCommentOptionBodyL f CreateIssueCommentOption{..} = (\createIssueCommentOptionBody -> CreateIssueCommentOption { createIssueCommentOptionBody, ..} ) <$> f createIssueCommentOptionBody+{-# INLINE createIssueCommentOptionBodyL #-}++++-- * CreateIssueOption++-- | 'createIssueOptionAssignee' Lens+createIssueOptionAssigneeL :: Lens_' CreateIssueOption (Maybe Text)+createIssueOptionAssigneeL f CreateIssueOption{..} = (\createIssueOptionAssignee -> CreateIssueOption { createIssueOptionAssignee, ..} ) <$> f createIssueOptionAssignee+{-# INLINE createIssueOptionAssigneeL #-}++-- | 'createIssueOptionAssignees' Lens+createIssueOptionAssigneesL :: Lens_' CreateIssueOption (Maybe [Text])+createIssueOptionAssigneesL f CreateIssueOption{..} = (\createIssueOptionAssignees -> CreateIssueOption { createIssueOptionAssignees, ..} ) <$> f createIssueOptionAssignees+{-# INLINE createIssueOptionAssigneesL #-}++-- | 'createIssueOptionBody' Lens+createIssueOptionBodyL :: Lens_' CreateIssueOption (Maybe Text)+createIssueOptionBodyL f CreateIssueOption{..} = (\createIssueOptionBody -> CreateIssueOption { createIssueOptionBody, ..} ) <$> f createIssueOptionBody+{-# INLINE createIssueOptionBodyL #-}++-- | 'createIssueOptionClosed' Lens+createIssueOptionClosedL :: Lens_' CreateIssueOption (Maybe Bool)+createIssueOptionClosedL f CreateIssueOption{..} = (\createIssueOptionClosed -> CreateIssueOption { createIssueOptionClosed, ..} ) <$> f createIssueOptionClosed+{-# INLINE createIssueOptionClosedL #-}++-- | 'createIssueOptionDueDate' Lens+createIssueOptionDueDateL :: Lens_' CreateIssueOption (Maybe DateTime)+createIssueOptionDueDateL f CreateIssueOption{..} = (\createIssueOptionDueDate -> CreateIssueOption { createIssueOptionDueDate, ..} ) <$> f createIssueOptionDueDate+{-# INLINE createIssueOptionDueDateL #-}++-- | 'createIssueOptionLabels' Lens+createIssueOptionLabelsL :: Lens_' CreateIssueOption (Maybe [Integer])+createIssueOptionLabelsL f CreateIssueOption{..} = (\createIssueOptionLabels -> CreateIssueOption { createIssueOptionLabels, ..} ) <$> f createIssueOptionLabels+{-# INLINE createIssueOptionLabelsL #-}++-- | 'createIssueOptionMilestone' Lens+createIssueOptionMilestoneL :: Lens_' CreateIssueOption (Maybe Integer)+createIssueOptionMilestoneL f CreateIssueOption{..} = (\createIssueOptionMilestone -> CreateIssueOption { createIssueOptionMilestone, ..} ) <$> f createIssueOptionMilestone+{-# INLINE createIssueOptionMilestoneL #-}++-- | 'createIssueOptionRef' Lens+createIssueOptionRefL :: Lens_' CreateIssueOption (Maybe Text)+createIssueOptionRefL f CreateIssueOption{..} = (\createIssueOptionRef -> CreateIssueOption { createIssueOptionRef, ..} ) <$> f createIssueOptionRef+{-# INLINE createIssueOptionRefL #-}++-- | 'createIssueOptionTitle' Lens+createIssueOptionTitleL :: Lens_' CreateIssueOption (Text)+createIssueOptionTitleL f CreateIssueOption{..} = (\createIssueOptionTitle -> CreateIssueOption { createIssueOptionTitle, ..} ) <$> f createIssueOptionTitle+{-# INLINE createIssueOptionTitleL #-}++++-- * CreateKeyOption++-- | 'createKeyOptionKey' Lens+createKeyOptionKeyL :: Lens_' CreateKeyOption (Text)+createKeyOptionKeyL f CreateKeyOption{..} = (\createKeyOptionKey -> CreateKeyOption { createKeyOptionKey, ..} ) <$> f createKeyOptionKey+{-# INLINE createKeyOptionKeyL #-}++-- | 'createKeyOptionReadOnly' Lens+createKeyOptionReadOnlyL :: Lens_' CreateKeyOption (Maybe Bool)+createKeyOptionReadOnlyL f CreateKeyOption{..} = (\createKeyOptionReadOnly -> CreateKeyOption { createKeyOptionReadOnly, ..} ) <$> f createKeyOptionReadOnly+{-# INLINE createKeyOptionReadOnlyL #-}++-- | 'createKeyOptionTitle' Lens+createKeyOptionTitleL :: Lens_' CreateKeyOption (Text)+createKeyOptionTitleL f CreateKeyOption{..} = (\createKeyOptionTitle -> CreateKeyOption { createKeyOptionTitle, ..} ) <$> f createKeyOptionTitle+{-# INLINE createKeyOptionTitleL #-}++++-- * CreateLabelOption++-- | 'createLabelOptionColor' Lens+createLabelOptionColorL :: Lens_' CreateLabelOption (Text)+createLabelOptionColorL f CreateLabelOption{..} = (\createLabelOptionColor -> CreateLabelOption { createLabelOptionColor, ..} ) <$> f createLabelOptionColor+{-# INLINE createLabelOptionColorL #-}++-- | 'createLabelOptionDescription' Lens+createLabelOptionDescriptionL :: Lens_' CreateLabelOption (Maybe Text)+createLabelOptionDescriptionL f CreateLabelOption{..} = (\createLabelOptionDescription -> CreateLabelOption { createLabelOptionDescription, ..} ) <$> f createLabelOptionDescription+{-# INLINE createLabelOptionDescriptionL #-}++-- | 'createLabelOptionExclusive' Lens+createLabelOptionExclusiveL :: Lens_' CreateLabelOption (Maybe Bool)+createLabelOptionExclusiveL f CreateLabelOption{..} = (\createLabelOptionExclusive -> CreateLabelOption { createLabelOptionExclusive, ..} ) <$> f createLabelOptionExclusive+{-# INLINE createLabelOptionExclusiveL #-}++-- | 'createLabelOptionName' Lens+createLabelOptionNameL :: Lens_' CreateLabelOption (Text)+createLabelOptionNameL f CreateLabelOption{..} = (\createLabelOptionName -> CreateLabelOption { createLabelOptionName, ..} ) <$> f createLabelOptionName+{-# INLINE createLabelOptionNameL #-}++++-- * CreateMilestoneOption++-- | 'createMilestoneOptionDescription' Lens+createMilestoneOptionDescriptionL :: Lens_' CreateMilestoneOption (Maybe Text)+createMilestoneOptionDescriptionL f CreateMilestoneOption{..} = (\createMilestoneOptionDescription -> CreateMilestoneOption { createMilestoneOptionDescription, ..} ) <$> f createMilestoneOptionDescription+{-# INLINE createMilestoneOptionDescriptionL #-}++-- | 'createMilestoneOptionDueOn' Lens+createMilestoneOptionDueOnL :: Lens_' CreateMilestoneOption (Maybe DateTime)+createMilestoneOptionDueOnL f CreateMilestoneOption{..} = (\createMilestoneOptionDueOn -> CreateMilestoneOption { createMilestoneOptionDueOn, ..} ) <$> f createMilestoneOptionDueOn+{-# INLINE createMilestoneOptionDueOnL #-}++-- | 'createMilestoneOptionState' Lens+createMilestoneOptionStateL :: Lens_' CreateMilestoneOption (Maybe E'State)+createMilestoneOptionStateL f CreateMilestoneOption{..} = (\createMilestoneOptionState -> CreateMilestoneOption { createMilestoneOptionState, ..} ) <$> f createMilestoneOptionState+{-# INLINE createMilestoneOptionStateL #-}++-- | 'createMilestoneOptionTitle' Lens+createMilestoneOptionTitleL :: Lens_' CreateMilestoneOption (Maybe Text)+createMilestoneOptionTitleL f CreateMilestoneOption{..} = (\createMilestoneOptionTitle -> CreateMilestoneOption { createMilestoneOptionTitle, ..} ) <$> f createMilestoneOptionTitle+{-# INLINE createMilestoneOptionTitleL #-}++++-- * CreateOAuth2ApplicationOptions++-- | 'createOAuth2ApplicationOptionsConfidentialClient' Lens+createOAuth2ApplicationOptionsConfidentialClientL :: Lens_' CreateOAuth2ApplicationOptions (Maybe Bool)+createOAuth2ApplicationOptionsConfidentialClientL f CreateOAuth2ApplicationOptions{..} = (\createOAuth2ApplicationOptionsConfidentialClient -> CreateOAuth2ApplicationOptions { createOAuth2ApplicationOptionsConfidentialClient, ..} ) <$> f createOAuth2ApplicationOptionsConfidentialClient+{-# INLINE createOAuth2ApplicationOptionsConfidentialClientL #-}++-- | 'createOAuth2ApplicationOptionsName' Lens+createOAuth2ApplicationOptionsNameL :: Lens_' CreateOAuth2ApplicationOptions (Maybe Text)+createOAuth2ApplicationOptionsNameL f CreateOAuth2ApplicationOptions{..} = (\createOAuth2ApplicationOptionsName -> CreateOAuth2ApplicationOptions { createOAuth2ApplicationOptionsName, ..} ) <$> f createOAuth2ApplicationOptionsName+{-# INLINE createOAuth2ApplicationOptionsNameL #-}++-- | 'createOAuth2ApplicationOptionsRedirectUris' Lens+createOAuth2ApplicationOptionsRedirectUrisL :: Lens_' CreateOAuth2ApplicationOptions (Maybe [Text])+createOAuth2ApplicationOptionsRedirectUrisL f CreateOAuth2ApplicationOptions{..} = (\createOAuth2ApplicationOptionsRedirectUris -> CreateOAuth2ApplicationOptions { createOAuth2ApplicationOptionsRedirectUris, ..} ) <$> f createOAuth2ApplicationOptionsRedirectUris+{-# INLINE createOAuth2ApplicationOptionsRedirectUrisL #-}++++-- * CreateOrgOption++-- | 'createOrgOptionDescription' Lens+createOrgOptionDescriptionL :: Lens_' CreateOrgOption (Maybe Text)+createOrgOptionDescriptionL f CreateOrgOption{..} = (\createOrgOptionDescription -> CreateOrgOption { createOrgOptionDescription, ..} ) <$> f createOrgOptionDescription+{-# INLINE createOrgOptionDescriptionL #-}++-- | 'createOrgOptionFullName' Lens+createOrgOptionFullNameL :: Lens_' CreateOrgOption (Maybe Text)+createOrgOptionFullNameL f CreateOrgOption{..} = (\createOrgOptionFullName -> CreateOrgOption { createOrgOptionFullName, ..} ) <$> f createOrgOptionFullName+{-# INLINE createOrgOptionFullNameL #-}++-- | 'createOrgOptionLocation' Lens+createOrgOptionLocationL :: Lens_' CreateOrgOption (Maybe Text)+createOrgOptionLocationL f CreateOrgOption{..} = (\createOrgOptionLocation -> CreateOrgOption { createOrgOptionLocation, ..} ) <$> f createOrgOptionLocation+{-# INLINE createOrgOptionLocationL #-}++-- | 'createOrgOptionRepoAdminChangeTeamAccess' Lens+createOrgOptionRepoAdminChangeTeamAccessL :: Lens_' CreateOrgOption (Maybe Bool)+createOrgOptionRepoAdminChangeTeamAccessL f CreateOrgOption{..} = (\createOrgOptionRepoAdminChangeTeamAccess -> CreateOrgOption { createOrgOptionRepoAdminChangeTeamAccess, ..} ) <$> f createOrgOptionRepoAdminChangeTeamAccess+{-# INLINE createOrgOptionRepoAdminChangeTeamAccessL #-}++-- | 'createOrgOptionUsername' Lens+createOrgOptionUsernameL :: Lens_' CreateOrgOption (Text)+createOrgOptionUsernameL f CreateOrgOption{..} = (\createOrgOptionUsername -> CreateOrgOption { createOrgOptionUsername, ..} ) <$> f createOrgOptionUsername+{-# INLINE createOrgOptionUsernameL #-}++-- | 'createOrgOptionVisibility' Lens+createOrgOptionVisibilityL :: Lens_' CreateOrgOption (Maybe E'Visibility)+createOrgOptionVisibilityL f CreateOrgOption{..} = (\createOrgOptionVisibility -> CreateOrgOption { createOrgOptionVisibility, ..} ) <$> f createOrgOptionVisibility+{-# INLINE createOrgOptionVisibilityL #-}++-- | 'createOrgOptionWebsite' Lens+createOrgOptionWebsiteL :: Lens_' CreateOrgOption (Maybe Text)+createOrgOptionWebsiteL f CreateOrgOption{..} = (\createOrgOptionWebsite -> CreateOrgOption { createOrgOptionWebsite, ..} ) <$> f createOrgOptionWebsite+{-# INLINE createOrgOptionWebsiteL #-}++++-- * CreatePullRequestOption++-- | 'createPullRequestOptionAssignee' Lens+createPullRequestOptionAssigneeL :: Lens_' CreatePullRequestOption (Maybe Text)+createPullRequestOptionAssigneeL f CreatePullRequestOption{..} = (\createPullRequestOptionAssignee -> CreatePullRequestOption { createPullRequestOptionAssignee, ..} ) <$> f createPullRequestOptionAssignee+{-# INLINE createPullRequestOptionAssigneeL #-}++-- | 'createPullRequestOptionAssignees' Lens+createPullRequestOptionAssigneesL :: Lens_' CreatePullRequestOption (Maybe [Text])+createPullRequestOptionAssigneesL f CreatePullRequestOption{..} = (\createPullRequestOptionAssignees -> CreatePullRequestOption { createPullRequestOptionAssignees, ..} ) <$> f createPullRequestOptionAssignees+{-# INLINE createPullRequestOptionAssigneesL #-}++-- | 'createPullRequestOptionBase' Lens+createPullRequestOptionBaseL :: Lens_' CreatePullRequestOption (Maybe Text)+createPullRequestOptionBaseL f CreatePullRequestOption{..} = (\createPullRequestOptionBase -> CreatePullRequestOption { createPullRequestOptionBase, ..} ) <$> f createPullRequestOptionBase+{-# INLINE createPullRequestOptionBaseL #-}++-- | 'createPullRequestOptionBody' Lens+createPullRequestOptionBodyL :: Lens_' CreatePullRequestOption (Maybe Text)+createPullRequestOptionBodyL f CreatePullRequestOption{..} = (\createPullRequestOptionBody -> CreatePullRequestOption { createPullRequestOptionBody, ..} ) <$> f createPullRequestOptionBody+{-# INLINE createPullRequestOptionBodyL #-}++-- | 'createPullRequestOptionDueDate' Lens+createPullRequestOptionDueDateL :: Lens_' CreatePullRequestOption (Maybe DateTime)+createPullRequestOptionDueDateL f CreatePullRequestOption{..} = (\createPullRequestOptionDueDate -> CreatePullRequestOption { createPullRequestOptionDueDate, ..} ) <$> f createPullRequestOptionDueDate+{-# INLINE createPullRequestOptionDueDateL #-}++-- | 'createPullRequestOptionHead' Lens+createPullRequestOptionHeadL :: Lens_' CreatePullRequestOption (Maybe Text)+createPullRequestOptionHeadL f CreatePullRequestOption{..} = (\createPullRequestOptionHead -> CreatePullRequestOption { createPullRequestOptionHead, ..} ) <$> f createPullRequestOptionHead+{-# INLINE createPullRequestOptionHeadL #-}++-- | 'createPullRequestOptionLabels' Lens+createPullRequestOptionLabelsL :: Lens_' CreatePullRequestOption (Maybe [Integer])+createPullRequestOptionLabelsL f CreatePullRequestOption{..} = (\createPullRequestOptionLabels -> CreatePullRequestOption { createPullRequestOptionLabels, ..} ) <$> f createPullRequestOptionLabels+{-# INLINE createPullRequestOptionLabelsL #-}++-- | 'createPullRequestOptionMilestone' Lens+createPullRequestOptionMilestoneL :: Lens_' CreatePullRequestOption (Maybe Integer)+createPullRequestOptionMilestoneL f CreatePullRequestOption{..} = (\createPullRequestOptionMilestone -> CreatePullRequestOption { createPullRequestOptionMilestone, ..} ) <$> f createPullRequestOptionMilestone+{-# INLINE createPullRequestOptionMilestoneL #-}++-- | 'createPullRequestOptionTitle' Lens+createPullRequestOptionTitleL :: Lens_' CreatePullRequestOption (Maybe Text)+createPullRequestOptionTitleL f CreatePullRequestOption{..} = (\createPullRequestOptionTitle -> CreatePullRequestOption { createPullRequestOptionTitle, ..} ) <$> f createPullRequestOptionTitle+{-# INLINE createPullRequestOptionTitleL #-}++++-- * CreatePullReviewComment++-- | 'createPullReviewCommentBody' Lens+createPullReviewCommentBodyL :: Lens_' CreatePullReviewComment (Maybe Text)+createPullReviewCommentBodyL f CreatePullReviewComment{..} = (\createPullReviewCommentBody -> CreatePullReviewComment { createPullReviewCommentBody, ..} ) <$> f createPullReviewCommentBody+{-# INLINE createPullReviewCommentBodyL #-}++-- | 'createPullReviewCommentNewPosition' Lens+createPullReviewCommentNewPositionL :: Lens_' CreatePullReviewComment (Maybe Integer)+createPullReviewCommentNewPositionL f CreatePullReviewComment{..} = (\createPullReviewCommentNewPosition -> CreatePullReviewComment { createPullReviewCommentNewPosition, ..} ) <$> f createPullReviewCommentNewPosition+{-# INLINE createPullReviewCommentNewPositionL #-}++-- | 'createPullReviewCommentOldPosition' Lens+createPullReviewCommentOldPositionL :: Lens_' CreatePullReviewComment (Maybe Integer)+createPullReviewCommentOldPositionL f CreatePullReviewComment{..} = (\createPullReviewCommentOldPosition -> CreatePullReviewComment { createPullReviewCommentOldPosition, ..} ) <$> f createPullReviewCommentOldPosition+{-# INLINE createPullReviewCommentOldPositionL #-}++-- | 'createPullReviewCommentPath' Lens+createPullReviewCommentPathL :: Lens_' CreatePullReviewComment (Maybe Text)+createPullReviewCommentPathL f CreatePullReviewComment{..} = (\createPullReviewCommentPath -> CreatePullReviewComment { createPullReviewCommentPath, ..} ) <$> f createPullReviewCommentPath+{-# INLINE createPullReviewCommentPathL #-}++++-- * CreatePullReviewOptions++-- | 'createPullReviewOptionsBody' Lens+createPullReviewOptionsBodyL :: Lens_' CreatePullReviewOptions (Maybe Text)+createPullReviewOptionsBodyL f CreatePullReviewOptions{..} = (\createPullReviewOptionsBody -> CreatePullReviewOptions { createPullReviewOptionsBody, ..} ) <$> f createPullReviewOptionsBody+{-# INLINE createPullReviewOptionsBodyL #-}++-- | 'createPullReviewOptionsComments' Lens+createPullReviewOptionsCommentsL :: Lens_' CreatePullReviewOptions (Maybe [CreatePullReviewComment])+createPullReviewOptionsCommentsL f CreatePullReviewOptions{..} = (\createPullReviewOptionsComments -> CreatePullReviewOptions { createPullReviewOptionsComments, ..} ) <$> f createPullReviewOptionsComments+{-# INLINE createPullReviewOptionsCommentsL #-}++-- | 'createPullReviewOptionsCommitId' Lens+createPullReviewOptionsCommitIdL :: Lens_' CreatePullReviewOptions (Maybe Text)+createPullReviewOptionsCommitIdL f CreatePullReviewOptions{..} = (\createPullReviewOptionsCommitId -> CreatePullReviewOptions { createPullReviewOptionsCommitId, ..} ) <$> f createPullReviewOptionsCommitId+{-# INLINE createPullReviewOptionsCommitIdL #-}++-- | 'createPullReviewOptionsEvent' Lens+createPullReviewOptionsEventL :: Lens_' CreatePullReviewOptions (Maybe Text)+createPullReviewOptionsEventL f CreatePullReviewOptions{..} = (\createPullReviewOptionsEvent -> CreatePullReviewOptions { createPullReviewOptionsEvent, ..} ) <$> f createPullReviewOptionsEvent+{-# INLINE createPullReviewOptionsEventL #-}++++-- * CreatePushMirrorOption++-- | 'createPushMirrorOptionInterval' Lens+createPushMirrorOptionIntervalL :: Lens_' CreatePushMirrorOption (Maybe Text)+createPushMirrorOptionIntervalL f CreatePushMirrorOption{..} = (\createPushMirrorOptionInterval -> CreatePushMirrorOption { createPushMirrorOptionInterval, ..} ) <$> f createPushMirrorOptionInterval+{-# INLINE createPushMirrorOptionIntervalL #-}++-- | 'createPushMirrorOptionRemoteAddress' Lens+createPushMirrorOptionRemoteAddressL :: Lens_' CreatePushMirrorOption (Maybe Text)+createPushMirrorOptionRemoteAddressL f CreatePushMirrorOption{..} = (\createPushMirrorOptionRemoteAddress -> CreatePushMirrorOption { createPushMirrorOptionRemoteAddress, ..} ) <$> f createPushMirrorOptionRemoteAddress+{-# INLINE createPushMirrorOptionRemoteAddressL #-}++-- | 'createPushMirrorOptionRemotePassword' Lens+createPushMirrorOptionRemotePasswordL :: Lens_' CreatePushMirrorOption (Maybe Text)+createPushMirrorOptionRemotePasswordL f CreatePushMirrorOption{..} = (\createPushMirrorOptionRemotePassword -> CreatePushMirrorOption { createPushMirrorOptionRemotePassword, ..} ) <$> f createPushMirrorOptionRemotePassword+{-# INLINE createPushMirrorOptionRemotePasswordL #-}++-- | 'createPushMirrorOptionRemoteUsername' Lens+createPushMirrorOptionRemoteUsernameL :: Lens_' CreatePushMirrorOption (Maybe Text)+createPushMirrorOptionRemoteUsernameL f CreatePushMirrorOption{..} = (\createPushMirrorOptionRemoteUsername -> CreatePushMirrorOption { createPushMirrorOptionRemoteUsername, ..} ) <$> f createPushMirrorOptionRemoteUsername+{-# INLINE createPushMirrorOptionRemoteUsernameL #-}++-- | 'createPushMirrorOptionSyncOnCommit' Lens+createPushMirrorOptionSyncOnCommitL :: Lens_' CreatePushMirrorOption (Maybe Bool)+createPushMirrorOptionSyncOnCommitL f CreatePushMirrorOption{..} = (\createPushMirrorOptionSyncOnCommit -> CreatePushMirrorOption { createPushMirrorOptionSyncOnCommit, ..} ) <$> f createPushMirrorOptionSyncOnCommit+{-# INLINE createPushMirrorOptionSyncOnCommitL #-}++++-- * CreateReleaseOption++-- | 'createReleaseOptionBody' Lens+createReleaseOptionBodyL :: Lens_' CreateReleaseOption (Maybe Text)+createReleaseOptionBodyL f CreateReleaseOption{..} = (\createReleaseOptionBody -> CreateReleaseOption { createReleaseOptionBody, ..} ) <$> f createReleaseOptionBody+{-# INLINE createReleaseOptionBodyL #-}++-- | 'createReleaseOptionDraft' Lens+createReleaseOptionDraftL :: Lens_' CreateReleaseOption (Maybe Bool)+createReleaseOptionDraftL f CreateReleaseOption{..} = (\createReleaseOptionDraft -> CreateReleaseOption { createReleaseOptionDraft, ..} ) <$> f createReleaseOptionDraft+{-# INLINE createReleaseOptionDraftL #-}++-- | 'createReleaseOptionName' Lens+createReleaseOptionNameL :: Lens_' CreateReleaseOption (Maybe Text)+createReleaseOptionNameL f CreateReleaseOption{..} = (\createReleaseOptionName -> CreateReleaseOption { createReleaseOptionName, ..} ) <$> f createReleaseOptionName+{-# INLINE createReleaseOptionNameL #-}++-- | 'createReleaseOptionPrerelease' Lens+createReleaseOptionPrereleaseL :: Lens_' CreateReleaseOption (Maybe Bool)+createReleaseOptionPrereleaseL f CreateReleaseOption{..} = (\createReleaseOptionPrerelease -> CreateReleaseOption { createReleaseOptionPrerelease, ..} ) <$> f createReleaseOptionPrerelease+{-# INLINE createReleaseOptionPrereleaseL #-}++-- | 'createReleaseOptionTagName' Lens+createReleaseOptionTagNameL :: Lens_' CreateReleaseOption (Text)+createReleaseOptionTagNameL f CreateReleaseOption{..} = (\createReleaseOptionTagName -> CreateReleaseOption { createReleaseOptionTagName, ..} ) <$> f createReleaseOptionTagName+{-# INLINE createReleaseOptionTagNameL #-}++-- | 'createReleaseOptionTargetCommitish' Lens+createReleaseOptionTargetCommitishL :: Lens_' CreateReleaseOption (Maybe Text)+createReleaseOptionTargetCommitishL f CreateReleaseOption{..} = (\createReleaseOptionTargetCommitish -> CreateReleaseOption { createReleaseOptionTargetCommitish, ..} ) <$> f createReleaseOptionTargetCommitish+{-# INLINE createReleaseOptionTargetCommitishL #-}++++-- * CreateRepoOption++-- | 'createRepoOptionAutoInit' Lens+createRepoOptionAutoInitL :: Lens_' CreateRepoOption (Maybe Bool)+createRepoOptionAutoInitL f CreateRepoOption{..} = (\createRepoOptionAutoInit -> CreateRepoOption { createRepoOptionAutoInit, ..} ) <$> f createRepoOptionAutoInit+{-# INLINE createRepoOptionAutoInitL #-}++-- | 'createRepoOptionDefaultBranch' Lens+createRepoOptionDefaultBranchL :: Lens_' CreateRepoOption (Maybe Text)+createRepoOptionDefaultBranchL f CreateRepoOption{..} = (\createRepoOptionDefaultBranch -> CreateRepoOption { createRepoOptionDefaultBranch, ..} ) <$> f createRepoOptionDefaultBranch+{-# INLINE createRepoOptionDefaultBranchL #-}++-- | 'createRepoOptionDescription' Lens+createRepoOptionDescriptionL :: Lens_' CreateRepoOption (Maybe Text)+createRepoOptionDescriptionL f CreateRepoOption{..} = (\createRepoOptionDescription -> CreateRepoOption { createRepoOptionDescription, ..} ) <$> f createRepoOptionDescription+{-# INLINE createRepoOptionDescriptionL #-}++-- | 'createRepoOptionGitignores' Lens+createRepoOptionGitignoresL :: Lens_' CreateRepoOption (Maybe Text)+createRepoOptionGitignoresL f CreateRepoOption{..} = (\createRepoOptionGitignores -> CreateRepoOption { createRepoOptionGitignores, ..} ) <$> f createRepoOptionGitignores+{-# INLINE createRepoOptionGitignoresL #-}++-- | 'createRepoOptionIssueLabels' Lens+createRepoOptionIssueLabelsL :: Lens_' CreateRepoOption (Maybe Text)+createRepoOptionIssueLabelsL f CreateRepoOption{..} = (\createRepoOptionIssueLabels -> CreateRepoOption { createRepoOptionIssueLabels, ..} ) <$> f createRepoOptionIssueLabels+{-# INLINE createRepoOptionIssueLabelsL #-}++-- | 'createRepoOptionLicense' Lens+createRepoOptionLicenseL :: Lens_' CreateRepoOption (Maybe Text)+createRepoOptionLicenseL f CreateRepoOption{..} = (\createRepoOptionLicense -> CreateRepoOption { createRepoOptionLicense, ..} ) <$> f createRepoOptionLicense+{-# INLINE createRepoOptionLicenseL #-}++-- | 'createRepoOptionName' Lens+createRepoOptionNameL :: Lens_' CreateRepoOption (Text)+createRepoOptionNameL f CreateRepoOption{..} = (\createRepoOptionName -> CreateRepoOption { createRepoOptionName, ..} ) <$> f createRepoOptionName+{-# INLINE createRepoOptionNameL #-}++-- | 'createRepoOptionPrivate' Lens+createRepoOptionPrivateL :: Lens_' CreateRepoOption (Maybe Bool)+createRepoOptionPrivateL f CreateRepoOption{..} = (\createRepoOptionPrivate -> CreateRepoOption { createRepoOptionPrivate, ..} ) <$> f createRepoOptionPrivate+{-# INLINE createRepoOptionPrivateL #-}++-- | 'createRepoOptionReadme' Lens+createRepoOptionReadmeL :: Lens_' CreateRepoOption (Maybe Text)+createRepoOptionReadmeL f CreateRepoOption{..} = (\createRepoOptionReadme -> CreateRepoOption { createRepoOptionReadme, ..} ) <$> f createRepoOptionReadme+{-# INLINE createRepoOptionReadmeL #-}++-- | 'createRepoOptionTemplate' Lens+createRepoOptionTemplateL :: Lens_' CreateRepoOption (Maybe Bool)+createRepoOptionTemplateL f CreateRepoOption{..} = (\createRepoOptionTemplate -> CreateRepoOption { createRepoOptionTemplate, ..} ) <$> f createRepoOptionTemplate+{-# INLINE createRepoOptionTemplateL #-}++-- | 'createRepoOptionTrustModel' Lens+createRepoOptionTrustModelL :: Lens_' CreateRepoOption (Maybe E'TrustModel)+createRepoOptionTrustModelL f CreateRepoOption{..} = (\createRepoOptionTrustModel -> CreateRepoOption { createRepoOptionTrustModel, ..} ) <$> f createRepoOptionTrustModel+{-# INLINE createRepoOptionTrustModelL #-}++++-- * CreateStatusOption++-- | 'createStatusOptionContext' Lens+createStatusOptionContextL :: Lens_' CreateStatusOption (Maybe Text)+createStatusOptionContextL f CreateStatusOption{..} = (\createStatusOptionContext -> CreateStatusOption { createStatusOptionContext, ..} ) <$> f createStatusOptionContext+{-# INLINE createStatusOptionContextL #-}++-- | 'createStatusOptionDescription' Lens+createStatusOptionDescriptionL :: Lens_' CreateStatusOption (Maybe Text)+createStatusOptionDescriptionL f CreateStatusOption{..} = (\createStatusOptionDescription -> CreateStatusOption { createStatusOptionDescription, ..} ) <$> f createStatusOptionDescription+{-# INLINE createStatusOptionDescriptionL #-}++-- | 'createStatusOptionState' Lens+createStatusOptionStateL :: Lens_' CreateStatusOption (Maybe Text)+createStatusOptionStateL f CreateStatusOption{..} = (\createStatusOptionState -> CreateStatusOption { createStatusOptionState, ..} ) <$> f createStatusOptionState+{-# INLINE createStatusOptionStateL #-}++-- | 'createStatusOptionTargetUrl' Lens+createStatusOptionTargetUrlL :: Lens_' CreateStatusOption (Maybe Text)+createStatusOptionTargetUrlL f CreateStatusOption{..} = (\createStatusOptionTargetUrl -> CreateStatusOption { createStatusOptionTargetUrl, ..} ) <$> f createStatusOptionTargetUrl+{-# INLINE createStatusOptionTargetUrlL #-}++++-- * CreateTagOption++-- | 'createTagOptionMessage' Lens+createTagOptionMessageL :: Lens_' CreateTagOption (Maybe Text)+createTagOptionMessageL f CreateTagOption{..} = (\createTagOptionMessage -> CreateTagOption { createTagOptionMessage, ..} ) <$> f createTagOptionMessage+{-# INLINE createTagOptionMessageL #-}++-- | 'createTagOptionTagName' Lens+createTagOptionTagNameL :: Lens_' CreateTagOption (Text)+createTagOptionTagNameL f CreateTagOption{..} = (\createTagOptionTagName -> CreateTagOption { createTagOptionTagName, ..} ) <$> f createTagOptionTagName+{-# INLINE createTagOptionTagNameL #-}++-- | 'createTagOptionTarget' Lens+createTagOptionTargetL :: Lens_' CreateTagOption (Maybe Text)+createTagOptionTargetL f CreateTagOption{..} = (\createTagOptionTarget -> CreateTagOption { createTagOptionTarget, ..} ) <$> f createTagOptionTarget+{-# INLINE createTagOptionTargetL #-}++++-- * CreateTeamOption++-- | 'createTeamOptionCanCreateOrgRepo' Lens+createTeamOptionCanCreateOrgRepoL :: Lens_' CreateTeamOption (Maybe Bool)+createTeamOptionCanCreateOrgRepoL f CreateTeamOption{..} = (\createTeamOptionCanCreateOrgRepo -> CreateTeamOption { createTeamOptionCanCreateOrgRepo, ..} ) <$> f createTeamOptionCanCreateOrgRepo+{-# INLINE createTeamOptionCanCreateOrgRepoL #-}++-- | 'createTeamOptionDescription' Lens+createTeamOptionDescriptionL :: Lens_' CreateTeamOption (Maybe Text)+createTeamOptionDescriptionL f CreateTeamOption{..} = (\createTeamOptionDescription -> CreateTeamOption { createTeamOptionDescription, ..} ) <$> f createTeamOptionDescription+{-# INLINE createTeamOptionDescriptionL #-}++-- | 'createTeamOptionIncludesAllRepositories' Lens+createTeamOptionIncludesAllRepositoriesL :: Lens_' CreateTeamOption (Maybe Bool)+createTeamOptionIncludesAllRepositoriesL f CreateTeamOption{..} = (\createTeamOptionIncludesAllRepositories -> CreateTeamOption { createTeamOptionIncludesAllRepositories, ..} ) <$> f createTeamOptionIncludesAllRepositories+{-# INLINE createTeamOptionIncludesAllRepositoriesL #-}++-- | 'createTeamOptionName' Lens+createTeamOptionNameL :: Lens_' CreateTeamOption (Text)+createTeamOptionNameL f CreateTeamOption{..} = (\createTeamOptionName -> CreateTeamOption { createTeamOptionName, ..} ) <$> f createTeamOptionName+{-# INLINE createTeamOptionNameL #-}++-- | 'createTeamOptionPermission' Lens+createTeamOptionPermissionL :: Lens_' CreateTeamOption (Maybe E'Permission)+createTeamOptionPermissionL f CreateTeamOption{..} = (\createTeamOptionPermission -> CreateTeamOption { createTeamOptionPermission, ..} ) <$> f createTeamOptionPermission+{-# INLINE createTeamOptionPermissionL #-}++-- | 'createTeamOptionUnits' Lens+createTeamOptionUnitsL :: Lens_' CreateTeamOption (Maybe [Text])+createTeamOptionUnitsL f CreateTeamOption{..} = (\createTeamOptionUnits -> CreateTeamOption { createTeamOptionUnits, ..} ) <$> f createTeamOptionUnits+{-# INLINE createTeamOptionUnitsL #-}++-- | 'createTeamOptionUnitsMap' Lens+createTeamOptionUnitsMapL :: Lens_' CreateTeamOption (Maybe (Map.Map String Text))+createTeamOptionUnitsMapL f CreateTeamOption{..} = (\createTeamOptionUnitsMap -> CreateTeamOption { createTeamOptionUnitsMap, ..} ) <$> f createTeamOptionUnitsMap+{-# INLINE createTeamOptionUnitsMapL #-}++++-- * CreateUserOption++-- | 'createUserOptionCreatedAt' Lens+createUserOptionCreatedAtL :: Lens_' CreateUserOption (Maybe DateTime)+createUserOptionCreatedAtL f CreateUserOption{..} = (\createUserOptionCreatedAt -> CreateUserOption { createUserOptionCreatedAt, ..} ) <$> f createUserOptionCreatedAt+{-# INLINE createUserOptionCreatedAtL #-}++-- | 'createUserOptionEmail' Lens+createUserOptionEmailL :: Lens_' CreateUserOption (Text)+createUserOptionEmailL f CreateUserOption{..} = (\createUserOptionEmail -> CreateUserOption { createUserOptionEmail, ..} ) <$> f createUserOptionEmail+{-# INLINE createUserOptionEmailL #-}++-- | 'createUserOptionFullName' Lens+createUserOptionFullNameL :: Lens_' CreateUserOption (Maybe Text)+createUserOptionFullNameL f CreateUserOption{..} = (\createUserOptionFullName -> CreateUserOption { createUserOptionFullName, ..} ) <$> f createUserOptionFullName+{-# INLINE createUserOptionFullNameL #-}++-- | 'createUserOptionLoginName' Lens+createUserOptionLoginNameL :: Lens_' CreateUserOption (Maybe Text)+createUserOptionLoginNameL f CreateUserOption{..} = (\createUserOptionLoginName -> CreateUserOption { createUserOptionLoginName, ..} ) <$> f createUserOptionLoginName+{-# INLINE createUserOptionLoginNameL #-}++-- | 'createUserOptionMustChangePassword' Lens+createUserOptionMustChangePasswordL :: Lens_' CreateUserOption (Maybe Bool)+createUserOptionMustChangePasswordL f CreateUserOption{..} = (\createUserOptionMustChangePassword -> CreateUserOption { createUserOptionMustChangePassword, ..} ) <$> f createUserOptionMustChangePassword+{-# INLINE createUserOptionMustChangePasswordL #-}++-- | 'createUserOptionPassword' Lens+createUserOptionPasswordL :: Lens_' CreateUserOption (Text)+createUserOptionPasswordL f CreateUserOption{..} = (\createUserOptionPassword -> CreateUserOption { createUserOptionPassword, ..} ) <$> f createUserOptionPassword+{-# INLINE createUserOptionPasswordL #-}++-- | 'createUserOptionRestricted' Lens+createUserOptionRestrictedL :: Lens_' CreateUserOption (Maybe Bool)+createUserOptionRestrictedL f CreateUserOption{..} = (\createUserOptionRestricted -> CreateUserOption { createUserOptionRestricted, ..} ) <$> f createUserOptionRestricted+{-# INLINE createUserOptionRestrictedL #-}++-- | 'createUserOptionSendNotify' Lens+createUserOptionSendNotifyL :: Lens_' CreateUserOption (Maybe Bool)+createUserOptionSendNotifyL f CreateUserOption{..} = (\createUserOptionSendNotify -> CreateUserOption { createUserOptionSendNotify, ..} ) <$> f createUserOptionSendNotify+{-# INLINE createUserOptionSendNotifyL #-}++-- | 'createUserOptionSourceId' Lens+createUserOptionSourceIdL :: Lens_' CreateUserOption (Maybe Integer)+createUserOptionSourceIdL f CreateUserOption{..} = (\createUserOptionSourceId -> CreateUserOption { createUserOptionSourceId, ..} ) <$> f createUserOptionSourceId+{-# INLINE createUserOptionSourceIdL #-}++-- | 'createUserOptionUsername' Lens+createUserOptionUsernameL :: Lens_' CreateUserOption (Text)+createUserOptionUsernameL f CreateUserOption{..} = (\createUserOptionUsername -> CreateUserOption { createUserOptionUsername, ..} ) <$> f createUserOptionUsername+{-# INLINE createUserOptionUsernameL #-}++-- | 'createUserOptionVisibility' Lens+createUserOptionVisibilityL :: Lens_' CreateUserOption (Maybe Text)+createUserOptionVisibilityL f CreateUserOption{..} = (\createUserOptionVisibility -> CreateUserOption { createUserOptionVisibility, ..} ) <$> f createUserOptionVisibility+{-# INLINE createUserOptionVisibilityL #-}++++-- * CreateWikiPageOptions++-- | 'createWikiPageOptionsContentBase64' Lens+createWikiPageOptionsContentBase64L :: Lens_' CreateWikiPageOptions (Maybe Text)+createWikiPageOptionsContentBase64L f CreateWikiPageOptions{..} = (\createWikiPageOptionsContentBase64 -> CreateWikiPageOptions { createWikiPageOptionsContentBase64, ..} ) <$> f createWikiPageOptionsContentBase64+{-# INLINE createWikiPageOptionsContentBase64L #-}++-- | 'createWikiPageOptionsMessage' Lens+createWikiPageOptionsMessageL :: Lens_' CreateWikiPageOptions (Maybe Text)+createWikiPageOptionsMessageL f CreateWikiPageOptions{..} = (\createWikiPageOptionsMessage -> CreateWikiPageOptions { createWikiPageOptionsMessage, ..} ) <$> f createWikiPageOptionsMessage+{-# INLINE createWikiPageOptionsMessageL #-}++-- | 'createWikiPageOptionsTitle' Lens+createWikiPageOptionsTitleL :: Lens_' CreateWikiPageOptions (Maybe Text)+createWikiPageOptionsTitleL f CreateWikiPageOptions{..} = (\createWikiPageOptionsTitle -> CreateWikiPageOptions { createWikiPageOptionsTitle, ..} ) <$> f createWikiPageOptionsTitle+{-# INLINE createWikiPageOptionsTitleL #-}++++-- * Cron++-- | 'cronExecTimes' Lens+cronExecTimesL :: Lens_' Cron (Maybe Integer)+cronExecTimesL f Cron{..} = (\cronExecTimes -> Cron { cronExecTimes, ..} ) <$> f cronExecTimes+{-# INLINE cronExecTimesL #-}++-- | 'cronName' Lens+cronNameL :: Lens_' Cron (Maybe Text)+cronNameL f Cron{..} = (\cronName -> Cron { cronName, ..} ) <$> f cronName+{-# INLINE cronNameL #-}++-- | 'cronNext' Lens+cronNextL :: Lens_' Cron (Maybe DateTime)+cronNextL f Cron{..} = (\cronNext -> Cron { cronNext, ..} ) <$> f cronNext+{-# INLINE cronNextL #-}++-- | 'cronPrev' Lens+cronPrevL :: Lens_' Cron (Maybe DateTime)+cronPrevL f Cron{..} = (\cronPrev -> Cron { cronPrev, ..} ) <$> f cronPrev+{-# INLINE cronPrevL #-}++-- | 'cronSchedule' Lens+cronScheduleL :: Lens_' Cron (Maybe Text)+cronScheduleL f Cron{..} = (\cronSchedule -> Cron { cronSchedule, ..} ) <$> f cronSchedule+{-# INLINE cronScheduleL #-}++++-- * DeleteEmailOption++-- | 'deleteEmailOptionEmails' Lens+deleteEmailOptionEmailsL :: Lens_' DeleteEmailOption (Maybe [Text])+deleteEmailOptionEmailsL f DeleteEmailOption{..} = (\deleteEmailOptionEmails -> DeleteEmailOption { deleteEmailOptionEmails, ..} ) <$> f deleteEmailOptionEmails+{-# INLINE deleteEmailOptionEmailsL #-}++++-- * DeleteFileOptions++-- | 'deleteFileOptionsAuthor' Lens+deleteFileOptionsAuthorL :: Lens_' DeleteFileOptions (Maybe Identity)+deleteFileOptionsAuthorL f DeleteFileOptions{..} = (\deleteFileOptionsAuthor -> DeleteFileOptions { deleteFileOptionsAuthor, ..} ) <$> f deleteFileOptionsAuthor+{-# INLINE deleteFileOptionsAuthorL #-}++-- | 'deleteFileOptionsBranch' Lens+deleteFileOptionsBranchL :: Lens_' DeleteFileOptions (Maybe Text)+deleteFileOptionsBranchL f DeleteFileOptions{..} = (\deleteFileOptionsBranch -> DeleteFileOptions { deleteFileOptionsBranch, ..} ) <$> f deleteFileOptionsBranch+{-# INLINE deleteFileOptionsBranchL #-}++-- | 'deleteFileOptionsCommitter' Lens+deleteFileOptionsCommitterL :: Lens_' DeleteFileOptions (Maybe Identity)+deleteFileOptionsCommitterL f DeleteFileOptions{..} = (\deleteFileOptionsCommitter -> DeleteFileOptions { deleteFileOptionsCommitter, ..} ) <$> f deleteFileOptionsCommitter+{-# INLINE deleteFileOptionsCommitterL #-}++-- | 'deleteFileOptionsDates' Lens+deleteFileOptionsDatesL :: Lens_' DeleteFileOptions (Maybe CommitDateOptions)+deleteFileOptionsDatesL f DeleteFileOptions{..} = (\deleteFileOptionsDates -> DeleteFileOptions { deleteFileOptionsDates, ..} ) <$> f deleteFileOptionsDates+{-# INLINE deleteFileOptionsDatesL #-}++-- | 'deleteFileOptionsMessage' Lens+deleteFileOptionsMessageL :: Lens_' DeleteFileOptions (Maybe Text)+deleteFileOptionsMessageL f DeleteFileOptions{..} = (\deleteFileOptionsMessage -> DeleteFileOptions { deleteFileOptionsMessage, ..} ) <$> f deleteFileOptionsMessage+{-# INLINE deleteFileOptionsMessageL #-}++-- | 'deleteFileOptionsNewBranch' Lens+deleteFileOptionsNewBranchL :: Lens_' DeleteFileOptions (Maybe Text)+deleteFileOptionsNewBranchL f DeleteFileOptions{..} = (\deleteFileOptionsNewBranch -> DeleteFileOptions { deleteFileOptionsNewBranch, ..} ) <$> f deleteFileOptionsNewBranch+{-# INLINE deleteFileOptionsNewBranchL #-}++-- | 'deleteFileOptionsSha' Lens+deleteFileOptionsShaL :: Lens_' DeleteFileOptions (Text)+deleteFileOptionsShaL f DeleteFileOptions{..} = (\deleteFileOptionsSha -> DeleteFileOptions { deleteFileOptionsSha, ..} ) <$> f deleteFileOptionsSha+{-# INLINE deleteFileOptionsShaL #-}++-- | 'deleteFileOptionsSignoff' Lens+deleteFileOptionsSignoffL :: Lens_' DeleteFileOptions (Maybe Bool)+deleteFileOptionsSignoffL f DeleteFileOptions{..} = (\deleteFileOptionsSignoff -> DeleteFileOptions { deleteFileOptionsSignoff, ..} ) <$> f deleteFileOptionsSignoff+{-# INLINE deleteFileOptionsSignoffL #-}++++-- * DeployKey++-- | 'deployKeyCreatedAt' Lens+deployKeyCreatedAtL :: Lens_' DeployKey (Maybe DateTime)+deployKeyCreatedAtL f DeployKey{..} = (\deployKeyCreatedAt -> DeployKey { deployKeyCreatedAt, ..} ) <$> f deployKeyCreatedAt+{-# INLINE deployKeyCreatedAtL #-}++-- | 'deployKeyFingerprint' Lens+deployKeyFingerprintL :: Lens_' DeployKey (Maybe Text)+deployKeyFingerprintL f DeployKey{..} = (\deployKeyFingerprint -> DeployKey { deployKeyFingerprint, ..} ) <$> f deployKeyFingerprint+{-# INLINE deployKeyFingerprintL #-}++-- | 'deployKeyId' Lens+deployKeyIdL :: Lens_' DeployKey (Maybe Integer)+deployKeyIdL f DeployKey{..} = (\deployKeyId -> DeployKey { deployKeyId, ..} ) <$> f deployKeyId+{-# INLINE deployKeyIdL #-}++-- | 'deployKeyKey' Lens+deployKeyKeyL :: Lens_' DeployKey (Maybe Text)+deployKeyKeyL f DeployKey{..} = (\deployKeyKey -> DeployKey { deployKeyKey, ..} ) <$> f deployKeyKey+{-# INLINE deployKeyKeyL #-}++-- | 'deployKeyKeyId' Lens+deployKeyKeyIdL :: Lens_' DeployKey (Maybe Integer)+deployKeyKeyIdL f DeployKey{..} = (\deployKeyKeyId -> DeployKey { deployKeyKeyId, ..} ) <$> f deployKeyKeyId+{-# INLINE deployKeyKeyIdL #-}++-- | 'deployKeyReadOnly' Lens+deployKeyReadOnlyL :: Lens_' DeployKey (Maybe Bool)+deployKeyReadOnlyL f DeployKey{..} = (\deployKeyReadOnly -> DeployKey { deployKeyReadOnly, ..} ) <$> f deployKeyReadOnly+{-# INLINE deployKeyReadOnlyL #-}++-- | 'deployKeyRepository' Lens+deployKeyRepositoryL :: Lens_' DeployKey (Maybe Repository)+deployKeyRepositoryL f DeployKey{..} = (\deployKeyRepository -> DeployKey { deployKeyRepository, ..} ) <$> f deployKeyRepository+{-# INLINE deployKeyRepositoryL #-}++-- | 'deployKeyTitle' Lens+deployKeyTitleL :: Lens_' DeployKey (Maybe Text)+deployKeyTitleL f DeployKey{..} = (\deployKeyTitle -> DeployKey { deployKeyTitle, ..} ) <$> f deployKeyTitle+{-# INLINE deployKeyTitleL #-}++-- | 'deployKeyUrl' Lens+deployKeyUrlL :: Lens_' DeployKey (Maybe Text)+deployKeyUrlL f DeployKey{..} = (\deployKeyUrl -> DeployKey { deployKeyUrl, ..} ) <$> f deployKeyUrl+{-# INLINE deployKeyUrlL #-}++++-- * DismissPullReviewOptions++-- | 'dismissPullReviewOptionsMessage' Lens+dismissPullReviewOptionsMessageL :: Lens_' DismissPullReviewOptions (Maybe Text)+dismissPullReviewOptionsMessageL f DismissPullReviewOptions{..} = (\dismissPullReviewOptionsMessage -> DismissPullReviewOptions { dismissPullReviewOptionsMessage, ..} ) <$> f dismissPullReviewOptionsMessage+{-# INLINE dismissPullReviewOptionsMessageL #-}++-- | 'dismissPullReviewOptionsPriors' Lens+dismissPullReviewOptionsPriorsL :: Lens_' DismissPullReviewOptions (Maybe Bool)+dismissPullReviewOptionsPriorsL f DismissPullReviewOptions{..} = (\dismissPullReviewOptionsPriors -> DismissPullReviewOptions { dismissPullReviewOptionsPriors, ..} ) <$> f dismissPullReviewOptionsPriors+{-# INLINE dismissPullReviewOptionsPriorsL #-}++++-- * EditAttachmentOptions++-- | 'editAttachmentOptionsName' Lens+editAttachmentOptionsNameL :: Lens_' EditAttachmentOptions (Maybe Text)+editAttachmentOptionsNameL f EditAttachmentOptions{..} = (\editAttachmentOptionsName -> EditAttachmentOptions { editAttachmentOptionsName, ..} ) <$> f editAttachmentOptionsName+{-# INLINE editAttachmentOptionsNameL #-}++++-- * EditBranchProtectionOption++-- | 'editBranchProtectionOptionApprovalsWhitelistTeams' Lens+editBranchProtectionOptionApprovalsWhitelistTeamsL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionApprovalsWhitelistTeamsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionApprovalsWhitelistTeams -> EditBranchProtectionOption { editBranchProtectionOptionApprovalsWhitelistTeams, ..} ) <$> f editBranchProtectionOptionApprovalsWhitelistTeams+{-# INLINE editBranchProtectionOptionApprovalsWhitelistTeamsL #-}++-- | 'editBranchProtectionOptionApprovalsWhitelistUsername' Lens+editBranchProtectionOptionApprovalsWhitelistUsernameL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionApprovalsWhitelistUsernameL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionApprovalsWhitelistUsername -> EditBranchProtectionOption { editBranchProtectionOptionApprovalsWhitelistUsername, ..} ) <$> f editBranchProtectionOptionApprovalsWhitelistUsername+{-# INLINE editBranchProtectionOptionApprovalsWhitelistUsernameL #-}++-- | 'editBranchProtectionOptionBlockOnOfficialReviewRequests' Lens+editBranchProtectionOptionBlockOnOfficialReviewRequestsL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionBlockOnOfficialReviewRequestsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionBlockOnOfficialReviewRequests -> EditBranchProtectionOption { editBranchProtectionOptionBlockOnOfficialReviewRequests, ..} ) <$> f editBranchProtectionOptionBlockOnOfficialReviewRequests+{-# INLINE editBranchProtectionOptionBlockOnOfficialReviewRequestsL #-}++-- | 'editBranchProtectionOptionBlockOnOutdatedBranch' Lens+editBranchProtectionOptionBlockOnOutdatedBranchL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionBlockOnOutdatedBranchL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionBlockOnOutdatedBranch -> EditBranchProtectionOption { editBranchProtectionOptionBlockOnOutdatedBranch, ..} ) <$> f editBranchProtectionOptionBlockOnOutdatedBranch+{-# INLINE editBranchProtectionOptionBlockOnOutdatedBranchL #-}++-- | 'editBranchProtectionOptionBlockOnRejectedReviews' Lens+editBranchProtectionOptionBlockOnRejectedReviewsL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionBlockOnRejectedReviewsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionBlockOnRejectedReviews -> EditBranchProtectionOption { editBranchProtectionOptionBlockOnRejectedReviews, ..} ) <$> f editBranchProtectionOptionBlockOnRejectedReviews+{-# INLINE editBranchProtectionOptionBlockOnRejectedReviewsL #-}++-- | 'editBranchProtectionOptionDismissStaleApprovals' Lens+editBranchProtectionOptionDismissStaleApprovalsL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionDismissStaleApprovalsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionDismissStaleApprovals -> EditBranchProtectionOption { editBranchProtectionOptionDismissStaleApprovals, ..} ) <$> f editBranchProtectionOptionDismissStaleApprovals+{-# INLINE editBranchProtectionOptionDismissStaleApprovalsL #-}++-- | 'editBranchProtectionOptionEnableApprovalsWhitelist' Lens+editBranchProtectionOptionEnableApprovalsWhitelistL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionEnableApprovalsWhitelistL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionEnableApprovalsWhitelist -> EditBranchProtectionOption { editBranchProtectionOptionEnableApprovalsWhitelist, ..} ) <$> f editBranchProtectionOptionEnableApprovalsWhitelist+{-# INLINE editBranchProtectionOptionEnableApprovalsWhitelistL #-}++-- | 'editBranchProtectionOptionEnableMergeWhitelist' Lens+editBranchProtectionOptionEnableMergeWhitelistL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionEnableMergeWhitelistL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionEnableMergeWhitelist -> EditBranchProtectionOption { editBranchProtectionOptionEnableMergeWhitelist, ..} ) <$> f editBranchProtectionOptionEnableMergeWhitelist+{-# INLINE editBranchProtectionOptionEnableMergeWhitelistL #-}++-- | 'editBranchProtectionOptionEnablePush' Lens+editBranchProtectionOptionEnablePushL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionEnablePushL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionEnablePush -> EditBranchProtectionOption { editBranchProtectionOptionEnablePush, ..} ) <$> f editBranchProtectionOptionEnablePush+{-# INLINE editBranchProtectionOptionEnablePushL #-}++-- | 'editBranchProtectionOptionEnablePushWhitelist' Lens+editBranchProtectionOptionEnablePushWhitelistL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionEnablePushWhitelistL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionEnablePushWhitelist -> EditBranchProtectionOption { editBranchProtectionOptionEnablePushWhitelist, ..} ) <$> f editBranchProtectionOptionEnablePushWhitelist+{-# INLINE editBranchProtectionOptionEnablePushWhitelistL #-}++-- | 'editBranchProtectionOptionEnableStatusCheck' Lens+editBranchProtectionOptionEnableStatusCheckL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionEnableStatusCheckL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionEnableStatusCheck -> EditBranchProtectionOption { editBranchProtectionOptionEnableStatusCheck, ..} ) <$> f editBranchProtectionOptionEnableStatusCheck+{-# INLINE editBranchProtectionOptionEnableStatusCheckL #-}++-- | 'editBranchProtectionOptionMergeWhitelistTeams' Lens+editBranchProtectionOptionMergeWhitelistTeamsL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionMergeWhitelistTeamsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionMergeWhitelistTeams -> EditBranchProtectionOption { editBranchProtectionOptionMergeWhitelistTeams, ..} ) <$> f editBranchProtectionOptionMergeWhitelistTeams+{-# INLINE editBranchProtectionOptionMergeWhitelistTeamsL #-}++-- | 'editBranchProtectionOptionMergeWhitelistUsernames' Lens+editBranchProtectionOptionMergeWhitelistUsernamesL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionMergeWhitelistUsernamesL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionMergeWhitelistUsernames -> EditBranchProtectionOption { editBranchProtectionOptionMergeWhitelistUsernames, ..} ) <$> f editBranchProtectionOptionMergeWhitelistUsernames+{-# INLINE editBranchProtectionOptionMergeWhitelistUsernamesL #-}++-- | 'editBranchProtectionOptionProtectedFilePatterns' Lens+editBranchProtectionOptionProtectedFilePatternsL :: Lens_' EditBranchProtectionOption (Maybe Text)+editBranchProtectionOptionProtectedFilePatternsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionProtectedFilePatterns -> EditBranchProtectionOption { editBranchProtectionOptionProtectedFilePatterns, ..} ) <$> f editBranchProtectionOptionProtectedFilePatterns+{-# INLINE editBranchProtectionOptionProtectedFilePatternsL #-}++-- | 'editBranchProtectionOptionPushWhitelistDeployKeys' Lens+editBranchProtectionOptionPushWhitelistDeployKeysL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionPushWhitelistDeployKeysL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionPushWhitelistDeployKeys -> EditBranchProtectionOption { editBranchProtectionOptionPushWhitelistDeployKeys, ..} ) <$> f editBranchProtectionOptionPushWhitelistDeployKeys+{-# INLINE editBranchProtectionOptionPushWhitelistDeployKeysL #-}++-- | 'editBranchProtectionOptionPushWhitelistTeams' Lens+editBranchProtectionOptionPushWhitelistTeamsL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionPushWhitelistTeamsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionPushWhitelistTeams -> EditBranchProtectionOption { editBranchProtectionOptionPushWhitelistTeams, ..} ) <$> f editBranchProtectionOptionPushWhitelistTeams+{-# INLINE editBranchProtectionOptionPushWhitelistTeamsL #-}++-- | 'editBranchProtectionOptionPushWhitelistUsernames' Lens+editBranchProtectionOptionPushWhitelistUsernamesL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionPushWhitelistUsernamesL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionPushWhitelistUsernames -> EditBranchProtectionOption { editBranchProtectionOptionPushWhitelistUsernames, ..} ) <$> f editBranchProtectionOptionPushWhitelistUsernames+{-# INLINE editBranchProtectionOptionPushWhitelistUsernamesL #-}++-- | 'editBranchProtectionOptionRequireSignedCommits' Lens+editBranchProtectionOptionRequireSignedCommitsL :: Lens_' EditBranchProtectionOption (Maybe Bool)+editBranchProtectionOptionRequireSignedCommitsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionRequireSignedCommits -> EditBranchProtectionOption { editBranchProtectionOptionRequireSignedCommits, ..} ) <$> f editBranchProtectionOptionRequireSignedCommits+{-# INLINE editBranchProtectionOptionRequireSignedCommitsL #-}++-- | 'editBranchProtectionOptionRequiredApprovals' Lens+editBranchProtectionOptionRequiredApprovalsL :: Lens_' EditBranchProtectionOption (Maybe Integer)+editBranchProtectionOptionRequiredApprovalsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionRequiredApprovals -> EditBranchProtectionOption { editBranchProtectionOptionRequiredApprovals, ..} ) <$> f editBranchProtectionOptionRequiredApprovals+{-# INLINE editBranchProtectionOptionRequiredApprovalsL #-}++-- | 'editBranchProtectionOptionStatusCheckContexts' Lens+editBranchProtectionOptionStatusCheckContextsL :: Lens_' EditBranchProtectionOption (Maybe [Text])+editBranchProtectionOptionStatusCheckContextsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionStatusCheckContexts -> EditBranchProtectionOption { editBranchProtectionOptionStatusCheckContexts, ..} ) <$> f editBranchProtectionOptionStatusCheckContexts+{-# INLINE editBranchProtectionOptionStatusCheckContextsL #-}++-- | 'editBranchProtectionOptionUnprotectedFilePatterns' Lens+editBranchProtectionOptionUnprotectedFilePatternsL :: Lens_' EditBranchProtectionOption (Maybe Text)+editBranchProtectionOptionUnprotectedFilePatternsL f EditBranchProtectionOption{..} = (\editBranchProtectionOptionUnprotectedFilePatterns -> EditBranchProtectionOption { editBranchProtectionOptionUnprotectedFilePatterns, ..} ) <$> f editBranchProtectionOptionUnprotectedFilePatterns+{-# INLINE editBranchProtectionOptionUnprotectedFilePatternsL #-}++++-- * EditDeadlineOption++-- | 'editDeadlineOptionDueDate' Lens+editDeadlineOptionDueDateL :: Lens_' EditDeadlineOption (DateTime)+editDeadlineOptionDueDateL f EditDeadlineOption{..} = (\editDeadlineOptionDueDate -> EditDeadlineOption { editDeadlineOptionDueDate, ..} ) <$> f editDeadlineOptionDueDate+{-# INLINE editDeadlineOptionDueDateL #-}++++-- * EditGitHookOption++-- | 'editGitHookOptionContent' Lens+editGitHookOptionContentL :: Lens_' EditGitHookOption (Maybe Text)+editGitHookOptionContentL f EditGitHookOption{..} = (\editGitHookOptionContent -> EditGitHookOption { editGitHookOptionContent, ..} ) <$> f editGitHookOptionContent+{-# INLINE editGitHookOptionContentL #-}++++-- * EditHookOption++-- | 'editHookOptionActive' Lens+editHookOptionActiveL :: Lens_' EditHookOption (Maybe Bool)+editHookOptionActiveL f EditHookOption{..} = (\editHookOptionActive -> EditHookOption { editHookOptionActive, ..} ) <$> f editHookOptionActive+{-# INLINE editHookOptionActiveL #-}++-- | 'editHookOptionAuthorizationHeader' Lens+editHookOptionAuthorizationHeaderL :: Lens_' EditHookOption (Maybe Text)+editHookOptionAuthorizationHeaderL f EditHookOption{..} = (\editHookOptionAuthorizationHeader -> EditHookOption { editHookOptionAuthorizationHeader, ..} ) <$> f editHookOptionAuthorizationHeader+{-# INLINE editHookOptionAuthorizationHeaderL #-}++-- | 'editHookOptionBranchFilter' Lens+editHookOptionBranchFilterL :: Lens_' EditHookOption (Maybe Text)+editHookOptionBranchFilterL f EditHookOption{..} = (\editHookOptionBranchFilter -> EditHookOption { editHookOptionBranchFilter, ..} ) <$> f editHookOptionBranchFilter+{-# INLINE editHookOptionBranchFilterL #-}++-- | 'editHookOptionConfig' Lens+editHookOptionConfigL :: Lens_' EditHookOption (Maybe (Map.Map String Text))+editHookOptionConfigL f EditHookOption{..} = (\editHookOptionConfig -> EditHookOption { editHookOptionConfig, ..} ) <$> f editHookOptionConfig+{-# INLINE editHookOptionConfigL #-}++-- | 'editHookOptionEvents' Lens+editHookOptionEventsL :: Lens_' EditHookOption (Maybe [Text])+editHookOptionEventsL f EditHookOption{..} = (\editHookOptionEvents -> EditHookOption { editHookOptionEvents, ..} ) <$> f editHookOptionEvents+{-# INLINE editHookOptionEventsL #-}++++-- * EditIssueCommentOption++-- | 'editIssueCommentOptionBody' Lens+editIssueCommentOptionBodyL :: Lens_' EditIssueCommentOption (Text)+editIssueCommentOptionBodyL f EditIssueCommentOption{..} = (\editIssueCommentOptionBody -> EditIssueCommentOption { editIssueCommentOptionBody, ..} ) <$> f editIssueCommentOptionBody+{-# INLINE editIssueCommentOptionBodyL #-}++++-- * EditIssueOption++-- | 'editIssueOptionAssignee' Lens+editIssueOptionAssigneeL :: Lens_' EditIssueOption (Maybe Text)+editIssueOptionAssigneeL f EditIssueOption{..} = (\editIssueOptionAssignee -> EditIssueOption { editIssueOptionAssignee, ..} ) <$> f editIssueOptionAssignee+{-# INLINE editIssueOptionAssigneeL #-}++-- | 'editIssueOptionAssignees' Lens+editIssueOptionAssigneesL :: Lens_' EditIssueOption (Maybe [Text])+editIssueOptionAssigneesL f EditIssueOption{..} = (\editIssueOptionAssignees -> EditIssueOption { editIssueOptionAssignees, ..} ) <$> f editIssueOptionAssignees+{-# INLINE editIssueOptionAssigneesL #-}++-- | 'editIssueOptionBody' Lens+editIssueOptionBodyL :: Lens_' EditIssueOption (Maybe Text)+editIssueOptionBodyL f EditIssueOption{..} = (\editIssueOptionBody -> EditIssueOption { editIssueOptionBody, ..} ) <$> f editIssueOptionBody+{-# INLINE editIssueOptionBodyL #-}++-- | 'editIssueOptionDueDate' Lens+editIssueOptionDueDateL :: Lens_' EditIssueOption (Maybe DateTime)+editIssueOptionDueDateL f EditIssueOption{..} = (\editIssueOptionDueDate -> EditIssueOption { editIssueOptionDueDate, ..} ) <$> f editIssueOptionDueDate+{-# INLINE editIssueOptionDueDateL #-}++-- | 'editIssueOptionMilestone' Lens+editIssueOptionMilestoneL :: Lens_' EditIssueOption (Maybe Integer)+editIssueOptionMilestoneL f EditIssueOption{..} = (\editIssueOptionMilestone -> EditIssueOption { editIssueOptionMilestone, ..} ) <$> f editIssueOptionMilestone+{-# INLINE editIssueOptionMilestoneL #-}++-- | 'editIssueOptionRef' Lens+editIssueOptionRefL :: Lens_' EditIssueOption (Maybe Text)+editIssueOptionRefL f EditIssueOption{..} = (\editIssueOptionRef -> EditIssueOption { editIssueOptionRef, ..} ) <$> f editIssueOptionRef+{-# INLINE editIssueOptionRefL #-}++-- | 'editIssueOptionState' Lens+editIssueOptionStateL :: Lens_' EditIssueOption (Maybe Text)+editIssueOptionStateL f EditIssueOption{..} = (\editIssueOptionState -> EditIssueOption { editIssueOptionState, ..} ) <$> f editIssueOptionState+{-# INLINE editIssueOptionStateL #-}++-- | 'editIssueOptionTitle' Lens+editIssueOptionTitleL :: Lens_' EditIssueOption (Maybe Text)+editIssueOptionTitleL f EditIssueOption{..} = (\editIssueOptionTitle -> EditIssueOption { editIssueOptionTitle, ..} ) <$> f editIssueOptionTitle+{-# INLINE editIssueOptionTitleL #-}++-- | 'editIssueOptionUnsetDueDate' Lens+editIssueOptionUnsetDueDateL :: Lens_' EditIssueOption (Maybe Bool)+editIssueOptionUnsetDueDateL f EditIssueOption{..} = (\editIssueOptionUnsetDueDate -> EditIssueOption { editIssueOptionUnsetDueDate, ..} ) <$> f editIssueOptionUnsetDueDate+{-# INLINE editIssueOptionUnsetDueDateL #-}++++-- * EditLabelOption++-- | 'editLabelOptionColor' Lens+editLabelOptionColorL :: Lens_' EditLabelOption (Maybe Text)+editLabelOptionColorL f EditLabelOption{..} = (\editLabelOptionColor -> EditLabelOption { editLabelOptionColor, ..} ) <$> f editLabelOptionColor+{-# INLINE editLabelOptionColorL #-}++-- | 'editLabelOptionDescription' Lens+editLabelOptionDescriptionL :: Lens_' EditLabelOption (Maybe Text)+editLabelOptionDescriptionL f EditLabelOption{..} = (\editLabelOptionDescription -> EditLabelOption { editLabelOptionDescription, ..} ) <$> f editLabelOptionDescription+{-# INLINE editLabelOptionDescriptionL #-}++-- | 'editLabelOptionExclusive' Lens+editLabelOptionExclusiveL :: Lens_' EditLabelOption (Maybe Bool)+editLabelOptionExclusiveL f EditLabelOption{..} = (\editLabelOptionExclusive -> EditLabelOption { editLabelOptionExclusive, ..} ) <$> f editLabelOptionExclusive+{-# INLINE editLabelOptionExclusiveL #-}++-- | 'editLabelOptionName' Lens+editLabelOptionNameL :: Lens_' EditLabelOption (Maybe Text)+editLabelOptionNameL f EditLabelOption{..} = (\editLabelOptionName -> EditLabelOption { editLabelOptionName, ..} ) <$> f editLabelOptionName+{-# INLINE editLabelOptionNameL #-}++++-- * EditMilestoneOption++-- | 'editMilestoneOptionDescription' Lens+editMilestoneOptionDescriptionL :: Lens_' EditMilestoneOption (Maybe Text)+editMilestoneOptionDescriptionL f EditMilestoneOption{..} = (\editMilestoneOptionDescription -> EditMilestoneOption { editMilestoneOptionDescription, ..} ) <$> f editMilestoneOptionDescription+{-# INLINE editMilestoneOptionDescriptionL #-}++-- | 'editMilestoneOptionDueOn' Lens+editMilestoneOptionDueOnL :: Lens_' EditMilestoneOption (Maybe DateTime)+editMilestoneOptionDueOnL f EditMilestoneOption{..} = (\editMilestoneOptionDueOn -> EditMilestoneOption { editMilestoneOptionDueOn, ..} ) <$> f editMilestoneOptionDueOn+{-# INLINE editMilestoneOptionDueOnL #-}++-- | 'editMilestoneOptionState' Lens+editMilestoneOptionStateL :: Lens_' EditMilestoneOption (Maybe Text)+editMilestoneOptionStateL f EditMilestoneOption{..} = (\editMilestoneOptionState -> EditMilestoneOption { editMilestoneOptionState, ..} ) <$> f editMilestoneOptionState+{-# INLINE editMilestoneOptionStateL #-}++-- | 'editMilestoneOptionTitle' Lens+editMilestoneOptionTitleL :: Lens_' EditMilestoneOption (Maybe Text)+editMilestoneOptionTitleL f EditMilestoneOption{..} = (\editMilestoneOptionTitle -> EditMilestoneOption { editMilestoneOptionTitle, ..} ) <$> f editMilestoneOptionTitle+{-# INLINE editMilestoneOptionTitleL #-}++++-- * EditOrgOption++-- | 'editOrgOptionDescription' Lens+editOrgOptionDescriptionL :: Lens_' EditOrgOption (Maybe Text)+editOrgOptionDescriptionL f EditOrgOption{..} = (\editOrgOptionDescription -> EditOrgOption { editOrgOptionDescription, ..} ) <$> f editOrgOptionDescription+{-# INLINE editOrgOptionDescriptionL #-}++-- | 'editOrgOptionFullName' Lens+editOrgOptionFullNameL :: Lens_' EditOrgOption (Maybe Text)+editOrgOptionFullNameL f EditOrgOption{..} = (\editOrgOptionFullName -> EditOrgOption { editOrgOptionFullName, ..} ) <$> f editOrgOptionFullName+{-# INLINE editOrgOptionFullNameL #-}++-- | 'editOrgOptionLocation' Lens+editOrgOptionLocationL :: Lens_' EditOrgOption (Maybe Text)+editOrgOptionLocationL f EditOrgOption{..} = (\editOrgOptionLocation -> EditOrgOption { editOrgOptionLocation, ..} ) <$> f editOrgOptionLocation+{-# INLINE editOrgOptionLocationL #-}++-- | 'editOrgOptionRepoAdminChangeTeamAccess' Lens+editOrgOptionRepoAdminChangeTeamAccessL :: Lens_' EditOrgOption (Maybe Bool)+editOrgOptionRepoAdminChangeTeamAccessL f EditOrgOption{..} = (\editOrgOptionRepoAdminChangeTeamAccess -> EditOrgOption { editOrgOptionRepoAdminChangeTeamAccess, ..} ) <$> f editOrgOptionRepoAdminChangeTeamAccess+{-# INLINE editOrgOptionRepoAdminChangeTeamAccessL #-}++-- | 'editOrgOptionVisibility' Lens+editOrgOptionVisibilityL :: Lens_' EditOrgOption (Maybe E'Visibility)+editOrgOptionVisibilityL f EditOrgOption{..} = (\editOrgOptionVisibility -> EditOrgOption { editOrgOptionVisibility, ..} ) <$> f editOrgOptionVisibility+{-# INLINE editOrgOptionVisibilityL #-}++-- | 'editOrgOptionWebsite' Lens+editOrgOptionWebsiteL :: Lens_' EditOrgOption (Maybe Text)+editOrgOptionWebsiteL f EditOrgOption{..} = (\editOrgOptionWebsite -> EditOrgOption { editOrgOptionWebsite, ..} ) <$> f editOrgOptionWebsite+{-# INLINE editOrgOptionWebsiteL #-}++++-- * EditPullRequestOption++-- | 'editPullRequestOptionAllowMaintainerEdit' Lens+editPullRequestOptionAllowMaintainerEditL :: Lens_' EditPullRequestOption (Maybe Bool)+editPullRequestOptionAllowMaintainerEditL f EditPullRequestOption{..} = (\editPullRequestOptionAllowMaintainerEdit -> EditPullRequestOption { editPullRequestOptionAllowMaintainerEdit, ..} ) <$> f editPullRequestOptionAllowMaintainerEdit+{-# INLINE editPullRequestOptionAllowMaintainerEditL #-}++-- | 'editPullRequestOptionAssignee' Lens+editPullRequestOptionAssigneeL :: Lens_' EditPullRequestOption (Maybe Text)+editPullRequestOptionAssigneeL f EditPullRequestOption{..} = (\editPullRequestOptionAssignee -> EditPullRequestOption { editPullRequestOptionAssignee, ..} ) <$> f editPullRequestOptionAssignee+{-# INLINE editPullRequestOptionAssigneeL #-}++-- | 'editPullRequestOptionAssignees' Lens+editPullRequestOptionAssigneesL :: Lens_' EditPullRequestOption (Maybe [Text])+editPullRequestOptionAssigneesL f EditPullRequestOption{..} = (\editPullRequestOptionAssignees -> EditPullRequestOption { editPullRequestOptionAssignees, ..} ) <$> f editPullRequestOptionAssignees+{-# INLINE editPullRequestOptionAssigneesL #-}++-- | 'editPullRequestOptionBase' Lens+editPullRequestOptionBaseL :: Lens_' EditPullRequestOption (Maybe Text)+editPullRequestOptionBaseL f EditPullRequestOption{..} = (\editPullRequestOptionBase -> EditPullRequestOption { editPullRequestOptionBase, ..} ) <$> f editPullRequestOptionBase+{-# INLINE editPullRequestOptionBaseL #-}++-- | 'editPullRequestOptionBody' Lens+editPullRequestOptionBodyL :: Lens_' EditPullRequestOption (Maybe Text)+editPullRequestOptionBodyL f EditPullRequestOption{..} = (\editPullRequestOptionBody -> EditPullRequestOption { editPullRequestOptionBody, ..} ) <$> f editPullRequestOptionBody+{-# INLINE editPullRequestOptionBodyL #-}++-- | 'editPullRequestOptionDueDate' Lens+editPullRequestOptionDueDateL :: Lens_' EditPullRequestOption (Maybe DateTime)+editPullRequestOptionDueDateL f EditPullRequestOption{..} = (\editPullRequestOptionDueDate -> EditPullRequestOption { editPullRequestOptionDueDate, ..} ) <$> f editPullRequestOptionDueDate+{-# INLINE editPullRequestOptionDueDateL #-}++-- | 'editPullRequestOptionLabels' Lens+editPullRequestOptionLabelsL :: Lens_' EditPullRequestOption (Maybe [Integer])+editPullRequestOptionLabelsL f EditPullRequestOption{..} = (\editPullRequestOptionLabels -> EditPullRequestOption { editPullRequestOptionLabels, ..} ) <$> f editPullRequestOptionLabels+{-# INLINE editPullRequestOptionLabelsL #-}++-- | 'editPullRequestOptionMilestone' Lens+editPullRequestOptionMilestoneL :: Lens_' EditPullRequestOption (Maybe Integer)+editPullRequestOptionMilestoneL f EditPullRequestOption{..} = (\editPullRequestOptionMilestone -> EditPullRequestOption { editPullRequestOptionMilestone, ..} ) <$> f editPullRequestOptionMilestone+{-# INLINE editPullRequestOptionMilestoneL #-}++-- | 'editPullRequestOptionState' Lens+editPullRequestOptionStateL :: Lens_' EditPullRequestOption (Maybe Text)+editPullRequestOptionStateL f EditPullRequestOption{..} = (\editPullRequestOptionState -> EditPullRequestOption { editPullRequestOptionState, ..} ) <$> f editPullRequestOptionState+{-# INLINE editPullRequestOptionStateL #-}++-- | 'editPullRequestOptionTitle' Lens+editPullRequestOptionTitleL :: Lens_' EditPullRequestOption (Maybe Text)+editPullRequestOptionTitleL f EditPullRequestOption{..} = (\editPullRequestOptionTitle -> EditPullRequestOption { editPullRequestOptionTitle, ..} ) <$> f editPullRequestOptionTitle+{-# INLINE editPullRequestOptionTitleL #-}++-- | 'editPullRequestOptionUnsetDueDate' Lens+editPullRequestOptionUnsetDueDateL :: Lens_' EditPullRequestOption (Maybe Bool)+editPullRequestOptionUnsetDueDateL f EditPullRequestOption{..} = (\editPullRequestOptionUnsetDueDate -> EditPullRequestOption { editPullRequestOptionUnsetDueDate, ..} ) <$> f editPullRequestOptionUnsetDueDate+{-# INLINE editPullRequestOptionUnsetDueDateL #-}++++-- * EditReactionOption++-- | 'editReactionOptionContent' Lens+editReactionOptionContentL :: Lens_' EditReactionOption (Maybe Text)+editReactionOptionContentL f EditReactionOption{..} = (\editReactionOptionContent -> EditReactionOption { editReactionOptionContent, ..} ) <$> f editReactionOptionContent+{-# INLINE editReactionOptionContentL #-}++++-- * EditReleaseOption++-- | 'editReleaseOptionBody' Lens+editReleaseOptionBodyL :: Lens_' EditReleaseOption (Maybe Text)+editReleaseOptionBodyL f EditReleaseOption{..} = (\editReleaseOptionBody -> EditReleaseOption { editReleaseOptionBody, ..} ) <$> f editReleaseOptionBody+{-# INLINE editReleaseOptionBodyL #-}++-- | 'editReleaseOptionDraft' Lens+editReleaseOptionDraftL :: Lens_' EditReleaseOption (Maybe Bool)+editReleaseOptionDraftL f EditReleaseOption{..} = (\editReleaseOptionDraft -> EditReleaseOption { editReleaseOptionDraft, ..} ) <$> f editReleaseOptionDraft+{-# INLINE editReleaseOptionDraftL #-}++-- | 'editReleaseOptionName' Lens+editReleaseOptionNameL :: Lens_' EditReleaseOption (Maybe Text)+editReleaseOptionNameL f EditReleaseOption{..} = (\editReleaseOptionName -> EditReleaseOption { editReleaseOptionName, ..} ) <$> f editReleaseOptionName+{-# INLINE editReleaseOptionNameL #-}++-- | 'editReleaseOptionPrerelease' Lens+editReleaseOptionPrereleaseL :: Lens_' EditReleaseOption (Maybe Bool)+editReleaseOptionPrereleaseL f EditReleaseOption{..} = (\editReleaseOptionPrerelease -> EditReleaseOption { editReleaseOptionPrerelease, ..} ) <$> f editReleaseOptionPrerelease+{-# INLINE editReleaseOptionPrereleaseL #-}++-- | 'editReleaseOptionTagName' Lens+editReleaseOptionTagNameL :: Lens_' EditReleaseOption (Maybe Text)+editReleaseOptionTagNameL f EditReleaseOption{..} = (\editReleaseOptionTagName -> EditReleaseOption { editReleaseOptionTagName, ..} ) <$> f editReleaseOptionTagName+{-# INLINE editReleaseOptionTagNameL #-}++-- | 'editReleaseOptionTargetCommitish' Lens+editReleaseOptionTargetCommitishL :: Lens_' EditReleaseOption (Maybe Text)+editReleaseOptionTargetCommitishL f EditReleaseOption{..} = (\editReleaseOptionTargetCommitish -> EditReleaseOption { editReleaseOptionTargetCommitish, ..} ) <$> f editReleaseOptionTargetCommitish+{-# INLINE editReleaseOptionTargetCommitishL #-}++++-- * EditRepoOption++-- | 'editRepoOptionAllowManualMerge' Lens+editRepoOptionAllowManualMergeL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAllowManualMergeL f EditRepoOption{..} = (\editRepoOptionAllowManualMerge -> EditRepoOption { editRepoOptionAllowManualMerge, ..} ) <$> f editRepoOptionAllowManualMerge+{-# INLINE editRepoOptionAllowManualMergeL #-}++-- | 'editRepoOptionAllowMergeCommits' Lens+editRepoOptionAllowMergeCommitsL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAllowMergeCommitsL f EditRepoOption{..} = (\editRepoOptionAllowMergeCommits -> EditRepoOption { editRepoOptionAllowMergeCommits, ..} ) <$> f editRepoOptionAllowMergeCommits+{-# INLINE editRepoOptionAllowMergeCommitsL #-}++-- | 'editRepoOptionAllowRebase' Lens+editRepoOptionAllowRebaseL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAllowRebaseL f EditRepoOption{..} = (\editRepoOptionAllowRebase -> EditRepoOption { editRepoOptionAllowRebase, ..} ) <$> f editRepoOptionAllowRebase+{-# INLINE editRepoOptionAllowRebaseL #-}++-- | 'editRepoOptionAllowRebaseExplicit' Lens+editRepoOptionAllowRebaseExplicitL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAllowRebaseExplicitL f EditRepoOption{..} = (\editRepoOptionAllowRebaseExplicit -> EditRepoOption { editRepoOptionAllowRebaseExplicit, ..} ) <$> f editRepoOptionAllowRebaseExplicit+{-# INLINE editRepoOptionAllowRebaseExplicitL #-}++-- | 'editRepoOptionAllowRebaseUpdate' Lens+editRepoOptionAllowRebaseUpdateL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAllowRebaseUpdateL f EditRepoOption{..} = (\editRepoOptionAllowRebaseUpdate -> EditRepoOption { editRepoOptionAllowRebaseUpdate, ..} ) <$> f editRepoOptionAllowRebaseUpdate+{-# INLINE editRepoOptionAllowRebaseUpdateL #-}++-- | 'editRepoOptionAllowSquashMerge' Lens+editRepoOptionAllowSquashMergeL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAllowSquashMergeL f EditRepoOption{..} = (\editRepoOptionAllowSquashMerge -> EditRepoOption { editRepoOptionAllowSquashMerge, ..} ) <$> f editRepoOptionAllowSquashMerge+{-# INLINE editRepoOptionAllowSquashMergeL #-}++-- | 'editRepoOptionArchived' Lens+editRepoOptionArchivedL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionArchivedL f EditRepoOption{..} = (\editRepoOptionArchived -> EditRepoOption { editRepoOptionArchived, ..} ) <$> f editRepoOptionArchived+{-# INLINE editRepoOptionArchivedL #-}++-- | 'editRepoOptionAutodetectManualMerge' Lens+editRepoOptionAutodetectManualMergeL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionAutodetectManualMergeL f EditRepoOption{..} = (\editRepoOptionAutodetectManualMerge -> EditRepoOption { editRepoOptionAutodetectManualMerge, ..} ) <$> f editRepoOptionAutodetectManualMerge+{-# INLINE editRepoOptionAutodetectManualMergeL #-}++-- | 'editRepoOptionDefaultAllowMaintainerEdit' Lens+editRepoOptionDefaultAllowMaintainerEditL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionDefaultAllowMaintainerEditL f EditRepoOption{..} = (\editRepoOptionDefaultAllowMaintainerEdit -> EditRepoOption { editRepoOptionDefaultAllowMaintainerEdit, ..} ) <$> f editRepoOptionDefaultAllowMaintainerEdit+{-# INLINE editRepoOptionDefaultAllowMaintainerEditL #-}++-- | 'editRepoOptionDefaultBranch' Lens+editRepoOptionDefaultBranchL :: Lens_' EditRepoOption (Maybe Text)+editRepoOptionDefaultBranchL f EditRepoOption{..} = (\editRepoOptionDefaultBranch -> EditRepoOption { editRepoOptionDefaultBranch, ..} ) <$> f editRepoOptionDefaultBranch+{-# INLINE editRepoOptionDefaultBranchL #-}++-- | 'editRepoOptionDefaultDeleteBranchAfterMerge' Lens+editRepoOptionDefaultDeleteBranchAfterMergeL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionDefaultDeleteBranchAfterMergeL f EditRepoOption{..} = (\editRepoOptionDefaultDeleteBranchAfterMerge -> EditRepoOption { editRepoOptionDefaultDeleteBranchAfterMerge, ..} ) <$> f editRepoOptionDefaultDeleteBranchAfterMerge+{-# INLINE editRepoOptionDefaultDeleteBranchAfterMergeL #-}++-- | 'editRepoOptionDefaultMergeStyle' Lens+editRepoOptionDefaultMergeStyleL :: Lens_' EditRepoOption (Maybe Text)+editRepoOptionDefaultMergeStyleL f EditRepoOption{..} = (\editRepoOptionDefaultMergeStyle -> EditRepoOption { editRepoOptionDefaultMergeStyle, ..} ) <$> f editRepoOptionDefaultMergeStyle+{-# INLINE editRepoOptionDefaultMergeStyleL #-}++-- | 'editRepoOptionDescription' Lens+editRepoOptionDescriptionL :: Lens_' EditRepoOption (Maybe Text)+editRepoOptionDescriptionL f EditRepoOption{..} = (\editRepoOptionDescription -> EditRepoOption { editRepoOptionDescription, ..} ) <$> f editRepoOptionDescription+{-# INLINE editRepoOptionDescriptionL #-}++-- | 'editRepoOptionEnablePrune' Lens+editRepoOptionEnablePruneL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionEnablePruneL f EditRepoOption{..} = (\editRepoOptionEnablePrune -> EditRepoOption { editRepoOptionEnablePrune, ..} ) <$> f editRepoOptionEnablePrune+{-# INLINE editRepoOptionEnablePruneL #-}++-- | 'editRepoOptionExternalTracker' Lens+editRepoOptionExternalTrackerL :: Lens_' EditRepoOption (Maybe ExternalTracker)+editRepoOptionExternalTrackerL f EditRepoOption{..} = (\editRepoOptionExternalTracker -> EditRepoOption { editRepoOptionExternalTracker, ..} ) <$> f editRepoOptionExternalTracker+{-# INLINE editRepoOptionExternalTrackerL #-}++-- | 'editRepoOptionExternalWiki' Lens+editRepoOptionExternalWikiL :: Lens_' EditRepoOption (Maybe ExternalWiki)+editRepoOptionExternalWikiL f EditRepoOption{..} = (\editRepoOptionExternalWiki -> EditRepoOption { editRepoOptionExternalWiki, ..} ) <$> f editRepoOptionExternalWiki+{-# INLINE editRepoOptionExternalWikiL #-}++-- | 'editRepoOptionHasIssues' Lens+editRepoOptionHasIssuesL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionHasIssuesL f EditRepoOption{..} = (\editRepoOptionHasIssues -> EditRepoOption { editRepoOptionHasIssues, ..} ) <$> f editRepoOptionHasIssues+{-# INLINE editRepoOptionHasIssuesL #-}++-- | 'editRepoOptionHasProjects' Lens+editRepoOptionHasProjectsL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionHasProjectsL f EditRepoOption{..} = (\editRepoOptionHasProjects -> EditRepoOption { editRepoOptionHasProjects, ..} ) <$> f editRepoOptionHasProjects+{-# INLINE editRepoOptionHasProjectsL #-}++-- | 'editRepoOptionHasPullRequests' Lens+editRepoOptionHasPullRequestsL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionHasPullRequestsL f EditRepoOption{..} = (\editRepoOptionHasPullRequests -> EditRepoOption { editRepoOptionHasPullRequests, ..} ) <$> f editRepoOptionHasPullRequests+{-# INLINE editRepoOptionHasPullRequestsL #-}++-- | 'editRepoOptionHasWiki' Lens+editRepoOptionHasWikiL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionHasWikiL f EditRepoOption{..} = (\editRepoOptionHasWiki -> EditRepoOption { editRepoOptionHasWiki, ..} ) <$> f editRepoOptionHasWiki+{-# INLINE editRepoOptionHasWikiL #-}++-- | 'editRepoOptionIgnoreWhitespaceConflicts' Lens+editRepoOptionIgnoreWhitespaceConflictsL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionIgnoreWhitespaceConflictsL f EditRepoOption{..} = (\editRepoOptionIgnoreWhitespaceConflicts -> EditRepoOption { editRepoOptionIgnoreWhitespaceConflicts, ..} ) <$> f editRepoOptionIgnoreWhitespaceConflicts+{-# INLINE editRepoOptionIgnoreWhitespaceConflictsL #-}++-- | 'editRepoOptionInternalTracker' Lens+editRepoOptionInternalTrackerL :: Lens_' EditRepoOption (Maybe InternalTracker)+editRepoOptionInternalTrackerL f EditRepoOption{..} = (\editRepoOptionInternalTracker -> EditRepoOption { editRepoOptionInternalTracker, ..} ) <$> f editRepoOptionInternalTracker+{-# INLINE editRepoOptionInternalTrackerL #-}++-- | 'editRepoOptionMirrorInterval' Lens+editRepoOptionMirrorIntervalL :: Lens_' EditRepoOption (Maybe Text)+editRepoOptionMirrorIntervalL f EditRepoOption{..} = (\editRepoOptionMirrorInterval -> EditRepoOption { editRepoOptionMirrorInterval, ..} ) <$> f editRepoOptionMirrorInterval+{-# INLINE editRepoOptionMirrorIntervalL #-}++-- | 'editRepoOptionName' Lens+editRepoOptionNameL :: Lens_' EditRepoOption (Maybe Text)+editRepoOptionNameL f EditRepoOption{..} = (\editRepoOptionName -> EditRepoOption { editRepoOptionName, ..} ) <$> f editRepoOptionName+{-# INLINE editRepoOptionNameL #-}++-- | 'editRepoOptionPrivate' Lens+editRepoOptionPrivateL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionPrivateL f EditRepoOption{..} = (\editRepoOptionPrivate -> EditRepoOption { editRepoOptionPrivate, ..} ) <$> f editRepoOptionPrivate+{-# INLINE editRepoOptionPrivateL #-}++-- | 'editRepoOptionTemplate' Lens+editRepoOptionTemplateL :: Lens_' EditRepoOption (Maybe Bool)+editRepoOptionTemplateL f EditRepoOption{..} = (\editRepoOptionTemplate -> EditRepoOption { editRepoOptionTemplate, ..} ) <$> f editRepoOptionTemplate+{-# INLINE editRepoOptionTemplateL #-}++-- | 'editRepoOptionWebsite' Lens+editRepoOptionWebsiteL :: Lens_' EditRepoOption (Maybe Text)+editRepoOptionWebsiteL f EditRepoOption{..} = (\editRepoOptionWebsite -> EditRepoOption { editRepoOptionWebsite, ..} ) <$> f editRepoOptionWebsite+{-# INLINE editRepoOptionWebsiteL #-}++++-- * EditTeamOption++-- | 'editTeamOptionCanCreateOrgRepo' Lens+editTeamOptionCanCreateOrgRepoL :: Lens_' EditTeamOption (Maybe Bool)+editTeamOptionCanCreateOrgRepoL f EditTeamOption{..} = (\editTeamOptionCanCreateOrgRepo -> EditTeamOption { editTeamOptionCanCreateOrgRepo, ..} ) <$> f editTeamOptionCanCreateOrgRepo+{-# INLINE editTeamOptionCanCreateOrgRepoL #-}++-- | 'editTeamOptionDescription' Lens+editTeamOptionDescriptionL :: Lens_' EditTeamOption (Maybe Text)+editTeamOptionDescriptionL f EditTeamOption{..} = (\editTeamOptionDescription -> EditTeamOption { editTeamOptionDescription, ..} ) <$> f editTeamOptionDescription+{-# INLINE editTeamOptionDescriptionL #-}++-- | 'editTeamOptionIncludesAllRepositories' Lens+editTeamOptionIncludesAllRepositoriesL :: Lens_' EditTeamOption (Maybe Bool)+editTeamOptionIncludesAllRepositoriesL f EditTeamOption{..} = (\editTeamOptionIncludesAllRepositories -> EditTeamOption { editTeamOptionIncludesAllRepositories, ..} ) <$> f editTeamOptionIncludesAllRepositories+{-# INLINE editTeamOptionIncludesAllRepositoriesL #-}++-- | 'editTeamOptionName' Lens+editTeamOptionNameL :: Lens_' EditTeamOption (Text)+editTeamOptionNameL f EditTeamOption{..} = (\editTeamOptionName -> EditTeamOption { editTeamOptionName, ..} ) <$> f editTeamOptionName+{-# INLINE editTeamOptionNameL #-}++-- | 'editTeamOptionPermission' Lens+editTeamOptionPermissionL :: Lens_' EditTeamOption (Maybe E'Permission)+editTeamOptionPermissionL f EditTeamOption{..} = (\editTeamOptionPermission -> EditTeamOption { editTeamOptionPermission, ..} ) <$> f editTeamOptionPermission+{-# INLINE editTeamOptionPermissionL #-}++-- | 'editTeamOptionUnits' Lens+editTeamOptionUnitsL :: Lens_' EditTeamOption (Maybe [Text])+editTeamOptionUnitsL f EditTeamOption{..} = (\editTeamOptionUnits -> EditTeamOption { editTeamOptionUnits, ..} ) <$> f editTeamOptionUnits+{-# INLINE editTeamOptionUnitsL #-}++-- | 'editTeamOptionUnitsMap' Lens+editTeamOptionUnitsMapL :: Lens_' EditTeamOption (Maybe (Map.Map String Text))+editTeamOptionUnitsMapL f EditTeamOption{..} = (\editTeamOptionUnitsMap -> EditTeamOption { editTeamOptionUnitsMap, ..} ) <$> f editTeamOptionUnitsMap+{-# INLINE editTeamOptionUnitsMapL #-}++++-- * EditUserOption++-- | 'editUserOptionActive' Lens+editUserOptionActiveL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionActiveL f EditUserOption{..} = (\editUserOptionActive -> EditUserOption { editUserOptionActive, ..} ) <$> f editUserOptionActive+{-# INLINE editUserOptionActiveL #-}++-- | 'editUserOptionAdmin' Lens+editUserOptionAdminL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionAdminL f EditUserOption{..} = (\editUserOptionAdmin -> EditUserOption { editUserOptionAdmin, ..} ) <$> f editUserOptionAdmin+{-# INLINE editUserOptionAdminL #-}++-- | 'editUserOptionAllowCreateOrganization' Lens+editUserOptionAllowCreateOrganizationL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionAllowCreateOrganizationL f EditUserOption{..} = (\editUserOptionAllowCreateOrganization -> EditUserOption { editUserOptionAllowCreateOrganization, ..} ) <$> f editUserOptionAllowCreateOrganization+{-# INLINE editUserOptionAllowCreateOrganizationL #-}++-- | 'editUserOptionAllowGitHook' Lens+editUserOptionAllowGitHookL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionAllowGitHookL f EditUserOption{..} = (\editUserOptionAllowGitHook -> EditUserOption { editUserOptionAllowGitHook, ..} ) <$> f editUserOptionAllowGitHook+{-# INLINE editUserOptionAllowGitHookL #-}++-- | 'editUserOptionAllowImportLocal' Lens+editUserOptionAllowImportLocalL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionAllowImportLocalL f EditUserOption{..} = (\editUserOptionAllowImportLocal -> EditUserOption { editUserOptionAllowImportLocal, ..} ) <$> f editUserOptionAllowImportLocal+{-# INLINE editUserOptionAllowImportLocalL #-}++-- | 'editUserOptionDescription' Lens+editUserOptionDescriptionL :: Lens_' EditUserOption (Maybe Text)+editUserOptionDescriptionL f EditUserOption{..} = (\editUserOptionDescription -> EditUserOption { editUserOptionDescription, ..} ) <$> f editUserOptionDescription+{-# INLINE editUserOptionDescriptionL #-}++-- | 'editUserOptionEmail' Lens+editUserOptionEmailL :: Lens_' EditUserOption (Maybe Text)+editUserOptionEmailL f EditUserOption{..} = (\editUserOptionEmail -> EditUserOption { editUserOptionEmail, ..} ) <$> f editUserOptionEmail+{-# INLINE editUserOptionEmailL #-}++-- | 'editUserOptionFullName' Lens+editUserOptionFullNameL :: Lens_' EditUserOption (Maybe Text)+editUserOptionFullNameL f EditUserOption{..} = (\editUserOptionFullName -> EditUserOption { editUserOptionFullName, ..} ) <$> f editUserOptionFullName+{-# INLINE editUserOptionFullNameL #-}++-- | 'editUserOptionLocation' Lens+editUserOptionLocationL :: Lens_' EditUserOption (Maybe Text)+editUserOptionLocationL f EditUserOption{..} = (\editUserOptionLocation -> EditUserOption { editUserOptionLocation, ..} ) <$> f editUserOptionLocation+{-# INLINE editUserOptionLocationL #-}++-- | 'editUserOptionLoginName' Lens+editUserOptionLoginNameL :: Lens_' EditUserOption (Text)+editUserOptionLoginNameL f EditUserOption{..} = (\editUserOptionLoginName -> EditUserOption { editUserOptionLoginName, ..} ) <$> f editUserOptionLoginName+{-# INLINE editUserOptionLoginNameL #-}++-- | 'editUserOptionMaxRepoCreation' Lens+editUserOptionMaxRepoCreationL :: Lens_' EditUserOption (Maybe Integer)+editUserOptionMaxRepoCreationL f EditUserOption{..} = (\editUserOptionMaxRepoCreation -> EditUserOption { editUserOptionMaxRepoCreation, ..} ) <$> f editUserOptionMaxRepoCreation+{-# INLINE editUserOptionMaxRepoCreationL #-}++-- | 'editUserOptionMustChangePassword' Lens+editUserOptionMustChangePasswordL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionMustChangePasswordL f EditUserOption{..} = (\editUserOptionMustChangePassword -> EditUserOption { editUserOptionMustChangePassword, ..} ) <$> f editUserOptionMustChangePassword+{-# INLINE editUserOptionMustChangePasswordL #-}++-- | 'editUserOptionPassword' Lens+editUserOptionPasswordL :: Lens_' EditUserOption (Maybe Text)+editUserOptionPasswordL f EditUserOption{..} = (\editUserOptionPassword -> EditUserOption { editUserOptionPassword, ..} ) <$> f editUserOptionPassword+{-# INLINE editUserOptionPasswordL #-}++-- | 'editUserOptionProhibitLogin' Lens+editUserOptionProhibitLoginL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionProhibitLoginL f EditUserOption{..} = (\editUserOptionProhibitLogin -> EditUserOption { editUserOptionProhibitLogin, ..} ) <$> f editUserOptionProhibitLogin+{-# INLINE editUserOptionProhibitLoginL #-}++-- | 'editUserOptionRestricted' Lens+editUserOptionRestrictedL :: Lens_' EditUserOption (Maybe Bool)+editUserOptionRestrictedL f EditUserOption{..} = (\editUserOptionRestricted -> EditUserOption { editUserOptionRestricted, ..} ) <$> f editUserOptionRestricted+{-# INLINE editUserOptionRestrictedL #-}++-- | 'editUserOptionSourceId' Lens+editUserOptionSourceIdL :: Lens_' EditUserOption (Integer)+editUserOptionSourceIdL f EditUserOption{..} = (\editUserOptionSourceId -> EditUserOption { editUserOptionSourceId, ..} ) <$> f editUserOptionSourceId+{-# INLINE editUserOptionSourceIdL #-}++-- | 'editUserOptionVisibility' Lens+editUserOptionVisibilityL :: Lens_' EditUserOption (Maybe Text)+editUserOptionVisibilityL f EditUserOption{..} = (\editUserOptionVisibility -> EditUserOption { editUserOptionVisibility, ..} ) <$> f editUserOptionVisibility+{-# INLINE editUserOptionVisibilityL #-}++-- | 'editUserOptionWebsite' Lens+editUserOptionWebsiteL :: Lens_' EditUserOption (Maybe Text)+editUserOptionWebsiteL f EditUserOption{..} = (\editUserOptionWebsite -> EditUserOption { editUserOptionWebsite, ..} ) <$> f editUserOptionWebsite+{-# INLINE editUserOptionWebsiteL #-}++++-- * Email++-- | 'emailEmail' Lens+emailEmailL :: Lens_' Email (Maybe Text)+emailEmailL f Email{..} = (\emailEmail -> Email { emailEmail, ..} ) <$> f emailEmail+{-# INLINE emailEmailL #-}++-- | 'emailPrimary' Lens+emailPrimaryL :: Lens_' Email (Maybe Bool)+emailPrimaryL f Email{..} = (\emailPrimary -> Email { emailPrimary, ..} ) <$> f emailPrimary+{-# INLINE emailPrimaryL #-}++-- | 'emailVerified' Lens+emailVerifiedL :: Lens_' Email (Maybe Bool)+emailVerifiedL f Email{..} = (\emailVerified -> Email { emailVerified, ..} ) <$> f emailVerified+{-# INLINE emailVerifiedL #-}++++-- * ExternalTracker++-- | 'externalTrackerExternalTrackerFormat' Lens+externalTrackerExternalTrackerFormatL :: Lens_' ExternalTracker (Maybe Text)+externalTrackerExternalTrackerFormatL f ExternalTracker{..} = (\externalTrackerExternalTrackerFormat -> ExternalTracker { externalTrackerExternalTrackerFormat, ..} ) <$> f externalTrackerExternalTrackerFormat+{-# INLINE externalTrackerExternalTrackerFormatL #-}++-- | 'externalTrackerExternalTrackerRegexpPattern' Lens+externalTrackerExternalTrackerRegexpPatternL :: Lens_' ExternalTracker (Maybe Text)+externalTrackerExternalTrackerRegexpPatternL f ExternalTracker{..} = (\externalTrackerExternalTrackerRegexpPattern -> ExternalTracker { externalTrackerExternalTrackerRegexpPattern, ..} ) <$> f externalTrackerExternalTrackerRegexpPattern+{-# INLINE externalTrackerExternalTrackerRegexpPatternL #-}++-- | 'externalTrackerExternalTrackerStyle' Lens+externalTrackerExternalTrackerStyleL :: Lens_' ExternalTracker (Maybe Text)+externalTrackerExternalTrackerStyleL f ExternalTracker{..} = (\externalTrackerExternalTrackerStyle -> ExternalTracker { externalTrackerExternalTrackerStyle, ..} ) <$> f externalTrackerExternalTrackerStyle+{-# INLINE externalTrackerExternalTrackerStyleL #-}++-- | 'externalTrackerExternalTrackerUrl' Lens+externalTrackerExternalTrackerUrlL :: Lens_' ExternalTracker (Maybe Text)+externalTrackerExternalTrackerUrlL f ExternalTracker{..} = (\externalTrackerExternalTrackerUrl -> ExternalTracker { externalTrackerExternalTrackerUrl, ..} ) <$> f externalTrackerExternalTrackerUrl+{-# INLINE externalTrackerExternalTrackerUrlL #-}++++-- * ExternalWiki++-- | 'externalWikiExternalWikiUrl' Lens+externalWikiExternalWikiUrlL :: Lens_' ExternalWiki (Maybe Text)+externalWikiExternalWikiUrlL f ExternalWiki{..} = (\externalWikiExternalWikiUrl -> ExternalWiki { externalWikiExternalWikiUrl, ..} ) <$> f externalWikiExternalWikiUrl+{-# INLINE externalWikiExternalWikiUrlL #-}++++-- * FileCommitResponse++-- | 'fileCommitResponseAuthor' Lens+fileCommitResponseAuthorL :: Lens_' FileCommitResponse (Maybe CommitUser)+fileCommitResponseAuthorL f FileCommitResponse{..} = (\fileCommitResponseAuthor -> FileCommitResponse { fileCommitResponseAuthor, ..} ) <$> f fileCommitResponseAuthor+{-# INLINE fileCommitResponseAuthorL #-}++-- | 'fileCommitResponseCommitter' Lens+fileCommitResponseCommitterL :: Lens_' FileCommitResponse (Maybe CommitUser)+fileCommitResponseCommitterL f FileCommitResponse{..} = (\fileCommitResponseCommitter -> FileCommitResponse { fileCommitResponseCommitter, ..} ) <$> f fileCommitResponseCommitter+{-# INLINE fileCommitResponseCommitterL #-}++-- | 'fileCommitResponseCreated' Lens+fileCommitResponseCreatedL :: Lens_' FileCommitResponse (Maybe DateTime)+fileCommitResponseCreatedL f FileCommitResponse{..} = (\fileCommitResponseCreated -> FileCommitResponse { fileCommitResponseCreated, ..} ) <$> f fileCommitResponseCreated+{-# INLINE fileCommitResponseCreatedL #-}++-- | 'fileCommitResponseHtmlUrl' Lens+fileCommitResponseHtmlUrlL :: Lens_' FileCommitResponse (Maybe Text)+fileCommitResponseHtmlUrlL f FileCommitResponse{..} = (\fileCommitResponseHtmlUrl -> FileCommitResponse { fileCommitResponseHtmlUrl, ..} ) <$> f fileCommitResponseHtmlUrl+{-# INLINE fileCommitResponseHtmlUrlL #-}++-- | 'fileCommitResponseMessage' Lens+fileCommitResponseMessageL :: Lens_' FileCommitResponse (Maybe Text)+fileCommitResponseMessageL f FileCommitResponse{..} = (\fileCommitResponseMessage -> FileCommitResponse { fileCommitResponseMessage, ..} ) <$> f fileCommitResponseMessage+{-# INLINE fileCommitResponseMessageL #-}++-- | 'fileCommitResponseParents' Lens+fileCommitResponseParentsL :: Lens_' FileCommitResponse (Maybe [CommitMeta])+fileCommitResponseParentsL f FileCommitResponse{..} = (\fileCommitResponseParents -> FileCommitResponse { fileCommitResponseParents, ..} ) <$> f fileCommitResponseParents+{-# INLINE fileCommitResponseParentsL #-}++-- | 'fileCommitResponseSha' Lens+fileCommitResponseShaL :: Lens_' FileCommitResponse (Maybe Text)+fileCommitResponseShaL f FileCommitResponse{..} = (\fileCommitResponseSha -> FileCommitResponse { fileCommitResponseSha, ..} ) <$> f fileCommitResponseSha+{-# INLINE fileCommitResponseShaL #-}++-- | 'fileCommitResponseTree' Lens+fileCommitResponseTreeL :: Lens_' FileCommitResponse (Maybe CommitMeta)+fileCommitResponseTreeL f FileCommitResponse{..} = (\fileCommitResponseTree -> FileCommitResponse { fileCommitResponseTree, ..} ) <$> f fileCommitResponseTree+{-# INLINE fileCommitResponseTreeL #-}++-- | 'fileCommitResponseUrl' Lens+fileCommitResponseUrlL :: Lens_' FileCommitResponse (Maybe Text)+fileCommitResponseUrlL f FileCommitResponse{..} = (\fileCommitResponseUrl -> FileCommitResponse { fileCommitResponseUrl, ..} ) <$> f fileCommitResponseUrl+{-# INLINE fileCommitResponseUrlL #-}++++-- * FileDeleteResponse++-- | 'fileDeleteResponseCommit' Lens+fileDeleteResponseCommitL :: Lens_' FileDeleteResponse (Maybe FileCommitResponse)+fileDeleteResponseCommitL f FileDeleteResponse{..} = (\fileDeleteResponseCommit -> FileDeleteResponse { fileDeleteResponseCommit, ..} ) <$> f fileDeleteResponseCommit+{-# INLINE fileDeleteResponseCommitL #-}++-- | 'fileDeleteResponseContent' Lens+fileDeleteResponseContentL :: Lens_' FileDeleteResponse (Maybe A.Value)+fileDeleteResponseContentL f FileDeleteResponse{..} = (\fileDeleteResponseContent -> FileDeleteResponse { fileDeleteResponseContent, ..} ) <$> f fileDeleteResponseContent+{-# INLINE fileDeleteResponseContentL #-}++-- | 'fileDeleteResponseVerification' Lens+fileDeleteResponseVerificationL :: Lens_' FileDeleteResponse (Maybe PayloadCommitVerification)+fileDeleteResponseVerificationL f FileDeleteResponse{..} = (\fileDeleteResponseVerification -> FileDeleteResponse { fileDeleteResponseVerification, ..} ) <$> f fileDeleteResponseVerification+{-# INLINE fileDeleteResponseVerificationL #-}++++-- * FileLinksResponse++-- | 'fileLinksResponseGit' Lens+fileLinksResponseGitL :: Lens_' FileLinksResponse (Maybe Text)+fileLinksResponseGitL f FileLinksResponse{..} = (\fileLinksResponseGit -> FileLinksResponse { fileLinksResponseGit, ..} ) <$> f fileLinksResponseGit+{-# INLINE fileLinksResponseGitL #-}++-- | 'fileLinksResponseHtml' Lens+fileLinksResponseHtmlL :: Lens_' FileLinksResponse (Maybe Text)+fileLinksResponseHtmlL f FileLinksResponse{..} = (\fileLinksResponseHtml -> FileLinksResponse { fileLinksResponseHtml, ..} ) <$> f fileLinksResponseHtml+{-# INLINE fileLinksResponseHtmlL #-}++-- | 'fileLinksResponseSelf' Lens+fileLinksResponseSelfL :: Lens_' FileLinksResponse (Maybe Text)+fileLinksResponseSelfL f FileLinksResponse{..} = (\fileLinksResponseSelf -> FileLinksResponse { fileLinksResponseSelf, ..} ) <$> f fileLinksResponseSelf+{-# INLINE fileLinksResponseSelfL #-}++++-- * FileResponse++-- | 'fileResponseCommit' Lens+fileResponseCommitL :: Lens_' FileResponse (Maybe FileCommitResponse)+fileResponseCommitL f FileResponse{..} = (\fileResponseCommit -> FileResponse { fileResponseCommit, ..} ) <$> f fileResponseCommit+{-# INLINE fileResponseCommitL #-}++-- | 'fileResponseContent' Lens+fileResponseContentL :: Lens_' FileResponse (Maybe ContentsResponse)+fileResponseContentL f FileResponse{..} = (\fileResponseContent -> FileResponse { fileResponseContent, ..} ) <$> f fileResponseContent+{-# INLINE fileResponseContentL #-}++-- | 'fileResponseVerification' Lens+fileResponseVerificationL :: Lens_' FileResponse (Maybe PayloadCommitVerification)+fileResponseVerificationL f FileResponse{..} = (\fileResponseVerification -> FileResponse { fileResponseVerification, ..} ) <$> f fileResponseVerification+{-# INLINE fileResponseVerificationL #-}++++-- * GPGKey++-- | 'gPGKeyCanCertify' Lens+gPGKeyCanCertifyL :: Lens_' GPGKey (Maybe Bool)+gPGKeyCanCertifyL f GPGKey{..} = (\gPGKeyCanCertify -> GPGKey { gPGKeyCanCertify, ..} ) <$> f gPGKeyCanCertify+{-# INLINE gPGKeyCanCertifyL #-}++-- | 'gPGKeyCanEncryptComms' Lens+gPGKeyCanEncryptCommsL :: Lens_' GPGKey (Maybe Bool)+gPGKeyCanEncryptCommsL f GPGKey{..} = (\gPGKeyCanEncryptComms -> GPGKey { gPGKeyCanEncryptComms, ..} ) <$> f gPGKeyCanEncryptComms+{-# INLINE gPGKeyCanEncryptCommsL #-}++-- | 'gPGKeyCanEncryptStorage' Lens+gPGKeyCanEncryptStorageL :: Lens_' GPGKey (Maybe Bool)+gPGKeyCanEncryptStorageL f GPGKey{..} = (\gPGKeyCanEncryptStorage -> GPGKey { gPGKeyCanEncryptStorage, ..} ) <$> f gPGKeyCanEncryptStorage+{-# INLINE gPGKeyCanEncryptStorageL #-}++-- | 'gPGKeyCanSign' Lens+gPGKeyCanSignL :: Lens_' GPGKey (Maybe Bool)+gPGKeyCanSignL f GPGKey{..} = (\gPGKeyCanSign -> GPGKey { gPGKeyCanSign, ..} ) <$> f gPGKeyCanSign+{-# INLINE gPGKeyCanSignL #-}++-- | 'gPGKeyCreatedAt' Lens+gPGKeyCreatedAtL :: Lens_' GPGKey (Maybe DateTime)+gPGKeyCreatedAtL f GPGKey{..} = (\gPGKeyCreatedAt -> GPGKey { gPGKeyCreatedAt, ..} ) <$> f gPGKeyCreatedAt+{-# INLINE gPGKeyCreatedAtL #-}++-- | 'gPGKeyEmails' Lens+gPGKeyEmailsL :: Lens_' GPGKey (Maybe [GPGKeyEmail])+gPGKeyEmailsL f GPGKey{..} = (\gPGKeyEmails -> GPGKey { gPGKeyEmails, ..} ) <$> f gPGKeyEmails+{-# INLINE gPGKeyEmailsL #-}++-- | 'gPGKeyExpiresAt' Lens+gPGKeyExpiresAtL :: Lens_' GPGKey (Maybe DateTime)+gPGKeyExpiresAtL f GPGKey{..} = (\gPGKeyExpiresAt -> GPGKey { gPGKeyExpiresAt, ..} ) <$> f gPGKeyExpiresAt+{-# INLINE gPGKeyExpiresAtL #-}++-- | 'gPGKeyId' Lens+gPGKeyIdL :: Lens_' GPGKey (Maybe Integer)+gPGKeyIdL f GPGKey{..} = (\gPGKeyId -> GPGKey { gPGKeyId, ..} ) <$> f gPGKeyId+{-# INLINE gPGKeyIdL #-}++-- | 'gPGKeyKeyId' Lens+gPGKeyKeyIdL :: Lens_' GPGKey (Maybe Text)+gPGKeyKeyIdL f GPGKey{..} = (\gPGKeyKeyId -> GPGKey { gPGKeyKeyId, ..} ) <$> f gPGKeyKeyId+{-# INLINE gPGKeyKeyIdL #-}++-- | 'gPGKeyPrimaryKeyId' Lens+gPGKeyPrimaryKeyIdL :: Lens_' GPGKey (Maybe Text)+gPGKeyPrimaryKeyIdL f GPGKey{..} = (\gPGKeyPrimaryKeyId -> GPGKey { gPGKeyPrimaryKeyId, ..} ) <$> f gPGKeyPrimaryKeyId+{-# INLINE gPGKeyPrimaryKeyIdL #-}++-- | 'gPGKeyPublicKey' Lens+gPGKeyPublicKeyL :: Lens_' GPGKey (Maybe Text)+gPGKeyPublicKeyL f GPGKey{..} = (\gPGKeyPublicKey -> GPGKey { gPGKeyPublicKey, ..} ) <$> f gPGKeyPublicKey+{-# INLINE gPGKeyPublicKeyL #-}++-- | 'gPGKeySubkeys' Lens+gPGKeySubkeysL :: Lens_' GPGKey (Maybe [GPGKey])+gPGKeySubkeysL f GPGKey{..} = (\gPGKeySubkeys -> GPGKey { gPGKeySubkeys, ..} ) <$> f gPGKeySubkeys+{-# INLINE gPGKeySubkeysL #-}++-- | 'gPGKeyVerified' Lens+gPGKeyVerifiedL :: Lens_' GPGKey (Maybe Bool)+gPGKeyVerifiedL f GPGKey{..} = (\gPGKeyVerified -> GPGKey { gPGKeyVerified, ..} ) <$> f gPGKeyVerified+{-# INLINE gPGKeyVerifiedL #-}++++-- * GPGKeyEmail++-- | 'gPGKeyEmailEmail' Lens+gPGKeyEmailEmailL :: Lens_' GPGKeyEmail (Maybe Text)+gPGKeyEmailEmailL f GPGKeyEmail{..} = (\gPGKeyEmailEmail -> GPGKeyEmail { gPGKeyEmailEmail, ..} ) <$> f gPGKeyEmailEmail+{-# INLINE gPGKeyEmailEmailL #-}++-- | 'gPGKeyEmailVerified' Lens+gPGKeyEmailVerifiedL :: Lens_' GPGKeyEmail (Maybe Bool)+gPGKeyEmailVerifiedL f GPGKeyEmail{..} = (\gPGKeyEmailVerified -> GPGKeyEmail { gPGKeyEmailVerified, ..} ) <$> f gPGKeyEmailVerified+{-# INLINE gPGKeyEmailVerifiedL #-}++++-- * GeneralAPISettings++-- | 'generalAPISettingsDefaultGitTreesPerPage' Lens+generalAPISettingsDefaultGitTreesPerPageL :: Lens_' GeneralAPISettings (Maybe Integer)+generalAPISettingsDefaultGitTreesPerPageL f GeneralAPISettings{..} = (\generalAPISettingsDefaultGitTreesPerPage -> GeneralAPISettings { generalAPISettingsDefaultGitTreesPerPage, ..} ) <$> f generalAPISettingsDefaultGitTreesPerPage+{-# INLINE generalAPISettingsDefaultGitTreesPerPageL #-}++-- | 'generalAPISettingsDefaultMaxBlobSize' Lens+generalAPISettingsDefaultMaxBlobSizeL :: Lens_' GeneralAPISettings (Maybe Integer)+generalAPISettingsDefaultMaxBlobSizeL f GeneralAPISettings{..} = (\generalAPISettingsDefaultMaxBlobSize -> GeneralAPISettings { generalAPISettingsDefaultMaxBlobSize, ..} ) <$> f generalAPISettingsDefaultMaxBlobSize+{-# INLINE generalAPISettingsDefaultMaxBlobSizeL #-}++-- | 'generalAPISettingsDefaultPagingNum' Lens+generalAPISettingsDefaultPagingNumL :: Lens_' GeneralAPISettings (Maybe Integer)+generalAPISettingsDefaultPagingNumL f GeneralAPISettings{..} = (\generalAPISettingsDefaultPagingNum -> GeneralAPISettings { generalAPISettingsDefaultPagingNum, ..} ) <$> f generalAPISettingsDefaultPagingNum+{-# INLINE generalAPISettingsDefaultPagingNumL #-}++-- | 'generalAPISettingsMaxResponseItems' Lens+generalAPISettingsMaxResponseItemsL :: Lens_' GeneralAPISettings (Maybe Integer)+generalAPISettingsMaxResponseItemsL f GeneralAPISettings{..} = (\generalAPISettingsMaxResponseItems -> GeneralAPISettings { generalAPISettingsMaxResponseItems, ..} ) <$> f generalAPISettingsMaxResponseItems+{-# INLINE generalAPISettingsMaxResponseItemsL #-}++++-- * GeneralAttachmentSettings++-- | 'generalAttachmentSettingsAllowedTypes' Lens+generalAttachmentSettingsAllowedTypesL :: Lens_' GeneralAttachmentSettings (Maybe Text)+generalAttachmentSettingsAllowedTypesL f GeneralAttachmentSettings{..} = (\generalAttachmentSettingsAllowedTypes -> GeneralAttachmentSettings { generalAttachmentSettingsAllowedTypes, ..} ) <$> f generalAttachmentSettingsAllowedTypes+{-# INLINE generalAttachmentSettingsAllowedTypesL #-}++-- | 'generalAttachmentSettingsEnabled' Lens+generalAttachmentSettingsEnabledL :: Lens_' GeneralAttachmentSettings (Maybe Bool)+generalAttachmentSettingsEnabledL f GeneralAttachmentSettings{..} = (\generalAttachmentSettingsEnabled -> GeneralAttachmentSettings { generalAttachmentSettingsEnabled, ..} ) <$> f generalAttachmentSettingsEnabled+{-# INLINE generalAttachmentSettingsEnabledL #-}++-- | 'generalAttachmentSettingsMaxFiles' Lens+generalAttachmentSettingsMaxFilesL :: Lens_' GeneralAttachmentSettings (Maybe Integer)+generalAttachmentSettingsMaxFilesL f GeneralAttachmentSettings{..} = (\generalAttachmentSettingsMaxFiles -> GeneralAttachmentSettings { generalAttachmentSettingsMaxFiles, ..} ) <$> f generalAttachmentSettingsMaxFiles+{-# INLINE generalAttachmentSettingsMaxFilesL #-}++-- | 'generalAttachmentSettingsMaxSize' Lens+generalAttachmentSettingsMaxSizeL :: Lens_' GeneralAttachmentSettings (Maybe Integer)+generalAttachmentSettingsMaxSizeL f GeneralAttachmentSettings{..} = (\generalAttachmentSettingsMaxSize -> GeneralAttachmentSettings { generalAttachmentSettingsMaxSize, ..} ) <$> f generalAttachmentSettingsMaxSize+{-# INLINE generalAttachmentSettingsMaxSizeL #-}++++-- * GeneralRepoSettings++-- | 'generalRepoSettingsHttpGitDisabled' Lens+generalRepoSettingsHttpGitDisabledL :: Lens_' GeneralRepoSettings (Maybe Bool)+generalRepoSettingsHttpGitDisabledL f GeneralRepoSettings{..} = (\generalRepoSettingsHttpGitDisabled -> GeneralRepoSettings { generalRepoSettingsHttpGitDisabled, ..} ) <$> f generalRepoSettingsHttpGitDisabled+{-# INLINE generalRepoSettingsHttpGitDisabledL #-}++-- | 'generalRepoSettingsLfsDisabled' Lens+generalRepoSettingsLfsDisabledL :: Lens_' GeneralRepoSettings (Maybe Bool)+generalRepoSettingsLfsDisabledL f GeneralRepoSettings{..} = (\generalRepoSettingsLfsDisabled -> GeneralRepoSettings { generalRepoSettingsLfsDisabled, ..} ) <$> f generalRepoSettingsLfsDisabled+{-# INLINE generalRepoSettingsLfsDisabledL #-}++-- | 'generalRepoSettingsMigrationsDisabled' Lens+generalRepoSettingsMigrationsDisabledL :: Lens_' GeneralRepoSettings (Maybe Bool)+generalRepoSettingsMigrationsDisabledL f GeneralRepoSettings{..} = (\generalRepoSettingsMigrationsDisabled -> GeneralRepoSettings { generalRepoSettingsMigrationsDisabled, ..} ) <$> f generalRepoSettingsMigrationsDisabled+{-# INLINE generalRepoSettingsMigrationsDisabledL #-}++-- | 'generalRepoSettingsMirrorsDisabled' Lens+generalRepoSettingsMirrorsDisabledL :: Lens_' GeneralRepoSettings (Maybe Bool)+generalRepoSettingsMirrorsDisabledL f GeneralRepoSettings{..} = (\generalRepoSettingsMirrorsDisabled -> GeneralRepoSettings { generalRepoSettingsMirrorsDisabled, ..} ) <$> f generalRepoSettingsMirrorsDisabled+{-# INLINE generalRepoSettingsMirrorsDisabledL #-}++-- | 'generalRepoSettingsStarsDisabled' Lens+generalRepoSettingsStarsDisabledL :: Lens_' GeneralRepoSettings (Maybe Bool)+generalRepoSettingsStarsDisabledL f GeneralRepoSettings{..} = (\generalRepoSettingsStarsDisabled -> GeneralRepoSettings { generalRepoSettingsStarsDisabled, ..} ) <$> f generalRepoSettingsStarsDisabled+{-# INLINE generalRepoSettingsStarsDisabledL #-}++-- | 'generalRepoSettingsTimeTrackingDisabled' Lens+generalRepoSettingsTimeTrackingDisabledL :: Lens_' GeneralRepoSettings (Maybe Bool)+generalRepoSettingsTimeTrackingDisabledL f GeneralRepoSettings{..} = (\generalRepoSettingsTimeTrackingDisabled -> GeneralRepoSettings { generalRepoSettingsTimeTrackingDisabled, ..} ) <$> f generalRepoSettingsTimeTrackingDisabled+{-# INLINE generalRepoSettingsTimeTrackingDisabledL #-}++++-- * GeneralUISettings++-- | 'generalUISettingsAllowedReactions' Lens+generalUISettingsAllowedReactionsL :: Lens_' GeneralUISettings (Maybe [Text])+generalUISettingsAllowedReactionsL f GeneralUISettings{..} = (\generalUISettingsAllowedReactions -> GeneralUISettings { generalUISettingsAllowedReactions, ..} ) <$> f generalUISettingsAllowedReactions+{-# INLINE generalUISettingsAllowedReactionsL #-}++-- | 'generalUISettingsCustomEmojis' Lens+generalUISettingsCustomEmojisL :: Lens_' GeneralUISettings (Maybe [Text])+generalUISettingsCustomEmojisL f GeneralUISettings{..} = (\generalUISettingsCustomEmojis -> GeneralUISettings { generalUISettingsCustomEmojis, ..} ) <$> f generalUISettingsCustomEmojis+{-# INLINE generalUISettingsCustomEmojisL #-}++-- | 'generalUISettingsDefaultTheme' Lens+generalUISettingsDefaultThemeL :: Lens_' GeneralUISettings (Maybe Text)+generalUISettingsDefaultThemeL f GeneralUISettings{..} = (\generalUISettingsDefaultTheme -> GeneralUISettings { generalUISettingsDefaultTheme, ..} ) <$> f generalUISettingsDefaultTheme+{-# INLINE generalUISettingsDefaultThemeL #-}++++-- * GenerateRepoOption++-- | 'generateRepoOptionAvatar' Lens+generateRepoOptionAvatarL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionAvatarL f GenerateRepoOption{..} = (\generateRepoOptionAvatar -> GenerateRepoOption { generateRepoOptionAvatar, ..} ) <$> f generateRepoOptionAvatar+{-# INLINE generateRepoOptionAvatarL #-}++-- | 'generateRepoOptionDefaultBranch' Lens+generateRepoOptionDefaultBranchL :: Lens_' GenerateRepoOption (Maybe Text)+generateRepoOptionDefaultBranchL f GenerateRepoOption{..} = (\generateRepoOptionDefaultBranch -> GenerateRepoOption { generateRepoOptionDefaultBranch, ..} ) <$> f generateRepoOptionDefaultBranch+{-# INLINE generateRepoOptionDefaultBranchL #-}++-- | 'generateRepoOptionDescription' Lens+generateRepoOptionDescriptionL :: Lens_' GenerateRepoOption (Maybe Text)+generateRepoOptionDescriptionL f GenerateRepoOption{..} = (\generateRepoOptionDescription -> GenerateRepoOption { generateRepoOptionDescription, ..} ) <$> f generateRepoOptionDescription+{-# INLINE generateRepoOptionDescriptionL #-}++-- | 'generateRepoOptionGitContent' Lens+generateRepoOptionGitContentL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionGitContentL f GenerateRepoOption{..} = (\generateRepoOptionGitContent -> GenerateRepoOption { generateRepoOptionGitContent, ..} ) <$> f generateRepoOptionGitContent+{-# INLINE generateRepoOptionGitContentL #-}++-- | 'generateRepoOptionGitHooks' Lens+generateRepoOptionGitHooksL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionGitHooksL f GenerateRepoOption{..} = (\generateRepoOptionGitHooks -> GenerateRepoOption { generateRepoOptionGitHooks, ..} ) <$> f generateRepoOptionGitHooks+{-# INLINE generateRepoOptionGitHooksL #-}++-- | 'generateRepoOptionLabels' Lens+generateRepoOptionLabelsL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionLabelsL f GenerateRepoOption{..} = (\generateRepoOptionLabels -> GenerateRepoOption { generateRepoOptionLabels, ..} ) <$> f generateRepoOptionLabels+{-# INLINE generateRepoOptionLabelsL #-}++-- | 'generateRepoOptionName' Lens+generateRepoOptionNameL :: Lens_' GenerateRepoOption (Text)+generateRepoOptionNameL f GenerateRepoOption{..} = (\generateRepoOptionName -> GenerateRepoOption { generateRepoOptionName, ..} ) <$> f generateRepoOptionName+{-# INLINE generateRepoOptionNameL #-}++-- | 'generateRepoOptionOwner' Lens+generateRepoOptionOwnerL :: Lens_' GenerateRepoOption (Text)+generateRepoOptionOwnerL f GenerateRepoOption{..} = (\generateRepoOptionOwner -> GenerateRepoOption { generateRepoOptionOwner, ..} ) <$> f generateRepoOptionOwner+{-# INLINE generateRepoOptionOwnerL #-}++-- | 'generateRepoOptionPrivate' Lens+generateRepoOptionPrivateL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionPrivateL f GenerateRepoOption{..} = (\generateRepoOptionPrivate -> GenerateRepoOption { generateRepoOptionPrivate, ..} ) <$> f generateRepoOptionPrivate+{-# INLINE generateRepoOptionPrivateL #-}++-- | 'generateRepoOptionTopics' Lens+generateRepoOptionTopicsL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionTopicsL f GenerateRepoOption{..} = (\generateRepoOptionTopics -> GenerateRepoOption { generateRepoOptionTopics, ..} ) <$> f generateRepoOptionTopics+{-# INLINE generateRepoOptionTopicsL #-}++-- | 'generateRepoOptionWebhooks' Lens+generateRepoOptionWebhooksL :: Lens_' GenerateRepoOption (Maybe Bool)+generateRepoOptionWebhooksL f GenerateRepoOption{..} = (\generateRepoOptionWebhooks -> GenerateRepoOption { generateRepoOptionWebhooks, ..} ) <$> f generateRepoOptionWebhooks+{-# INLINE generateRepoOptionWebhooksL #-}++++-- * GitBlobResponse++-- | 'gitBlobResponseContent' Lens+gitBlobResponseContentL :: Lens_' GitBlobResponse (Maybe Text)+gitBlobResponseContentL f GitBlobResponse{..} = (\gitBlobResponseContent -> GitBlobResponse { gitBlobResponseContent, ..} ) <$> f gitBlobResponseContent+{-# INLINE gitBlobResponseContentL #-}++-- | 'gitBlobResponseEncoding' Lens+gitBlobResponseEncodingL :: Lens_' GitBlobResponse (Maybe Text)+gitBlobResponseEncodingL f GitBlobResponse{..} = (\gitBlobResponseEncoding -> GitBlobResponse { gitBlobResponseEncoding, ..} ) <$> f gitBlobResponseEncoding+{-# INLINE gitBlobResponseEncodingL #-}++-- | 'gitBlobResponseSha' Lens+gitBlobResponseShaL :: Lens_' GitBlobResponse (Maybe Text)+gitBlobResponseShaL f GitBlobResponse{..} = (\gitBlobResponseSha -> GitBlobResponse { gitBlobResponseSha, ..} ) <$> f gitBlobResponseSha+{-# INLINE gitBlobResponseShaL #-}++-- | 'gitBlobResponseSize' Lens+gitBlobResponseSizeL :: Lens_' GitBlobResponse (Maybe Integer)+gitBlobResponseSizeL f GitBlobResponse{..} = (\gitBlobResponseSize -> GitBlobResponse { gitBlobResponseSize, ..} ) <$> f gitBlobResponseSize+{-# INLINE gitBlobResponseSizeL #-}++-- | 'gitBlobResponseUrl' Lens+gitBlobResponseUrlL :: Lens_' GitBlobResponse (Maybe Text)+gitBlobResponseUrlL f GitBlobResponse{..} = (\gitBlobResponseUrl -> GitBlobResponse { gitBlobResponseUrl, ..} ) <$> f gitBlobResponseUrl+{-# INLINE gitBlobResponseUrlL #-}++++-- * GitEntry++-- | 'gitEntryMode' Lens+gitEntryModeL :: Lens_' GitEntry (Maybe Text)+gitEntryModeL f GitEntry{..} = (\gitEntryMode -> GitEntry { gitEntryMode, ..} ) <$> f gitEntryMode+{-# INLINE gitEntryModeL #-}++-- | 'gitEntryPath' Lens+gitEntryPathL :: Lens_' GitEntry (Maybe Text)+gitEntryPathL f GitEntry{..} = (\gitEntryPath -> GitEntry { gitEntryPath, ..} ) <$> f gitEntryPath+{-# INLINE gitEntryPathL #-}++-- | 'gitEntrySha' Lens+gitEntryShaL :: Lens_' GitEntry (Maybe Text)+gitEntryShaL f GitEntry{..} = (\gitEntrySha -> GitEntry { gitEntrySha, ..} ) <$> f gitEntrySha+{-# INLINE gitEntryShaL #-}++-- | 'gitEntrySize' Lens+gitEntrySizeL :: Lens_' GitEntry (Maybe Integer)+gitEntrySizeL f GitEntry{..} = (\gitEntrySize -> GitEntry { gitEntrySize, ..} ) <$> f gitEntrySize+{-# INLINE gitEntrySizeL #-}++-- | 'gitEntryType' Lens+gitEntryTypeL :: Lens_' GitEntry (Maybe Text)+gitEntryTypeL f GitEntry{..} = (\gitEntryType -> GitEntry { gitEntryType, ..} ) <$> f gitEntryType+{-# INLINE gitEntryTypeL #-}++-- | 'gitEntryUrl' Lens+gitEntryUrlL :: Lens_' GitEntry (Maybe Text)+gitEntryUrlL f GitEntry{..} = (\gitEntryUrl -> GitEntry { gitEntryUrl, ..} ) <$> f gitEntryUrl+{-# INLINE gitEntryUrlL #-}++++-- * GitHook++-- | 'gitHookContent' Lens+gitHookContentL :: Lens_' GitHook (Maybe Text)+gitHookContentL f GitHook{..} = (\gitHookContent -> GitHook { gitHookContent, ..} ) <$> f gitHookContent+{-# INLINE gitHookContentL #-}++-- | 'gitHookIsActive' Lens+gitHookIsActiveL :: Lens_' GitHook (Maybe Bool)+gitHookIsActiveL f GitHook{..} = (\gitHookIsActive -> GitHook { gitHookIsActive, ..} ) <$> f gitHookIsActive+{-# INLINE gitHookIsActiveL #-}++-- | 'gitHookName' Lens+gitHookNameL :: Lens_' GitHook (Maybe Text)+gitHookNameL f GitHook{..} = (\gitHookName -> GitHook { gitHookName, ..} ) <$> f gitHookName+{-# INLINE gitHookNameL #-}++++-- * GitObject++-- | 'gitObjectSha' Lens+gitObjectShaL :: Lens_' GitObject (Maybe Text)+gitObjectShaL f GitObject{..} = (\gitObjectSha -> GitObject { gitObjectSha, ..} ) <$> f gitObjectSha+{-# INLINE gitObjectShaL #-}++-- | 'gitObjectType' Lens+gitObjectTypeL :: Lens_' GitObject (Maybe Text)+gitObjectTypeL f GitObject{..} = (\gitObjectType -> GitObject { gitObjectType, ..} ) <$> f gitObjectType+{-# INLINE gitObjectTypeL #-}++-- | 'gitObjectUrl' Lens+gitObjectUrlL :: Lens_' GitObject (Maybe Text)+gitObjectUrlL f GitObject{..} = (\gitObjectUrl -> GitObject { gitObjectUrl, ..} ) <$> f gitObjectUrl+{-# INLINE gitObjectUrlL #-}++++-- * GitTreeResponse++-- | 'gitTreeResponsePage' Lens+gitTreeResponsePageL :: Lens_' GitTreeResponse (Maybe Integer)+gitTreeResponsePageL f GitTreeResponse{..} = (\gitTreeResponsePage -> GitTreeResponse { gitTreeResponsePage, ..} ) <$> f gitTreeResponsePage+{-# INLINE gitTreeResponsePageL #-}++-- | 'gitTreeResponseSha' Lens+gitTreeResponseShaL :: Lens_' GitTreeResponse (Maybe Text)+gitTreeResponseShaL f GitTreeResponse{..} = (\gitTreeResponseSha -> GitTreeResponse { gitTreeResponseSha, ..} ) <$> f gitTreeResponseSha+{-# INLINE gitTreeResponseShaL #-}++-- | 'gitTreeResponseTotalCount' Lens+gitTreeResponseTotalCountL :: Lens_' GitTreeResponse (Maybe Integer)+gitTreeResponseTotalCountL f GitTreeResponse{..} = (\gitTreeResponseTotalCount -> GitTreeResponse { gitTreeResponseTotalCount, ..} ) <$> f gitTreeResponseTotalCount+{-# INLINE gitTreeResponseTotalCountL #-}++-- | 'gitTreeResponseTree' Lens+gitTreeResponseTreeL :: Lens_' GitTreeResponse (Maybe [GitEntry])+gitTreeResponseTreeL f GitTreeResponse{..} = (\gitTreeResponseTree -> GitTreeResponse { gitTreeResponseTree, ..} ) <$> f gitTreeResponseTree+{-# INLINE gitTreeResponseTreeL #-}++-- | 'gitTreeResponseTruncated' Lens+gitTreeResponseTruncatedL :: Lens_' GitTreeResponse (Maybe Bool)+gitTreeResponseTruncatedL f GitTreeResponse{..} = (\gitTreeResponseTruncated -> GitTreeResponse { gitTreeResponseTruncated, ..} ) <$> f gitTreeResponseTruncated+{-# INLINE gitTreeResponseTruncatedL #-}++-- | 'gitTreeResponseUrl' Lens+gitTreeResponseUrlL :: Lens_' GitTreeResponse (Maybe Text)+gitTreeResponseUrlL f GitTreeResponse{..} = (\gitTreeResponseUrl -> GitTreeResponse { gitTreeResponseUrl, ..} ) <$> f gitTreeResponseUrl+{-# INLINE gitTreeResponseUrlL #-}++++-- * Hook++-- | 'hookActive' Lens+hookActiveL :: Lens_' Hook (Maybe Bool)+hookActiveL f Hook{..} = (\hookActive -> Hook { hookActive, ..} ) <$> f hookActive+{-# INLINE hookActiveL #-}++-- | 'hookAuthorizationHeader' Lens+hookAuthorizationHeaderL :: Lens_' Hook (Maybe Text)+hookAuthorizationHeaderL f Hook{..} = (\hookAuthorizationHeader -> Hook { hookAuthorizationHeader, ..} ) <$> f hookAuthorizationHeader+{-# INLINE hookAuthorizationHeaderL #-}++-- | 'hookConfig' Lens+hookConfigL :: Lens_' Hook (Maybe (Map.Map String Text))+hookConfigL f Hook{..} = (\hookConfig -> Hook { hookConfig, ..} ) <$> f hookConfig+{-# INLINE hookConfigL #-}++-- | 'hookCreatedAt' Lens+hookCreatedAtL :: Lens_' Hook (Maybe DateTime)+hookCreatedAtL f Hook{..} = (\hookCreatedAt -> Hook { hookCreatedAt, ..} ) <$> f hookCreatedAt+{-# INLINE hookCreatedAtL #-}++-- | 'hookEvents' Lens+hookEventsL :: Lens_' Hook (Maybe [Text])+hookEventsL f Hook{..} = (\hookEvents -> Hook { hookEvents, ..} ) <$> f hookEvents+{-# INLINE hookEventsL #-}++-- | 'hookId' Lens+hookIdL :: Lens_' Hook (Maybe Integer)+hookIdL f Hook{..} = (\hookId -> Hook { hookId, ..} ) <$> f hookId+{-# INLINE hookIdL #-}++-- | 'hookType' Lens+hookTypeL :: Lens_' Hook (Maybe Text)+hookTypeL f Hook{..} = (\hookType -> Hook { hookType, ..} ) <$> f hookType+{-# INLINE hookTypeL #-}++-- | 'hookUpdatedAt' Lens+hookUpdatedAtL :: Lens_' Hook (Maybe DateTime)+hookUpdatedAtL f Hook{..} = (\hookUpdatedAt -> Hook { hookUpdatedAt, ..} ) <$> f hookUpdatedAt+{-# INLINE hookUpdatedAtL #-}++++-- * Identity++-- | 'identityEmail' Lens+identityEmailL :: Lens_' Identity (Maybe Text)+identityEmailL f Identity{..} = (\identityEmail -> Identity { identityEmail, ..} ) <$> f identityEmail+{-# INLINE identityEmailL #-}++-- | 'identityName' Lens+identityNameL :: Lens_' Identity (Maybe Text)+identityNameL f Identity{..} = (\identityName -> Identity { identityName, ..} ) <$> f identityName+{-# INLINE identityNameL #-}++++-- * InternalTracker++-- | 'internalTrackerAllowOnlyContributorsToTrackTime' Lens+internalTrackerAllowOnlyContributorsToTrackTimeL :: Lens_' InternalTracker (Maybe Bool)+internalTrackerAllowOnlyContributorsToTrackTimeL f InternalTracker{..} = (\internalTrackerAllowOnlyContributorsToTrackTime -> InternalTracker { internalTrackerAllowOnlyContributorsToTrackTime, ..} ) <$> f internalTrackerAllowOnlyContributorsToTrackTime+{-# INLINE internalTrackerAllowOnlyContributorsToTrackTimeL #-}++-- | 'internalTrackerEnableIssueDependencies' Lens+internalTrackerEnableIssueDependenciesL :: Lens_' InternalTracker (Maybe Bool)+internalTrackerEnableIssueDependenciesL f InternalTracker{..} = (\internalTrackerEnableIssueDependencies -> InternalTracker { internalTrackerEnableIssueDependencies, ..} ) <$> f internalTrackerEnableIssueDependencies+{-# INLINE internalTrackerEnableIssueDependenciesL #-}++-- | 'internalTrackerEnableTimeTracker' Lens+internalTrackerEnableTimeTrackerL :: Lens_' InternalTracker (Maybe Bool)+internalTrackerEnableTimeTrackerL f InternalTracker{..} = (\internalTrackerEnableTimeTracker -> InternalTracker { internalTrackerEnableTimeTracker, ..} ) <$> f internalTrackerEnableTimeTracker+{-# INLINE internalTrackerEnableTimeTrackerL #-}++++-- * Issue++-- | 'issueAssets' Lens+issueAssetsL :: Lens_' Issue (Maybe [Attachment])+issueAssetsL f Issue{..} = (\issueAssets -> Issue { issueAssets, ..} ) <$> f issueAssets+{-# INLINE issueAssetsL #-}++-- | 'issueAssignee' Lens+issueAssigneeL :: Lens_' Issue (Maybe User)+issueAssigneeL f Issue{..} = (\issueAssignee -> Issue { issueAssignee, ..} ) <$> f issueAssignee+{-# INLINE issueAssigneeL #-}++-- | 'issueAssignees' Lens+issueAssigneesL :: Lens_' Issue (Maybe [User])+issueAssigneesL f Issue{..} = (\issueAssignees -> Issue { issueAssignees, ..} ) <$> f issueAssignees+{-# INLINE issueAssigneesL #-}++-- | 'issueBody' Lens+issueBodyL :: Lens_' Issue (Maybe Text)+issueBodyL f Issue{..} = (\issueBody -> Issue { issueBody, ..} ) <$> f issueBody+{-# INLINE issueBodyL #-}++-- | 'issueClosedAt' Lens+issueClosedAtL :: Lens_' Issue (Maybe DateTime)+issueClosedAtL f Issue{..} = (\issueClosedAt -> Issue { issueClosedAt, ..} ) <$> f issueClosedAt+{-# INLINE issueClosedAtL #-}++-- | 'issueComments' Lens+issueCommentsL :: Lens_' Issue (Maybe Integer)+issueCommentsL f Issue{..} = (\issueComments -> Issue { issueComments, ..} ) <$> f issueComments+{-# INLINE issueCommentsL #-}++-- | 'issueCreatedAt' Lens+issueCreatedAtL :: Lens_' Issue (Maybe DateTime)+issueCreatedAtL f Issue{..} = (\issueCreatedAt -> Issue { issueCreatedAt, ..} ) <$> f issueCreatedAt+{-# INLINE issueCreatedAtL #-}++-- | 'issueDueDate' Lens+issueDueDateL :: Lens_' Issue (Maybe DateTime)+issueDueDateL f Issue{..} = (\issueDueDate -> Issue { issueDueDate, ..} ) <$> f issueDueDate+{-# INLINE issueDueDateL #-}++-- | 'issueHtmlUrl' Lens+issueHtmlUrlL :: Lens_' Issue (Maybe Text)+issueHtmlUrlL f Issue{..} = (\issueHtmlUrl -> Issue { issueHtmlUrl, ..} ) <$> f issueHtmlUrl+{-# INLINE issueHtmlUrlL #-}++-- | 'issueId' Lens+issueIdL :: Lens_' Issue (Maybe Integer)+issueIdL f Issue{..} = (\issueId -> Issue { issueId, ..} ) <$> f issueId+{-# INLINE issueIdL #-}++-- | 'issueIsLocked' Lens+issueIsLockedL :: Lens_' Issue (Maybe Bool)+issueIsLockedL f Issue{..} = (\issueIsLocked -> Issue { issueIsLocked, ..} ) <$> f issueIsLocked+{-# INLINE issueIsLockedL #-}++-- | 'issueLabels' Lens+issueLabelsL :: Lens_' Issue (Maybe [Label])+issueLabelsL f Issue{..} = (\issueLabels -> Issue { issueLabels, ..} ) <$> f issueLabels+{-# INLINE issueLabelsL #-}++-- | 'issueMilestone' Lens+issueMilestoneL :: Lens_' Issue (Maybe Milestone)+issueMilestoneL f Issue{..} = (\issueMilestone -> Issue { issueMilestone, ..} ) <$> f issueMilestone+{-# INLINE issueMilestoneL #-}++-- | 'issueNumber' Lens+issueNumberL :: Lens_' Issue (Maybe Integer)+issueNumberL f Issue{..} = (\issueNumber -> Issue { issueNumber, ..} ) <$> f issueNumber+{-# INLINE issueNumberL #-}++-- | 'issueOriginalAuthor' Lens+issueOriginalAuthorL :: Lens_' Issue (Maybe Text)+issueOriginalAuthorL f Issue{..} = (\issueOriginalAuthor -> Issue { issueOriginalAuthor, ..} ) <$> f issueOriginalAuthor+{-# INLINE issueOriginalAuthorL #-}++-- | 'issueOriginalAuthorId' Lens+issueOriginalAuthorIdL :: Lens_' Issue (Maybe Integer)+issueOriginalAuthorIdL f Issue{..} = (\issueOriginalAuthorId -> Issue { issueOriginalAuthorId, ..} ) <$> f issueOriginalAuthorId+{-# INLINE issueOriginalAuthorIdL #-}++-- | 'issuePullRequest' Lens+issuePullRequestL :: Lens_' Issue (Maybe PullRequestMeta)+issuePullRequestL f Issue{..} = (\issuePullRequest -> Issue { issuePullRequest, ..} ) <$> f issuePullRequest+{-# INLINE issuePullRequestL #-}++-- | 'issueRef' Lens+issueRefL :: Lens_' Issue (Maybe Text)+issueRefL f Issue{..} = (\issueRef -> Issue { issueRef, ..} ) <$> f issueRef+{-# INLINE issueRefL #-}++-- | 'issueRepository' Lens+issueRepositoryL :: Lens_' Issue (Maybe RepositoryMeta)+issueRepositoryL f Issue{..} = (\issueRepository -> Issue { issueRepository, ..} ) <$> f issueRepository+{-# INLINE issueRepositoryL #-}++-- | 'issueState' Lens+issueStateL :: Lens_' Issue (Maybe Text)+issueStateL f Issue{..} = (\issueState -> Issue { issueState, ..} ) <$> f issueState+{-# INLINE issueStateL #-}++-- | 'issueTitle' Lens+issueTitleL :: Lens_' Issue (Maybe Text)+issueTitleL f Issue{..} = (\issueTitle -> Issue { issueTitle, ..} ) <$> f issueTitle+{-# INLINE issueTitleL #-}++-- | 'issueUpdatedAt' Lens+issueUpdatedAtL :: Lens_' Issue (Maybe DateTime)+issueUpdatedAtL f Issue{..} = (\issueUpdatedAt -> Issue { issueUpdatedAt, ..} ) <$> f issueUpdatedAt+{-# INLINE issueUpdatedAtL #-}++-- | 'issueUrl' Lens+issueUrlL :: Lens_' Issue (Maybe Text)+issueUrlL f Issue{..} = (\issueUrl -> Issue { issueUrl, ..} ) <$> f issueUrl+{-# INLINE issueUrlL #-}++-- | 'issueUser' Lens+issueUserL :: Lens_' Issue (Maybe User)+issueUserL f Issue{..} = (\issueUser -> Issue { issueUser, ..} ) <$> f issueUser+{-# INLINE issueUserL #-}++++-- * IssueDeadline++-- | 'issueDeadlineDueDate' Lens+issueDeadlineDueDateL :: Lens_' IssueDeadline (Maybe DateTime)+issueDeadlineDueDateL f IssueDeadline{..} = (\issueDeadlineDueDate -> IssueDeadline { issueDeadlineDueDate, ..} ) <$> f issueDeadlineDueDate+{-# INLINE issueDeadlineDueDateL #-}++++-- * IssueFormField++-- | 'issueFormFieldAttributes' Lens+issueFormFieldAttributesL :: Lens_' IssueFormField (Maybe (Map.Map String A.Value))+issueFormFieldAttributesL f IssueFormField{..} = (\issueFormFieldAttributes -> IssueFormField { issueFormFieldAttributes, ..} ) <$> f issueFormFieldAttributes+{-# INLINE issueFormFieldAttributesL #-}++-- | 'issueFormFieldId' Lens+issueFormFieldIdL :: Lens_' IssueFormField (Maybe Text)+issueFormFieldIdL f IssueFormField{..} = (\issueFormFieldId -> IssueFormField { issueFormFieldId, ..} ) <$> f issueFormFieldId+{-# INLINE issueFormFieldIdL #-}++-- | 'issueFormFieldType' Lens+issueFormFieldTypeL :: Lens_' IssueFormField (Maybe Text)+issueFormFieldTypeL f IssueFormField{..} = (\issueFormFieldType -> IssueFormField { issueFormFieldType, ..} ) <$> f issueFormFieldType+{-# INLINE issueFormFieldTypeL #-}++-- | 'issueFormFieldValidations' Lens+issueFormFieldValidationsL :: Lens_' IssueFormField (Maybe (Map.Map String A.Value))+issueFormFieldValidationsL f IssueFormField{..} = (\issueFormFieldValidations -> IssueFormField { issueFormFieldValidations, ..} ) <$> f issueFormFieldValidations+{-# INLINE issueFormFieldValidationsL #-}++++-- * IssueLabelsOption++-- | 'issueLabelsOptionLabels' Lens+issueLabelsOptionLabelsL :: Lens_' IssueLabelsOption (Maybe [Integer])+issueLabelsOptionLabelsL f IssueLabelsOption{..} = (\issueLabelsOptionLabels -> IssueLabelsOption { issueLabelsOptionLabels, ..} ) <$> f issueLabelsOptionLabels+{-# INLINE issueLabelsOptionLabelsL #-}++++-- * IssueTemplate++-- | 'issueTemplateAbout' Lens+issueTemplateAboutL :: Lens_' IssueTemplate (Maybe Text)+issueTemplateAboutL f IssueTemplate{..} = (\issueTemplateAbout -> IssueTemplate { issueTemplateAbout, ..} ) <$> f issueTemplateAbout+{-# INLINE issueTemplateAboutL #-}++-- | 'issueTemplateBody' Lens+issueTemplateBodyL :: Lens_' IssueTemplate (Maybe [IssueFormField])+issueTemplateBodyL f IssueTemplate{..} = (\issueTemplateBody -> IssueTemplate { issueTemplateBody, ..} ) <$> f issueTemplateBody+{-# INLINE issueTemplateBodyL #-}++-- | 'issueTemplateContent' Lens+issueTemplateContentL :: Lens_' IssueTemplate (Maybe Text)+issueTemplateContentL f IssueTemplate{..} = (\issueTemplateContent -> IssueTemplate { issueTemplateContent, ..} ) <$> f issueTemplateContent+{-# INLINE issueTemplateContentL #-}++-- | 'issueTemplateFileName' Lens+issueTemplateFileNameL :: Lens_' IssueTemplate (Maybe Text)+issueTemplateFileNameL f IssueTemplate{..} = (\issueTemplateFileName -> IssueTemplate { issueTemplateFileName, ..} ) <$> f issueTemplateFileName+{-# INLINE issueTemplateFileNameL #-}++-- | 'issueTemplateLabels' Lens+issueTemplateLabelsL :: Lens_' IssueTemplate (Maybe [Text])+issueTemplateLabelsL f IssueTemplate{..} = (\issueTemplateLabels -> IssueTemplate { issueTemplateLabels, ..} ) <$> f issueTemplateLabels+{-# INLINE issueTemplateLabelsL #-}++-- | 'issueTemplateName' Lens+issueTemplateNameL :: Lens_' IssueTemplate (Maybe Text)+issueTemplateNameL f IssueTemplate{..} = (\issueTemplateName -> IssueTemplate { issueTemplateName, ..} ) <$> f issueTemplateName+{-# INLINE issueTemplateNameL #-}++-- | 'issueTemplateRef' Lens+issueTemplateRefL :: Lens_' IssueTemplate (Maybe Text)+issueTemplateRefL f IssueTemplate{..} = (\issueTemplateRef -> IssueTemplate { issueTemplateRef, ..} ) <$> f issueTemplateRef+{-# INLINE issueTemplateRefL #-}++-- | 'issueTemplateTitle' Lens+issueTemplateTitleL :: Lens_' IssueTemplate (Maybe Text)+issueTemplateTitleL f IssueTemplate{..} = (\issueTemplateTitle -> IssueTemplate { issueTemplateTitle, ..} ) <$> f issueTemplateTitle+{-# INLINE issueTemplateTitleL #-}++++-- * Label++-- | 'labelColor' Lens+labelColorL :: Lens_' Label (Maybe Text)+labelColorL f Label{..} = (\labelColor -> Label { labelColor, ..} ) <$> f labelColor+{-# INLINE labelColorL #-}++-- | 'labelDescription' Lens+labelDescriptionL :: Lens_' Label (Maybe Text)+labelDescriptionL f Label{..} = (\labelDescription -> Label { labelDescription, ..} ) <$> f labelDescription+{-# INLINE labelDescriptionL #-}++-- | 'labelExclusive' Lens+labelExclusiveL :: Lens_' Label (Maybe Bool)+labelExclusiveL f Label{..} = (\labelExclusive -> Label { labelExclusive, ..} ) <$> f labelExclusive+{-# INLINE labelExclusiveL #-}++-- | 'labelId' Lens+labelIdL :: Lens_' Label (Maybe Integer)+labelIdL f Label{..} = (\labelId -> Label { labelId, ..} ) <$> f labelId+{-# INLINE labelIdL #-}++-- | 'labelName' Lens+labelNameL :: Lens_' Label (Maybe Text)+labelNameL f Label{..} = (\labelName -> Label { labelName, ..} ) <$> f labelName+{-# INLINE labelNameL #-}++-- | 'labelUrl' Lens+labelUrlL :: Lens_' Label (Maybe Text)+labelUrlL f Label{..} = (\labelUrl -> Label { labelUrl, ..} ) <$> f labelUrl+{-# INLINE labelUrlL #-}++++-- * MarkdownOption++-- | 'markdownOptionContext' Lens+markdownOptionContextL :: Lens_' MarkdownOption (Maybe Text)+markdownOptionContextL f MarkdownOption{..} = (\markdownOptionContext -> MarkdownOption { markdownOptionContext, ..} ) <$> f markdownOptionContext+{-# INLINE markdownOptionContextL #-}++-- | 'markdownOptionMode' Lens+markdownOptionModeL :: Lens_' MarkdownOption (Maybe Text)+markdownOptionModeL f MarkdownOption{..} = (\markdownOptionMode -> MarkdownOption { markdownOptionMode, ..} ) <$> f markdownOptionMode+{-# INLINE markdownOptionModeL #-}++-- | 'markdownOptionText' Lens+markdownOptionTextL :: Lens_' MarkdownOption (Maybe Text)+markdownOptionTextL f MarkdownOption{..} = (\markdownOptionText -> MarkdownOption { markdownOptionText, ..} ) <$> f markdownOptionText+{-# INLINE markdownOptionTextL #-}++-- | 'markdownOptionWiki' Lens+markdownOptionWikiL :: Lens_' MarkdownOption (Maybe Bool)+markdownOptionWikiL f MarkdownOption{..} = (\markdownOptionWiki -> MarkdownOption { markdownOptionWiki, ..} ) <$> f markdownOptionWiki+{-# INLINE markdownOptionWikiL #-}++++-- * MergePullRequestOption++-- | 'mergePullRequestOptionDo' Lens+mergePullRequestOptionDoL :: Lens_' MergePullRequestOption (E'Do)+mergePullRequestOptionDoL f MergePullRequestOption{..} = (\mergePullRequestOptionDo -> MergePullRequestOption { mergePullRequestOptionDo, ..} ) <$> f mergePullRequestOptionDo+{-# INLINE mergePullRequestOptionDoL #-}++-- | 'mergePullRequestOptionMergeCommitId' Lens+mergePullRequestOptionMergeCommitIdL :: Lens_' MergePullRequestOption (Maybe Text)+mergePullRequestOptionMergeCommitIdL f MergePullRequestOption{..} = (\mergePullRequestOptionMergeCommitId -> MergePullRequestOption { mergePullRequestOptionMergeCommitId, ..} ) <$> f mergePullRequestOptionMergeCommitId+{-# INLINE mergePullRequestOptionMergeCommitIdL #-}++-- | 'mergePullRequestOptionMergeMessageField' Lens+mergePullRequestOptionMergeMessageFieldL :: Lens_' MergePullRequestOption (Maybe Text)+mergePullRequestOptionMergeMessageFieldL f MergePullRequestOption{..} = (\mergePullRequestOptionMergeMessageField -> MergePullRequestOption { mergePullRequestOptionMergeMessageField, ..} ) <$> f mergePullRequestOptionMergeMessageField+{-# INLINE mergePullRequestOptionMergeMessageFieldL #-}++-- | 'mergePullRequestOptionMergeTitleField' Lens+mergePullRequestOptionMergeTitleFieldL :: Lens_' MergePullRequestOption (Maybe Text)+mergePullRequestOptionMergeTitleFieldL f MergePullRequestOption{..} = (\mergePullRequestOptionMergeTitleField -> MergePullRequestOption { mergePullRequestOptionMergeTitleField, ..} ) <$> f mergePullRequestOptionMergeTitleField+{-# INLINE mergePullRequestOptionMergeTitleFieldL #-}++-- | 'mergePullRequestOptionDeleteBranchAfterMerge' Lens+mergePullRequestOptionDeleteBranchAfterMergeL :: Lens_' MergePullRequestOption (Maybe Bool)+mergePullRequestOptionDeleteBranchAfterMergeL f MergePullRequestOption{..} = (\mergePullRequestOptionDeleteBranchAfterMerge -> MergePullRequestOption { mergePullRequestOptionDeleteBranchAfterMerge, ..} ) <$> f mergePullRequestOptionDeleteBranchAfterMerge+{-# INLINE mergePullRequestOptionDeleteBranchAfterMergeL #-}++-- | 'mergePullRequestOptionForceMerge' Lens+mergePullRequestOptionForceMergeL :: Lens_' MergePullRequestOption (Maybe Bool)+mergePullRequestOptionForceMergeL f MergePullRequestOption{..} = (\mergePullRequestOptionForceMerge -> MergePullRequestOption { mergePullRequestOptionForceMerge, ..} ) <$> f mergePullRequestOptionForceMerge+{-# INLINE mergePullRequestOptionForceMergeL #-}++-- | 'mergePullRequestOptionHeadCommitId' Lens+mergePullRequestOptionHeadCommitIdL :: Lens_' MergePullRequestOption (Maybe Text)+mergePullRequestOptionHeadCommitIdL f MergePullRequestOption{..} = (\mergePullRequestOptionHeadCommitId -> MergePullRequestOption { mergePullRequestOptionHeadCommitId, ..} ) <$> f mergePullRequestOptionHeadCommitId+{-# INLINE mergePullRequestOptionHeadCommitIdL #-}++-- | 'mergePullRequestOptionMergeWhenChecksSucceed' Lens+mergePullRequestOptionMergeWhenChecksSucceedL :: Lens_' MergePullRequestOption (Maybe Bool)+mergePullRequestOptionMergeWhenChecksSucceedL f MergePullRequestOption{..} = (\mergePullRequestOptionMergeWhenChecksSucceed -> MergePullRequestOption { mergePullRequestOptionMergeWhenChecksSucceed, ..} ) <$> f mergePullRequestOptionMergeWhenChecksSucceed+{-# INLINE mergePullRequestOptionMergeWhenChecksSucceedL #-}++++-- * MigrateRepoOptions++-- | 'migrateRepoOptionsAuthPassword' Lens+migrateRepoOptionsAuthPasswordL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsAuthPasswordL f MigrateRepoOptions{..} = (\migrateRepoOptionsAuthPassword -> MigrateRepoOptions { migrateRepoOptionsAuthPassword, ..} ) <$> f migrateRepoOptionsAuthPassword+{-# INLINE migrateRepoOptionsAuthPasswordL #-}++-- | 'migrateRepoOptionsAuthToken' Lens+migrateRepoOptionsAuthTokenL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsAuthTokenL f MigrateRepoOptions{..} = (\migrateRepoOptionsAuthToken -> MigrateRepoOptions { migrateRepoOptionsAuthToken, ..} ) <$> f migrateRepoOptionsAuthToken+{-# INLINE migrateRepoOptionsAuthTokenL #-}++-- | 'migrateRepoOptionsAuthUsername' Lens+migrateRepoOptionsAuthUsernameL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsAuthUsernameL f MigrateRepoOptions{..} = (\migrateRepoOptionsAuthUsername -> MigrateRepoOptions { migrateRepoOptionsAuthUsername, ..} ) <$> f migrateRepoOptionsAuthUsername+{-# INLINE migrateRepoOptionsAuthUsernameL #-}++-- | 'migrateRepoOptionsCloneAddr' Lens+migrateRepoOptionsCloneAddrL :: Lens_' MigrateRepoOptions (Text)+migrateRepoOptionsCloneAddrL f MigrateRepoOptions{..} = (\migrateRepoOptionsCloneAddr -> MigrateRepoOptions { migrateRepoOptionsCloneAddr, ..} ) <$> f migrateRepoOptionsCloneAddr+{-# INLINE migrateRepoOptionsCloneAddrL #-}++-- | 'migrateRepoOptionsDescription' Lens+migrateRepoOptionsDescriptionL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsDescriptionL f MigrateRepoOptions{..} = (\migrateRepoOptionsDescription -> MigrateRepoOptions { migrateRepoOptionsDescription, ..} ) <$> f migrateRepoOptionsDescription+{-# INLINE migrateRepoOptionsDescriptionL #-}++-- | 'migrateRepoOptionsIssues' Lens+migrateRepoOptionsIssuesL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsIssuesL f MigrateRepoOptions{..} = (\migrateRepoOptionsIssues -> MigrateRepoOptions { migrateRepoOptionsIssues, ..} ) <$> f migrateRepoOptionsIssues+{-# INLINE migrateRepoOptionsIssuesL #-}++-- | 'migrateRepoOptionsLabels' Lens+migrateRepoOptionsLabelsL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsLabelsL f MigrateRepoOptions{..} = (\migrateRepoOptionsLabels -> MigrateRepoOptions { migrateRepoOptionsLabels, ..} ) <$> f migrateRepoOptionsLabels+{-# INLINE migrateRepoOptionsLabelsL #-}++-- | 'migrateRepoOptionsLfs' Lens+migrateRepoOptionsLfsL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsLfsL f MigrateRepoOptions{..} = (\migrateRepoOptionsLfs -> MigrateRepoOptions { migrateRepoOptionsLfs, ..} ) <$> f migrateRepoOptionsLfs+{-# INLINE migrateRepoOptionsLfsL #-}++-- | 'migrateRepoOptionsLfsEndpoint' Lens+migrateRepoOptionsLfsEndpointL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsLfsEndpointL f MigrateRepoOptions{..} = (\migrateRepoOptionsLfsEndpoint -> MigrateRepoOptions { migrateRepoOptionsLfsEndpoint, ..} ) <$> f migrateRepoOptionsLfsEndpoint+{-# INLINE migrateRepoOptionsLfsEndpointL #-}++-- | 'migrateRepoOptionsMilestones' Lens+migrateRepoOptionsMilestonesL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsMilestonesL f MigrateRepoOptions{..} = (\migrateRepoOptionsMilestones -> MigrateRepoOptions { migrateRepoOptionsMilestones, ..} ) <$> f migrateRepoOptionsMilestones+{-# INLINE migrateRepoOptionsMilestonesL #-}++-- | 'migrateRepoOptionsMirror' Lens+migrateRepoOptionsMirrorL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsMirrorL f MigrateRepoOptions{..} = (\migrateRepoOptionsMirror -> MigrateRepoOptions { migrateRepoOptionsMirror, ..} ) <$> f migrateRepoOptionsMirror+{-# INLINE migrateRepoOptionsMirrorL #-}++-- | 'migrateRepoOptionsMirrorInterval' Lens+migrateRepoOptionsMirrorIntervalL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsMirrorIntervalL f MigrateRepoOptions{..} = (\migrateRepoOptionsMirrorInterval -> MigrateRepoOptions { migrateRepoOptionsMirrorInterval, ..} ) <$> f migrateRepoOptionsMirrorInterval+{-# INLINE migrateRepoOptionsMirrorIntervalL #-}++-- | 'migrateRepoOptionsPrivate' Lens+migrateRepoOptionsPrivateL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsPrivateL f MigrateRepoOptions{..} = (\migrateRepoOptionsPrivate -> MigrateRepoOptions { migrateRepoOptionsPrivate, ..} ) <$> f migrateRepoOptionsPrivate+{-# INLINE migrateRepoOptionsPrivateL #-}++-- | 'migrateRepoOptionsPullRequests' Lens+migrateRepoOptionsPullRequestsL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsPullRequestsL f MigrateRepoOptions{..} = (\migrateRepoOptionsPullRequests -> MigrateRepoOptions { migrateRepoOptionsPullRequests, ..} ) <$> f migrateRepoOptionsPullRequests+{-# INLINE migrateRepoOptionsPullRequestsL #-}++-- | 'migrateRepoOptionsReleases' Lens+migrateRepoOptionsReleasesL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsReleasesL f MigrateRepoOptions{..} = (\migrateRepoOptionsReleases -> MigrateRepoOptions { migrateRepoOptionsReleases, ..} ) <$> f migrateRepoOptionsReleases+{-# INLINE migrateRepoOptionsReleasesL #-}++-- | 'migrateRepoOptionsRepoName' Lens+migrateRepoOptionsRepoNameL :: Lens_' MigrateRepoOptions (Text)+migrateRepoOptionsRepoNameL f MigrateRepoOptions{..} = (\migrateRepoOptionsRepoName -> MigrateRepoOptions { migrateRepoOptionsRepoName, ..} ) <$> f migrateRepoOptionsRepoName+{-# INLINE migrateRepoOptionsRepoNameL #-}++-- | 'migrateRepoOptionsRepoOwner' Lens+migrateRepoOptionsRepoOwnerL :: Lens_' MigrateRepoOptions (Maybe Text)+migrateRepoOptionsRepoOwnerL f MigrateRepoOptions{..} = (\migrateRepoOptionsRepoOwner -> MigrateRepoOptions { migrateRepoOptionsRepoOwner, ..} ) <$> f migrateRepoOptionsRepoOwner+{-# INLINE migrateRepoOptionsRepoOwnerL #-}++-- | 'migrateRepoOptionsService' Lens+migrateRepoOptionsServiceL :: Lens_' MigrateRepoOptions (Maybe E'Service)+migrateRepoOptionsServiceL f MigrateRepoOptions{..} = (\migrateRepoOptionsService -> MigrateRepoOptions { migrateRepoOptionsService, ..} ) <$> f migrateRepoOptionsService+{-# INLINE migrateRepoOptionsServiceL #-}++-- | 'migrateRepoOptionsUid' Lens+migrateRepoOptionsUidL :: Lens_' MigrateRepoOptions (Maybe Integer)+migrateRepoOptionsUidL f MigrateRepoOptions{..} = (\migrateRepoOptionsUid -> MigrateRepoOptions { migrateRepoOptionsUid, ..} ) <$> f migrateRepoOptionsUid+{-# INLINE migrateRepoOptionsUidL #-}++-- | 'migrateRepoOptionsWiki' Lens+migrateRepoOptionsWikiL :: Lens_' MigrateRepoOptions (Maybe Bool)+migrateRepoOptionsWikiL f MigrateRepoOptions{..} = (\migrateRepoOptionsWiki -> MigrateRepoOptions { migrateRepoOptionsWiki, ..} ) <$> f migrateRepoOptionsWiki+{-# INLINE migrateRepoOptionsWikiL #-}++++-- * Milestone++-- | 'milestoneClosedAt' Lens+milestoneClosedAtL :: Lens_' Milestone (Maybe DateTime)+milestoneClosedAtL f Milestone{..} = (\milestoneClosedAt -> Milestone { milestoneClosedAt, ..} ) <$> f milestoneClosedAt+{-# INLINE milestoneClosedAtL #-}++-- | 'milestoneClosedIssues' Lens+milestoneClosedIssuesL :: Lens_' Milestone (Maybe Integer)+milestoneClosedIssuesL f Milestone{..} = (\milestoneClosedIssues -> Milestone { milestoneClosedIssues, ..} ) <$> f milestoneClosedIssues+{-# INLINE milestoneClosedIssuesL #-}++-- | 'milestoneCreatedAt' Lens+milestoneCreatedAtL :: Lens_' Milestone (Maybe DateTime)+milestoneCreatedAtL f Milestone{..} = (\milestoneCreatedAt -> Milestone { milestoneCreatedAt, ..} ) <$> f milestoneCreatedAt+{-# INLINE milestoneCreatedAtL #-}++-- | 'milestoneDescription' Lens+milestoneDescriptionL :: Lens_' Milestone (Maybe Text)+milestoneDescriptionL f Milestone{..} = (\milestoneDescription -> Milestone { milestoneDescription, ..} ) <$> f milestoneDescription+{-# INLINE milestoneDescriptionL #-}++-- | 'milestoneDueOn' Lens+milestoneDueOnL :: Lens_' Milestone (Maybe DateTime)+milestoneDueOnL f Milestone{..} = (\milestoneDueOn -> Milestone { milestoneDueOn, ..} ) <$> f milestoneDueOn+{-# INLINE milestoneDueOnL #-}++-- | 'milestoneId' Lens+milestoneIdL :: Lens_' Milestone (Maybe Integer)+milestoneIdL f Milestone{..} = (\milestoneId -> Milestone { milestoneId, ..} ) <$> f milestoneId+{-# INLINE milestoneIdL #-}++-- | 'milestoneOpenIssues' Lens+milestoneOpenIssuesL :: Lens_' Milestone (Maybe Integer)+milestoneOpenIssuesL f Milestone{..} = (\milestoneOpenIssues -> Milestone { milestoneOpenIssues, ..} ) <$> f milestoneOpenIssues+{-# INLINE milestoneOpenIssuesL #-}++-- | 'milestoneState' Lens+milestoneStateL :: Lens_' Milestone (Maybe Text)+milestoneStateL f Milestone{..} = (\milestoneState -> Milestone { milestoneState, ..} ) <$> f milestoneState+{-# INLINE milestoneStateL #-}++-- | 'milestoneTitle' Lens+milestoneTitleL :: Lens_' Milestone (Maybe Text)+milestoneTitleL f Milestone{..} = (\milestoneTitle -> Milestone { milestoneTitle, ..} ) <$> f milestoneTitle+{-# INLINE milestoneTitleL #-}++-- | 'milestoneUpdatedAt' Lens+milestoneUpdatedAtL :: Lens_' Milestone (Maybe DateTime)+milestoneUpdatedAtL f Milestone{..} = (\milestoneUpdatedAt -> Milestone { milestoneUpdatedAt, ..} ) <$> f milestoneUpdatedAt+{-# INLINE milestoneUpdatedAtL #-}++++-- * NodeInfo++-- | 'nodeInfoMetadata' Lens+nodeInfoMetadataL :: Lens_' NodeInfo (Maybe A.Value)+nodeInfoMetadataL f NodeInfo{..} = (\nodeInfoMetadata -> NodeInfo { nodeInfoMetadata, ..} ) <$> f nodeInfoMetadata+{-# INLINE nodeInfoMetadataL #-}++-- | 'nodeInfoOpenRegistrations' Lens+nodeInfoOpenRegistrationsL :: Lens_' NodeInfo (Maybe Bool)+nodeInfoOpenRegistrationsL f NodeInfo{..} = (\nodeInfoOpenRegistrations -> NodeInfo { nodeInfoOpenRegistrations, ..} ) <$> f nodeInfoOpenRegistrations+{-# INLINE nodeInfoOpenRegistrationsL #-}++-- | 'nodeInfoProtocols' Lens+nodeInfoProtocolsL :: Lens_' NodeInfo (Maybe [Text])+nodeInfoProtocolsL f NodeInfo{..} = (\nodeInfoProtocols -> NodeInfo { nodeInfoProtocols, ..} ) <$> f nodeInfoProtocols+{-# INLINE nodeInfoProtocolsL #-}++-- | 'nodeInfoServices' Lens+nodeInfoServicesL :: Lens_' NodeInfo (Maybe NodeInfoServices)+nodeInfoServicesL f NodeInfo{..} = (\nodeInfoServices -> NodeInfo { nodeInfoServices, ..} ) <$> f nodeInfoServices+{-# INLINE nodeInfoServicesL #-}++-- | 'nodeInfoSoftware' Lens+nodeInfoSoftwareL :: Lens_' NodeInfo (Maybe NodeInfoSoftware)+nodeInfoSoftwareL f NodeInfo{..} = (\nodeInfoSoftware -> NodeInfo { nodeInfoSoftware, ..} ) <$> f nodeInfoSoftware+{-# INLINE nodeInfoSoftwareL #-}++-- | 'nodeInfoUsage' Lens+nodeInfoUsageL :: Lens_' NodeInfo (Maybe NodeInfoUsage)+nodeInfoUsageL f NodeInfo{..} = (\nodeInfoUsage -> NodeInfo { nodeInfoUsage, ..} ) <$> f nodeInfoUsage+{-# INLINE nodeInfoUsageL #-}++-- | 'nodeInfoVersion' Lens+nodeInfoVersionL :: Lens_' NodeInfo (Maybe Text)+nodeInfoVersionL f NodeInfo{..} = (\nodeInfoVersion -> NodeInfo { nodeInfoVersion, ..} ) <$> f nodeInfoVersion+{-# INLINE nodeInfoVersionL #-}++++-- * NodeInfoServices++-- | 'nodeInfoServicesInbound' Lens+nodeInfoServicesInboundL :: Lens_' NodeInfoServices (Maybe [Text])+nodeInfoServicesInboundL f NodeInfoServices{..} = (\nodeInfoServicesInbound -> NodeInfoServices { nodeInfoServicesInbound, ..} ) <$> f nodeInfoServicesInbound+{-# INLINE nodeInfoServicesInboundL #-}++-- | 'nodeInfoServicesOutbound' Lens+nodeInfoServicesOutboundL :: Lens_' NodeInfoServices (Maybe [Text])+nodeInfoServicesOutboundL f NodeInfoServices{..} = (\nodeInfoServicesOutbound -> NodeInfoServices { nodeInfoServicesOutbound, ..} ) <$> f nodeInfoServicesOutbound+{-# INLINE nodeInfoServicesOutboundL #-}++++-- * NodeInfoSoftware++-- | 'nodeInfoSoftwareHomepage' Lens+nodeInfoSoftwareHomepageL :: Lens_' NodeInfoSoftware (Maybe Text)+nodeInfoSoftwareHomepageL f NodeInfoSoftware{..} = (\nodeInfoSoftwareHomepage -> NodeInfoSoftware { nodeInfoSoftwareHomepage, ..} ) <$> f nodeInfoSoftwareHomepage+{-# INLINE nodeInfoSoftwareHomepageL #-}++-- | 'nodeInfoSoftwareName' Lens+nodeInfoSoftwareNameL :: Lens_' NodeInfoSoftware (Maybe Text)+nodeInfoSoftwareNameL f NodeInfoSoftware{..} = (\nodeInfoSoftwareName -> NodeInfoSoftware { nodeInfoSoftwareName, ..} ) <$> f nodeInfoSoftwareName+{-# INLINE nodeInfoSoftwareNameL #-}++-- | 'nodeInfoSoftwareRepository' Lens+nodeInfoSoftwareRepositoryL :: Lens_' NodeInfoSoftware (Maybe Text)+nodeInfoSoftwareRepositoryL f NodeInfoSoftware{..} = (\nodeInfoSoftwareRepository -> NodeInfoSoftware { nodeInfoSoftwareRepository, ..} ) <$> f nodeInfoSoftwareRepository+{-# INLINE nodeInfoSoftwareRepositoryL #-}++-- | 'nodeInfoSoftwareVersion' Lens+nodeInfoSoftwareVersionL :: Lens_' NodeInfoSoftware (Maybe Text)+nodeInfoSoftwareVersionL f NodeInfoSoftware{..} = (\nodeInfoSoftwareVersion -> NodeInfoSoftware { nodeInfoSoftwareVersion, ..} ) <$> f nodeInfoSoftwareVersion+{-# INLINE nodeInfoSoftwareVersionL #-}++++-- * NodeInfoUsage++-- | 'nodeInfoUsageLocalComments' Lens+nodeInfoUsageLocalCommentsL :: Lens_' NodeInfoUsage (Maybe Integer)+nodeInfoUsageLocalCommentsL f NodeInfoUsage{..} = (\nodeInfoUsageLocalComments -> NodeInfoUsage { nodeInfoUsageLocalComments, ..} ) <$> f nodeInfoUsageLocalComments+{-# INLINE nodeInfoUsageLocalCommentsL #-}++-- | 'nodeInfoUsageLocalPosts' Lens+nodeInfoUsageLocalPostsL :: Lens_' NodeInfoUsage (Maybe Integer)+nodeInfoUsageLocalPostsL f NodeInfoUsage{..} = (\nodeInfoUsageLocalPosts -> NodeInfoUsage { nodeInfoUsageLocalPosts, ..} ) <$> f nodeInfoUsageLocalPosts+{-# INLINE nodeInfoUsageLocalPostsL #-}++-- | 'nodeInfoUsageUsers' Lens+nodeInfoUsageUsersL :: Lens_' NodeInfoUsage (Maybe NodeInfoUsageUsers)+nodeInfoUsageUsersL f NodeInfoUsage{..} = (\nodeInfoUsageUsers -> NodeInfoUsage { nodeInfoUsageUsers, ..} ) <$> f nodeInfoUsageUsers+{-# INLINE nodeInfoUsageUsersL #-}++++-- * NodeInfoUsageUsers++-- | 'nodeInfoUsageUsersActiveHalfyear' Lens+nodeInfoUsageUsersActiveHalfyearL :: Lens_' NodeInfoUsageUsers (Maybe Integer)+nodeInfoUsageUsersActiveHalfyearL f NodeInfoUsageUsers{..} = (\nodeInfoUsageUsersActiveHalfyear -> NodeInfoUsageUsers { nodeInfoUsageUsersActiveHalfyear, ..} ) <$> f nodeInfoUsageUsersActiveHalfyear+{-# INLINE nodeInfoUsageUsersActiveHalfyearL #-}++-- | 'nodeInfoUsageUsersActiveMonth' Lens+nodeInfoUsageUsersActiveMonthL :: Lens_' NodeInfoUsageUsers (Maybe Integer)+nodeInfoUsageUsersActiveMonthL f NodeInfoUsageUsers{..} = (\nodeInfoUsageUsersActiveMonth -> NodeInfoUsageUsers { nodeInfoUsageUsersActiveMonth, ..} ) <$> f nodeInfoUsageUsersActiveMonth+{-# INLINE nodeInfoUsageUsersActiveMonthL #-}++-- | 'nodeInfoUsageUsersTotal' Lens+nodeInfoUsageUsersTotalL :: Lens_' NodeInfoUsageUsers (Maybe Integer)+nodeInfoUsageUsersTotalL f NodeInfoUsageUsers{..} = (\nodeInfoUsageUsersTotal -> NodeInfoUsageUsers { nodeInfoUsageUsersTotal, ..} ) <$> f nodeInfoUsageUsersTotal+{-# INLINE nodeInfoUsageUsersTotalL #-}++++-- * Note++-- | 'noteCommit' Lens+noteCommitL :: Lens_' Note (Maybe Commit)+noteCommitL f Note{..} = (\noteCommit -> Note { noteCommit, ..} ) <$> f noteCommit+{-# INLINE noteCommitL #-}++-- | 'noteMessage' Lens+noteMessageL :: Lens_' Note (Maybe Text)+noteMessageL f Note{..} = (\noteMessage -> Note { noteMessage, ..} ) <$> f noteMessage+{-# INLINE noteMessageL #-}++++-- * NotificationCount++-- | 'notificationCountNew' Lens+notificationCountNewL :: Lens_' NotificationCount (Maybe Integer)+notificationCountNewL f NotificationCount{..} = (\notificationCountNew -> NotificationCount { notificationCountNew, ..} ) <$> f notificationCountNew+{-# INLINE notificationCountNewL #-}++++-- * NotificationSubject++-- | 'notificationSubjectHtmlUrl' Lens+notificationSubjectHtmlUrlL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectHtmlUrlL f NotificationSubject{..} = (\notificationSubjectHtmlUrl -> NotificationSubject { notificationSubjectHtmlUrl, ..} ) <$> f notificationSubjectHtmlUrl+{-# INLINE notificationSubjectHtmlUrlL #-}++-- | 'notificationSubjectLatestCommentHtmlUrl' Lens+notificationSubjectLatestCommentHtmlUrlL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectLatestCommentHtmlUrlL f NotificationSubject{..} = (\notificationSubjectLatestCommentHtmlUrl -> NotificationSubject { notificationSubjectLatestCommentHtmlUrl, ..} ) <$> f notificationSubjectLatestCommentHtmlUrl+{-# INLINE notificationSubjectLatestCommentHtmlUrlL #-}++-- | 'notificationSubjectLatestCommentUrl' Lens+notificationSubjectLatestCommentUrlL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectLatestCommentUrlL f NotificationSubject{..} = (\notificationSubjectLatestCommentUrl -> NotificationSubject { notificationSubjectLatestCommentUrl, ..} ) <$> f notificationSubjectLatestCommentUrl+{-# INLINE notificationSubjectLatestCommentUrlL #-}++-- | 'notificationSubjectState' Lens+notificationSubjectStateL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectStateL f NotificationSubject{..} = (\notificationSubjectState -> NotificationSubject { notificationSubjectState, ..} ) <$> f notificationSubjectState+{-# INLINE notificationSubjectStateL #-}++-- | 'notificationSubjectTitle' Lens+notificationSubjectTitleL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectTitleL f NotificationSubject{..} = (\notificationSubjectTitle -> NotificationSubject { notificationSubjectTitle, ..} ) <$> f notificationSubjectTitle+{-# INLINE notificationSubjectTitleL #-}++-- | 'notificationSubjectType' Lens+notificationSubjectTypeL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectTypeL f NotificationSubject{..} = (\notificationSubjectType -> NotificationSubject { notificationSubjectType, ..} ) <$> f notificationSubjectType+{-# INLINE notificationSubjectTypeL #-}++-- | 'notificationSubjectUrl' Lens+notificationSubjectUrlL :: Lens_' NotificationSubject (Maybe Text)+notificationSubjectUrlL f NotificationSubject{..} = (\notificationSubjectUrl -> NotificationSubject { notificationSubjectUrl, ..} ) <$> f notificationSubjectUrl+{-# INLINE notificationSubjectUrlL #-}++++-- * NotificationThread++-- | 'notificationThreadId' Lens+notificationThreadIdL :: Lens_' NotificationThread (Maybe Integer)+notificationThreadIdL f NotificationThread{..} = (\notificationThreadId -> NotificationThread { notificationThreadId, ..} ) <$> f notificationThreadId+{-# INLINE notificationThreadIdL #-}++-- | 'notificationThreadPinned' Lens+notificationThreadPinnedL :: Lens_' NotificationThread (Maybe Bool)+notificationThreadPinnedL f NotificationThread{..} = (\notificationThreadPinned -> NotificationThread { notificationThreadPinned, ..} ) <$> f notificationThreadPinned+{-# INLINE notificationThreadPinnedL #-}++-- | 'notificationThreadRepository' Lens+notificationThreadRepositoryL :: Lens_' NotificationThread (Maybe Repository)+notificationThreadRepositoryL f NotificationThread{..} = (\notificationThreadRepository -> NotificationThread { notificationThreadRepository, ..} ) <$> f notificationThreadRepository+{-# INLINE notificationThreadRepositoryL #-}++-- | 'notificationThreadSubject' Lens+notificationThreadSubjectL :: Lens_' NotificationThread (Maybe NotificationSubject)+notificationThreadSubjectL f NotificationThread{..} = (\notificationThreadSubject -> NotificationThread { notificationThreadSubject, ..} ) <$> f notificationThreadSubject+{-# INLINE notificationThreadSubjectL #-}++-- | 'notificationThreadUnread' Lens+notificationThreadUnreadL :: Lens_' NotificationThread (Maybe Bool)+notificationThreadUnreadL f NotificationThread{..} = (\notificationThreadUnread -> NotificationThread { notificationThreadUnread, ..} ) <$> f notificationThreadUnread+{-# INLINE notificationThreadUnreadL #-}++-- | 'notificationThreadUpdatedAt' Lens+notificationThreadUpdatedAtL :: Lens_' NotificationThread (Maybe DateTime)+notificationThreadUpdatedAtL f NotificationThread{..} = (\notificationThreadUpdatedAt -> NotificationThread { notificationThreadUpdatedAt, ..} ) <$> f notificationThreadUpdatedAt+{-# INLINE notificationThreadUpdatedAtL #-}++-- | 'notificationThreadUrl' Lens+notificationThreadUrlL :: Lens_' NotificationThread (Maybe Text)+notificationThreadUrlL f NotificationThread{..} = (\notificationThreadUrl -> NotificationThread { notificationThreadUrl, ..} ) <$> f notificationThreadUrl+{-# INLINE notificationThreadUrlL #-}++++-- * OAuth2Application++-- | 'oAuth2ApplicationClientId' Lens+oAuth2ApplicationClientIdL :: Lens_' OAuth2Application (Maybe Text)+oAuth2ApplicationClientIdL f OAuth2Application{..} = (\oAuth2ApplicationClientId -> OAuth2Application { oAuth2ApplicationClientId, ..} ) <$> f oAuth2ApplicationClientId+{-# INLINE oAuth2ApplicationClientIdL #-}++-- | 'oAuth2ApplicationClientSecret' Lens+oAuth2ApplicationClientSecretL :: Lens_' OAuth2Application (Maybe Text)+oAuth2ApplicationClientSecretL f OAuth2Application{..} = (\oAuth2ApplicationClientSecret -> OAuth2Application { oAuth2ApplicationClientSecret, ..} ) <$> f oAuth2ApplicationClientSecret+{-# INLINE oAuth2ApplicationClientSecretL #-}++-- | 'oAuth2ApplicationConfidentialClient' Lens+oAuth2ApplicationConfidentialClientL :: Lens_' OAuth2Application (Maybe Bool)+oAuth2ApplicationConfidentialClientL f OAuth2Application{..} = (\oAuth2ApplicationConfidentialClient -> OAuth2Application { oAuth2ApplicationConfidentialClient, ..} ) <$> f oAuth2ApplicationConfidentialClient+{-# INLINE oAuth2ApplicationConfidentialClientL #-}++-- | 'oAuth2ApplicationCreated' Lens+oAuth2ApplicationCreatedL :: Lens_' OAuth2Application (Maybe DateTime)+oAuth2ApplicationCreatedL f OAuth2Application{..} = (\oAuth2ApplicationCreated -> OAuth2Application { oAuth2ApplicationCreated, ..} ) <$> f oAuth2ApplicationCreated+{-# INLINE oAuth2ApplicationCreatedL #-}++-- | 'oAuth2ApplicationId' Lens+oAuth2ApplicationIdL :: Lens_' OAuth2Application (Maybe Integer)+oAuth2ApplicationIdL f OAuth2Application{..} = (\oAuth2ApplicationId -> OAuth2Application { oAuth2ApplicationId, ..} ) <$> f oAuth2ApplicationId+{-# INLINE oAuth2ApplicationIdL #-}++-- | 'oAuth2ApplicationName' Lens+oAuth2ApplicationNameL :: Lens_' OAuth2Application (Maybe Text)+oAuth2ApplicationNameL f OAuth2Application{..} = (\oAuth2ApplicationName -> OAuth2Application { oAuth2ApplicationName, ..} ) <$> f oAuth2ApplicationName+{-# INLINE oAuth2ApplicationNameL #-}++-- | 'oAuth2ApplicationRedirectUris' Lens+oAuth2ApplicationRedirectUrisL :: Lens_' OAuth2Application (Maybe [Text])+oAuth2ApplicationRedirectUrisL f OAuth2Application{..} = (\oAuth2ApplicationRedirectUris -> OAuth2Application { oAuth2ApplicationRedirectUris, ..} ) <$> f oAuth2ApplicationRedirectUris+{-# INLINE oAuth2ApplicationRedirectUrisL #-}++++-- * Organization++-- | 'organizationAvatarUrl' Lens+organizationAvatarUrlL :: Lens_' Organization (Maybe Text)+organizationAvatarUrlL f Organization{..} = (\organizationAvatarUrl -> Organization { organizationAvatarUrl, ..} ) <$> f organizationAvatarUrl+{-# INLINE organizationAvatarUrlL #-}++-- | 'organizationDescription' Lens+organizationDescriptionL :: Lens_' Organization (Maybe Text)+organizationDescriptionL f Organization{..} = (\organizationDescription -> Organization { organizationDescription, ..} ) <$> f organizationDescription+{-# INLINE organizationDescriptionL #-}++-- | 'organizationFullName' Lens+organizationFullNameL :: Lens_' Organization (Maybe Text)+organizationFullNameL f Organization{..} = (\organizationFullName -> Organization { organizationFullName, ..} ) <$> f organizationFullName+{-# INLINE organizationFullNameL #-}++-- | 'organizationId' Lens+organizationIdL :: Lens_' Organization (Maybe Integer)+organizationIdL f Organization{..} = (\organizationId -> Organization { organizationId, ..} ) <$> f organizationId+{-# INLINE organizationIdL #-}++-- | 'organizationLocation' Lens+organizationLocationL :: Lens_' Organization (Maybe Text)+organizationLocationL f Organization{..} = (\organizationLocation -> Organization { organizationLocation, ..} ) <$> f organizationLocation+{-# INLINE organizationLocationL #-}++-- | 'organizationName' Lens+organizationNameL :: Lens_' Organization (Maybe Text)+organizationNameL f Organization{..} = (\organizationName -> Organization { organizationName, ..} ) <$> f organizationName+{-# INLINE organizationNameL #-}++-- | 'organizationRepoAdminChangeTeamAccess' Lens+organizationRepoAdminChangeTeamAccessL :: Lens_' Organization (Maybe Bool)+organizationRepoAdminChangeTeamAccessL f Organization{..} = (\organizationRepoAdminChangeTeamAccess -> Organization { organizationRepoAdminChangeTeamAccess, ..} ) <$> f organizationRepoAdminChangeTeamAccess+{-# INLINE organizationRepoAdminChangeTeamAccessL #-}++-- | 'organizationUsername' Lens+organizationUsernameL :: Lens_' Organization (Maybe Text)+organizationUsernameL f Organization{..} = (\organizationUsername -> Organization { organizationUsername, ..} ) <$> f organizationUsername+{-# INLINE organizationUsernameL #-}++-- | 'organizationVisibility' Lens+organizationVisibilityL :: Lens_' Organization (Maybe Text)+organizationVisibilityL f Organization{..} = (\organizationVisibility -> Organization { organizationVisibility, ..} ) <$> f organizationVisibility+{-# INLINE organizationVisibilityL #-}++-- | 'organizationWebsite' Lens+organizationWebsiteL :: Lens_' Organization (Maybe Text)+organizationWebsiteL f Organization{..} = (\organizationWebsite -> Organization { organizationWebsite, ..} ) <$> f organizationWebsite+{-# INLINE organizationWebsiteL #-}++++-- * OrganizationPermissions++-- | 'organizationPermissionsCanCreateRepository' Lens+organizationPermissionsCanCreateRepositoryL :: Lens_' OrganizationPermissions (Maybe Bool)+organizationPermissionsCanCreateRepositoryL f OrganizationPermissions{..} = (\organizationPermissionsCanCreateRepository -> OrganizationPermissions { organizationPermissionsCanCreateRepository, ..} ) <$> f organizationPermissionsCanCreateRepository+{-# INLINE organizationPermissionsCanCreateRepositoryL #-}++-- | 'organizationPermissionsCanRead' Lens+organizationPermissionsCanReadL :: Lens_' OrganizationPermissions (Maybe Bool)+organizationPermissionsCanReadL f OrganizationPermissions{..} = (\organizationPermissionsCanRead -> OrganizationPermissions { organizationPermissionsCanRead, ..} ) <$> f organizationPermissionsCanRead+{-# INLINE organizationPermissionsCanReadL #-}++-- | 'organizationPermissionsCanWrite' Lens+organizationPermissionsCanWriteL :: Lens_' OrganizationPermissions (Maybe Bool)+organizationPermissionsCanWriteL f OrganizationPermissions{..} = (\organizationPermissionsCanWrite -> OrganizationPermissions { organizationPermissionsCanWrite, ..} ) <$> f organizationPermissionsCanWrite+{-# INLINE organizationPermissionsCanWriteL #-}++-- | 'organizationPermissionsIsAdmin' Lens+organizationPermissionsIsAdminL :: Lens_' OrganizationPermissions (Maybe Bool)+organizationPermissionsIsAdminL f OrganizationPermissions{..} = (\organizationPermissionsIsAdmin -> OrganizationPermissions { organizationPermissionsIsAdmin, ..} ) <$> f organizationPermissionsIsAdmin+{-# INLINE organizationPermissionsIsAdminL #-}++-- | 'organizationPermissionsIsOwner' Lens+organizationPermissionsIsOwnerL :: Lens_' OrganizationPermissions (Maybe Bool)+organizationPermissionsIsOwnerL f OrganizationPermissions{..} = (\organizationPermissionsIsOwner -> OrganizationPermissions { organizationPermissionsIsOwner, ..} ) <$> f organizationPermissionsIsOwner+{-# INLINE organizationPermissionsIsOwnerL #-}++++-- * PRBranchInfo++-- | 'pRBranchInfoLabel' Lens+pRBranchInfoLabelL :: Lens_' PRBranchInfo (Maybe Text)+pRBranchInfoLabelL f PRBranchInfo{..} = (\pRBranchInfoLabel -> PRBranchInfo { pRBranchInfoLabel, ..} ) <$> f pRBranchInfoLabel+{-# INLINE pRBranchInfoLabelL #-}++-- | 'pRBranchInfoRef' Lens+pRBranchInfoRefL :: Lens_' PRBranchInfo (Maybe Text)+pRBranchInfoRefL f PRBranchInfo{..} = (\pRBranchInfoRef -> PRBranchInfo { pRBranchInfoRef, ..} ) <$> f pRBranchInfoRef+{-# INLINE pRBranchInfoRefL #-}++-- | 'pRBranchInfoRepo' Lens+pRBranchInfoRepoL :: Lens_' PRBranchInfo (Maybe Repository)+pRBranchInfoRepoL f PRBranchInfo{..} = (\pRBranchInfoRepo -> PRBranchInfo { pRBranchInfoRepo, ..} ) <$> f pRBranchInfoRepo+{-# INLINE pRBranchInfoRepoL #-}++-- | 'pRBranchInfoRepoId' Lens+pRBranchInfoRepoIdL :: Lens_' PRBranchInfo (Maybe Integer)+pRBranchInfoRepoIdL f PRBranchInfo{..} = (\pRBranchInfoRepoId -> PRBranchInfo { pRBranchInfoRepoId, ..} ) <$> f pRBranchInfoRepoId+{-# INLINE pRBranchInfoRepoIdL #-}++-- | 'pRBranchInfoSha' Lens+pRBranchInfoShaL :: Lens_' PRBranchInfo (Maybe Text)+pRBranchInfoShaL f PRBranchInfo{..} = (\pRBranchInfoSha -> PRBranchInfo { pRBranchInfoSha, ..} ) <$> f pRBranchInfoSha+{-# INLINE pRBranchInfoShaL #-}++++-- * Package++-- | 'packageCreatedAt' Lens+packageCreatedAtL :: Lens_' Package (Maybe DateTime)+packageCreatedAtL f Package{..} = (\packageCreatedAt -> Package { packageCreatedAt, ..} ) <$> f packageCreatedAt+{-# INLINE packageCreatedAtL #-}++-- | 'packageCreator' Lens+packageCreatorL :: Lens_' Package (Maybe User)+packageCreatorL f Package{..} = (\packageCreator -> Package { packageCreator, ..} ) <$> f packageCreator+{-# INLINE packageCreatorL #-}++-- | 'packageId' Lens+packageIdL :: Lens_' Package (Maybe Integer)+packageIdL f Package{..} = (\packageId -> Package { packageId, ..} ) <$> f packageId+{-# INLINE packageIdL #-}++-- | 'packageName' Lens+packageNameL :: Lens_' Package (Maybe Text)+packageNameL f Package{..} = (\packageName -> Package { packageName, ..} ) <$> f packageName+{-# INLINE packageNameL #-}++-- | 'packageOwner' Lens+packageOwnerL :: Lens_' Package (Maybe User)+packageOwnerL f Package{..} = (\packageOwner -> Package { packageOwner, ..} ) <$> f packageOwner+{-# INLINE packageOwnerL #-}++-- | 'packageRepository' Lens+packageRepositoryL :: Lens_' Package (Maybe Repository)+packageRepositoryL f Package{..} = (\packageRepository -> Package { packageRepository, ..} ) <$> f packageRepository+{-# INLINE packageRepositoryL #-}++-- | 'packageType' Lens+packageTypeL :: Lens_' Package (Maybe Text)+packageTypeL f Package{..} = (\packageType -> Package { packageType, ..} ) <$> f packageType+{-# INLINE packageTypeL #-}++-- | 'packageVersion' Lens+packageVersionL :: Lens_' Package (Maybe Text)+packageVersionL f Package{..} = (\packageVersion -> Package { packageVersion, ..} ) <$> f packageVersion+{-# INLINE packageVersionL #-}++++-- * PackageFile++-- | 'packageFileSize' Lens+packageFileSizeL :: Lens_' PackageFile (Maybe Integer)+packageFileSizeL f PackageFile{..} = (\packageFileSize -> PackageFile { packageFileSize, ..} ) <$> f packageFileSize+{-# INLINE packageFileSizeL #-}++-- | 'packageFileId' Lens+packageFileIdL :: Lens_' PackageFile (Maybe Integer)+packageFileIdL f PackageFile{..} = (\packageFileId -> PackageFile { packageFileId, ..} ) <$> f packageFileId+{-# INLINE packageFileIdL #-}++-- | 'packageFileMd5' Lens+packageFileMd5L :: Lens_' PackageFile (Maybe Text)+packageFileMd5L f PackageFile{..} = (\packageFileMd5 -> PackageFile { packageFileMd5, ..} ) <$> f packageFileMd5+{-# INLINE packageFileMd5L #-}++-- | 'packageFileName' Lens+packageFileNameL :: Lens_' PackageFile (Maybe Text)+packageFileNameL f PackageFile{..} = (\packageFileName -> PackageFile { packageFileName, ..} ) <$> f packageFileName+{-# INLINE packageFileNameL #-}++-- | 'packageFileSha1' Lens+packageFileSha1L :: Lens_' PackageFile (Maybe Text)+packageFileSha1L f PackageFile{..} = (\packageFileSha1 -> PackageFile { packageFileSha1, ..} ) <$> f packageFileSha1+{-# INLINE packageFileSha1L #-}++-- | 'packageFileSha256' Lens+packageFileSha256L :: Lens_' PackageFile (Maybe Text)+packageFileSha256L f PackageFile{..} = (\packageFileSha256 -> PackageFile { packageFileSha256, ..} ) <$> f packageFileSha256+{-# INLINE packageFileSha256L #-}++-- | 'packageFileSha512' Lens+packageFileSha512L :: Lens_' PackageFile (Maybe Text)+packageFileSha512L f PackageFile{..} = (\packageFileSha512 -> PackageFile { packageFileSha512, ..} ) <$> f packageFileSha512+{-# INLINE packageFileSha512L #-}++++-- * PayloadCommit++-- | 'payloadCommitAdded' Lens+payloadCommitAddedL :: Lens_' PayloadCommit (Maybe [Text])+payloadCommitAddedL f PayloadCommit{..} = (\payloadCommitAdded -> PayloadCommit { payloadCommitAdded, ..} ) <$> f payloadCommitAdded+{-# INLINE payloadCommitAddedL #-}++-- | 'payloadCommitAuthor' Lens+payloadCommitAuthorL :: Lens_' PayloadCommit (Maybe PayloadUser)+payloadCommitAuthorL f PayloadCommit{..} = (\payloadCommitAuthor -> PayloadCommit { payloadCommitAuthor, ..} ) <$> f payloadCommitAuthor+{-# INLINE payloadCommitAuthorL #-}++-- | 'payloadCommitCommitter' Lens+payloadCommitCommitterL :: Lens_' PayloadCommit (Maybe PayloadUser)+payloadCommitCommitterL f PayloadCommit{..} = (\payloadCommitCommitter -> PayloadCommit { payloadCommitCommitter, ..} ) <$> f payloadCommitCommitter+{-# INLINE payloadCommitCommitterL #-}++-- | 'payloadCommitId' Lens+payloadCommitIdL :: Lens_' PayloadCommit (Maybe Text)+payloadCommitIdL f PayloadCommit{..} = (\payloadCommitId -> PayloadCommit { payloadCommitId, ..} ) <$> f payloadCommitId+{-# INLINE payloadCommitIdL #-}++-- | 'payloadCommitMessage' Lens+payloadCommitMessageL :: Lens_' PayloadCommit (Maybe Text)+payloadCommitMessageL f PayloadCommit{..} = (\payloadCommitMessage -> PayloadCommit { payloadCommitMessage, ..} ) <$> f payloadCommitMessage+{-# INLINE payloadCommitMessageL #-}++-- | 'payloadCommitModified' Lens+payloadCommitModifiedL :: Lens_' PayloadCommit (Maybe [Text])+payloadCommitModifiedL f PayloadCommit{..} = (\payloadCommitModified -> PayloadCommit { payloadCommitModified, ..} ) <$> f payloadCommitModified+{-# INLINE payloadCommitModifiedL #-}++-- | 'payloadCommitRemoved' Lens+payloadCommitRemovedL :: Lens_' PayloadCommit (Maybe [Text])+payloadCommitRemovedL f PayloadCommit{..} = (\payloadCommitRemoved -> PayloadCommit { payloadCommitRemoved, ..} ) <$> f payloadCommitRemoved+{-# INLINE payloadCommitRemovedL #-}++-- | 'payloadCommitTimestamp' Lens+payloadCommitTimestampL :: Lens_' PayloadCommit (Maybe DateTime)+payloadCommitTimestampL f PayloadCommit{..} = (\payloadCommitTimestamp -> PayloadCommit { payloadCommitTimestamp, ..} ) <$> f payloadCommitTimestamp+{-# INLINE payloadCommitTimestampL #-}++-- | 'payloadCommitUrl' Lens+payloadCommitUrlL :: Lens_' PayloadCommit (Maybe Text)+payloadCommitUrlL f PayloadCommit{..} = (\payloadCommitUrl -> PayloadCommit { payloadCommitUrl, ..} ) <$> f payloadCommitUrl+{-# INLINE payloadCommitUrlL #-}++-- | 'payloadCommitVerification' Lens+payloadCommitVerificationL :: Lens_' PayloadCommit (Maybe PayloadCommitVerification)+payloadCommitVerificationL f PayloadCommit{..} = (\payloadCommitVerification -> PayloadCommit { payloadCommitVerification, ..} ) <$> f payloadCommitVerification+{-# INLINE payloadCommitVerificationL #-}++++-- * PayloadCommitVerification++-- | 'payloadCommitVerificationPayload' Lens+payloadCommitVerificationPayloadL :: Lens_' PayloadCommitVerification (Maybe Text)+payloadCommitVerificationPayloadL f PayloadCommitVerification{..} = (\payloadCommitVerificationPayload -> PayloadCommitVerification { payloadCommitVerificationPayload, ..} ) <$> f payloadCommitVerificationPayload+{-# INLINE payloadCommitVerificationPayloadL #-}++-- | 'payloadCommitVerificationReason' Lens+payloadCommitVerificationReasonL :: Lens_' PayloadCommitVerification (Maybe Text)+payloadCommitVerificationReasonL f PayloadCommitVerification{..} = (\payloadCommitVerificationReason -> PayloadCommitVerification { payloadCommitVerificationReason, ..} ) <$> f payloadCommitVerificationReason+{-# INLINE payloadCommitVerificationReasonL #-}++-- | 'payloadCommitVerificationSignature' Lens+payloadCommitVerificationSignatureL :: Lens_' PayloadCommitVerification (Maybe Text)+payloadCommitVerificationSignatureL f PayloadCommitVerification{..} = (\payloadCommitVerificationSignature -> PayloadCommitVerification { payloadCommitVerificationSignature, ..} ) <$> f payloadCommitVerificationSignature+{-# INLINE payloadCommitVerificationSignatureL #-}++-- | 'payloadCommitVerificationSigner' Lens+payloadCommitVerificationSignerL :: Lens_' PayloadCommitVerification (Maybe PayloadUser)+payloadCommitVerificationSignerL f PayloadCommitVerification{..} = (\payloadCommitVerificationSigner -> PayloadCommitVerification { payloadCommitVerificationSigner, ..} ) <$> f payloadCommitVerificationSigner+{-# INLINE payloadCommitVerificationSignerL #-}++-- | 'payloadCommitVerificationVerified' Lens+payloadCommitVerificationVerifiedL :: Lens_' PayloadCommitVerification (Maybe Bool)+payloadCommitVerificationVerifiedL f PayloadCommitVerification{..} = (\payloadCommitVerificationVerified -> PayloadCommitVerification { payloadCommitVerificationVerified, ..} ) <$> f payloadCommitVerificationVerified+{-# INLINE payloadCommitVerificationVerifiedL #-}++++-- * PayloadUser++-- | 'payloadUserEmail' Lens+payloadUserEmailL :: Lens_' PayloadUser (Maybe Text)+payloadUserEmailL f PayloadUser{..} = (\payloadUserEmail -> PayloadUser { payloadUserEmail, ..} ) <$> f payloadUserEmail+{-# INLINE payloadUserEmailL #-}++-- | 'payloadUserName' Lens+payloadUserNameL :: Lens_' PayloadUser (Maybe Text)+payloadUserNameL f PayloadUser{..} = (\payloadUserName -> PayloadUser { payloadUserName, ..} ) <$> f payloadUserName+{-# INLINE payloadUserNameL #-}++-- | 'payloadUserUsername' Lens+payloadUserUsernameL :: Lens_' PayloadUser (Maybe Text)+payloadUserUsernameL f PayloadUser{..} = (\payloadUserUsername -> PayloadUser { payloadUserUsername, ..} ) <$> f payloadUserUsername+{-# INLINE payloadUserUsernameL #-}++++-- * Permission++-- | 'permissionAdmin' Lens+permissionAdminL :: Lens_' Permission (Maybe Bool)+permissionAdminL f Permission{..} = (\permissionAdmin -> Permission { permissionAdmin, ..} ) <$> f permissionAdmin+{-# INLINE permissionAdminL #-}++-- | 'permissionPull' Lens+permissionPullL :: Lens_' Permission (Maybe Bool)+permissionPullL f Permission{..} = (\permissionPull -> Permission { permissionPull, ..} ) <$> f permissionPull+{-# INLINE permissionPullL #-}++-- | 'permissionPush' Lens+permissionPushL :: Lens_' Permission (Maybe Bool)+permissionPushL f Permission{..} = (\permissionPush -> Permission { permissionPush, ..} ) <$> f permissionPush+{-# INLINE permissionPushL #-}++++-- * PublicKey++-- | 'publicKeyCreatedAt' Lens+publicKeyCreatedAtL :: Lens_' PublicKey (Maybe DateTime)+publicKeyCreatedAtL f PublicKey{..} = (\publicKeyCreatedAt -> PublicKey { publicKeyCreatedAt, ..} ) <$> f publicKeyCreatedAt+{-# INLINE publicKeyCreatedAtL #-}++-- | 'publicKeyFingerprint' Lens+publicKeyFingerprintL :: Lens_' PublicKey (Maybe Text)+publicKeyFingerprintL f PublicKey{..} = (\publicKeyFingerprint -> PublicKey { publicKeyFingerprint, ..} ) <$> f publicKeyFingerprint+{-# INLINE publicKeyFingerprintL #-}++-- | 'publicKeyId' Lens+publicKeyIdL :: Lens_' PublicKey (Maybe Integer)+publicKeyIdL f PublicKey{..} = (\publicKeyId -> PublicKey { publicKeyId, ..} ) <$> f publicKeyId+{-# INLINE publicKeyIdL #-}++-- | 'publicKeyKey' Lens+publicKeyKeyL :: Lens_' PublicKey (Maybe Text)+publicKeyKeyL f PublicKey{..} = (\publicKeyKey -> PublicKey { publicKeyKey, ..} ) <$> f publicKeyKey+{-# INLINE publicKeyKeyL #-}++-- | 'publicKeyKeyType' Lens+publicKeyKeyTypeL :: Lens_' PublicKey (Maybe Text)+publicKeyKeyTypeL f PublicKey{..} = (\publicKeyKeyType -> PublicKey { publicKeyKeyType, ..} ) <$> f publicKeyKeyType+{-# INLINE publicKeyKeyTypeL #-}++-- | 'publicKeyReadOnly' Lens+publicKeyReadOnlyL :: Lens_' PublicKey (Maybe Bool)+publicKeyReadOnlyL f PublicKey{..} = (\publicKeyReadOnly -> PublicKey { publicKeyReadOnly, ..} ) <$> f publicKeyReadOnly+{-# INLINE publicKeyReadOnlyL #-}++-- | 'publicKeyTitle' Lens+publicKeyTitleL :: Lens_' PublicKey (Maybe Text)+publicKeyTitleL f PublicKey{..} = (\publicKeyTitle -> PublicKey { publicKeyTitle, ..} ) <$> f publicKeyTitle+{-# INLINE publicKeyTitleL #-}++-- | 'publicKeyUrl' Lens+publicKeyUrlL :: Lens_' PublicKey (Maybe Text)+publicKeyUrlL f PublicKey{..} = (\publicKeyUrl -> PublicKey { publicKeyUrl, ..} ) <$> f publicKeyUrl+{-# INLINE publicKeyUrlL #-}++-- | 'publicKeyUser' Lens+publicKeyUserL :: Lens_' PublicKey (Maybe User)+publicKeyUserL f PublicKey{..} = (\publicKeyUser -> PublicKey { publicKeyUser, ..} ) <$> f publicKeyUser+{-# INLINE publicKeyUserL #-}++++-- * PullRequest++-- | 'pullRequestAllowMaintainerEdit' Lens+pullRequestAllowMaintainerEditL :: Lens_' PullRequest (Maybe Bool)+pullRequestAllowMaintainerEditL f PullRequest{..} = (\pullRequestAllowMaintainerEdit -> PullRequest { pullRequestAllowMaintainerEdit, ..} ) <$> f pullRequestAllowMaintainerEdit+{-# INLINE pullRequestAllowMaintainerEditL #-}++-- | 'pullRequestAssignee' Lens+pullRequestAssigneeL :: Lens_' PullRequest (Maybe User)+pullRequestAssigneeL f PullRequest{..} = (\pullRequestAssignee -> PullRequest { pullRequestAssignee, ..} ) <$> f pullRequestAssignee+{-# INLINE pullRequestAssigneeL #-}++-- | 'pullRequestAssignees' Lens+pullRequestAssigneesL :: Lens_' PullRequest (Maybe [User])+pullRequestAssigneesL f PullRequest{..} = (\pullRequestAssignees -> PullRequest { pullRequestAssignees, ..} ) <$> f pullRequestAssignees+{-# INLINE pullRequestAssigneesL #-}++-- | 'pullRequestBase' Lens+pullRequestBaseL :: Lens_' PullRequest (Maybe PRBranchInfo)+pullRequestBaseL f PullRequest{..} = (\pullRequestBase -> PullRequest { pullRequestBase, ..} ) <$> f pullRequestBase+{-# INLINE pullRequestBaseL #-}++-- | 'pullRequestBody' Lens+pullRequestBodyL :: Lens_' PullRequest (Maybe Text)+pullRequestBodyL f PullRequest{..} = (\pullRequestBody -> PullRequest { pullRequestBody, ..} ) <$> f pullRequestBody+{-# INLINE pullRequestBodyL #-}++-- | 'pullRequestClosedAt' Lens+pullRequestClosedAtL :: Lens_' PullRequest (Maybe DateTime)+pullRequestClosedAtL f PullRequest{..} = (\pullRequestClosedAt -> PullRequest { pullRequestClosedAt, ..} ) <$> f pullRequestClosedAt+{-# INLINE pullRequestClosedAtL #-}++-- | 'pullRequestComments' Lens+pullRequestCommentsL :: Lens_' PullRequest (Maybe Integer)+pullRequestCommentsL f PullRequest{..} = (\pullRequestComments -> PullRequest { pullRequestComments, ..} ) <$> f pullRequestComments+{-# INLINE pullRequestCommentsL #-}++-- | 'pullRequestCreatedAt' Lens+pullRequestCreatedAtL :: Lens_' PullRequest (Maybe DateTime)+pullRequestCreatedAtL f PullRequest{..} = (\pullRequestCreatedAt -> PullRequest { pullRequestCreatedAt, ..} ) <$> f pullRequestCreatedAt+{-# INLINE pullRequestCreatedAtL #-}++-- | 'pullRequestDiffUrl' Lens+pullRequestDiffUrlL :: Lens_' PullRequest (Maybe Text)+pullRequestDiffUrlL f PullRequest{..} = (\pullRequestDiffUrl -> PullRequest { pullRequestDiffUrl, ..} ) <$> f pullRequestDiffUrl+{-# INLINE pullRequestDiffUrlL #-}++-- | 'pullRequestDueDate' Lens+pullRequestDueDateL :: Lens_' PullRequest (Maybe DateTime)+pullRequestDueDateL f PullRequest{..} = (\pullRequestDueDate -> PullRequest { pullRequestDueDate, ..} ) <$> f pullRequestDueDate+{-# INLINE pullRequestDueDateL #-}++-- | 'pullRequestHead' Lens+pullRequestHeadL :: Lens_' PullRequest (Maybe PRBranchInfo)+pullRequestHeadL f PullRequest{..} = (\pullRequestHead -> PullRequest { pullRequestHead, ..} ) <$> f pullRequestHead+{-# INLINE pullRequestHeadL #-}++-- | 'pullRequestHtmlUrl' Lens+pullRequestHtmlUrlL :: Lens_' PullRequest (Maybe Text)+pullRequestHtmlUrlL f PullRequest{..} = (\pullRequestHtmlUrl -> PullRequest { pullRequestHtmlUrl, ..} ) <$> f pullRequestHtmlUrl+{-# INLINE pullRequestHtmlUrlL #-}++-- | 'pullRequestId' Lens+pullRequestIdL :: Lens_' PullRequest (Maybe Integer)+pullRequestIdL f PullRequest{..} = (\pullRequestId -> PullRequest { pullRequestId, ..} ) <$> f pullRequestId+{-# INLINE pullRequestIdL #-}++-- | 'pullRequestIsLocked' Lens+pullRequestIsLockedL :: Lens_' PullRequest (Maybe Bool)+pullRequestIsLockedL f PullRequest{..} = (\pullRequestIsLocked -> PullRequest { pullRequestIsLocked, ..} ) <$> f pullRequestIsLocked+{-# INLINE pullRequestIsLockedL #-}++-- | 'pullRequestLabels' Lens+pullRequestLabelsL :: Lens_' PullRequest (Maybe [Label])+pullRequestLabelsL f PullRequest{..} = (\pullRequestLabels -> PullRequest { pullRequestLabels, ..} ) <$> f pullRequestLabels+{-# INLINE pullRequestLabelsL #-}++-- | 'pullRequestMergeBase' Lens+pullRequestMergeBaseL :: Lens_' PullRequest (Maybe Text)+pullRequestMergeBaseL f PullRequest{..} = (\pullRequestMergeBase -> PullRequest { pullRequestMergeBase, ..} ) <$> f pullRequestMergeBase+{-# INLINE pullRequestMergeBaseL #-}++-- | 'pullRequestMergeCommitSha' Lens+pullRequestMergeCommitShaL :: Lens_' PullRequest (Maybe Text)+pullRequestMergeCommitShaL f PullRequest{..} = (\pullRequestMergeCommitSha -> PullRequest { pullRequestMergeCommitSha, ..} ) <$> f pullRequestMergeCommitSha+{-# INLINE pullRequestMergeCommitShaL #-}++-- | 'pullRequestMergeable' Lens+pullRequestMergeableL :: Lens_' PullRequest (Maybe Bool)+pullRequestMergeableL f PullRequest{..} = (\pullRequestMergeable -> PullRequest { pullRequestMergeable, ..} ) <$> f pullRequestMergeable+{-# INLINE pullRequestMergeableL #-}++-- | 'pullRequestMerged' Lens+pullRequestMergedL :: Lens_' PullRequest (Maybe Bool)+pullRequestMergedL f PullRequest{..} = (\pullRequestMerged -> PullRequest { pullRequestMerged, ..} ) <$> f pullRequestMerged+{-# INLINE pullRequestMergedL #-}++-- | 'pullRequestMergedAt' Lens+pullRequestMergedAtL :: Lens_' PullRequest (Maybe DateTime)+pullRequestMergedAtL f PullRequest{..} = (\pullRequestMergedAt -> PullRequest { pullRequestMergedAt, ..} ) <$> f pullRequestMergedAt+{-# INLINE pullRequestMergedAtL #-}++-- | 'pullRequestMergedBy' Lens+pullRequestMergedByL :: Lens_' PullRequest (Maybe User)+pullRequestMergedByL f PullRequest{..} = (\pullRequestMergedBy -> PullRequest { pullRequestMergedBy, ..} ) <$> f pullRequestMergedBy+{-# INLINE pullRequestMergedByL #-}++-- | 'pullRequestMilestone' Lens+pullRequestMilestoneL :: Lens_' PullRequest (Maybe Milestone)+pullRequestMilestoneL f PullRequest{..} = (\pullRequestMilestone -> PullRequest { pullRequestMilestone, ..} ) <$> f pullRequestMilestone+{-# INLINE pullRequestMilestoneL #-}++-- | 'pullRequestNumber' Lens+pullRequestNumberL :: Lens_' PullRequest (Maybe Integer)+pullRequestNumberL f PullRequest{..} = (\pullRequestNumber -> PullRequest { pullRequestNumber, ..} ) <$> f pullRequestNumber+{-# INLINE pullRequestNumberL #-}++-- | 'pullRequestPatchUrl' Lens+pullRequestPatchUrlL :: Lens_' PullRequest (Maybe Text)+pullRequestPatchUrlL f PullRequest{..} = (\pullRequestPatchUrl -> PullRequest { pullRequestPatchUrl, ..} ) <$> f pullRequestPatchUrl+{-# INLINE pullRequestPatchUrlL #-}++-- | 'pullRequestState' Lens+pullRequestStateL :: Lens_' PullRequest (Maybe Text)+pullRequestStateL f PullRequest{..} = (\pullRequestState -> PullRequest { pullRequestState, ..} ) <$> f pullRequestState+{-# INLINE pullRequestStateL #-}++-- | 'pullRequestTitle' Lens+pullRequestTitleL :: Lens_' PullRequest (Maybe Text)+pullRequestTitleL f PullRequest{..} = (\pullRequestTitle -> PullRequest { pullRequestTitle, ..} ) <$> f pullRequestTitle+{-# INLINE pullRequestTitleL #-}++-- | 'pullRequestUpdatedAt' Lens+pullRequestUpdatedAtL :: Lens_' PullRequest (Maybe DateTime)+pullRequestUpdatedAtL f PullRequest{..} = (\pullRequestUpdatedAt -> PullRequest { pullRequestUpdatedAt, ..} ) <$> f pullRequestUpdatedAt+{-# INLINE pullRequestUpdatedAtL #-}++-- | 'pullRequestUrl' Lens+pullRequestUrlL :: Lens_' PullRequest (Maybe Text)+pullRequestUrlL f PullRequest{..} = (\pullRequestUrl -> PullRequest { pullRequestUrl, ..} ) <$> f pullRequestUrl+{-# INLINE pullRequestUrlL #-}++-- | 'pullRequestUser' Lens+pullRequestUserL :: Lens_' PullRequest (Maybe User)+pullRequestUserL f PullRequest{..} = (\pullRequestUser -> PullRequest { pullRequestUser, ..} ) <$> f pullRequestUser+{-# INLINE pullRequestUserL #-}++++-- * PullRequestMeta++-- | 'pullRequestMetaMerged' Lens+pullRequestMetaMergedL :: Lens_' PullRequestMeta (Maybe Bool)+pullRequestMetaMergedL f PullRequestMeta{..} = (\pullRequestMetaMerged -> PullRequestMeta { pullRequestMetaMerged, ..} ) <$> f pullRequestMetaMerged+{-# INLINE pullRequestMetaMergedL #-}++-- | 'pullRequestMetaMergedAt' Lens+pullRequestMetaMergedAtL :: Lens_' PullRequestMeta (Maybe DateTime)+pullRequestMetaMergedAtL f PullRequestMeta{..} = (\pullRequestMetaMergedAt -> PullRequestMeta { pullRequestMetaMergedAt, ..} ) <$> f pullRequestMetaMergedAt+{-# INLINE pullRequestMetaMergedAtL #-}++++-- * PullReview++-- | 'pullReviewBody' Lens+pullReviewBodyL :: Lens_' PullReview (Maybe Text)+pullReviewBodyL f PullReview{..} = (\pullReviewBody -> PullReview { pullReviewBody, ..} ) <$> f pullReviewBody+{-# INLINE pullReviewBodyL #-}++-- | 'pullReviewCommentsCount' Lens+pullReviewCommentsCountL :: Lens_' PullReview (Maybe Integer)+pullReviewCommentsCountL f PullReview{..} = (\pullReviewCommentsCount -> PullReview { pullReviewCommentsCount, ..} ) <$> f pullReviewCommentsCount+{-# INLINE pullReviewCommentsCountL #-}++-- | 'pullReviewCommitId' Lens+pullReviewCommitIdL :: Lens_' PullReview (Maybe Text)+pullReviewCommitIdL f PullReview{..} = (\pullReviewCommitId -> PullReview { pullReviewCommitId, ..} ) <$> f pullReviewCommitId+{-# INLINE pullReviewCommitIdL #-}++-- | 'pullReviewDismissed' Lens+pullReviewDismissedL :: Lens_' PullReview (Maybe Bool)+pullReviewDismissedL f PullReview{..} = (\pullReviewDismissed -> PullReview { pullReviewDismissed, ..} ) <$> f pullReviewDismissed+{-# INLINE pullReviewDismissedL #-}++-- | 'pullReviewHtmlUrl' Lens+pullReviewHtmlUrlL :: Lens_' PullReview (Maybe Text)+pullReviewHtmlUrlL f PullReview{..} = (\pullReviewHtmlUrl -> PullReview { pullReviewHtmlUrl, ..} ) <$> f pullReviewHtmlUrl+{-# INLINE pullReviewHtmlUrlL #-}++-- | 'pullReviewId' Lens+pullReviewIdL :: Lens_' PullReview (Maybe Integer)+pullReviewIdL f PullReview{..} = (\pullReviewId -> PullReview { pullReviewId, ..} ) <$> f pullReviewId+{-# INLINE pullReviewIdL #-}++-- | 'pullReviewOfficial' Lens+pullReviewOfficialL :: Lens_' PullReview (Maybe Bool)+pullReviewOfficialL f PullReview{..} = (\pullReviewOfficial -> PullReview { pullReviewOfficial, ..} ) <$> f pullReviewOfficial+{-# INLINE pullReviewOfficialL #-}++-- | 'pullReviewPullRequestUrl' Lens+pullReviewPullRequestUrlL :: Lens_' PullReview (Maybe Text)+pullReviewPullRequestUrlL f PullReview{..} = (\pullReviewPullRequestUrl -> PullReview { pullReviewPullRequestUrl, ..} ) <$> f pullReviewPullRequestUrl+{-# INLINE pullReviewPullRequestUrlL #-}++-- | 'pullReviewStale' Lens+pullReviewStaleL :: Lens_' PullReview (Maybe Bool)+pullReviewStaleL f PullReview{..} = (\pullReviewStale -> PullReview { pullReviewStale, ..} ) <$> f pullReviewStale+{-# INLINE pullReviewStaleL #-}++-- | 'pullReviewState' Lens+pullReviewStateL :: Lens_' PullReview (Maybe Text)+pullReviewStateL f PullReview{..} = (\pullReviewState -> PullReview { pullReviewState, ..} ) <$> f pullReviewState+{-# INLINE pullReviewStateL #-}++-- | 'pullReviewSubmittedAt' Lens+pullReviewSubmittedAtL :: Lens_' PullReview (Maybe DateTime)+pullReviewSubmittedAtL f PullReview{..} = (\pullReviewSubmittedAt -> PullReview { pullReviewSubmittedAt, ..} ) <$> f pullReviewSubmittedAt+{-# INLINE pullReviewSubmittedAtL #-}++-- | 'pullReviewTeam' Lens+pullReviewTeamL :: Lens_' PullReview (Maybe Team)+pullReviewTeamL f PullReview{..} = (\pullReviewTeam -> PullReview { pullReviewTeam, ..} ) <$> f pullReviewTeam+{-# INLINE pullReviewTeamL #-}++-- | 'pullReviewUpdatedAt' Lens+pullReviewUpdatedAtL :: Lens_' PullReview (Maybe DateTime)+pullReviewUpdatedAtL f PullReview{..} = (\pullReviewUpdatedAt -> PullReview { pullReviewUpdatedAt, ..} ) <$> f pullReviewUpdatedAt+{-# INLINE pullReviewUpdatedAtL #-}++-- | 'pullReviewUser' Lens+pullReviewUserL :: Lens_' PullReview (Maybe User)+pullReviewUserL f PullReview{..} = (\pullReviewUser -> PullReview { pullReviewUser, ..} ) <$> f pullReviewUser+{-# INLINE pullReviewUserL #-}++++-- * PullReviewComment++-- | 'pullReviewCommentBody' Lens+pullReviewCommentBodyL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentBodyL f PullReviewComment{..} = (\pullReviewCommentBody -> PullReviewComment { pullReviewCommentBody, ..} ) <$> f pullReviewCommentBody+{-# INLINE pullReviewCommentBodyL #-}++-- | 'pullReviewCommentCommitId' Lens+pullReviewCommentCommitIdL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentCommitIdL f PullReviewComment{..} = (\pullReviewCommentCommitId -> PullReviewComment { pullReviewCommentCommitId, ..} ) <$> f pullReviewCommentCommitId+{-# INLINE pullReviewCommentCommitIdL #-}++-- | 'pullReviewCommentCreatedAt' Lens+pullReviewCommentCreatedAtL :: Lens_' PullReviewComment (Maybe DateTime)+pullReviewCommentCreatedAtL f PullReviewComment{..} = (\pullReviewCommentCreatedAt -> PullReviewComment { pullReviewCommentCreatedAt, ..} ) <$> f pullReviewCommentCreatedAt+{-# INLINE pullReviewCommentCreatedAtL #-}++-- | 'pullReviewCommentDiffHunk' Lens+pullReviewCommentDiffHunkL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentDiffHunkL f PullReviewComment{..} = (\pullReviewCommentDiffHunk -> PullReviewComment { pullReviewCommentDiffHunk, ..} ) <$> f pullReviewCommentDiffHunk+{-# INLINE pullReviewCommentDiffHunkL #-}++-- | 'pullReviewCommentHtmlUrl' Lens+pullReviewCommentHtmlUrlL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentHtmlUrlL f PullReviewComment{..} = (\pullReviewCommentHtmlUrl -> PullReviewComment { pullReviewCommentHtmlUrl, ..} ) <$> f pullReviewCommentHtmlUrl+{-# INLINE pullReviewCommentHtmlUrlL #-}++-- | 'pullReviewCommentId' Lens+pullReviewCommentIdL :: Lens_' PullReviewComment (Maybe Integer)+pullReviewCommentIdL f PullReviewComment{..} = (\pullReviewCommentId -> PullReviewComment { pullReviewCommentId, ..} ) <$> f pullReviewCommentId+{-# INLINE pullReviewCommentIdL #-}++-- | 'pullReviewCommentOriginalCommitId' Lens+pullReviewCommentOriginalCommitIdL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentOriginalCommitIdL f PullReviewComment{..} = (\pullReviewCommentOriginalCommitId -> PullReviewComment { pullReviewCommentOriginalCommitId, ..} ) <$> f pullReviewCommentOriginalCommitId+{-# INLINE pullReviewCommentOriginalCommitIdL #-}++-- | 'pullReviewCommentOriginalPosition' Lens+pullReviewCommentOriginalPositionL :: Lens_' PullReviewComment (Maybe Int)+pullReviewCommentOriginalPositionL f PullReviewComment{..} = (\pullReviewCommentOriginalPosition -> PullReviewComment { pullReviewCommentOriginalPosition, ..} ) <$> f pullReviewCommentOriginalPosition+{-# INLINE pullReviewCommentOriginalPositionL #-}++-- | 'pullReviewCommentPath' Lens+pullReviewCommentPathL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentPathL f PullReviewComment{..} = (\pullReviewCommentPath -> PullReviewComment { pullReviewCommentPath, ..} ) <$> f pullReviewCommentPath+{-# INLINE pullReviewCommentPathL #-}++-- | 'pullReviewCommentPosition' Lens+pullReviewCommentPositionL :: Lens_' PullReviewComment (Maybe Int)+pullReviewCommentPositionL f PullReviewComment{..} = (\pullReviewCommentPosition -> PullReviewComment { pullReviewCommentPosition, ..} ) <$> f pullReviewCommentPosition+{-# INLINE pullReviewCommentPositionL #-}++-- | 'pullReviewCommentPullRequestReviewId' Lens+pullReviewCommentPullRequestReviewIdL :: Lens_' PullReviewComment (Maybe Integer)+pullReviewCommentPullRequestReviewIdL f PullReviewComment{..} = (\pullReviewCommentPullRequestReviewId -> PullReviewComment { pullReviewCommentPullRequestReviewId, ..} ) <$> f pullReviewCommentPullRequestReviewId+{-# INLINE pullReviewCommentPullRequestReviewIdL #-}++-- | 'pullReviewCommentPullRequestUrl' Lens+pullReviewCommentPullRequestUrlL :: Lens_' PullReviewComment (Maybe Text)+pullReviewCommentPullRequestUrlL f PullReviewComment{..} = (\pullReviewCommentPullRequestUrl -> PullReviewComment { pullReviewCommentPullRequestUrl, ..} ) <$> f pullReviewCommentPullRequestUrl+{-# INLINE pullReviewCommentPullRequestUrlL #-}++-- | 'pullReviewCommentResolver' Lens+pullReviewCommentResolverL :: Lens_' PullReviewComment (Maybe User)+pullReviewCommentResolverL f PullReviewComment{..} = (\pullReviewCommentResolver -> PullReviewComment { pullReviewCommentResolver, ..} ) <$> f pullReviewCommentResolver+{-# INLINE pullReviewCommentResolverL #-}++-- | 'pullReviewCommentUpdatedAt' Lens+pullReviewCommentUpdatedAtL :: Lens_' PullReviewComment (Maybe DateTime)+pullReviewCommentUpdatedAtL f PullReviewComment{..} = (\pullReviewCommentUpdatedAt -> PullReviewComment { pullReviewCommentUpdatedAt, ..} ) <$> f pullReviewCommentUpdatedAt+{-# INLINE pullReviewCommentUpdatedAtL #-}++-- | 'pullReviewCommentUser' Lens+pullReviewCommentUserL :: Lens_' PullReviewComment (Maybe User)+pullReviewCommentUserL f PullReviewComment{..} = (\pullReviewCommentUser -> PullReviewComment { pullReviewCommentUser, ..} ) <$> f pullReviewCommentUser+{-# INLINE pullReviewCommentUserL #-}++++-- * PullReviewRequestOptions++-- | 'pullReviewRequestOptionsReviewers' Lens+pullReviewRequestOptionsReviewersL :: Lens_' PullReviewRequestOptions (Maybe [Text])+pullReviewRequestOptionsReviewersL f PullReviewRequestOptions{..} = (\pullReviewRequestOptionsReviewers -> PullReviewRequestOptions { pullReviewRequestOptionsReviewers, ..} ) <$> f pullReviewRequestOptionsReviewers+{-# INLINE pullReviewRequestOptionsReviewersL #-}++-- | 'pullReviewRequestOptionsTeamReviewers' Lens+pullReviewRequestOptionsTeamReviewersL :: Lens_' PullReviewRequestOptions (Maybe [Text])+pullReviewRequestOptionsTeamReviewersL f PullReviewRequestOptions{..} = (\pullReviewRequestOptionsTeamReviewers -> PullReviewRequestOptions { pullReviewRequestOptionsTeamReviewers, ..} ) <$> f pullReviewRequestOptionsTeamReviewers+{-# INLINE pullReviewRequestOptionsTeamReviewersL #-}++++-- * PushMirror++-- | 'pushMirrorCreated' Lens+pushMirrorCreatedL :: Lens_' PushMirror (Maybe Text)+pushMirrorCreatedL f PushMirror{..} = (\pushMirrorCreated -> PushMirror { pushMirrorCreated, ..} ) <$> f pushMirrorCreated+{-# INLINE pushMirrorCreatedL #-}++-- | 'pushMirrorInterval' Lens+pushMirrorIntervalL :: Lens_' PushMirror (Maybe Text)+pushMirrorIntervalL f PushMirror{..} = (\pushMirrorInterval -> PushMirror { pushMirrorInterval, ..} ) <$> f pushMirrorInterval+{-# INLINE pushMirrorIntervalL #-}++-- | 'pushMirrorLastError' Lens+pushMirrorLastErrorL :: Lens_' PushMirror (Maybe Text)+pushMirrorLastErrorL f PushMirror{..} = (\pushMirrorLastError -> PushMirror { pushMirrorLastError, ..} ) <$> f pushMirrorLastError+{-# INLINE pushMirrorLastErrorL #-}++-- | 'pushMirrorLastUpdate' Lens+pushMirrorLastUpdateL :: Lens_' PushMirror (Maybe Text)+pushMirrorLastUpdateL f PushMirror{..} = (\pushMirrorLastUpdate -> PushMirror { pushMirrorLastUpdate, ..} ) <$> f pushMirrorLastUpdate+{-# INLINE pushMirrorLastUpdateL #-}++-- | 'pushMirrorRemoteAddress' Lens+pushMirrorRemoteAddressL :: Lens_' PushMirror (Maybe Text)+pushMirrorRemoteAddressL f PushMirror{..} = (\pushMirrorRemoteAddress -> PushMirror { pushMirrorRemoteAddress, ..} ) <$> f pushMirrorRemoteAddress+{-# INLINE pushMirrorRemoteAddressL #-}++-- | 'pushMirrorRemoteName' Lens+pushMirrorRemoteNameL :: Lens_' PushMirror (Maybe Text)+pushMirrorRemoteNameL f PushMirror{..} = (\pushMirrorRemoteName -> PushMirror { pushMirrorRemoteName, ..} ) <$> f pushMirrorRemoteName+{-# INLINE pushMirrorRemoteNameL #-}++-- | 'pushMirrorRepoName' Lens+pushMirrorRepoNameL :: Lens_' PushMirror (Maybe Text)+pushMirrorRepoNameL f PushMirror{..} = (\pushMirrorRepoName -> PushMirror { pushMirrorRepoName, ..} ) <$> f pushMirrorRepoName+{-# INLINE pushMirrorRepoNameL #-}++-- | 'pushMirrorSyncOnCommit' Lens+pushMirrorSyncOnCommitL :: Lens_' PushMirror (Maybe Bool)+pushMirrorSyncOnCommitL f PushMirror{..} = (\pushMirrorSyncOnCommit -> PushMirror { pushMirrorSyncOnCommit, ..} ) <$> f pushMirrorSyncOnCommit+{-# INLINE pushMirrorSyncOnCommitL #-}++++-- * Reaction++-- | 'reactionContent' Lens+reactionContentL :: Lens_' Reaction (Maybe Text)+reactionContentL f Reaction{..} = (\reactionContent -> Reaction { reactionContent, ..} ) <$> f reactionContent+{-# INLINE reactionContentL #-}++-- | 'reactionCreatedAt' Lens+reactionCreatedAtL :: Lens_' Reaction (Maybe DateTime)+reactionCreatedAtL f Reaction{..} = (\reactionCreatedAt -> Reaction { reactionCreatedAt, ..} ) <$> f reactionCreatedAt+{-# INLINE reactionCreatedAtL #-}++-- | 'reactionUser' Lens+reactionUserL :: Lens_' Reaction (Maybe User)+reactionUserL f Reaction{..} = (\reactionUser -> Reaction { reactionUser, ..} ) <$> f reactionUser+{-# INLINE reactionUserL #-}++++-- * Reference++-- | 'referenceObject' Lens+referenceObjectL :: Lens_' Reference (Maybe GitObject)+referenceObjectL f Reference{..} = (\referenceObject -> Reference { referenceObject, ..} ) <$> f referenceObject+{-# INLINE referenceObjectL #-}++-- | 'referenceRef' Lens+referenceRefL :: Lens_' Reference (Maybe Text)+referenceRefL f Reference{..} = (\referenceRef -> Reference { referenceRef, ..} ) <$> f referenceRef+{-# INLINE referenceRefL #-}++-- | 'referenceUrl' Lens+referenceUrlL :: Lens_' Reference (Maybe Text)+referenceUrlL f Reference{..} = (\referenceUrl -> Reference { referenceUrl, ..} ) <$> f referenceUrl+{-# INLINE referenceUrlL #-}++++-- * Release++-- | 'releaseAssets' Lens+releaseAssetsL :: Lens_' Release (Maybe [Attachment])+releaseAssetsL f Release{..} = (\releaseAssets -> Release { releaseAssets, ..} ) <$> f releaseAssets+{-# INLINE releaseAssetsL #-}++-- | 'releaseAuthor' Lens+releaseAuthorL :: Lens_' Release (Maybe User)+releaseAuthorL f Release{..} = (\releaseAuthor -> Release { releaseAuthor, ..} ) <$> f releaseAuthor+{-# INLINE releaseAuthorL #-}++-- | 'releaseBody' Lens+releaseBodyL :: Lens_' Release (Maybe Text)+releaseBodyL f Release{..} = (\releaseBody -> Release { releaseBody, ..} ) <$> f releaseBody+{-# INLINE releaseBodyL #-}++-- | 'releaseCreatedAt' Lens+releaseCreatedAtL :: Lens_' Release (Maybe DateTime)+releaseCreatedAtL f Release{..} = (\releaseCreatedAt -> Release { releaseCreatedAt, ..} ) <$> f releaseCreatedAt+{-# INLINE releaseCreatedAtL #-}++-- | 'releaseDraft' Lens+releaseDraftL :: Lens_' Release (Maybe Bool)+releaseDraftL f Release{..} = (\releaseDraft -> Release { releaseDraft, ..} ) <$> f releaseDraft+{-# INLINE releaseDraftL #-}++-- | 'releaseHtmlUrl' Lens+releaseHtmlUrlL :: Lens_' Release (Maybe Text)+releaseHtmlUrlL f Release{..} = (\releaseHtmlUrl -> Release { releaseHtmlUrl, ..} ) <$> f releaseHtmlUrl+{-# INLINE releaseHtmlUrlL #-}++-- | 'releaseId' Lens+releaseIdL :: Lens_' Release (Maybe Integer)+releaseIdL f Release{..} = (\releaseId -> Release { releaseId, ..} ) <$> f releaseId+{-# INLINE releaseIdL #-}++-- | 'releaseName' Lens+releaseNameL :: Lens_' Release (Maybe Text)+releaseNameL f Release{..} = (\releaseName -> Release { releaseName, ..} ) <$> f releaseName+{-# INLINE releaseNameL #-}++-- | 'releasePrerelease' Lens+releasePrereleaseL :: Lens_' Release (Maybe Bool)+releasePrereleaseL f Release{..} = (\releasePrerelease -> Release { releasePrerelease, ..} ) <$> f releasePrerelease+{-# INLINE releasePrereleaseL #-}++-- | 'releasePublishedAt' Lens+releasePublishedAtL :: Lens_' Release (Maybe DateTime)+releasePublishedAtL f Release{..} = (\releasePublishedAt -> Release { releasePublishedAt, ..} ) <$> f releasePublishedAt+{-# INLINE releasePublishedAtL #-}++-- | 'releaseTagName' Lens+releaseTagNameL :: Lens_' Release (Maybe Text)+releaseTagNameL f Release{..} = (\releaseTagName -> Release { releaseTagName, ..} ) <$> f releaseTagName+{-# INLINE releaseTagNameL #-}++-- | 'releaseTarballUrl' Lens+releaseTarballUrlL :: Lens_' Release (Maybe Text)+releaseTarballUrlL f Release{..} = (\releaseTarballUrl -> Release { releaseTarballUrl, ..} ) <$> f releaseTarballUrl+{-# INLINE releaseTarballUrlL #-}++-- | 'releaseTargetCommitish' Lens+releaseTargetCommitishL :: Lens_' Release (Maybe Text)+releaseTargetCommitishL f Release{..} = (\releaseTargetCommitish -> Release { releaseTargetCommitish, ..} ) <$> f releaseTargetCommitish+{-# INLINE releaseTargetCommitishL #-}++-- | 'releaseUrl' Lens+releaseUrlL :: Lens_' Release (Maybe Text)+releaseUrlL f Release{..} = (\releaseUrl -> Release { releaseUrl, ..} ) <$> f releaseUrl+{-# INLINE releaseUrlL #-}++-- | 'releaseZipballUrl' Lens+releaseZipballUrlL :: Lens_' Release (Maybe Text)+releaseZipballUrlL f Release{..} = (\releaseZipballUrl -> Release { releaseZipballUrl, ..} ) <$> f releaseZipballUrl+{-# INLINE releaseZipballUrlL #-}++++-- * RepoCollaboratorPermission++-- | 'repoCollaboratorPermissionPermission' Lens+repoCollaboratorPermissionPermissionL :: Lens_' RepoCollaboratorPermission (Maybe Text)+repoCollaboratorPermissionPermissionL f RepoCollaboratorPermission{..} = (\repoCollaboratorPermissionPermission -> RepoCollaboratorPermission { repoCollaboratorPermissionPermission, ..} ) <$> f repoCollaboratorPermissionPermission+{-# INLINE repoCollaboratorPermissionPermissionL #-}++-- | 'repoCollaboratorPermissionRoleName' Lens+repoCollaboratorPermissionRoleNameL :: Lens_' RepoCollaboratorPermission (Maybe Text)+repoCollaboratorPermissionRoleNameL f RepoCollaboratorPermission{..} = (\repoCollaboratorPermissionRoleName -> RepoCollaboratorPermission { repoCollaboratorPermissionRoleName, ..} ) <$> f repoCollaboratorPermissionRoleName+{-# INLINE repoCollaboratorPermissionRoleNameL #-}++-- | 'repoCollaboratorPermissionUser' Lens+repoCollaboratorPermissionUserL :: Lens_' RepoCollaboratorPermission (Maybe User)+repoCollaboratorPermissionUserL f RepoCollaboratorPermission{..} = (\repoCollaboratorPermissionUser -> RepoCollaboratorPermission { repoCollaboratorPermissionUser, ..} ) <$> f repoCollaboratorPermissionUser+{-# INLINE repoCollaboratorPermissionUserL #-}++++-- * RepoCommit++-- | 'repoCommitAuthor' Lens+repoCommitAuthorL :: Lens_' RepoCommit (Maybe CommitUser)+repoCommitAuthorL f RepoCommit{..} = (\repoCommitAuthor -> RepoCommit { repoCommitAuthor, ..} ) <$> f repoCommitAuthor+{-# INLINE repoCommitAuthorL #-}++-- | 'repoCommitCommitter' Lens+repoCommitCommitterL :: Lens_' RepoCommit (Maybe CommitUser)+repoCommitCommitterL f RepoCommit{..} = (\repoCommitCommitter -> RepoCommit { repoCommitCommitter, ..} ) <$> f repoCommitCommitter+{-# INLINE repoCommitCommitterL #-}++-- | 'repoCommitMessage' Lens+repoCommitMessageL :: Lens_' RepoCommit (Maybe Text)+repoCommitMessageL f RepoCommit{..} = (\repoCommitMessage -> RepoCommit { repoCommitMessage, ..} ) <$> f repoCommitMessage+{-# INLINE repoCommitMessageL #-}++-- | 'repoCommitTree' Lens+repoCommitTreeL :: Lens_' RepoCommit (Maybe CommitMeta)+repoCommitTreeL f RepoCommit{..} = (\repoCommitTree -> RepoCommit { repoCommitTree, ..} ) <$> f repoCommitTree+{-# INLINE repoCommitTreeL #-}++-- | 'repoCommitUrl' Lens+repoCommitUrlL :: Lens_' RepoCommit (Maybe Text)+repoCommitUrlL f RepoCommit{..} = (\repoCommitUrl -> RepoCommit { repoCommitUrl, ..} ) <$> f repoCommitUrl+{-# INLINE repoCommitUrlL #-}++-- | 'repoCommitVerification' Lens+repoCommitVerificationL :: Lens_' RepoCommit (Maybe PayloadCommitVerification)+repoCommitVerificationL f RepoCommit{..} = (\repoCommitVerification -> RepoCommit { repoCommitVerification, ..} ) <$> f repoCommitVerification+{-# INLINE repoCommitVerificationL #-}++++-- * RepoTopicOptions++-- | 'repoTopicOptionsTopics' Lens+repoTopicOptionsTopicsL :: Lens_' RepoTopicOptions (Maybe [Text])+repoTopicOptionsTopicsL f RepoTopicOptions{..} = (\repoTopicOptionsTopics -> RepoTopicOptions { repoTopicOptionsTopics, ..} ) <$> f repoTopicOptionsTopics+{-# INLINE repoTopicOptionsTopicsL #-}++++-- * RepoTransfer++-- | 'repoTransferDoer' Lens+repoTransferDoerL :: Lens_' RepoTransfer (Maybe User)+repoTransferDoerL f RepoTransfer{..} = (\repoTransferDoer -> RepoTransfer { repoTransferDoer, ..} ) <$> f repoTransferDoer+{-# INLINE repoTransferDoerL #-}++-- | 'repoTransferRecipient' Lens+repoTransferRecipientL :: Lens_' RepoTransfer (Maybe User)+repoTransferRecipientL f RepoTransfer{..} = (\repoTransferRecipient -> RepoTransfer { repoTransferRecipient, ..} ) <$> f repoTransferRecipient+{-# INLINE repoTransferRecipientL #-}++-- | 'repoTransferTeams' Lens+repoTransferTeamsL :: Lens_' RepoTransfer (Maybe [Team])+repoTransferTeamsL f RepoTransfer{..} = (\repoTransferTeams -> RepoTransfer { repoTransferTeams, ..} ) <$> f repoTransferTeams+{-# INLINE repoTransferTeamsL #-}++++-- * Repository++-- | 'repositoryAllowMergeCommits' Lens+repositoryAllowMergeCommitsL :: Lens_' Repository (Maybe Bool)+repositoryAllowMergeCommitsL f Repository{..} = (\repositoryAllowMergeCommits -> Repository { repositoryAllowMergeCommits, ..} ) <$> f repositoryAllowMergeCommits+{-# INLINE repositoryAllowMergeCommitsL #-}++-- | 'repositoryAllowRebase' Lens+repositoryAllowRebaseL :: Lens_' Repository (Maybe Bool)+repositoryAllowRebaseL f Repository{..} = (\repositoryAllowRebase -> Repository { repositoryAllowRebase, ..} ) <$> f repositoryAllowRebase+{-# INLINE repositoryAllowRebaseL #-}++-- | 'repositoryAllowRebaseExplicit' Lens+repositoryAllowRebaseExplicitL :: Lens_' Repository (Maybe Bool)+repositoryAllowRebaseExplicitL f Repository{..} = (\repositoryAllowRebaseExplicit -> Repository { repositoryAllowRebaseExplicit, ..} ) <$> f repositoryAllowRebaseExplicit+{-# INLINE repositoryAllowRebaseExplicitL #-}++-- | 'repositoryAllowRebaseUpdate' Lens+repositoryAllowRebaseUpdateL :: Lens_' Repository (Maybe Bool)+repositoryAllowRebaseUpdateL f Repository{..} = (\repositoryAllowRebaseUpdate -> Repository { repositoryAllowRebaseUpdate, ..} ) <$> f repositoryAllowRebaseUpdate+{-# INLINE repositoryAllowRebaseUpdateL #-}++-- | 'repositoryAllowSquashMerge' Lens+repositoryAllowSquashMergeL :: Lens_' Repository (Maybe Bool)+repositoryAllowSquashMergeL f Repository{..} = (\repositoryAllowSquashMerge -> Repository { repositoryAllowSquashMerge, ..} ) <$> f repositoryAllowSquashMerge+{-# INLINE repositoryAllowSquashMergeL #-}++-- | 'repositoryArchived' Lens+repositoryArchivedL :: Lens_' Repository (Maybe Bool)+repositoryArchivedL f Repository{..} = (\repositoryArchived -> Repository { repositoryArchived, ..} ) <$> f repositoryArchived+{-# INLINE repositoryArchivedL #-}++-- | 'repositoryAvatarUrl' Lens+repositoryAvatarUrlL :: Lens_' Repository (Maybe Text)+repositoryAvatarUrlL f Repository{..} = (\repositoryAvatarUrl -> Repository { repositoryAvatarUrl, ..} ) <$> f repositoryAvatarUrl+{-# INLINE repositoryAvatarUrlL #-}++-- | 'repositoryCloneUrl' Lens+repositoryCloneUrlL :: Lens_' Repository (Maybe Text)+repositoryCloneUrlL f Repository{..} = (\repositoryCloneUrl -> Repository { repositoryCloneUrl, ..} ) <$> f repositoryCloneUrl+{-# INLINE repositoryCloneUrlL #-}++-- | 'repositoryCreatedAt' Lens+repositoryCreatedAtL :: Lens_' Repository (Maybe DateTime)+repositoryCreatedAtL f Repository{..} = (\repositoryCreatedAt -> Repository { repositoryCreatedAt, ..} ) <$> f repositoryCreatedAt+{-# INLINE repositoryCreatedAtL #-}++-- | 'repositoryDefaultAllowMaintainerEdit' Lens+repositoryDefaultAllowMaintainerEditL :: Lens_' Repository (Maybe Bool)+repositoryDefaultAllowMaintainerEditL f Repository{..} = (\repositoryDefaultAllowMaintainerEdit -> Repository { repositoryDefaultAllowMaintainerEdit, ..} ) <$> f repositoryDefaultAllowMaintainerEdit+{-# INLINE repositoryDefaultAllowMaintainerEditL #-}++-- | 'repositoryDefaultBranch' Lens+repositoryDefaultBranchL :: Lens_' Repository (Maybe Text)+repositoryDefaultBranchL f Repository{..} = (\repositoryDefaultBranch -> Repository { repositoryDefaultBranch, ..} ) <$> f repositoryDefaultBranch+{-# INLINE repositoryDefaultBranchL #-}++-- | 'repositoryDefaultDeleteBranchAfterMerge' Lens+repositoryDefaultDeleteBranchAfterMergeL :: Lens_' Repository (Maybe Bool)+repositoryDefaultDeleteBranchAfterMergeL f Repository{..} = (\repositoryDefaultDeleteBranchAfterMerge -> Repository { repositoryDefaultDeleteBranchAfterMerge, ..} ) <$> f repositoryDefaultDeleteBranchAfterMerge+{-# INLINE repositoryDefaultDeleteBranchAfterMergeL #-}++-- | 'repositoryDefaultMergeStyle' Lens+repositoryDefaultMergeStyleL :: Lens_' Repository (Maybe Text)+repositoryDefaultMergeStyleL f Repository{..} = (\repositoryDefaultMergeStyle -> Repository { repositoryDefaultMergeStyle, ..} ) <$> f repositoryDefaultMergeStyle+{-# INLINE repositoryDefaultMergeStyleL #-}++-- | 'repositoryDescription' Lens+repositoryDescriptionL :: Lens_' Repository (Maybe Text)+repositoryDescriptionL f Repository{..} = (\repositoryDescription -> Repository { repositoryDescription, ..} ) <$> f repositoryDescription+{-# INLINE repositoryDescriptionL #-}++-- | 'repositoryEmpty' Lens+repositoryEmptyL :: Lens_' Repository (Maybe Bool)+repositoryEmptyL f Repository{..} = (\repositoryEmpty -> Repository { repositoryEmpty, ..} ) <$> f repositoryEmpty+{-# INLINE repositoryEmptyL #-}++-- | 'repositoryExternalTracker' Lens+repositoryExternalTrackerL :: Lens_' Repository (Maybe ExternalTracker)+repositoryExternalTrackerL f Repository{..} = (\repositoryExternalTracker -> Repository { repositoryExternalTracker, ..} ) <$> f repositoryExternalTracker+{-# INLINE repositoryExternalTrackerL #-}++-- | 'repositoryExternalWiki' Lens+repositoryExternalWikiL :: Lens_' Repository (Maybe ExternalWiki)+repositoryExternalWikiL f Repository{..} = (\repositoryExternalWiki -> Repository { repositoryExternalWiki, ..} ) <$> f repositoryExternalWiki+{-# INLINE repositoryExternalWikiL #-}++-- | 'repositoryFork' Lens+repositoryForkL :: Lens_' Repository (Maybe Bool)+repositoryForkL f Repository{..} = (\repositoryFork -> Repository { repositoryFork, ..} ) <$> f repositoryFork+{-# INLINE repositoryForkL #-}++-- | 'repositoryForksCount' Lens+repositoryForksCountL :: Lens_' Repository (Maybe Integer)+repositoryForksCountL f Repository{..} = (\repositoryForksCount -> Repository { repositoryForksCount, ..} ) <$> f repositoryForksCount+{-# INLINE repositoryForksCountL #-}++-- | 'repositoryFullName' Lens+repositoryFullNameL :: Lens_' Repository (Maybe Text)+repositoryFullNameL f Repository{..} = (\repositoryFullName -> Repository { repositoryFullName, ..} ) <$> f repositoryFullName+{-# INLINE repositoryFullNameL #-}++-- | 'repositoryHasIssues' Lens+repositoryHasIssuesL :: Lens_' Repository (Maybe Bool)+repositoryHasIssuesL f Repository{..} = (\repositoryHasIssues -> Repository { repositoryHasIssues, ..} ) <$> f repositoryHasIssues+{-# INLINE repositoryHasIssuesL #-}++-- | 'repositoryHasProjects' Lens+repositoryHasProjectsL :: Lens_' Repository (Maybe Bool)+repositoryHasProjectsL f Repository{..} = (\repositoryHasProjects -> Repository { repositoryHasProjects, ..} ) <$> f repositoryHasProjects+{-# INLINE repositoryHasProjectsL #-}++-- | 'repositoryHasPullRequests' Lens+repositoryHasPullRequestsL :: Lens_' Repository (Maybe Bool)+repositoryHasPullRequestsL f Repository{..} = (\repositoryHasPullRequests -> Repository { repositoryHasPullRequests, ..} ) <$> f repositoryHasPullRequests+{-# INLINE repositoryHasPullRequestsL #-}++-- | 'repositoryHasWiki' Lens+repositoryHasWikiL :: Lens_' Repository (Maybe Bool)+repositoryHasWikiL f Repository{..} = (\repositoryHasWiki -> Repository { repositoryHasWiki, ..} ) <$> f repositoryHasWiki+{-# INLINE repositoryHasWikiL #-}++-- | 'repositoryHtmlUrl' Lens+repositoryHtmlUrlL :: Lens_' Repository (Maybe Text)+repositoryHtmlUrlL f Repository{..} = (\repositoryHtmlUrl -> Repository { repositoryHtmlUrl, ..} ) <$> f repositoryHtmlUrl+{-# INLINE repositoryHtmlUrlL #-}++-- | 'repositoryId' Lens+repositoryIdL :: Lens_' Repository (Maybe Integer)+repositoryIdL f Repository{..} = (\repositoryId -> Repository { repositoryId, ..} ) <$> f repositoryId+{-# INLINE repositoryIdL #-}++-- | 'repositoryIgnoreWhitespaceConflicts' Lens+repositoryIgnoreWhitespaceConflictsL :: Lens_' Repository (Maybe Bool)+repositoryIgnoreWhitespaceConflictsL f Repository{..} = (\repositoryIgnoreWhitespaceConflicts -> Repository { repositoryIgnoreWhitespaceConflicts, ..} ) <$> f repositoryIgnoreWhitespaceConflicts+{-# INLINE repositoryIgnoreWhitespaceConflictsL #-}++-- | 'repositoryInternal' Lens+repositoryInternalL :: Lens_' Repository (Maybe Bool)+repositoryInternalL f Repository{..} = (\repositoryInternal -> Repository { repositoryInternal, ..} ) <$> f repositoryInternal+{-# INLINE repositoryInternalL #-}++-- | 'repositoryInternalTracker' Lens+repositoryInternalTrackerL :: Lens_' Repository (Maybe InternalTracker)+repositoryInternalTrackerL f Repository{..} = (\repositoryInternalTracker -> Repository { repositoryInternalTracker, ..} ) <$> f repositoryInternalTracker+{-# INLINE repositoryInternalTrackerL #-}++-- | 'repositoryLanguage' Lens+repositoryLanguageL :: Lens_' Repository (Maybe Text)+repositoryLanguageL f Repository{..} = (\repositoryLanguage -> Repository { repositoryLanguage, ..} ) <$> f repositoryLanguage+{-# INLINE repositoryLanguageL #-}++-- | 'repositoryLanguagesUrl' Lens+repositoryLanguagesUrlL :: Lens_' Repository (Maybe Text)+repositoryLanguagesUrlL f Repository{..} = (\repositoryLanguagesUrl -> Repository { repositoryLanguagesUrl, ..} ) <$> f repositoryLanguagesUrl+{-# INLINE repositoryLanguagesUrlL #-}++-- | 'repositoryLink' Lens+repositoryLinkL :: Lens_' Repository (Maybe Text)+repositoryLinkL f Repository{..} = (\repositoryLink -> Repository { repositoryLink, ..} ) <$> f repositoryLink+{-# INLINE repositoryLinkL #-}++-- | 'repositoryMirror' Lens+repositoryMirrorL :: Lens_' Repository (Maybe Bool)+repositoryMirrorL f Repository{..} = (\repositoryMirror -> Repository { repositoryMirror, ..} ) <$> f repositoryMirror+{-# INLINE repositoryMirrorL #-}++-- | 'repositoryMirrorInterval' Lens+repositoryMirrorIntervalL :: Lens_' Repository (Maybe Text)+repositoryMirrorIntervalL f Repository{..} = (\repositoryMirrorInterval -> Repository { repositoryMirrorInterval, ..} ) <$> f repositoryMirrorInterval+{-# INLINE repositoryMirrorIntervalL #-}++-- | 'repositoryMirrorUpdated' Lens+repositoryMirrorUpdatedL :: Lens_' Repository (Maybe DateTime)+repositoryMirrorUpdatedL f Repository{..} = (\repositoryMirrorUpdated -> Repository { repositoryMirrorUpdated, ..} ) <$> f repositoryMirrorUpdated+{-# INLINE repositoryMirrorUpdatedL #-}++-- | 'repositoryName' Lens+repositoryNameL :: Lens_' Repository (Maybe Text)+repositoryNameL f Repository{..} = (\repositoryName -> Repository { repositoryName, ..} ) <$> f repositoryName+{-# INLINE repositoryNameL #-}++-- | 'repositoryOpenIssuesCount' Lens+repositoryOpenIssuesCountL :: Lens_' Repository (Maybe Integer)+repositoryOpenIssuesCountL f Repository{..} = (\repositoryOpenIssuesCount -> Repository { repositoryOpenIssuesCount, ..} ) <$> f repositoryOpenIssuesCount+{-# INLINE repositoryOpenIssuesCountL #-}++-- | 'repositoryOpenPrCounter' Lens+repositoryOpenPrCounterL :: Lens_' Repository (Maybe Integer)+repositoryOpenPrCounterL f Repository{..} = (\repositoryOpenPrCounter -> Repository { repositoryOpenPrCounter, ..} ) <$> f repositoryOpenPrCounter+{-# INLINE repositoryOpenPrCounterL #-}++-- | 'repositoryOriginalUrl' Lens+repositoryOriginalUrlL :: Lens_' Repository (Maybe Text)+repositoryOriginalUrlL f Repository{..} = (\repositoryOriginalUrl -> Repository { repositoryOriginalUrl, ..} ) <$> f repositoryOriginalUrl+{-# INLINE repositoryOriginalUrlL #-}++-- | 'repositoryOwner' Lens+repositoryOwnerL :: Lens_' Repository (Maybe User)+repositoryOwnerL f Repository{..} = (\repositoryOwner -> Repository { repositoryOwner, ..} ) <$> f repositoryOwner+{-# INLINE repositoryOwnerL #-}++-- | 'repositoryParent' Lens+repositoryParentL :: Lens_' Repository (Maybe Repository)+repositoryParentL f Repository{..} = (\repositoryParent -> Repository { repositoryParent, ..} ) <$> f repositoryParent+{-# INLINE repositoryParentL #-}++-- | 'repositoryPermissions' Lens+repositoryPermissionsL :: Lens_' Repository (Maybe Permission)+repositoryPermissionsL f Repository{..} = (\repositoryPermissions -> Repository { repositoryPermissions, ..} ) <$> f repositoryPermissions+{-# INLINE repositoryPermissionsL #-}++-- | 'repositoryPrivate' Lens+repositoryPrivateL :: Lens_' Repository (Maybe Bool)+repositoryPrivateL f Repository{..} = (\repositoryPrivate -> Repository { repositoryPrivate, ..} ) <$> f repositoryPrivate+{-# INLINE repositoryPrivateL #-}++-- | 'repositoryReleaseCounter' Lens+repositoryReleaseCounterL :: Lens_' Repository (Maybe Integer)+repositoryReleaseCounterL f Repository{..} = (\repositoryReleaseCounter -> Repository { repositoryReleaseCounter, ..} ) <$> f repositoryReleaseCounter+{-# INLINE repositoryReleaseCounterL #-}++-- | 'repositoryRepoTransfer' Lens+repositoryRepoTransferL :: Lens_' Repository (Maybe RepoTransfer)+repositoryRepoTransferL f Repository{..} = (\repositoryRepoTransfer -> Repository { repositoryRepoTransfer, ..} ) <$> f repositoryRepoTransfer+{-# INLINE repositoryRepoTransferL #-}++-- | 'repositorySize' Lens+repositorySizeL :: Lens_' Repository (Maybe Integer)+repositorySizeL f Repository{..} = (\repositorySize -> Repository { repositorySize, ..} ) <$> f repositorySize+{-# INLINE repositorySizeL #-}++-- | 'repositorySshUrl' Lens+repositorySshUrlL :: Lens_' Repository (Maybe Text)+repositorySshUrlL f Repository{..} = (\repositorySshUrl -> Repository { repositorySshUrl, ..} ) <$> f repositorySshUrl+{-# INLINE repositorySshUrlL #-}++-- | 'repositoryStarsCount' Lens+repositoryStarsCountL :: Lens_' Repository (Maybe Integer)+repositoryStarsCountL f Repository{..} = (\repositoryStarsCount -> Repository { repositoryStarsCount, ..} ) <$> f repositoryStarsCount+{-# INLINE repositoryStarsCountL #-}++-- | 'repositoryTemplate' Lens+repositoryTemplateL :: Lens_' Repository (Maybe Bool)+repositoryTemplateL f Repository{..} = (\repositoryTemplate -> Repository { repositoryTemplate, ..} ) <$> f repositoryTemplate+{-# INLINE repositoryTemplateL #-}++-- | 'repositoryUpdatedAt' Lens+repositoryUpdatedAtL :: Lens_' Repository (Maybe DateTime)+repositoryUpdatedAtL f Repository{..} = (\repositoryUpdatedAt -> Repository { repositoryUpdatedAt, ..} ) <$> f repositoryUpdatedAt+{-# INLINE repositoryUpdatedAtL #-}++-- | 'repositoryWatchersCount' Lens+repositoryWatchersCountL :: Lens_' Repository (Maybe Integer)+repositoryWatchersCountL f Repository{..} = (\repositoryWatchersCount -> Repository { repositoryWatchersCount, ..} ) <$> f repositoryWatchersCount+{-# INLINE repositoryWatchersCountL #-}++-- | 'repositoryWebsite' Lens+repositoryWebsiteL :: Lens_' Repository (Maybe Text)+repositoryWebsiteL f Repository{..} = (\repositoryWebsite -> Repository { repositoryWebsite, ..} ) <$> f repositoryWebsite+{-# INLINE repositoryWebsiteL #-}++++-- * RepositoryMeta++-- | 'repositoryMetaFullName' Lens+repositoryMetaFullNameL :: Lens_' RepositoryMeta (Maybe Text)+repositoryMetaFullNameL f RepositoryMeta{..} = (\repositoryMetaFullName -> RepositoryMeta { repositoryMetaFullName, ..} ) <$> f repositoryMetaFullName+{-# INLINE repositoryMetaFullNameL #-}++-- | 'repositoryMetaId' Lens+repositoryMetaIdL :: Lens_' RepositoryMeta (Maybe Integer)+repositoryMetaIdL f RepositoryMeta{..} = (\repositoryMetaId -> RepositoryMeta { repositoryMetaId, ..} ) <$> f repositoryMetaId+{-# INLINE repositoryMetaIdL #-}++-- | 'repositoryMetaName' Lens+repositoryMetaNameL :: Lens_' RepositoryMeta (Maybe Text)+repositoryMetaNameL f RepositoryMeta{..} = (\repositoryMetaName -> RepositoryMeta { repositoryMetaName, ..} ) <$> f repositoryMetaName+{-# INLINE repositoryMetaNameL #-}++-- | 'repositoryMetaOwner' Lens+repositoryMetaOwnerL :: Lens_' RepositoryMeta (Maybe Text)+repositoryMetaOwnerL f RepositoryMeta{..} = (\repositoryMetaOwner -> RepositoryMeta { repositoryMetaOwner, ..} ) <$> f repositoryMetaOwner+{-# INLINE repositoryMetaOwnerL #-}++++-- * SearchResults++-- | 'searchResultsData' Lens+searchResultsDataL :: Lens_' SearchResults (Maybe [Repository])+searchResultsDataL f SearchResults{..} = (\searchResultsData -> SearchResults { searchResultsData, ..} ) <$> f searchResultsData+{-# INLINE searchResultsDataL #-}++-- | 'searchResultsOk' Lens+searchResultsOkL :: Lens_' SearchResults (Maybe Bool)+searchResultsOkL f SearchResults{..} = (\searchResultsOk -> SearchResults { searchResultsOk, ..} ) <$> f searchResultsOk+{-# INLINE searchResultsOkL #-}++++-- * ServerVersion++-- | 'serverVersionVersion' Lens+serverVersionVersionL :: Lens_' ServerVersion (Maybe Text)+serverVersionVersionL f ServerVersion{..} = (\serverVersionVersion -> ServerVersion { serverVersionVersion, ..} ) <$> f serverVersionVersion+{-# INLINE serverVersionVersionL #-}++++-- * StopWatch++-- | 'stopWatchCreated' Lens+stopWatchCreatedL :: Lens_' StopWatch (Maybe DateTime)+stopWatchCreatedL f StopWatch{..} = (\stopWatchCreated -> StopWatch { stopWatchCreated, ..} ) <$> f stopWatchCreated+{-# INLINE stopWatchCreatedL #-}++-- | 'stopWatchDuration' Lens+stopWatchDurationL :: Lens_' StopWatch (Maybe Text)+stopWatchDurationL f StopWatch{..} = (\stopWatchDuration -> StopWatch { stopWatchDuration, ..} ) <$> f stopWatchDuration+{-# INLINE stopWatchDurationL #-}++-- | 'stopWatchIssueIndex' Lens+stopWatchIssueIndexL :: Lens_' StopWatch (Maybe Integer)+stopWatchIssueIndexL f StopWatch{..} = (\stopWatchIssueIndex -> StopWatch { stopWatchIssueIndex, ..} ) <$> f stopWatchIssueIndex+{-# INLINE stopWatchIssueIndexL #-}++-- | 'stopWatchIssueTitle' Lens+stopWatchIssueTitleL :: Lens_' StopWatch (Maybe Text)+stopWatchIssueTitleL f StopWatch{..} = (\stopWatchIssueTitle -> StopWatch { stopWatchIssueTitle, ..} ) <$> f stopWatchIssueTitle+{-# INLINE stopWatchIssueTitleL #-}++-- | 'stopWatchRepoName' Lens+stopWatchRepoNameL :: Lens_' StopWatch (Maybe Text)+stopWatchRepoNameL f StopWatch{..} = (\stopWatchRepoName -> StopWatch { stopWatchRepoName, ..} ) <$> f stopWatchRepoName+{-# INLINE stopWatchRepoNameL #-}++-- | 'stopWatchRepoOwnerName' Lens+stopWatchRepoOwnerNameL :: Lens_' StopWatch (Maybe Text)+stopWatchRepoOwnerNameL f StopWatch{..} = (\stopWatchRepoOwnerName -> StopWatch { stopWatchRepoOwnerName, ..} ) <$> f stopWatchRepoOwnerName+{-# INLINE stopWatchRepoOwnerNameL #-}++-- | 'stopWatchSeconds' Lens+stopWatchSecondsL :: Lens_' StopWatch (Maybe Integer)+stopWatchSecondsL f StopWatch{..} = (\stopWatchSeconds -> StopWatch { stopWatchSeconds, ..} ) <$> f stopWatchSeconds+{-# INLINE stopWatchSecondsL #-}++++-- * SubmitPullReviewOptions++-- | 'submitPullReviewOptionsBody' Lens+submitPullReviewOptionsBodyL :: Lens_' SubmitPullReviewOptions (Maybe Text)+submitPullReviewOptionsBodyL f SubmitPullReviewOptions{..} = (\submitPullReviewOptionsBody -> SubmitPullReviewOptions { submitPullReviewOptionsBody, ..} ) <$> f submitPullReviewOptionsBody+{-# INLINE submitPullReviewOptionsBodyL #-}++-- | 'submitPullReviewOptionsEvent' Lens+submitPullReviewOptionsEventL :: Lens_' SubmitPullReviewOptions (Maybe Text)+submitPullReviewOptionsEventL f SubmitPullReviewOptions{..} = (\submitPullReviewOptionsEvent -> SubmitPullReviewOptions { submitPullReviewOptionsEvent, ..} ) <$> f submitPullReviewOptionsEvent+{-# INLINE submitPullReviewOptionsEventL #-}++++-- * Tag++-- | 'tagCommit' Lens+tagCommitL :: Lens_' Tag (Maybe CommitMeta)+tagCommitL f Tag{..} = (\tagCommit -> Tag { tagCommit, ..} ) <$> f tagCommit+{-# INLINE tagCommitL #-}++-- | 'tagId' Lens+tagIdL :: Lens_' Tag (Maybe Text)+tagIdL f Tag{..} = (\tagId -> Tag { tagId, ..} ) <$> f tagId+{-# INLINE tagIdL #-}++-- | 'tagMessage' Lens+tagMessageL :: Lens_' Tag (Maybe Text)+tagMessageL f Tag{..} = (\tagMessage -> Tag { tagMessage, ..} ) <$> f tagMessage+{-# INLINE tagMessageL #-}++-- | 'tagName' Lens+tagNameL :: Lens_' Tag (Maybe Text)+tagNameL f Tag{..} = (\tagName -> Tag { tagName, ..} ) <$> f tagName+{-# INLINE tagNameL #-}++-- | 'tagTarballUrl' Lens+tagTarballUrlL :: Lens_' Tag (Maybe Text)+tagTarballUrlL f Tag{..} = (\tagTarballUrl -> Tag { tagTarballUrl, ..} ) <$> f tagTarballUrl+{-# INLINE tagTarballUrlL #-}++-- | 'tagZipballUrl' Lens+tagZipballUrlL :: Lens_' Tag (Maybe Text)+tagZipballUrlL f Tag{..} = (\tagZipballUrl -> Tag { tagZipballUrl, ..} ) <$> f tagZipballUrl+{-# INLINE tagZipballUrlL #-}++++-- * Team++-- | 'teamCanCreateOrgRepo' Lens+teamCanCreateOrgRepoL :: Lens_' Team (Maybe Bool)+teamCanCreateOrgRepoL f Team{..} = (\teamCanCreateOrgRepo -> Team { teamCanCreateOrgRepo, ..} ) <$> f teamCanCreateOrgRepo+{-# INLINE teamCanCreateOrgRepoL #-}++-- | 'teamDescription' Lens+teamDescriptionL :: Lens_' Team (Maybe Text)+teamDescriptionL f Team{..} = (\teamDescription -> Team { teamDescription, ..} ) <$> f teamDescription+{-# INLINE teamDescriptionL #-}++-- | 'teamId' Lens+teamIdL :: Lens_' Team (Maybe Integer)+teamIdL f Team{..} = (\teamId -> Team { teamId, ..} ) <$> f teamId+{-# INLINE teamIdL #-}++-- | 'teamIncludesAllRepositories' Lens+teamIncludesAllRepositoriesL :: Lens_' Team (Maybe Bool)+teamIncludesAllRepositoriesL f Team{..} = (\teamIncludesAllRepositories -> Team { teamIncludesAllRepositories, ..} ) <$> f teamIncludesAllRepositories+{-# INLINE teamIncludesAllRepositoriesL #-}++-- | 'teamName' Lens+teamNameL :: Lens_' Team (Maybe Text)+teamNameL f Team{..} = (\teamName -> Team { teamName, ..} ) <$> f teamName+{-# INLINE teamNameL #-}++-- | 'teamOrganization' Lens+teamOrganizationL :: Lens_' Team (Maybe Organization)+teamOrganizationL f Team{..} = (\teamOrganization -> Team { teamOrganization, ..} ) <$> f teamOrganization+{-# INLINE teamOrganizationL #-}++-- | 'teamPermission' Lens+teamPermissionL :: Lens_' Team (Maybe E'Permission2)+teamPermissionL f Team{..} = (\teamPermission -> Team { teamPermission, ..} ) <$> f teamPermission+{-# INLINE teamPermissionL #-}++-- | 'teamUnits' Lens+teamUnitsL :: Lens_' Team (Maybe [Text])+teamUnitsL f Team{..} = (\teamUnits -> Team { teamUnits, ..} ) <$> f teamUnits+{-# INLINE teamUnitsL #-}++-- | 'teamUnitsMap' Lens+teamUnitsMapL :: Lens_' Team (Maybe (Map.Map String Text))+teamUnitsMapL f Team{..} = (\teamUnitsMap -> Team { teamUnitsMap, ..} ) <$> f teamUnitsMap+{-# INLINE teamUnitsMapL #-}++++-- * TeamSearch200Response++-- | 'teamSearch200ResponseData' Lens+teamSearch200ResponseDataL :: Lens_' TeamSearch200Response (Maybe [Team])+teamSearch200ResponseDataL f TeamSearch200Response{..} = (\teamSearch200ResponseData -> TeamSearch200Response { teamSearch200ResponseData, ..} ) <$> f teamSearch200ResponseData+{-# INLINE teamSearch200ResponseDataL #-}++-- | 'teamSearch200ResponseOk' Lens+teamSearch200ResponseOkL :: Lens_' TeamSearch200Response (Maybe Bool)+teamSearch200ResponseOkL f TeamSearch200Response{..} = (\teamSearch200ResponseOk -> TeamSearch200Response { teamSearch200ResponseOk, ..} ) <$> f teamSearch200ResponseOk+{-# INLINE teamSearch200ResponseOkL #-}++++-- * TimelineComment++-- | 'timelineCommentAssignee' Lens+timelineCommentAssigneeL :: Lens_' TimelineComment (Maybe User)+timelineCommentAssigneeL f TimelineComment{..} = (\timelineCommentAssignee -> TimelineComment { timelineCommentAssignee, ..} ) <$> f timelineCommentAssignee+{-# INLINE timelineCommentAssigneeL #-}++-- | 'timelineCommentAssigneeTeam' Lens+timelineCommentAssigneeTeamL :: Lens_' TimelineComment (Maybe Team)+timelineCommentAssigneeTeamL f TimelineComment{..} = (\timelineCommentAssigneeTeam -> TimelineComment { timelineCommentAssigneeTeam, ..} ) <$> f timelineCommentAssigneeTeam+{-# INLINE timelineCommentAssigneeTeamL #-}++-- | 'timelineCommentBody' Lens+timelineCommentBodyL :: Lens_' TimelineComment (Maybe Text)+timelineCommentBodyL f TimelineComment{..} = (\timelineCommentBody -> TimelineComment { timelineCommentBody, ..} ) <$> f timelineCommentBody+{-# INLINE timelineCommentBodyL #-}++-- | 'timelineCommentCreatedAt' Lens+timelineCommentCreatedAtL :: Lens_' TimelineComment (Maybe DateTime)+timelineCommentCreatedAtL f TimelineComment{..} = (\timelineCommentCreatedAt -> TimelineComment { timelineCommentCreatedAt, ..} ) <$> f timelineCommentCreatedAt+{-# INLINE timelineCommentCreatedAtL #-}++-- | 'timelineCommentDependentIssue' Lens+timelineCommentDependentIssueL :: Lens_' TimelineComment (Maybe Issue)+timelineCommentDependentIssueL f TimelineComment{..} = (\timelineCommentDependentIssue -> TimelineComment { timelineCommentDependentIssue, ..} ) <$> f timelineCommentDependentIssue+{-# INLINE timelineCommentDependentIssueL #-}++-- | 'timelineCommentHtmlUrl' Lens+timelineCommentHtmlUrlL :: Lens_' TimelineComment (Maybe Text)+timelineCommentHtmlUrlL f TimelineComment{..} = (\timelineCommentHtmlUrl -> TimelineComment { timelineCommentHtmlUrl, ..} ) <$> f timelineCommentHtmlUrl+{-# INLINE timelineCommentHtmlUrlL #-}++-- | 'timelineCommentId' Lens+timelineCommentIdL :: Lens_' TimelineComment (Maybe Integer)+timelineCommentIdL f TimelineComment{..} = (\timelineCommentId -> TimelineComment { timelineCommentId, ..} ) <$> f timelineCommentId+{-# INLINE timelineCommentIdL #-}++-- | 'timelineCommentIssueUrl' Lens+timelineCommentIssueUrlL :: Lens_' TimelineComment (Maybe Text)+timelineCommentIssueUrlL f TimelineComment{..} = (\timelineCommentIssueUrl -> TimelineComment { timelineCommentIssueUrl, ..} ) <$> f timelineCommentIssueUrl+{-# INLINE timelineCommentIssueUrlL #-}++-- | 'timelineCommentLabel' Lens+timelineCommentLabelL :: Lens_' TimelineComment (Maybe Label)+timelineCommentLabelL f TimelineComment{..} = (\timelineCommentLabel -> TimelineComment { timelineCommentLabel, ..} ) <$> f timelineCommentLabel+{-# INLINE timelineCommentLabelL #-}++-- | 'timelineCommentMilestone' Lens+timelineCommentMilestoneL :: Lens_' TimelineComment (Maybe Milestone)+timelineCommentMilestoneL f TimelineComment{..} = (\timelineCommentMilestone -> TimelineComment { timelineCommentMilestone, ..} ) <$> f timelineCommentMilestone+{-# INLINE timelineCommentMilestoneL #-}++-- | 'timelineCommentNewRef' Lens+timelineCommentNewRefL :: Lens_' TimelineComment (Maybe Text)+timelineCommentNewRefL f TimelineComment{..} = (\timelineCommentNewRef -> TimelineComment { timelineCommentNewRef, ..} ) <$> f timelineCommentNewRef+{-# INLINE timelineCommentNewRefL #-}++-- | 'timelineCommentNewTitle' Lens+timelineCommentNewTitleL :: Lens_' TimelineComment (Maybe Text)+timelineCommentNewTitleL f TimelineComment{..} = (\timelineCommentNewTitle -> TimelineComment { timelineCommentNewTitle, ..} ) <$> f timelineCommentNewTitle+{-# INLINE timelineCommentNewTitleL #-}++-- | 'timelineCommentOldMilestone' Lens+timelineCommentOldMilestoneL :: Lens_' TimelineComment (Maybe Milestone)+timelineCommentOldMilestoneL f TimelineComment{..} = (\timelineCommentOldMilestone -> TimelineComment { timelineCommentOldMilestone, ..} ) <$> f timelineCommentOldMilestone+{-# INLINE timelineCommentOldMilestoneL #-}++-- | 'timelineCommentOldProjectId' Lens+timelineCommentOldProjectIdL :: Lens_' TimelineComment (Maybe Integer)+timelineCommentOldProjectIdL f TimelineComment{..} = (\timelineCommentOldProjectId -> TimelineComment { timelineCommentOldProjectId, ..} ) <$> f timelineCommentOldProjectId+{-# INLINE timelineCommentOldProjectIdL #-}++-- | 'timelineCommentOldRef' Lens+timelineCommentOldRefL :: Lens_' TimelineComment (Maybe Text)+timelineCommentOldRefL f TimelineComment{..} = (\timelineCommentOldRef -> TimelineComment { timelineCommentOldRef, ..} ) <$> f timelineCommentOldRef+{-# INLINE timelineCommentOldRefL #-}++-- | 'timelineCommentOldTitle' Lens+timelineCommentOldTitleL :: Lens_' TimelineComment (Maybe Text)+timelineCommentOldTitleL f TimelineComment{..} = (\timelineCommentOldTitle -> TimelineComment { timelineCommentOldTitle, ..} ) <$> f timelineCommentOldTitle+{-# INLINE timelineCommentOldTitleL #-}++-- | 'timelineCommentProjectId' Lens+timelineCommentProjectIdL :: Lens_' TimelineComment (Maybe Integer)+timelineCommentProjectIdL f TimelineComment{..} = (\timelineCommentProjectId -> TimelineComment { timelineCommentProjectId, ..} ) <$> f timelineCommentProjectId+{-# INLINE timelineCommentProjectIdL #-}++-- | 'timelineCommentPullRequestUrl' Lens+timelineCommentPullRequestUrlL :: Lens_' TimelineComment (Maybe Text)+timelineCommentPullRequestUrlL f TimelineComment{..} = (\timelineCommentPullRequestUrl -> TimelineComment { timelineCommentPullRequestUrl, ..} ) <$> f timelineCommentPullRequestUrl+{-# INLINE timelineCommentPullRequestUrlL #-}++-- | 'timelineCommentRefAction' Lens+timelineCommentRefActionL :: Lens_' TimelineComment (Maybe Text)+timelineCommentRefActionL f TimelineComment{..} = (\timelineCommentRefAction -> TimelineComment { timelineCommentRefAction, ..} ) <$> f timelineCommentRefAction+{-# INLINE timelineCommentRefActionL #-}++-- | 'timelineCommentRefComment' Lens+timelineCommentRefCommentL :: Lens_' TimelineComment (Maybe Comment)+timelineCommentRefCommentL f TimelineComment{..} = (\timelineCommentRefComment -> TimelineComment { timelineCommentRefComment, ..} ) <$> f timelineCommentRefComment+{-# INLINE timelineCommentRefCommentL #-}++-- | 'timelineCommentRefCommitSha' Lens+timelineCommentRefCommitShaL :: Lens_' TimelineComment (Maybe Text)+timelineCommentRefCommitShaL f TimelineComment{..} = (\timelineCommentRefCommitSha -> TimelineComment { timelineCommentRefCommitSha, ..} ) <$> f timelineCommentRefCommitSha+{-# INLINE timelineCommentRefCommitShaL #-}++-- | 'timelineCommentRefIssue' Lens+timelineCommentRefIssueL :: Lens_' TimelineComment (Maybe Issue)+timelineCommentRefIssueL f TimelineComment{..} = (\timelineCommentRefIssue -> TimelineComment { timelineCommentRefIssue, ..} ) <$> f timelineCommentRefIssue+{-# INLINE timelineCommentRefIssueL #-}++-- | 'timelineCommentRemovedAssignee' Lens+timelineCommentRemovedAssigneeL :: Lens_' TimelineComment (Maybe Bool)+timelineCommentRemovedAssigneeL f TimelineComment{..} = (\timelineCommentRemovedAssignee -> TimelineComment { timelineCommentRemovedAssignee, ..} ) <$> f timelineCommentRemovedAssignee+{-# INLINE timelineCommentRemovedAssigneeL #-}++-- | 'timelineCommentResolveDoer' Lens+timelineCommentResolveDoerL :: Lens_' TimelineComment (Maybe User)+timelineCommentResolveDoerL f TimelineComment{..} = (\timelineCommentResolveDoer -> TimelineComment { timelineCommentResolveDoer, ..} ) <$> f timelineCommentResolveDoer+{-# INLINE timelineCommentResolveDoerL #-}++-- | 'timelineCommentReviewId' Lens+timelineCommentReviewIdL :: Lens_' TimelineComment (Maybe Integer)+timelineCommentReviewIdL f TimelineComment{..} = (\timelineCommentReviewId -> TimelineComment { timelineCommentReviewId, ..} ) <$> f timelineCommentReviewId+{-# INLINE timelineCommentReviewIdL #-}++-- | 'timelineCommentTrackedTime' Lens+timelineCommentTrackedTimeL :: Lens_' TimelineComment (Maybe TrackedTime)+timelineCommentTrackedTimeL f TimelineComment{..} = (\timelineCommentTrackedTime -> TimelineComment { timelineCommentTrackedTime, ..} ) <$> f timelineCommentTrackedTime+{-# INLINE timelineCommentTrackedTimeL #-}++-- | 'timelineCommentType' Lens+timelineCommentTypeL :: Lens_' TimelineComment (Maybe Text)+timelineCommentTypeL f TimelineComment{..} = (\timelineCommentType -> TimelineComment { timelineCommentType, ..} ) <$> f timelineCommentType+{-# INLINE timelineCommentTypeL #-}++-- | 'timelineCommentUpdatedAt' Lens+timelineCommentUpdatedAtL :: Lens_' TimelineComment (Maybe DateTime)+timelineCommentUpdatedAtL f TimelineComment{..} = (\timelineCommentUpdatedAt -> TimelineComment { timelineCommentUpdatedAt, ..} ) <$> f timelineCommentUpdatedAt+{-# INLINE timelineCommentUpdatedAtL #-}++-- | 'timelineCommentUser' Lens+timelineCommentUserL :: Lens_' TimelineComment (Maybe User)+timelineCommentUserL f TimelineComment{..} = (\timelineCommentUser -> TimelineComment { timelineCommentUser, ..} ) <$> f timelineCommentUser+{-# INLINE timelineCommentUserL #-}++++-- * TopicName++-- | 'topicNameTopics' Lens+topicNameTopicsL :: Lens_' TopicName (Maybe [Text])+topicNameTopicsL f TopicName{..} = (\topicNameTopics -> TopicName { topicNameTopics, ..} ) <$> f topicNameTopics+{-# INLINE topicNameTopicsL #-}++++-- * TopicResponse++-- | 'topicResponseCreated' Lens+topicResponseCreatedL :: Lens_' TopicResponse (Maybe DateTime)+topicResponseCreatedL f TopicResponse{..} = (\topicResponseCreated -> TopicResponse { topicResponseCreated, ..} ) <$> f topicResponseCreated+{-# INLINE topicResponseCreatedL #-}++-- | 'topicResponseId' Lens+topicResponseIdL :: Lens_' TopicResponse (Maybe Integer)+topicResponseIdL f TopicResponse{..} = (\topicResponseId -> TopicResponse { topicResponseId, ..} ) <$> f topicResponseId+{-# INLINE topicResponseIdL #-}++-- | 'topicResponseRepoCount' Lens+topicResponseRepoCountL :: Lens_' TopicResponse (Maybe Integer)+topicResponseRepoCountL f TopicResponse{..} = (\topicResponseRepoCount -> TopicResponse { topicResponseRepoCount, ..} ) <$> f topicResponseRepoCount+{-# INLINE topicResponseRepoCountL #-}++-- | 'topicResponseTopicName' Lens+topicResponseTopicNameL :: Lens_' TopicResponse (Maybe Text)+topicResponseTopicNameL f TopicResponse{..} = (\topicResponseTopicName -> TopicResponse { topicResponseTopicName, ..} ) <$> f topicResponseTopicName+{-# INLINE topicResponseTopicNameL #-}++-- | 'topicResponseUpdated' Lens+topicResponseUpdatedL :: Lens_' TopicResponse (Maybe DateTime)+topicResponseUpdatedL f TopicResponse{..} = (\topicResponseUpdated -> TopicResponse { topicResponseUpdated, ..} ) <$> f topicResponseUpdated+{-# INLINE topicResponseUpdatedL #-}++++-- * TrackedTime++-- | 'trackedTimeCreated' Lens+trackedTimeCreatedL :: Lens_' TrackedTime (Maybe DateTime)+trackedTimeCreatedL f TrackedTime{..} = (\trackedTimeCreated -> TrackedTime { trackedTimeCreated, ..} ) <$> f trackedTimeCreated+{-# INLINE trackedTimeCreatedL #-}++-- | 'trackedTimeId' Lens+trackedTimeIdL :: Lens_' TrackedTime (Maybe Integer)+trackedTimeIdL f TrackedTime{..} = (\trackedTimeId -> TrackedTime { trackedTimeId, ..} ) <$> f trackedTimeId+{-# INLINE trackedTimeIdL #-}++-- | 'trackedTimeIssue' Lens+trackedTimeIssueL :: Lens_' TrackedTime (Maybe Issue)+trackedTimeIssueL f TrackedTime{..} = (\trackedTimeIssue -> TrackedTime { trackedTimeIssue, ..} ) <$> f trackedTimeIssue+{-# INLINE trackedTimeIssueL #-}++-- | 'trackedTimeIssueId' Lens+trackedTimeIssueIdL :: Lens_' TrackedTime (Maybe Integer)+trackedTimeIssueIdL f TrackedTime{..} = (\trackedTimeIssueId -> TrackedTime { trackedTimeIssueId, ..} ) <$> f trackedTimeIssueId+{-# INLINE trackedTimeIssueIdL #-}++-- | 'trackedTimeTime' Lens+trackedTimeTimeL :: Lens_' TrackedTime (Maybe Integer)+trackedTimeTimeL f TrackedTime{..} = (\trackedTimeTime -> TrackedTime { trackedTimeTime, ..} ) <$> f trackedTimeTime+{-# INLINE trackedTimeTimeL #-}++-- | 'trackedTimeUserId' Lens+trackedTimeUserIdL :: Lens_' TrackedTime (Maybe Integer)+trackedTimeUserIdL f TrackedTime{..} = (\trackedTimeUserId -> TrackedTime { trackedTimeUserId, ..} ) <$> f trackedTimeUserId+{-# INLINE trackedTimeUserIdL #-}++-- | 'trackedTimeUserName' Lens+trackedTimeUserNameL :: Lens_' TrackedTime (Maybe Text)+trackedTimeUserNameL f TrackedTime{..} = (\trackedTimeUserName -> TrackedTime { trackedTimeUserName, ..} ) <$> f trackedTimeUserName+{-# INLINE trackedTimeUserNameL #-}++++-- * TransferRepoOption++-- | 'transferRepoOptionNewOwner' Lens+transferRepoOptionNewOwnerL :: Lens_' TransferRepoOption (Text)+transferRepoOptionNewOwnerL f TransferRepoOption{..} = (\transferRepoOptionNewOwner -> TransferRepoOption { transferRepoOptionNewOwner, ..} ) <$> f transferRepoOptionNewOwner+{-# INLINE transferRepoOptionNewOwnerL #-}++-- | 'transferRepoOptionTeamIds' Lens+transferRepoOptionTeamIdsL :: Lens_' TransferRepoOption (Maybe [Integer])+transferRepoOptionTeamIdsL f TransferRepoOption{..} = (\transferRepoOptionTeamIds -> TransferRepoOption { transferRepoOptionTeamIds, ..} ) <$> f transferRepoOptionTeamIds+{-# INLINE transferRepoOptionTeamIdsL #-}++++-- * UpdateFileOptions++-- | 'updateFileOptionsAuthor' Lens+updateFileOptionsAuthorL :: Lens_' UpdateFileOptions (Maybe Identity)+updateFileOptionsAuthorL f UpdateFileOptions{..} = (\updateFileOptionsAuthor -> UpdateFileOptions { updateFileOptionsAuthor, ..} ) <$> f updateFileOptionsAuthor+{-# INLINE updateFileOptionsAuthorL #-}++-- | 'updateFileOptionsBranch' Lens+updateFileOptionsBranchL :: Lens_' UpdateFileOptions (Maybe Text)+updateFileOptionsBranchL f UpdateFileOptions{..} = (\updateFileOptionsBranch -> UpdateFileOptions { updateFileOptionsBranch, ..} ) <$> f updateFileOptionsBranch+{-# INLINE updateFileOptionsBranchL #-}++-- | 'updateFileOptionsCommitter' Lens+updateFileOptionsCommitterL :: Lens_' UpdateFileOptions (Maybe Identity)+updateFileOptionsCommitterL f UpdateFileOptions{..} = (\updateFileOptionsCommitter -> UpdateFileOptions { updateFileOptionsCommitter, ..} ) <$> f updateFileOptionsCommitter+{-# INLINE updateFileOptionsCommitterL #-}++-- | 'updateFileOptionsContent' Lens+updateFileOptionsContentL :: Lens_' UpdateFileOptions (Text)+updateFileOptionsContentL f UpdateFileOptions{..} = (\updateFileOptionsContent -> UpdateFileOptions { updateFileOptionsContent, ..} ) <$> f updateFileOptionsContent+{-# INLINE updateFileOptionsContentL #-}++-- | 'updateFileOptionsDates' Lens+updateFileOptionsDatesL :: Lens_' UpdateFileOptions (Maybe CommitDateOptions)+updateFileOptionsDatesL f UpdateFileOptions{..} = (\updateFileOptionsDates -> UpdateFileOptions { updateFileOptionsDates, ..} ) <$> f updateFileOptionsDates+{-# INLINE updateFileOptionsDatesL #-}++-- | 'updateFileOptionsFromPath' Lens+updateFileOptionsFromPathL :: Lens_' UpdateFileOptions (Maybe Text)+updateFileOptionsFromPathL f UpdateFileOptions{..} = (\updateFileOptionsFromPath -> UpdateFileOptions { updateFileOptionsFromPath, ..} ) <$> f updateFileOptionsFromPath+{-# INLINE updateFileOptionsFromPathL #-}++-- | 'updateFileOptionsMessage' Lens+updateFileOptionsMessageL :: Lens_' UpdateFileOptions (Maybe Text)+updateFileOptionsMessageL f UpdateFileOptions{..} = (\updateFileOptionsMessage -> UpdateFileOptions { updateFileOptionsMessage, ..} ) <$> f updateFileOptionsMessage+{-# INLINE updateFileOptionsMessageL #-}++-- | 'updateFileOptionsNewBranch' Lens+updateFileOptionsNewBranchL :: Lens_' UpdateFileOptions (Maybe Text)+updateFileOptionsNewBranchL f UpdateFileOptions{..} = (\updateFileOptionsNewBranch -> UpdateFileOptions { updateFileOptionsNewBranch, ..} ) <$> f updateFileOptionsNewBranch+{-# INLINE updateFileOptionsNewBranchL #-}++-- | 'updateFileOptionsSha' Lens+updateFileOptionsShaL :: Lens_' UpdateFileOptions (Text)+updateFileOptionsShaL f UpdateFileOptions{..} = (\updateFileOptionsSha -> UpdateFileOptions { updateFileOptionsSha, ..} ) <$> f updateFileOptionsSha+{-# INLINE updateFileOptionsShaL #-}++-- | 'updateFileOptionsSignoff' Lens+updateFileOptionsSignoffL :: Lens_' UpdateFileOptions (Maybe Bool)+updateFileOptionsSignoffL f UpdateFileOptions{..} = (\updateFileOptionsSignoff -> UpdateFileOptions { updateFileOptionsSignoff, ..} ) <$> f updateFileOptionsSignoff+{-# INLINE updateFileOptionsSignoffL #-}++++-- * User++-- | 'userActive' Lens+userActiveL :: Lens_' User (Maybe Bool)+userActiveL f User{..} = (\userActive -> User { userActive, ..} ) <$> f userActive+{-# INLINE userActiveL #-}++-- | 'userAvatarUrl' Lens+userAvatarUrlL :: Lens_' User (Maybe Text)+userAvatarUrlL f User{..} = (\userAvatarUrl -> User { userAvatarUrl, ..} ) <$> f userAvatarUrl+{-# INLINE userAvatarUrlL #-}++-- | 'userCreated' Lens+userCreatedL :: Lens_' User (Maybe DateTime)+userCreatedL f User{..} = (\userCreated -> User { userCreated, ..} ) <$> f userCreated+{-# INLINE userCreatedL #-}++-- | 'userDescription' Lens+userDescriptionL :: Lens_' User (Maybe Text)+userDescriptionL f User{..} = (\userDescription -> User { userDescription, ..} ) <$> f userDescription+{-# INLINE userDescriptionL #-}++-- | 'userEmail' Lens+userEmailL :: Lens_' User (Maybe Text)+userEmailL f User{..} = (\userEmail -> User { userEmail, ..} ) <$> f userEmail+{-# INLINE userEmailL #-}++-- | 'userFollowersCount' Lens+userFollowersCountL :: Lens_' User (Maybe Integer)+userFollowersCountL f User{..} = (\userFollowersCount -> User { userFollowersCount, ..} ) <$> f userFollowersCount+{-# INLINE userFollowersCountL #-}++-- | 'userFollowingCount' Lens+userFollowingCountL :: Lens_' User (Maybe Integer)+userFollowingCountL f User{..} = (\userFollowingCount -> User { userFollowingCount, ..} ) <$> f userFollowingCount+{-# INLINE userFollowingCountL #-}++-- | 'userFullName' Lens+userFullNameL :: Lens_' User (Maybe Text)+userFullNameL f User{..} = (\userFullName -> User { userFullName, ..} ) <$> f userFullName+{-# INLINE userFullNameL #-}++-- | 'userId' Lens+userIdL :: Lens_' User (Maybe Integer)+userIdL f User{..} = (\userId -> User { userId, ..} ) <$> f userId+{-# INLINE userIdL #-}++-- | 'userIsAdmin' Lens+userIsAdminL :: Lens_' User (Maybe Bool)+userIsAdminL f User{..} = (\userIsAdmin -> User { userIsAdmin, ..} ) <$> f userIsAdmin+{-# INLINE userIsAdminL #-}++-- | 'userLanguage' Lens+userLanguageL :: Lens_' User (Maybe Text)+userLanguageL f User{..} = (\userLanguage -> User { userLanguage, ..} ) <$> f userLanguage+{-# INLINE userLanguageL #-}++-- | 'userLastLogin' Lens+userLastLoginL :: Lens_' User (Maybe DateTime)+userLastLoginL f User{..} = (\userLastLogin -> User { userLastLogin, ..} ) <$> f userLastLogin+{-# INLINE userLastLoginL #-}++-- | 'userLocation' Lens+userLocationL :: Lens_' User (Maybe Text)+userLocationL f User{..} = (\userLocation -> User { userLocation, ..} ) <$> f userLocation+{-# INLINE userLocationL #-}++-- | 'userLogin' Lens+userLoginL :: Lens_' User (Maybe Text)+userLoginL f User{..} = (\userLogin -> User { userLogin, ..} ) <$> f userLogin+{-# INLINE userLoginL #-}++-- | 'userLoginName' Lens+userLoginNameL :: Lens_' User (Maybe Text)+userLoginNameL f User{..} = (\userLoginName -> User { userLoginName, ..} ) <$> f userLoginName+{-# INLINE userLoginNameL #-}++-- | 'userProhibitLogin' Lens+userProhibitLoginL :: Lens_' User (Maybe Bool)+userProhibitLoginL f User{..} = (\userProhibitLogin -> User { userProhibitLogin, ..} ) <$> f userProhibitLogin+{-# INLINE userProhibitLoginL #-}++-- | 'userRestricted' Lens+userRestrictedL :: Lens_' User (Maybe Bool)+userRestrictedL f User{..} = (\userRestricted -> User { userRestricted, ..} ) <$> f userRestricted+{-# INLINE userRestrictedL #-}++-- | 'userStarredReposCount' Lens+userStarredReposCountL :: Lens_' User (Maybe Integer)+userStarredReposCountL f User{..} = (\userStarredReposCount -> User { userStarredReposCount, ..} ) <$> f userStarredReposCount+{-# INLINE userStarredReposCountL #-}++-- | 'userVisibility' Lens+userVisibilityL :: Lens_' User (Maybe Text)+userVisibilityL f User{..} = (\userVisibility -> User { userVisibility, ..} ) <$> f userVisibility+{-# INLINE userVisibilityL #-}++-- | 'userWebsite' Lens+userWebsiteL :: Lens_' User (Maybe Text)+userWebsiteL f User{..} = (\userWebsite -> User { userWebsite, ..} ) <$> f userWebsite+{-# INLINE userWebsiteL #-}++++-- * UserHeatmapData++-- | 'userHeatmapDataContributions' Lens+userHeatmapDataContributionsL :: Lens_' UserHeatmapData (Maybe Integer)+userHeatmapDataContributionsL f UserHeatmapData{..} = (\userHeatmapDataContributions -> UserHeatmapData { userHeatmapDataContributions, ..} ) <$> f userHeatmapDataContributions+{-# INLINE userHeatmapDataContributionsL #-}++-- | 'userHeatmapDataTimestamp' Lens+userHeatmapDataTimestampL :: Lens_' UserHeatmapData (Maybe Integer)+userHeatmapDataTimestampL f UserHeatmapData{..} = (\userHeatmapDataTimestamp -> UserHeatmapData { userHeatmapDataTimestamp, ..} ) <$> f userHeatmapDataTimestamp+{-# INLINE userHeatmapDataTimestampL #-}++++-- * UserSearch200Response++-- | 'userSearch200ResponseData' Lens+userSearch200ResponseDataL :: Lens_' UserSearch200Response (Maybe [User])+userSearch200ResponseDataL f UserSearch200Response{..} = (\userSearch200ResponseData -> UserSearch200Response { userSearch200ResponseData, ..} ) <$> f userSearch200ResponseData+{-# INLINE userSearch200ResponseDataL #-}++-- | 'userSearch200ResponseOk' Lens+userSearch200ResponseOkL :: Lens_' UserSearch200Response (Maybe Bool)+userSearch200ResponseOkL f UserSearch200Response{..} = (\userSearch200ResponseOk -> UserSearch200Response { userSearch200ResponseOk, ..} ) <$> f userSearch200ResponseOk+{-# INLINE userSearch200ResponseOkL #-}++++-- * UserSettings++-- | 'userSettingsDescription' Lens+userSettingsDescriptionL :: Lens_' UserSettings (Maybe Text)+userSettingsDescriptionL f UserSettings{..} = (\userSettingsDescription -> UserSettings { userSettingsDescription, ..} ) <$> f userSettingsDescription+{-# INLINE userSettingsDescriptionL #-}++-- | 'userSettingsDiffViewStyle' Lens+userSettingsDiffViewStyleL :: Lens_' UserSettings (Maybe Text)+userSettingsDiffViewStyleL f UserSettings{..} = (\userSettingsDiffViewStyle -> UserSettings { userSettingsDiffViewStyle, ..} ) <$> f userSettingsDiffViewStyle+{-# INLINE userSettingsDiffViewStyleL #-}++-- | 'userSettingsFullName' Lens+userSettingsFullNameL :: Lens_' UserSettings (Maybe Text)+userSettingsFullNameL f UserSettings{..} = (\userSettingsFullName -> UserSettings { userSettingsFullName, ..} ) <$> f userSettingsFullName+{-# INLINE userSettingsFullNameL #-}++-- | 'userSettingsHideActivity' Lens+userSettingsHideActivityL :: Lens_' UserSettings (Maybe Bool)+userSettingsHideActivityL f UserSettings{..} = (\userSettingsHideActivity -> UserSettings { userSettingsHideActivity, ..} ) <$> f userSettingsHideActivity+{-# INLINE userSettingsHideActivityL #-}++-- | 'userSettingsHideEmail' Lens+userSettingsHideEmailL :: Lens_' UserSettings (Maybe Bool)+userSettingsHideEmailL f UserSettings{..} = (\userSettingsHideEmail -> UserSettings { userSettingsHideEmail, ..} ) <$> f userSettingsHideEmail+{-# INLINE userSettingsHideEmailL #-}++-- | 'userSettingsLanguage' Lens+userSettingsLanguageL :: Lens_' UserSettings (Maybe Text)+userSettingsLanguageL f UserSettings{..} = (\userSettingsLanguage -> UserSettings { userSettingsLanguage, ..} ) <$> f userSettingsLanguage+{-# INLINE userSettingsLanguageL #-}++-- | 'userSettingsLocation' Lens+userSettingsLocationL :: Lens_' UserSettings (Maybe Text)+userSettingsLocationL f UserSettings{..} = (\userSettingsLocation -> UserSettings { userSettingsLocation, ..} ) <$> f userSettingsLocation+{-# INLINE userSettingsLocationL #-}++-- | 'userSettingsTheme' Lens+userSettingsThemeL :: Lens_' UserSettings (Maybe Text)+userSettingsThemeL f UserSettings{..} = (\userSettingsTheme -> UserSettings { userSettingsTheme, ..} ) <$> f userSettingsTheme+{-# INLINE userSettingsThemeL #-}++-- | 'userSettingsWebsite' Lens+userSettingsWebsiteL :: Lens_' UserSettings (Maybe Text)+userSettingsWebsiteL f UserSettings{..} = (\userSettingsWebsite -> UserSettings { userSettingsWebsite, ..} ) <$> f userSettingsWebsite+{-# INLINE userSettingsWebsiteL #-}++++-- * UserSettingsOptions++-- | 'userSettingsOptionsDescription' Lens+userSettingsOptionsDescriptionL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsDescriptionL f UserSettingsOptions{..} = (\userSettingsOptionsDescription -> UserSettingsOptions { userSettingsOptionsDescription, ..} ) <$> f userSettingsOptionsDescription+{-# INLINE userSettingsOptionsDescriptionL #-}++-- | 'userSettingsOptionsDiffViewStyle' Lens+userSettingsOptionsDiffViewStyleL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsDiffViewStyleL f UserSettingsOptions{..} = (\userSettingsOptionsDiffViewStyle -> UserSettingsOptions { userSettingsOptionsDiffViewStyle, ..} ) <$> f userSettingsOptionsDiffViewStyle+{-# INLINE userSettingsOptionsDiffViewStyleL #-}++-- | 'userSettingsOptionsFullName' Lens+userSettingsOptionsFullNameL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsFullNameL f UserSettingsOptions{..} = (\userSettingsOptionsFullName -> UserSettingsOptions { userSettingsOptionsFullName, ..} ) <$> f userSettingsOptionsFullName+{-# INLINE userSettingsOptionsFullNameL #-}++-- | 'userSettingsOptionsHideActivity' Lens+userSettingsOptionsHideActivityL :: Lens_' UserSettingsOptions (Maybe Bool)+userSettingsOptionsHideActivityL f UserSettingsOptions{..} = (\userSettingsOptionsHideActivity -> UserSettingsOptions { userSettingsOptionsHideActivity, ..} ) <$> f userSettingsOptionsHideActivity+{-# INLINE userSettingsOptionsHideActivityL #-}++-- | 'userSettingsOptionsHideEmail' Lens+userSettingsOptionsHideEmailL :: Lens_' UserSettingsOptions (Maybe Bool)+userSettingsOptionsHideEmailL f UserSettingsOptions{..} = (\userSettingsOptionsHideEmail -> UserSettingsOptions { userSettingsOptionsHideEmail, ..} ) <$> f userSettingsOptionsHideEmail+{-# INLINE userSettingsOptionsHideEmailL #-}++-- | 'userSettingsOptionsLanguage' Lens+userSettingsOptionsLanguageL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsLanguageL f UserSettingsOptions{..} = (\userSettingsOptionsLanguage -> UserSettingsOptions { userSettingsOptionsLanguage, ..} ) <$> f userSettingsOptionsLanguage+{-# INLINE userSettingsOptionsLanguageL #-}++-- | 'userSettingsOptionsLocation' Lens+userSettingsOptionsLocationL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsLocationL f UserSettingsOptions{..} = (\userSettingsOptionsLocation -> UserSettingsOptions { userSettingsOptionsLocation, ..} ) <$> f userSettingsOptionsLocation+{-# INLINE userSettingsOptionsLocationL #-}++-- | 'userSettingsOptionsTheme' Lens+userSettingsOptionsThemeL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsThemeL f UserSettingsOptions{..} = (\userSettingsOptionsTheme -> UserSettingsOptions { userSettingsOptionsTheme, ..} ) <$> f userSettingsOptionsTheme+{-# INLINE userSettingsOptionsThemeL #-}++-- | 'userSettingsOptionsWebsite' Lens+userSettingsOptionsWebsiteL :: Lens_' UserSettingsOptions (Maybe Text)+userSettingsOptionsWebsiteL f UserSettingsOptions{..} = (\userSettingsOptionsWebsite -> UserSettingsOptions { userSettingsOptionsWebsite, ..} ) <$> f userSettingsOptionsWebsite+{-# INLINE userSettingsOptionsWebsiteL #-}++++-- * WatchInfo++-- | 'watchInfoCreatedAt' Lens+watchInfoCreatedAtL :: Lens_' WatchInfo (Maybe DateTime)+watchInfoCreatedAtL f WatchInfo{..} = (\watchInfoCreatedAt -> WatchInfo { watchInfoCreatedAt, ..} ) <$> f watchInfoCreatedAt+{-# INLINE watchInfoCreatedAtL #-}++-- | 'watchInfoIgnored' Lens+watchInfoIgnoredL :: Lens_' WatchInfo (Maybe Bool)+watchInfoIgnoredL f WatchInfo{..} = (\watchInfoIgnored -> WatchInfo { watchInfoIgnored, ..} ) <$> f watchInfoIgnored+{-# INLINE watchInfoIgnoredL #-}++-- | 'watchInfoReason' Lens+watchInfoReasonL :: Lens_' WatchInfo (Maybe A.Value)+watchInfoReasonL f WatchInfo{..} = (\watchInfoReason -> WatchInfo { watchInfoReason, ..} ) <$> f watchInfoReason+{-# INLINE watchInfoReasonL #-}++-- | 'watchInfoRepositoryUrl' Lens+watchInfoRepositoryUrlL :: Lens_' WatchInfo (Maybe Text)+watchInfoRepositoryUrlL f WatchInfo{..} = (\watchInfoRepositoryUrl -> WatchInfo { watchInfoRepositoryUrl, ..} ) <$> f watchInfoRepositoryUrl+{-# INLINE watchInfoRepositoryUrlL #-}++-- | 'watchInfoSubscribed' Lens+watchInfoSubscribedL :: Lens_' WatchInfo (Maybe Bool)+watchInfoSubscribedL f WatchInfo{..} = (\watchInfoSubscribed -> WatchInfo { watchInfoSubscribed, ..} ) <$> f watchInfoSubscribed+{-# INLINE watchInfoSubscribedL #-}++-- | 'watchInfoUrl' Lens+watchInfoUrlL :: Lens_' WatchInfo (Maybe Text)+watchInfoUrlL f WatchInfo{..} = (\watchInfoUrl -> WatchInfo { watchInfoUrl, ..} ) <$> f watchInfoUrl+{-# INLINE watchInfoUrlL #-}++++-- * WikiCommit++-- | 'wikiCommitAuthor' Lens+wikiCommitAuthorL :: Lens_' WikiCommit (Maybe CommitUser)+wikiCommitAuthorL f WikiCommit{..} = (\wikiCommitAuthor -> WikiCommit { wikiCommitAuthor, ..} ) <$> f wikiCommitAuthor+{-# INLINE wikiCommitAuthorL #-}++-- | 'wikiCommitCommiter' Lens+wikiCommitCommiterL :: Lens_' WikiCommit (Maybe CommitUser)+wikiCommitCommiterL f WikiCommit{..} = (\wikiCommitCommiter -> WikiCommit { wikiCommitCommiter, ..} ) <$> f wikiCommitCommiter+{-# INLINE wikiCommitCommiterL #-}++-- | 'wikiCommitMessage' Lens+wikiCommitMessageL :: Lens_' WikiCommit (Maybe Text)+wikiCommitMessageL f WikiCommit{..} = (\wikiCommitMessage -> WikiCommit { wikiCommitMessage, ..} ) <$> f wikiCommitMessage+{-# INLINE wikiCommitMessageL #-}++-- | 'wikiCommitSha' Lens+wikiCommitShaL :: Lens_' WikiCommit (Maybe Text)+wikiCommitShaL f WikiCommit{..} = (\wikiCommitSha -> WikiCommit { wikiCommitSha, ..} ) <$> f wikiCommitSha+{-# INLINE wikiCommitShaL #-}++++-- * WikiCommitList++-- | 'wikiCommitListCommits' Lens+wikiCommitListCommitsL :: Lens_' WikiCommitList (Maybe [WikiCommit])+wikiCommitListCommitsL f WikiCommitList{..} = (\wikiCommitListCommits -> WikiCommitList { wikiCommitListCommits, ..} ) <$> f wikiCommitListCommits+{-# INLINE wikiCommitListCommitsL #-}++-- | 'wikiCommitListCount' Lens+wikiCommitListCountL :: Lens_' WikiCommitList (Maybe Integer)+wikiCommitListCountL f WikiCommitList{..} = (\wikiCommitListCount -> WikiCommitList { wikiCommitListCount, ..} ) <$> f wikiCommitListCount+{-# INLINE wikiCommitListCountL #-}++++-- * WikiPage++-- | 'wikiPageCommitCount' Lens+wikiPageCommitCountL :: Lens_' WikiPage (Maybe Integer)+wikiPageCommitCountL f WikiPage{..} = (\wikiPageCommitCount -> WikiPage { wikiPageCommitCount, ..} ) <$> f wikiPageCommitCount+{-# INLINE wikiPageCommitCountL #-}++-- | 'wikiPageContentBase64' Lens+wikiPageContentBase64L :: Lens_' WikiPage (Maybe Text)+wikiPageContentBase64L f WikiPage{..} = (\wikiPageContentBase64 -> WikiPage { wikiPageContentBase64, ..} ) <$> f wikiPageContentBase64+{-# INLINE wikiPageContentBase64L #-}++-- | 'wikiPageFooter' Lens+wikiPageFooterL :: Lens_' WikiPage (Maybe Text)+wikiPageFooterL f WikiPage{..} = (\wikiPageFooter -> WikiPage { wikiPageFooter, ..} ) <$> f wikiPageFooter+{-# INLINE wikiPageFooterL #-}++-- | 'wikiPageHtmlUrl' Lens+wikiPageHtmlUrlL :: Lens_' WikiPage (Maybe Text)+wikiPageHtmlUrlL f WikiPage{..} = (\wikiPageHtmlUrl -> WikiPage { wikiPageHtmlUrl, ..} ) <$> f wikiPageHtmlUrl+{-# INLINE wikiPageHtmlUrlL #-}++-- | 'wikiPageLastCommit' Lens+wikiPageLastCommitL :: Lens_' WikiPage (Maybe WikiCommit)+wikiPageLastCommitL f WikiPage{..} = (\wikiPageLastCommit -> WikiPage { wikiPageLastCommit, ..} ) <$> f wikiPageLastCommit+{-# INLINE wikiPageLastCommitL #-}++-- | 'wikiPageSidebar' Lens+wikiPageSidebarL :: Lens_' WikiPage (Maybe Text)+wikiPageSidebarL f WikiPage{..} = (\wikiPageSidebar -> WikiPage { wikiPageSidebar, ..} ) <$> f wikiPageSidebar+{-# INLINE wikiPageSidebarL #-}++-- | 'wikiPageSubUrl' Lens+wikiPageSubUrlL :: Lens_' WikiPage (Maybe Text)+wikiPageSubUrlL f WikiPage{..} = (\wikiPageSubUrl -> WikiPage { wikiPageSubUrl, ..} ) <$> f wikiPageSubUrl+{-# INLINE wikiPageSubUrlL #-}++-- | 'wikiPageTitle' Lens+wikiPageTitleL :: Lens_' WikiPage (Maybe Text)+wikiPageTitleL f WikiPage{..} = (\wikiPageTitle -> WikiPage { wikiPageTitle, ..} ) <$> f wikiPageTitle+{-# INLINE wikiPageTitleL #-}++++-- * WikiPageMetaData++-- | 'wikiPageMetaDataHtmlUrl' Lens+wikiPageMetaDataHtmlUrlL :: Lens_' WikiPageMetaData (Maybe Text)+wikiPageMetaDataHtmlUrlL f WikiPageMetaData{..} = (\wikiPageMetaDataHtmlUrl -> WikiPageMetaData { wikiPageMetaDataHtmlUrl, ..} ) <$> f wikiPageMetaDataHtmlUrl+{-# INLINE wikiPageMetaDataHtmlUrlL #-}++-- | 'wikiPageMetaDataLastCommit' Lens+wikiPageMetaDataLastCommitL :: Lens_' WikiPageMetaData (Maybe WikiCommit)+wikiPageMetaDataLastCommitL f WikiPageMetaData{..} = (\wikiPageMetaDataLastCommit -> WikiPageMetaData { wikiPageMetaDataLastCommit, ..} ) <$> f wikiPageMetaDataLastCommit+{-# INLINE wikiPageMetaDataLastCommitL #-}++-- | 'wikiPageMetaDataSubUrl' Lens+wikiPageMetaDataSubUrlL :: Lens_' WikiPageMetaData (Maybe Text)+wikiPageMetaDataSubUrlL f WikiPageMetaData{..} = (\wikiPageMetaDataSubUrl -> WikiPageMetaData { wikiPageMetaDataSubUrl, ..} ) <$> f wikiPageMetaDataSubUrl+{-# INLINE wikiPageMetaDataSubUrlL #-}++-- | 'wikiPageMetaDataTitle' Lens+wikiPageMetaDataTitleL :: Lens_' WikiPageMetaData (Maybe Text)+wikiPageMetaDataTitleL f WikiPageMetaData{..} = (\wikiPageMetaDataTitle -> WikiPageMetaData { wikiPageMetaDataTitle, ..} ) <$> f wikiPageMetaDataTitle+{-# INLINE wikiPageMetaDataTitleL #-}++
+ openapi.yaml view
@@ -0,0 +1,24233 @@+openapi: 3.0.1+info:+ description: This documentation describes the Gitea API.+ license:+ name: MIT+ url: http://opensource.org/licenses/MIT+ title: Gitea API.+ version: 1.19.4+servers:+- url: http://https://gitea.com/api/v1+- url: https://https://gitea.com/api/v1+security:+- BasicAuth: []+- Token: []+- AccessToken: []+- AuthorizationHeaderToken: []+- SudoParam: []+- SudoHeader: []+- TOTPHeader: []+paths:+ /activitypub/user-id/{user-id}:+ get:+ operationId: activitypubPerson+ parameters:+ - description: user ID of the user+ in: path+ name: user-id+ required: true+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/ActivityPub'+ description: ActivityPub+ summary: Returns the Person actor for a user+ tags:+ - activitypub+ /activitypub/user-id/{user-id}/inbox:+ post:+ operationId: activitypubPersonInbox+ parameters:+ - description: user ID of the user+ in: path+ name: user-id+ required: true+ schema:+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Send to the inbox+ tags:+ - activitypub+ /admin/cron:+ get:+ operationId: adminCronList+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Cron'+ type: array+ description: CronList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List cron tasks+ tags:+ - admin+ /admin/cron/{task}:+ post:+ operationId: adminCronRun+ parameters:+ - description: task to run+ in: path+ name: task+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Run cron task+ tags:+ - admin+ /admin/hooks:+ get:+ operationId: adminListHooks+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Hook'+ type: array+ description: HookList+ summary: List system's webhooks+ tags:+ - admin+ post:+ operationId: adminCreateHook+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateHookOption'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Create a hook+ tags:+ - admin+ x-codegen-request-body-name: body+ /admin/hooks/{id}:+ delete:+ operationId: adminDeleteHook+ parameters:+ - description: id of the hook to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a hook+ tags:+ - admin+ get:+ operationId: adminGetHook+ parameters:+ - description: id of the hook to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Get a hook+ tags:+ - admin+ patch:+ operationId: adminEditHook+ parameters:+ - description: id of the hook to update+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditHookOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Update a hook+ tags:+ - admin+ x-codegen-request-body-name: body+ /admin/orgs:+ get:+ operationId: adminGetAllOrgs+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Organization'+ type: array+ description: OrganizationList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List all organizations+ tags:+ - admin+ /admin/unadopted:+ get:+ operationId: adminUnadoptedList+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ - description: pattern of repositories to search for+ in: query+ name: pattern+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ type: string+ type: array+ description: StringSlice+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List unadopted repositories+ tags:+ - admin+ /admin/unadopted/{owner}/{repo}:+ delete:+ operationId: adminDeleteUnadoptedRepository+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete unadopted files+ tags:+ - admin+ post:+ operationId: adminAdoptRepository+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Adopt unadopted files as a repository+ tags:+ - admin+ /admin/users:+ get:+ operationId: adminGetAllUsers+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List all users+ tags:+ - admin+ post:+ operationId: adminCreateUser+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateUserOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/User'+ description: User+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a user+ tags:+ - admin+ x-codegen-request-body-name: body+ /admin/users/{username}:+ delete:+ operationId: adminDeleteUser+ parameters:+ - description: username of user to delete+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: purge the user from the system completely+ in: query+ name: purge+ schema:+ type: boolean+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a user+ tags:+ - admin+ patch:+ operationId: adminEditUser+ parameters:+ - description: username of user to edit+ in: path+ name: username+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditUserOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/User'+ description: User+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Edit an existing user+ tags:+ - admin+ x-codegen-request-body-name: body+ /admin/users/{username}/keys:+ post:+ operationId: adminCreatePublicKey+ parameters:+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateKeyOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PublicKey'+ description: PublicKey+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a public key on behalf of a user+ tags:+ - admin+ x-codegen-request-body-name: key+ /admin/users/{username}/keys/{id}:+ delete:+ operationId: adminDeleteUserPublicKey+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: id of the key to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a user's public key+ tags:+ - admin+ /admin/users/{username}/orgs:+ post:+ operationId: adminCreateOrg+ parameters:+ - description: username of the user that will own the created organization+ in: path+ name: username+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateOrgOption'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Organization'+ description: Organization+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create an organization+ tags:+ - admin+ x-codegen-request-body-name: organization+ /admin/users/{username}/repos:+ post:+ operationId: adminCreateRepo+ parameters:+ - description: username of the user. This user will own the created repository+ in: path+ name: username+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateRepoOption'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a repository on behalf of a user+ tags:+ - admin+ x-codegen-request-body-name: repository+ /markdown:+ post:+ operationId: renderMarkdown+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/MarkdownOption'+ required: false+ responses:+ "200":+ content:+ text/html:+ schema:+ type: string+ description: MarkdownRender is a rendered markdown document+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Render a markdown document as HTML+ tags:+ - miscellaneous+ x-codegen-request-body-name: body+ /markdown/raw:+ post:+ operationId: renderMarkdownRaw+ requestBody:+ content:+ text/plain:+ schema:+ type: string+ description: Request body to render+ required: true+ responses:+ "200":+ content:+ text/html:+ schema:+ type: string+ description: MarkdownRender is a rendered markdown document+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Render raw markdown as HTML+ tags:+ - miscellaneous+ x-codegen-request-body-name: body+ /nodeinfo:+ get:+ operationId: getNodeInfo+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NodeInfo'+ description: NodeInfo+ summary: Returns the nodeinfo of the Gitea application+ tags:+ - miscellaneous+ /notifications:+ get:+ operationId: notifyGetList+ parameters:+ - description: "If true, show notifications marked as read. Default value is\+ \ false"+ in: query+ name: all+ schema:+ type: boolean+ - description: "Show notifications with the provided status types. Options are:\+ \ unread, read and/or pinned. Defaults to unread & pinned."+ explode: true+ in: query+ name: status-types+ schema:+ items:+ type: string+ type: array+ style: form+ - description: filter notifications by subject type+ explode: true+ in: query+ name: subject-type+ schema:+ items:+ enum:+ - issue+ - pull+ - commit+ - repository+ type: string+ type: array+ style: form+ - description: Only show notifications updated after the given time. This is+ a timestamp in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show notifications updated before the given time. This is+ a timestamp in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/NotificationThread'+ type: array+ description: NotificationThreadList+ summary: List users's notification threads+ tags:+ - notification+ put:+ operationId: notifyReadList+ parameters:+ - description: Describes the last point that notifications were checked. Anything+ updated since this time will not be updated.+ in: query+ name: last_read_at+ schema:+ format: date-time+ type: string+ - description: "If true, mark all notifications on this repo. Default value\+ \ is false"+ in: query+ name: all+ schema:+ type: string+ - description: "Mark notifications with the provided status types. Options are:\+ \ unread, read and/or pinned. Defaults to unread."+ explode: true+ in: query+ name: status-types+ schema:+ items:+ type: string+ type: array+ style: form+ - description: "Status to mark notifications as, Defaults to read."+ in: query+ name: to-status+ schema:+ type: string+ responses:+ "205":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/NotificationThread'+ type: array+ description: NotificationThreadList+ summary: "Mark notification threads as read, pinned or unread"+ tags:+ - notification+ /notifications/new:+ get:+ operationId: notifyNewAvailable+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NotificationCount'+ text/html:+ schema:+ $ref: '#/components/schemas/NotificationCount'+ description: Number of unread notifications+ summary: Check if unread notifications exist+ tags:+ - notification+ /notifications/threads/{id}:+ get:+ operationId: notifyGetThread+ parameters:+ - description: id of notification thread+ in: path+ name: id+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NotificationThread'+ description: NotificationThread+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get notification thread by ID+ tags:+ - notification+ patch:+ operationId: notifyReadThread+ parameters:+ - description: id of notification thread+ in: path+ name: id+ required: true+ schema:+ type: string+ - description: Status to mark notifications as+ in: query+ name: to-status+ schema:+ default: read+ type: string+ responses:+ "205":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NotificationThread'+ description: NotificationThread+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Mark notification thread as read by ID+ tags:+ - notification+ /org/{org}/repos:+ post:+ deprecated: true+ operationId: createOrgRepoDeprecated+ parameters:+ - description: name of organization+ in: path+ name: org+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateRepoOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a repository in an organization+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs:+ get:+ operationId: orgGetAll+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Organization'+ type: array+ description: OrganizationList+ summary: Get list of organizations+ tags:+ - organization+ post:+ operationId: orgCreate+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateOrgOption'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Organization'+ description: Organization+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create an organization+ tags:+ - organization+ x-codegen-request-body-name: organization+ /orgs/{org}:+ delete:+ operationId: orgDelete+ parameters:+ - description: organization that is to be deleted+ in: path+ name: org+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete an organization+ tags:+ - organization+ get:+ operationId: orgGet+ parameters:+ - description: name of the organization to get+ in: path+ name: org+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Organization'+ description: Organization+ summary: Get an organization+ tags:+ - organization+ patch:+ operationId: orgEdit+ parameters:+ - description: name of the organization to edit+ in: path+ name: org+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditOrgOption'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Organization'+ description: Organization+ summary: Edit an organization+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/hooks:+ get:+ operationId: orgListHooks+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Hook'+ type: array+ description: HookList+ summary: List an organization's webhooks+ tags:+ - organization+ post:+ operationId: orgCreateHook+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateHookOption'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Create a hook+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/hooks/{id}:+ delete:+ operationId: orgDeleteHook+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: id of the hook to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a hook+ tags:+ - organization+ get:+ operationId: orgGetHook+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: id of the hook to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Get a hook+ tags:+ - organization+ patch:+ operationId: orgEditHook+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: id of the hook to update+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditHookOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Update a hook+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/labels:+ get:+ operationId: orgListLabels+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ description: LabelList+ summary: List an organization's labels+ tags:+ - organization+ post:+ operationId: orgCreateLabel+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateLabelOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a label for an organization+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/labels/{id}:+ delete:+ operationId: orgDeleteLabel+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: id of the label to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a label+ tags:+ - organization+ get:+ operationId: orgGetLabel+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: id of the label to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ summary: Get a single label+ tags:+ - organization+ patch:+ operationId: orgEditLabel+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: id of the label to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditLabelOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Update a label+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/members:+ get:+ operationId: orgListMembers+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List an organization's members+ tags:+ - organization+ /orgs/{org}/members/{username}:+ delete:+ operationId: orgDeleteMember+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: member removed+ summary: Remove a member from an organization+ tags:+ - organization+ get:+ operationId: orgIsMember+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: user is a member+ "303":+ content: {}+ description: "redirection to /orgs/{org}/public_members/{username}"+ "404":+ content: {}+ description: user is not a member+ summary: Check if a user is a member of an organization+ tags:+ - organization+ /orgs/{org}/public_members:+ get:+ operationId: orgListPublicMembers+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List an organization's public members+ tags:+ - organization+ /orgs/{org}/public_members/{username}:+ delete:+ operationId: orgConcealMember+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Conceal a user's membership+ tags:+ - organization+ get:+ operationId: orgIsPublicMember+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: user is a public member+ "404":+ content: {}+ description: user is not a public member+ summary: Check if a user is a public member of an organization+ tags:+ - organization+ put:+ operationId: orgPublicizeMember+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: membership publicized+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Publicize a user's membership+ tags:+ - organization+ /orgs/{org}/repos:+ get:+ operationId: orgListRepos+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List an organization's repos+ tags:+ - organization+ post:+ operationId: createOrgRepo+ parameters:+ - description: name of organization+ in: path+ name: org+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateRepoOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Create a repository in an organization+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/teams:+ get:+ operationId: orgListTeams+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ description: TeamList+ summary: List an organization's teams+ tags:+ - organization+ post:+ operationId: orgCreateTeam+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateTeamOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Team'+ description: Team+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a team+ tags:+ - organization+ x-codegen-request-body-name: body+ /orgs/{org}/teams/search:+ get:+ operationId: teamSearch+ parameters:+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: keywords to search+ in: query+ name: q+ schema:+ type: string+ - description: include search within team description (defaults to true)+ in: query+ name: include_desc+ schema:+ type: boolean+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/teamSearch_200_response'+ description: SearchResults of a successful search+ summary: Search for teams within an organization+ tags:+ - organization+ /packages/{owner}:+ get:+ operationId: listPackages+ parameters:+ - description: owner of the packages+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ - description: package type filter+ in: query+ name: type+ schema:+ enum:+ - cargo+ - chef+ - composer+ - conan+ - conda+ - container+ - generic+ - helm+ - maven+ - npm+ - nuget+ - pub+ - pypi+ - rubygems+ - vagrant+ type: string+ - description: name filter+ in: query+ name: q+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Package'+ type: array+ description: PackageList+ summary: Gets all packages of an owner+ tags:+ - package+ /packages/{owner}/{type}/{name}/{version}:+ delete:+ operationId: deletePackage+ parameters:+ - description: owner of the package+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: type of the package+ in: path+ name: type+ required: true+ schema:+ type: string+ - description: name of the package+ in: path+ name: name+ required: true+ schema:+ type: string+ - description: version of the package+ in: path+ name: version+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a package+ tags:+ - package+ get:+ operationId: getPackage+ parameters:+ - description: owner of the package+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: type of the package+ in: path+ name: type+ required: true+ schema:+ type: string+ - description: name of the package+ in: path+ name: name+ required: true+ schema:+ type: string+ - description: version of the package+ in: path+ name: version+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Package'+ description: Package+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Gets a package+ tags:+ - package+ /packages/{owner}/{type}/{name}/{version}/files:+ get:+ operationId: listPackageFiles+ parameters:+ - description: owner of the package+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: type of the package+ in: path+ name: type+ required: true+ schema:+ type: string+ - description: name of the package+ in: path+ name: name+ required: true+ schema:+ type: string+ - description: version of the package+ in: path+ name: version+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PackageFile'+ type: array+ description: PackageFileList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Gets all files of a package+ tags:+ - package+ /repos/issues/search:+ get:+ operationId: issueSearchIssues+ parameters:+ - description: whether issue is open or closed+ in: query+ name: state+ schema:+ type: string+ - description: comma separated list of labels. Fetch only issues that have any+ of this labels. Non existent labels are discarded+ in: query+ name: labels+ schema:+ type: string+ - description: comma separated list of milestone names. Fetch only issues that+ have any of this milestones. Non existent are discarded+ in: query+ name: milestones+ schema:+ type: string+ - description: search string+ in: query+ name: q+ schema:+ type: string+ - description: repository to prioritize in the results+ in: query+ name: priority_repo_id+ schema:+ format: int64+ type: integer+ - description: filter by type (issues / pulls) if set+ in: query+ name: type+ schema:+ type: string+ - description: Only show notifications updated after the given time. This is+ a timestamp in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show notifications updated before the given time. This is+ a timestamp in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: "filter (issues / pulls) assigned to you, default is false"+ in: query+ name: assigned+ schema:+ type: boolean+ - description: "filter (issues / pulls) created by you, default is false"+ in: query+ name: created+ schema:+ type: boolean+ - description: "filter (issues / pulls) mentioning you, default is false"+ in: query+ name: mentioned+ schema:+ type: boolean+ - description: "filter pulls requesting your review, default is false"+ in: query+ name: review_requested+ schema:+ type: boolean+ - description: filter by owner+ in: query+ name: owner+ schema:+ type: string+ - description: filter by team (requires organization owner parameter to be provided)+ in: query+ name: team+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Issue'+ type: array+ description: IssueList+ summary: Search for issues across the repositories that the user has access+ to+ tags:+ - issue+ /repos/migrate:+ post:+ operationId: repoMigrate+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/MigrateRepoOptions'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "409":+ content: {}+ description: The repository with the same name already exists.+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Migrate a remote git repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/search:+ get:+ operationId: repoSearch+ parameters:+ - description: keyword+ in: query+ name: q+ schema:+ type: string+ - description: Limit search to repositories with keyword as topic+ in: query+ name: topic+ schema:+ type: boolean+ - description: include search of keyword within repository description+ in: query+ name: includeDesc+ schema:+ type: boolean+ - description: search only for repos that the user with the given id owns or+ contributes to+ in: query+ name: uid+ schema:+ format: int64+ type: integer+ - description: repo owner to prioritize in the results+ in: query+ name: priority_owner_id+ schema:+ format: int64+ type: integer+ - description: search only for repos that belong to the given team id+ in: query+ name: team_id+ schema:+ format: int64+ type: integer+ - description: search only for repos that the user with the given id has starred+ in: query+ name: starredBy+ schema:+ format: int64+ type: integer+ - description: include private repositories this user has access to (defaults+ to true)+ in: query+ name: private+ schema:+ type: boolean+ - description: "show only pubic, private or all repositories (defaults to all)"+ in: query+ name: is_private+ schema:+ type: boolean+ - description: include template repositories this user has access to (defaults+ to true)+ in: query+ name: template+ schema:+ type: boolean+ - description: "show only archived, non-archived or all repositories (defaults\+ \ to all)"+ in: query+ name: archived+ schema:+ type: boolean+ - description: "type of repository to search for. Supported values are \"fork\"\+ , \"source\", \"mirror\" and \"collaborative\""+ in: query+ name: mode+ schema:+ type: string+ - description: "if `uid` is given, search only for repos that the user owns"+ in: query+ name: exclusive+ schema:+ type: boolean+ - description: "sort repos by attribute. Supported values are \"alpha\", \"\+ created\", \"updated\", \"size\", and \"id\". Default is \"alpha\""+ in: query+ name: sort+ schema:+ type: string+ - description: "sort order, either \"asc\" (ascending) or \"desc\" (descending).\+ \ Default is \"asc\", ignored if \"sort\" is not specified."+ in: query+ name: order+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/SearchResults'+ description: SearchResults+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Search for repositories+ tags:+ - repository+ /repos/{owner}/{repo}:+ delete:+ operationId: repoDelete+ parameters:+ - description: owner of the repo to delete+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to delete+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a repository+ tags:+ - repository+ get:+ operationId: repoGet+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ summary: Get a repository+ tags:+ - repository+ patch:+ operationId: repoEdit+ parameters:+ - description: owner of the repo to edit+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to edit+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditRepoOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/EditRepoOption'+ description: Properties of a repo that you can edit+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Edit a repository's properties. Only fields that are set will be changed.+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/archive/{archive}:+ get:+ operationId: repoGetArchive+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: the git reference for download with attached archive format (e.g.+ master.zip)+ in: path+ name: archive+ required: true+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: success+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get an archive of a repository+ tags:+ - repository+ /repos/{owner}/{repo}/assignees:+ get:+ operationId: repoGetAssignees+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: Return all users that have write access and can be assigned to issues+ tags:+ - repository+ /repos/{owner}/{repo}/branch_protections:+ get:+ operationId: repoListBranchProtection+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/BranchProtection'+ type: array+ description: BranchProtectionList+ summary: List branch protections for a repository+ tags:+ - repository+ post:+ operationId: repoCreateBranchProtection+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateBranchProtectionOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/BranchProtection'+ description: BranchProtection+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a branch protections for a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/branch_protections/{name}:+ delete:+ operationId: repoDeleteBranchProtection+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of protected branch+ in: path+ name: name+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a specific branch protection for the repository+ tags:+ - repository+ get:+ operationId: repoGetBranchProtection+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of protected branch+ in: path+ name: name+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/BranchProtection'+ description: BranchProtection+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a specific branch protection for the repository+ tags:+ - repository+ patch:+ operationId: repoEditBranchProtection+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of protected branch+ in: path+ name: name+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditBranchProtectionOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/BranchProtection'+ description: BranchProtection+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Edit a branch protections for a repository. Only fields that are set+ will be changed+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/branches:+ get:+ operationId: repoListBranches+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Branch'+ type: array+ description: BranchList+ summary: List a repository's branches+ tags:+ - repository+ post:+ operationId: repoCreateBranch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateBranchRepoOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Branch'+ description: Branch+ "404":+ content: {}+ description: The old branch does not exist.+ "409":+ content: {}+ description: The branch with the same name already exists.+ summary: Create a branch+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/branches/{branch}:+ delete:+ operationId: repoDeleteBranch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: branch to delete+ in: path+ name: branch+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a specific branch from a repository+ tags:+ - repository+ get:+ operationId: repoGetBranch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: branch to get+ in: path+ name: branch+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Branch'+ description: Branch+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: "Retrieve a specific branch from a repository, including its effective\+ \ branch protection"+ tags:+ - repository+ /repos/{owner}/{repo}/collaborators:+ get:+ operationId: repoListCollaborators+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List a repository's collaborators+ tags:+ - repository+ /repos/{owner}/{repo}/collaborators/{collaborator}:+ delete:+ operationId: repoDeleteCollaborator+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: username of the collaborator to delete+ in: path+ name: collaborator+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a collaborator from a repository+ tags:+ - repository+ get:+ operationId: repoCheckCollaborator+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: username of the collaborator+ in: path+ name: collaborator+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Check if a user is a collaborator of a repository+ tags:+ - repository+ put:+ operationId: repoAddCollaborator+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: username of the collaborator to add+ in: path+ name: collaborator+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/AddCollaboratorOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/AddCollaboratorOption'+ required: false+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a collaborator to a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/collaborators/{collaborator}/permission:+ get:+ operationId: repoGetRepoPermissions+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: username of the collaborator+ in: path+ name: collaborator+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/RepoCollaboratorPermission'+ description: RepoCollaboratorPermission+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get repository permissions for a user+ tags:+ - repository+ /repos/{owner}/{repo}/commits:+ get:+ operationId: repoGetAllCommits+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: SHA or branch to start listing commits from (usually 'master')+ in: query+ name: sha+ schema:+ type: string+ - description: filepath of a file/dir+ in: query+ name: path+ schema:+ type: string+ - description: "include diff stats for every commit (disable for speedup, default\+ \ 'true')"+ in: query+ name: stat+ schema:+ type: boolean+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results (ignored if used with 'path')+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Commit'+ type: array+ description: CommitList+ headers:+ X-HasMore:+ description: True if there is another page+ schema:+ type: boolean+ X-PageCount:+ description: Total number of pages+ schema:+ format: int64+ type: integer+ X-PerPage:+ description: Commits per page+ schema:+ format: int64+ type: integer+ X-Total:+ description: Total commit count+ schema:+ format: int64+ type: integer+ X-Page:+ description: The current page+ schema:+ format: int64+ type: integer+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/APIError'+ description: EmptyRepository+ summary: Get a list of all commits from a repository+ tags:+ - repository+ /repos/{owner}/{repo}/commits/{ref}/status:+ get:+ operationId: repoGetCombinedStatusByRef+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of branch/tag/commit+ in: path+ name: ref+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CombinedStatus'+ description: CombinedStatus+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: "Get a commit's combined status, by branch/tag/commit reference"+ tags:+ - repository+ /repos/{owner}/{repo}/commits/{ref}/statuses:+ get:+ operationId: repoListStatusesByRef+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of branch/tag/commit+ in: path+ name: ref+ required: true+ schema:+ type: string+ - description: type of sort+ in: query+ name: sort+ schema:+ enum:+ - oldest+ - recentupdate+ - leastupdate+ - leastindex+ - highestindex+ type: string+ - description: type of state+ in: query+ name: state+ schema:+ enum:+ - pending+ - success+ - error+ - failure+ - warning+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/CommitStatus'+ type: array+ description: CommitStatusList+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: "Get a commit's statuses, by branch/tag/commit reference"+ tags:+ - repository+ /repos/{owner}/{repo}/contents:+ get:+ operationId: repoGetContentsList+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: The name of the commit/branch/tag. Default the repository’s default+ branch (usually master)+ in: query+ name: ref+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/ContentsResponse'+ type: array+ description: ContentsListResponse+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Gets the metadata of all the entries of the root dir+ tags:+ - repository+ /repos/{owner}/{repo}/contents/{filepath}:+ delete:+ operationId: repoDeleteFile+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: path of the file to delete+ in: path+ name: filepath+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/DeleteFileOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/FileDeleteResponse'+ description: FileDeleteResponse+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a file in a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ get:+ operationId: repoGetContents+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "path of the dir, file, symlink or submodule in the repo"+ in: path+ name: filepath+ required: true+ schema:+ type: string+ - description: The name of the commit/branch/tag. Default the repository’s default+ branch (usually master)+ in: query+ name: ref+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/ContentsResponse'+ description: ContentsResponse+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: "Gets the metadata and contents (if a file) of an entry in a repository,\+ \ or a list of entries if a dir"+ tags:+ - repository+ post:+ operationId: repoCreateFile+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: path of the file to create+ in: path+ name: filepath+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateFileOptions'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/FileResponse'+ description: FileResponse+ "403":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a file in a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ put:+ operationId: repoUpdateFile+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: path of the file to update+ in: path+ name: filepath+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/UpdateFileOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/FileResponse'+ description: FileResponse+ "403":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Update a file in a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/diffpatch:+ post:+ operationId: repoApplyDiffPatch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/UpdateFileOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/FileResponse'+ description: FileResponse+ summary: Apply diff patch to repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/editorconfig/{filepath}:+ get:+ operationId: repoGetEditorConfig+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: filepath of file to get+ in: path+ name: filepath+ required: true+ schema:+ type: string+ - description: The name of the commit/branch/tag. Default the repository’s default+ branch (usually master)+ in: query+ name: ref+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: success+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get the EditorConfig definitions of a file in a repository+ tags:+ - repository+ /repos/{owner}/{repo}/forks:+ get:+ operationId: listForks+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List a repository's forks+ tags:+ - repository+ post:+ operationId: createFork+ parameters:+ - description: owner of the repo to fork+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to fork+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateForkOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreateForkOption'+ required: false+ responses:+ "202":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "409":+ content: {}+ description: The repository with the same name already exists.+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Fork a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/git/blobs/{sha}:+ get:+ operationId: GetBlob+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: sha of the commit+ in: path+ name: sha+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitBlobResponse'+ description: GitBlobResponse+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Gets the blob of a repository.+ tags:+ - repository+ /repos/{owner}/{repo}/git/commits/{sha}:+ get:+ operationId: repoGetSingleCommit+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: a git ref or commit sha+ in: path+ name: sha+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Commit'+ description: Commit+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get a single commit from a repository+ tags:+ - repository+ /repos/{owner}/{repo}/git/commits/{sha}.{diffType}:+ get:+ operationId: repoDownloadCommitDiffOrPatch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: SHA of the commit to get+ in: path+ name: sha+ required: true+ schema:+ type: string+ - description: whether the output is diff or patch+ in: path+ name: diffType+ required: true+ schema:+ enum:+ - diff+ - patch+ type: string+ responses:+ "200":+ content:+ text/plain:+ schema:+ type: string+ description: APIString is a string response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a commit's diff or patch+ tags:+ - repository+ /repos/{owner}/{repo}/git/notes/{sha}:+ get:+ operationId: repoGetNote+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: a git ref or commit sha+ in: path+ name: sha+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Note'+ description: Note+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get a note corresponding to a single commit from a repository+ tags:+ - repository+ /repos/{owner}/{repo}/git/refs:+ get:+ operationId: repoListAllGitRefs+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Reference'+ type: array+ description: ReferenceList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get specified ref or filtered repository's refs+ tags:+ - repository+ /repos/{owner}/{repo}/git/refs/{ref}:+ get:+ operationId: repoListGitRefs+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: part or full name of the ref+ in: path+ name: ref+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Reference'+ type: array+ description: ReferenceList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get specified ref or filtered repository's refs+ tags:+ - repository+ /repos/{owner}/{repo}/git/tags/{sha}:+ get:+ operationId: GetAnnotatedTag+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "sha of the tag. The Git tags API only supports annotated tag\+ \ objects, not lightweight tags."+ in: path+ name: sha+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/AnnotatedTag'+ description: AnnotatedTag+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Gets the tag object of an annotated tag (not lightweight tags)+ tags:+ - repository+ /repos/{owner}/{repo}/git/trees/{sha}:+ get:+ operationId: GetTree+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: sha of the commit+ in: path+ name: sha+ required: true+ schema:+ type: string+ - description: show all directories and files+ in: query+ name: recursive+ schema:+ type: boolean+ - description: "page number; the 'truncated' field in the response will be true\+ \ if there are still more items after this page, false if the last page"+ in: query+ name: page+ schema:+ type: integer+ - description: number of items per page+ in: query+ name: per_page+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitTreeResponse'+ description: GitTreeResponse+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Gets the tree of a repository.+ tags:+ - repository+ /repos/{owner}/{repo}/hooks:+ get:+ operationId: repoListHooks+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Hook'+ type: array+ description: HookList+ summary: List the hooks in a repository+ tags:+ - repository+ post:+ operationId: repoCreateHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateHookOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Create a hook+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/hooks/git:+ get:+ operationId: repoListGitHooks+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/GitHook'+ type: array+ description: GitHookList+ summary: List the Git hooks in a repository+ tags:+ - repository+ /repos/{owner}/{repo}/hooks/git/{id}:+ delete:+ operationId: repoDeleteGitHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the hook to get+ in: path+ name: id+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a Git hook in a repository+ tags:+ - repository+ get:+ operationId: repoGetGitHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the hook to get+ in: path+ name: id+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitHook'+ description: GitHook+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a Git hook+ tags:+ - repository+ patch:+ operationId: repoEditGitHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the hook to get+ in: path+ name: id+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditGitHookOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/EditGitHookOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitHook'+ description: GitHook+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Edit a Git hook in a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/hooks/{id}:+ delete:+ operationId: repoDeleteHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the hook to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a hook in a repository+ tags:+ - repository+ get:+ operationId: repoGetHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the hook to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a hook+ tags:+ - repository+ patch:+ operationId: repoEditHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the hook+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditHookOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/EditHookOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ summary: Edit a hook in a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/hooks/{id}/tests:+ post:+ operationId: repoTestHook+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the hook to test+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: "The name of the commit/branch/tag, indicates which commit will\+ \ be loaded to the webhook payload."+ in: query+ name: ref+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Test a push webhook+ tags:+ - repository+ /repos/{owner}/{repo}/issue_templates:+ get:+ operationId: repoGetIssueTemplates+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/IssueTemplate'+ type: array+ description: IssueTemplates+ summary: Get available issue templates for a repository+ tags:+ - repository+ /repos/{owner}/{repo}/issues:+ get:+ operationId: issueListIssues+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: whether issue is open or closed+ in: query+ name: state+ schema:+ enum:+ - closed+ - open+ - all+ type: string+ - description: comma separated list of labels. Fetch only issues that have any+ of this labels. Non existent labels are discarded+ in: query+ name: labels+ schema:+ type: string+ - description: search string+ in: query+ name: q+ schema:+ type: string+ - description: filter by type (issues / pulls) if set+ in: query+ name: type+ schema:+ enum:+ - issues+ - pulls+ type: string+ - description: comma separated list of milestone names or ids. It uses names+ and fall back to ids. Fetch only issues that have any of this milestones.+ Non existent milestones are discarded+ in: query+ name: milestones+ schema:+ type: string+ - description: Only show items updated after the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show items updated before the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: Only show items which were created by the the given user+ in: query+ name: created_by+ schema:+ type: string+ - description: Only show items for which the given user is assigned+ in: query+ name: assigned_by+ schema:+ type: string+ - description: Only show items in which the given user was mentioned+ in: query+ name: mentioned_by+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Issue'+ type: array+ description: IssueList+ summary: List a repository's issues+ tags:+ - issue+ post:+ operationId: issueCreateIssue+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateIssueOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Issue'+ description: Issue+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "412":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: "Create an issue. If using deadline only the date will be taken into\+ \ account, and time of day ignored."+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/comments:+ get:+ operationId: issueGetRepoComments+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "if provided, only comments updated since the provided time are\+ \ returned."+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: "if provided, only comments updated before the provided time\+ \ are returned."+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Comment'+ type: array+ description: CommentList+ summary: List all comments in a repository+ tags:+ - issue+ /repos/{owner}/{repo}/issues/comments/{id}:+ delete:+ operationId: issueDeleteComment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of comment to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a comment+ tags:+ - issue+ get:+ operationId: issueGetComment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Comment'+ description: Comment+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a comment+ tags:+ - issue+ patch:+ operationId: issueEditComment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditIssueCommentOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Comment'+ description: Comment+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Edit a comment+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/comments/{id}/assets:+ get:+ operationId: issueListIssueCommentAttachments+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ description: AttachmentList+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List comment's attachments+ tags:+ - issue+ post:+ operationId: issueCreateIssueCommentAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: name of the attachment+ in: query+ name: name+ schema:+ type: string+ requestBody:+ content:+ multipart/form-data:+ schema:+ $ref: '#/components/schemas/issueCreateIssueCommentAttachment_request'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a comment attachment+ tags:+ - issue+ /repos/{owner}/{repo}/issues/comments/{id}/assets/{attachment_id}:+ delete:+ operationId: issueDeleteIssueCommentAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to delete+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a comment attachment+ tags:+ - issue+ get:+ operationId: issueGetIssueCommentAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to get+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get a comment attachment+ tags:+ - issue+ patch:+ operationId: issueEditIssueCommentAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to edit+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditAttachmentOptions'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Edit a comment attachment+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/comments/{id}/reactions:+ delete:+ operationId: issueDeleteCommentReaction+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditReactionOption'+ required: false+ responses:+ "200":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Remove a reaction from a comment of an issue+ tags:+ - issue+ x-codegen-request-body-name: content+ get:+ operationId: issueGetCommentReactions+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Reaction'+ type: array+ description: ReactionList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get a list of reactions from a comment of an issue+ tags:+ - issue+ post:+ operationId: issuePostCommentReaction+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the comment to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditReactionOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Reaction'+ description: Reaction+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Reaction'+ description: Reaction+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a reaction to a comment of an issue+ tags:+ - issue+ x-codegen-request-body-name: content+ /repos/{owner}/{repo}/issues/{index}:+ delete:+ operationId: issueDelete+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of issue to delete+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete an issue+ tags:+ - issue+ get:+ operationId: issueGetIssue+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to get+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Issue'+ description: Issue+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get an issue+ tags:+ - issue+ patch:+ operationId: issueEditIssue+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to edit+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditIssueOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Issue'+ description: Issue+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "412":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: "Edit an issue. If using deadline only the date will be taken into\+ \ account, and time of day ignored."+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/assets:+ get:+ operationId: issueListIssueAttachments+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ description: AttachmentList+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List issue's attachments+ tags:+ - issue+ post:+ operationId: issueCreateIssueAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: name of the attachment+ in: query+ name: name+ schema:+ type: string+ requestBody:+ content:+ multipart/form-data:+ schema:+ $ref: '#/components/schemas/issueCreateIssueCommentAttachment_request'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create an issue attachment+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}:+ delete:+ operationId: issueDeleteIssueAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to delete+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete an issue attachment+ tags:+ - issue+ get:+ operationId: issueGetIssueAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to get+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get an issue attachment+ tags:+ - issue+ patch:+ operationId: issueEditIssueAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to edit+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditAttachmentOptions'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "404":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Edit an issue attachment+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/comments:+ get:+ operationId: issueGetComments+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: "if provided, only comments updated since the specified time\+ \ are returned."+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: "if provided, only comments updated before the provided time\+ \ are returned."+ in: query+ name: before+ schema:+ format: date-time+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Comment'+ type: array+ description: CommentList+ summary: List all comments on an issue+ tags:+ - issue+ post:+ operationId: issueCreateComment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateIssueCommentOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Comment'+ description: Comment+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a comment to an issue+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/comments/{id}:+ delete:+ deprecated: true+ operationId: issueDeleteCommentDeprecated+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: this parameter is ignored+ in: path+ name: index+ required: true+ schema:+ type: integer+ - description: id of comment to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a comment+ tags:+ - issue+ patch:+ deprecated: true+ operationId: issueEditCommentDeprecated+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: this parameter is ignored+ in: path+ name: index+ required: true+ schema:+ type: integer+ - description: id of the comment to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditIssueCommentOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Comment'+ description: Comment+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Edit a comment+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/deadline:+ post:+ operationId: issueEditIssueDeadline+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to create or update a deadline on+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditDeadlineOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/IssueDeadline'+ description: IssueDeadline+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: "Set an issue deadline. If set to null, the deadline is deleted. If\+ \ using deadline only the date will be taken into account, and time of day\+ \ ignored."+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/labels:+ delete:+ operationId: issueClearLabels+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Remove all labels from an issue+ tags:+ - issue+ get:+ operationId: issueGetLabels+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ description: LabelList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get an issue's labels+ tags:+ - issue+ post:+ operationId: issueAddLabel+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/IssueLabelsOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ description: LabelList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a label to an issue+ tags:+ - issue+ x-codegen-request-body-name: body+ put:+ operationId: issueReplaceLabels+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/IssueLabelsOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ description: LabelList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Replace an issue's labels+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/labels/{id}:+ delete:+ operationId: issueRemoveLabel+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the label to remove+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Remove a label from an issue+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/reactions:+ delete:+ operationId: issueDeleteIssueReaction+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditReactionOption'+ required: false+ responses:+ "200":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Remove a reaction from an issue+ tags:+ - issue+ x-codegen-request-body-name: content+ get:+ operationId: issueGetIssueReactions+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Reaction'+ type: array+ description: ReactionList+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get a list reactions of an issue+ tags:+ - issue+ post:+ operationId: issuePostIssueReaction+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditReactionOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Reaction'+ description: Reaction+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Reaction'+ description: Reaction+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a reaction to an issue+ tags:+ - issue+ x-codegen-request-body-name: content+ /repos/{owner}/{repo}/issues/{index}/stopwatch/delete:+ delete:+ operationId: issueDeleteStopWatch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to stop the stopwatch on+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: "Not repo writer, user does not have rights to toggle stopwatch"+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: Cannot cancel a non existent stopwatch+ summary: Delete an issue's existing stopwatch.+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/stopwatch/start:+ post:+ operationId: issueStartStopWatch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to create the stopwatch on+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "201":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: "Not repo writer, user does not have rights to toggle stopwatch"+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: Cannot start a stopwatch again if it already exists+ summary: Start stopwatch on an issue.+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/stopwatch/stop:+ post:+ operationId: issueStopStopWatch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to stop the stopwatch on+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "201":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: "Not repo writer, user does not have rights to toggle stopwatch"+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: Cannot stop a non existent stopwatch+ summary: Stop an issue's existing stopwatch.+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/subscriptions:+ get:+ operationId: issueSubscriptions+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get users who subscribed on an issue.+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/subscriptions/check:+ get:+ operationId: issueCheckSubscription+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ description: WatchInfo+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Check if user is subscribed to an issue+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/subscriptions/{user}:+ delete:+ operationId: issueDeleteSubscription+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: user witch unsubscribe+ in: path+ name: user+ required: true+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: Already unsubscribed+ "201":+ content: {}+ description: Successfully Unsubscribed+ "304":+ content: {}+ description: User can only subscribe itself if he is no admin+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Unsubscribe user from issue+ tags:+ - issue+ put:+ operationId: issueAddSubscription+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: user to subscribe+ in: path+ name: user+ required: true+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: Already subscribed+ "201":+ content: {}+ description: Successfully Subscribed+ "304":+ content: {}+ description: User can only subscribe itself if he is no admin+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Subscribe user to issue+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/timeline:+ get:+ operationId: issueGetCommentsAndTimeline+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: "if provided, only comments updated since the specified time\+ \ are returned."+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ - description: "if provided, only comments updated before the provided time\+ \ are returned."+ in: query+ name: before+ schema:+ format: date-time+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TimelineComment'+ type: array+ description: TimelineList+ summary: List all comments and events on an issue+ tags:+ - issue+ /repos/{owner}/{repo}/issues/{index}/times:+ delete:+ operationId: issueResetTime+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue to add tracked time to+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Reset a tracked time of an issue+ tags:+ - issue+ get:+ operationId: issueTrackedTimes+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: optional filter by user (available for issue managers)+ in: query+ name: user+ schema:+ type: string+ - description: Only show times updated after the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show times updated before the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TrackedTime'+ type: array+ description: TrackedTimeList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: List an issue's tracked times+ tags:+ - issue+ post:+ operationId: issueAddTime+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/AddTimeOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/TrackedTime'+ description: TrackedTime+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add tracked time to a issue+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/issues/{index}/times/{id}:+ delete:+ operationId: issueDeleteTime+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the issue+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of time to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete specific tracked time+ tags:+ - issue+ /repos/{owner}/{repo}/keys:+ get:+ operationId: repoListKeys+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: the key_id to search for+ in: query+ name: key_id+ schema:+ type: integer+ - description: fingerprint of the key+ in: query+ name: fingerprint+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/DeployKey'+ type: array+ description: DeployKeyList+ summary: List a repository's keys+ tags:+ - repository+ post:+ operationId: repoCreateKey+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateKeyOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/DeployKey'+ description: DeployKey+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a key to a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/keys/{id}:+ delete:+ operationId: repoDeleteKey+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the key to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a key from a repository+ tags:+ - repository+ get:+ operationId: repoGetKey+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the key to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/DeployKey'+ description: DeployKey+ summary: Get a repository's key by id+ tags:+ - repository+ /repos/{owner}/{repo}/labels:+ get:+ operationId: issueListLabels+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ description: LabelList+ summary: Get all of a repository's labels+ tags:+ - issue+ post:+ operationId: issueCreateLabel+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateLabelOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a label+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/labels/{id}:+ delete:+ operationId: issueDeleteLabel+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the label to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a label+ tags:+ - issue+ get:+ operationId: issueGetLabel+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the label to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ summary: Get a single label+ tags:+ - issue+ patch:+ operationId: issueEditLabel+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the label to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditLabelOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Update a label+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/languages:+ get:+ operationId: repoGetLanguages+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ additionalProperties:+ format: int64+ type: integer+ type: object+ description: LanguageStatistics+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get languages and number of bytes of code written+ tags:+ - repository+ /repos/{owner}/{repo}/media/{filepath}:+ get:+ operationId: repoGetRawFileOrLFS+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: filepath of the file to get+ in: path+ name: filepath+ required: true+ schema:+ type: string+ - description: The name of the commit/branch/tag. Default the repository’s default+ branch (usually master)+ in: query+ name: ref+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: Returns raw file content.+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a file or it's LFS object from a repository+ tags:+ - repository+ /repos/{owner}/{repo}/milestones:+ get:+ operationId: issueGetMilestonesList+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "Milestone state, Recognized values are open, closed and all.\+ \ Defaults to \"open\""+ in: query+ name: state+ schema:+ type: string+ - description: filter by milestone name+ in: query+ name: name+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Milestone'+ type: array+ description: MilestoneList+ summary: Get all of a repository's opened milestones+ tags:+ - issue+ post:+ operationId: issueCreateMilestone+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateMilestoneOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Milestone'+ description: Milestone+ summary: Create a milestone+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/milestones/{id}:+ delete:+ operationId: issueDeleteMilestone+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "the milestone to delete, identified by ID and if not available\+ \ by name"+ in: path+ name: id+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a milestone+ tags:+ - issue+ get:+ operationId: issueGetMilestone+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "the milestone to get, identified by ID and if not available\+ \ by name"+ in: path+ name: id+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Milestone'+ description: Milestone+ summary: Get a milestone+ tags:+ - issue+ patch:+ operationId: issueEditMilestone+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "the milestone to edit, identified by ID and if not available\+ \ by name"+ in: path+ name: id+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditMilestoneOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Milestone'+ description: Milestone+ summary: Update a milestone+ tags:+ - issue+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/mirror-sync:+ post:+ operationId: repoMirrorSync+ parameters:+ - description: owner of the repo to sync+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to sync+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Sync a mirrored repository+ tags:+ - repository+ /repos/{owner}/{repo}/notifications:+ get:+ operationId: notifyGetRepoList+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "If true, show notifications marked as read. Default value is\+ \ false"+ in: query+ name: all+ schema:+ type: boolean+ - description: "Show notifications with the provided status types. Options are:\+ \ unread, read and/or pinned. Defaults to unread & pinned"+ explode: true+ in: query+ name: status-types+ schema:+ items:+ type: string+ type: array+ style: form+ - description: filter notifications by subject type+ explode: true+ in: query+ name: subject-type+ schema:+ items:+ enum:+ - issue+ - pull+ - commit+ - repository+ type: string+ type: array+ style: form+ - description: Only show notifications updated after the given time. This is+ a timestamp in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show notifications updated before the given time. This is+ a timestamp in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/NotificationThread'+ type: array+ description: NotificationThreadList+ summary: List users's notification threads on a specific repo+ tags:+ - notification+ put:+ operationId: notifyReadRepoList+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "If true, mark all notifications on this repo. Default value\+ \ is false"+ in: query+ name: all+ schema:+ type: string+ - description: "Mark notifications with the provided status types. Options are:\+ \ unread, read and/or pinned. Defaults to unread."+ explode: true+ in: query+ name: status-types+ schema:+ items:+ type: string+ type: array+ style: form+ - description: Status to mark notifications as. Defaults to read.+ in: query+ name: to-status+ schema:+ type: string+ - description: Describes the last point that notifications were checked. Anything+ updated since this time will not be updated.+ in: query+ name: last_read_at+ schema:+ format: date-time+ type: string+ responses:+ "205":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/NotificationThread'+ type: array+ description: NotificationThreadList+ summary: "Mark notification threads as read, pinned or unread on a specific\+ \ repo"+ tags:+ - notification+ /repos/{owner}/{repo}/pulls:+ get:+ operationId: repoListPullRequests+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "State of pull request: open or closed (optional)"+ in: query+ name: state+ schema:+ enum:+ - closed+ - open+ - all+ type: string+ - description: Type of sort+ in: query+ name: sort+ schema:+ enum:+ - oldest+ - recentupdate+ - leastupdate+ - mostcomment+ - leastcomment+ - priority+ type: string+ - description: ID of the milestone+ in: query+ name: milestone+ schema:+ format: int64+ type: integer+ - description: Label IDs+ explode: true+ in: query+ name: labels+ schema:+ items:+ format: int64+ type: integer+ type: array+ style: form+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullRequest'+ type: array+ description: PullRequestList+ summary: List a repo's pull requests+ tags:+ - repository+ post:+ operationId: repoCreatePullRequest+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreatePullRequestOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullRequest'+ description: PullRequest+ "409":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}:+ get:+ operationId: repoGetPullRequest+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to get+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullRequest'+ description: PullRequest+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a pull request+ tags:+ - repository+ patch:+ operationId: repoEditPullRequest+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to edit+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditPullRequestOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullRequest'+ description: PullRequest+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "409":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "412":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: "Update a pull request. If using deadline only the date will be taken\+ \ into account, and time of day ignored."+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}.{diffType}:+ get:+ operationId: repoDownloadPullDiffOrPatch+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to get+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: whether the output is diff or patch+ in: path+ name: diffType+ required: true+ schema:+ enum:+ - diff+ - patch+ type: string+ - description: "whether to include binary file changes. if true, the diff is\+ \ applicable with `git apply`"+ in: query+ name: binary+ schema:+ type: boolean+ responses:+ "200":+ content:+ text/plain:+ schema:+ type: string+ description: APIString is a string response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a pull request diff or patch+ tags:+ - repository+ /repos/{owner}/{repo}/pulls/{index}/commits:+ get:+ operationId: repoGetPullRequestCommits+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to get+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Commit'+ type: array+ description: CommitList+ headers:+ X-HasMore:+ description: True if there is another page+ schema:+ type: boolean+ X-PageCount:+ description: Total number of pages+ schema:+ format: int64+ type: integer+ X-PerPage:+ description: Commits per page+ schema:+ format: int64+ type: integer+ X-Total:+ description: Total commit count+ schema:+ format: int64+ type: integer+ X-Page:+ description: The current page+ schema:+ format: int64+ type: integer+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get commits for a pull request+ tags:+ - repository+ /repos/{owner}/{repo}/pulls/{index}/files:+ get:+ operationId: repoGetPullRequestFiles+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to get+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: skip to given file+ in: query+ name: skip-to+ schema:+ type: string+ - description: whitespace behavior+ in: query+ name: whitespace+ schema:+ enum:+ - ignore-all+ - ignore-change+ - ignore-eol+ - show-all+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/ChangedFile'+ type: array+ description: ChangedFileList+ headers:+ X-HasMore:+ description: True if there is another page+ schema:+ type: boolean+ X-PageCount:+ description: Total number of pages+ schema:+ format: int64+ type: integer+ X-PerPage:+ description: Commits per page+ schema:+ format: int64+ type: integer+ X-Total:+ description: Total commit count+ schema:+ format: int64+ type: integer+ X-Page:+ description: The current page+ schema:+ format: int64+ type: integer+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get changed files for a pull request+ tags:+ - repository+ /repos/{owner}/{repo}/pulls/{index}/merge:+ delete:+ operationId: repoCancelScheduledAutoMerge+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to merge+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Cancel the scheduled auto merge for the given pull request+ tags:+ - repository+ get:+ operationId: repoPullRequestIsMerged+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: pull request has been merged+ "404":+ content: {}+ description: pull request has not been merged+ summary: Check if a pull request has been merged+ tags:+ - repository+ post:+ operationId: repoMergePullRequest+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to merge+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/MergePullRequestOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/MergePullRequestOption'+ required: false+ responses:+ "200":+ content: {}+ description: APIEmpty is an empty response+ "405":+ content: {}+ description: APIEmpty is an empty response+ "409":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Merge a pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}/requested_reviewers:+ delete:+ operationId: repoDeletePullReviewRequests+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReviewRequestOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/PullReviewRequestOptions'+ required: true+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: cancel review requests for a pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ post:+ operationId: repoCreatePullReviewRequests+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReviewRequestOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/PullReviewRequestOptions'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullReview'+ type: array+ description: PullReviewList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: create review requests for a pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}/reviews:+ get:+ operationId: repoListPullReviews+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullReview'+ type: array+ description: PullReviewList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: List all reviews for a pull request+ tags:+ - repository+ post:+ operationId: repoCreatePullReview+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreatePullReviewOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreatePullReviewOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReview'+ description: PullReview+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a review to an pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}/reviews/{id}:+ delete:+ operationId: repoDeletePullReview+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the review+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a specific review from a pull request+ tags:+ - repository+ get:+ operationId: repoGetPullReview+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the review+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReview'+ description: PullReview+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a specific review for a pull request+ tags:+ - repository+ post:+ operationId: repoSubmitPullReview+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the review+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/SubmitPullReviewOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/SubmitPullReviewOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReview'+ description: PullReview+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Submit a pending review to an pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}/reviews/{id}/comments:+ get:+ operationId: repoGetPullReviewComments+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the review+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullReviewComment'+ type: array+ description: PullCommentList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a specific review for a pull request+ tags:+ - repository+ /repos/{owner}/{repo}/pulls/{index}/reviews/{id}/dismissals:+ post:+ operationId: repoDismissPullReview+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the review+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/DismissPullReviewOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/DismissPullReviewOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReview'+ description: PullReview+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Dismiss a review for a pull request+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/pulls/{index}/reviews/{id}/undismissals:+ post:+ operationId: repoUnDismissPullReview+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the review+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReview'+ description: PullReview+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Cancel to dismiss a review for a pull request+ tags:+ - repository+ /repos/{owner}/{repo}/pulls/{index}/update:+ post:+ operationId: repoUpdatePullRequest+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: index of the pull request to get+ in: path+ name: index+ required: true+ schema:+ format: int64+ type: integer+ - description: how to update pull request+ in: query+ name: style+ schema:+ enum:+ - merge+ - rebase+ type: string+ responses:+ "200":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Merge PR's baseBranch into headBranch+ tags:+ - repository+ /repos/{owner}/{repo}/push_mirrors:+ get:+ operationId: repoListPushMirrors+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PushMirror'+ type: array+ description: PushMirrorList+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get all push mirrors of the repository+ tags:+ - repository+ post:+ operationId: repoAddPushMirror+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreatePushMirrorOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PushMirror'+ description: PushMirror+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: add a push mirror to the repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/push_mirrors-sync:+ post:+ operationId: repoPushMirrorSync+ parameters:+ - description: owner of the repo to sync+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to sync+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: APIEmpty is an empty response+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Sync all push mirrored repository+ tags:+ - repository+ /repos/{owner}/{repo}/push_mirrors/{name}:+ delete:+ operationId: repoDeletePushMirror+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: remote name of the pushMirror+ in: path+ name: name+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: deletes a push mirror from a repository by remoteName+ tags:+ - repository+ get:+ operationId: repoGetPushMirrorByRemoteName+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: remote name of push mirror+ in: path+ name: name+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PushMirror'+ description: PushMirror+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get push mirror of the repository by remoteName+ tags:+ - repository+ /repos/{owner}/{repo}/raw/{filepath}:+ get:+ operationId: repoGetRawFile+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: filepath of the file to get+ in: path+ name: filepath+ required: true+ schema:+ type: string+ - description: The name of the commit/branch/tag. Default the repository’s default+ branch (usually master)+ in: query+ name: ref+ schema:+ type: string+ responses:+ "200":+ content: {}+ description: Returns raw file content.+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a file from a repository+ tags:+ - repository+ /repos/{owner}/{repo}/releases:+ get:+ operationId: repoListReleases+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: "filter (exclude / include) drafts, if you dont have repo write\+ \ access none will show"+ in: query+ name: draft+ schema:+ type: boolean+ - description: filter (exclude / include) pre-releases+ in: query+ name: pre-release+ schema:+ type: boolean+ - description: "page size of results, deprecated - use limit"+ in: query+ name: per_page+ schema:+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Release'+ type: array+ description: ReleaseList+ summary: List a repo's releases+ tags:+ - repository+ post:+ operationId: repoCreateRelease+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateReleaseOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Release'+ description: Release+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a release+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/releases/latest:+ get:+ operationId: repoGetLatestRelease+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Release'+ description: Release+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: "Gets the most recent non-prerelease, non-draft release of a repository,\+ \ sorted by created_at"+ tags:+ - repository+ /repos/{owner}/{repo}/releases/tags/{tag}:+ delete:+ operationId: repoDeleteReleaseByTag+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: tag name of the release to delete+ in: path+ name: tag+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "405":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a release by tag name+ tags:+ - repository+ get:+ operationId: repoGetReleaseByTag+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: tag name of the release to get+ in: path+ name: tag+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Release'+ description: Release+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a release by tag name+ tags:+ - repository+ /repos/{owner}/{repo}/releases/{id}:+ delete:+ operationId: repoDeleteRelease+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "405":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a release+ tags:+ - repository+ get:+ operationId: repoGetRelease+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Release'+ description: Release+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a release+ tags:+ - repository+ patch:+ operationId: repoEditRelease+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release to edit+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditReleaseOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Release'+ description: Release+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Update a release+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/releases/{id}/assets:+ get:+ operationId: repoListReleaseAttachments+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ description: AttachmentList+ summary: List release's attachments+ tags:+ - repository+ post:+ operationId: repoCreateReleaseAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: name of the attachment+ in: query+ name: name+ schema:+ type: string+ requestBody:+ content:+ multipart/form-data:+ schema:+ $ref: '#/components/schemas/issueCreateIssueCommentAttachment_request'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a release attachment+ tags:+ - repository+ /repos/{owner}/{repo}/releases/{id}/assets/{attachment_id}:+ delete:+ operationId: repoDeleteReleaseAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to delete+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Delete a release attachment+ tags:+ - repository+ get:+ operationId: repoGetReleaseAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to get+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ summary: Get a release attachment+ tags:+ - repository+ patch:+ operationId: repoEditReleaseAttachment+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: id of the release+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: id of the attachment to edit+ in: path+ name: attachment_id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditAttachmentOptions'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ summary: Edit a release attachment+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/reviewers:+ get:+ operationId: repoGetReviewers+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: Return all users that can be requested to review in this repo+ tags:+ - repository+ /repos/{owner}/{repo}/signing-key.gpg:+ get:+ operationId: repoSigningKey+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ text/plain:+ schema:+ type: string+ description: GPG armored public key+ summary: Get signing-key.gpg for given repository+ tags:+ - repository+ /repos/{owner}/{repo}/stargazers:+ get:+ operationId: repoListStargazers+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List a repo's stargazers+ tags:+ - repository+ /repos/{owner}/{repo}/statuses/{sha}:+ get:+ operationId: repoListStatuses+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: sha of the commit+ in: path+ name: sha+ required: true+ schema:+ type: string+ - description: type of sort+ in: query+ name: sort+ schema:+ enum:+ - oldest+ - recentupdate+ - leastupdate+ - leastindex+ - highestindex+ type: string+ - description: type of state+ in: query+ name: state+ schema:+ enum:+ - pending+ - success+ - error+ - failure+ - warning+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/CommitStatus'+ type: array+ description: CommitStatusList+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Get a commit's statuses+ tags:+ - repository+ post:+ operationId: repoCreateStatus+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: sha of the commit+ in: path+ name: sha+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateStatusOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreateStatusOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CommitStatus'+ description: CommitStatus+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a commit status+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/subscribers:+ get:+ operationId: repoListSubscribers+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List a repo's watchers+ tags:+ - repository+ /repos/{owner}/{repo}/subscription:+ delete:+ operationId: userCurrentDeleteSubscription+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Unwatch a repo+ tags:+ - repository+ get:+ operationId: userCurrentCheckSubscription+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ text/html:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ description: WatchInfo+ "404":+ content: {}+ description: User is not watching this repo or repo do not exist+ summary: Check if the current user is watching a repo+ tags:+ - repository+ put:+ operationId: userCurrentPutSubscription+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ text/html:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ description: WatchInfo+ summary: Watch a repo+ tags:+ - repository+ /repos/{owner}/{repo}/tags:+ get:+ operationId: repoListTags+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: "page size of results, default maximum page size is 50"+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Tag'+ type: array+ description: TagList+ summary: List a repository's tags+ tags:+ - repository+ post:+ operationId: repoCreateTag+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateTagOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreateTagOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Tag'+ description: Tag+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "405":+ content: {}+ description: APIEmpty is an empty response+ "409":+ content: {}+ description: APIConflict is a conflict empty response+ summary: Create a new git tag in a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/tags/{tag}:+ delete:+ operationId: repoDeleteTag+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of tag to delete+ in: path+ name: tag+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "405":+ content: {}+ description: APIEmpty is an empty response+ "409":+ content: {}+ description: APIConflict is a conflict empty response+ summary: Delete a repository's tag by name+ tags:+ - repository+ get:+ operationId: repoGetTag+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of tag+ in: path+ name: tag+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Tag'+ description: Tag+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get the tag of a repository by tag name+ tags:+ - repository+ /repos/{owner}/{repo}/teams:+ get:+ operationId: repoListTeams+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ description: TeamList+ summary: List a repository's teams+ tags:+ - repository+ /repos/{owner}/{repo}/teams/{team}:+ delete:+ operationId: repoDeleteTeam+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: team name+ in: path+ name: team+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "405":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Delete a team from a repository+ tags:+ - repository+ get:+ operationId: repoCheckTeam+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: team name+ in: path+ name: team+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Team'+ description: Team+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "405":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Check if a team is assigned to a repository+ tags:+ - repository+ put:+ operationId: repoAddTeam+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: team name+ in: path+ name: team+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "405":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a team to a repository+ tags:+ - repository+ /repos/{owner}/{repo}/times:+ get:+ operationId: repoTrackedTimes+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: optional filter by user (available for issue managers)+ in: query+ name: user+ schema:+ type: string+ - description: Only show times updated after the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show times updated before the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TrackedTime'+ type: array+ description: TrackedTimeList+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List a repo's tracked times+ tags:+ - repository+ /repos/{owner}/{repo}/times/{user}:+ get:+ deprecated: true+ operationId: userTrackedTimes+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: username of user+ in: path+ name: user+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TrackedTime'+ type: array+ description: TrackedTimeList+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: List a user's tracked times in a repo+ tags:+ - repository+ /repos/{owner}/{repo}/topics:+ get:+ operationId: repoListTopics+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/TopicName'+ description: TopicNames+ summary: Get list of topics that a repository has+ tags:+ - repository+ put:+ operationId: repoUpdateTopics+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/RepoTopicOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/RepoTopicOptions'+ required: false+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "422":+ content: {}+ description: APIInvalidTopicsError is error format response to invalid topics+ headers:+ invalidTopics:+ schema:+ items:+ type: string+ type: array+ message:+ schema:+ type: string+ summary: Replace list of topics for a repository+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/topics/{topic}:+ delete:+ operationId: repoDeleteTopic+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of the topic to delete+ in: path+ name: topic+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "422":+ content: {}+ description: APIInvalidTopicsError is error format response to invalid topics+ headers:+ invalidTopics:+ schema:+ items:+ type: string+ type: array+ message:+ schema:+ type: string+ summary: Delete a topic from a repository+ tags:+ - repository+ put:+ operationId: repoAddTopic+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of the topic to add+ in: path+ name: topic+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "422":+ content: {}+ description: APIInvalidTopicsError is error format response to invalid topics+ headers:+ invalidTopics:+ schema:+ items:+ type: string+ type: array+ message:+ schema:+ type: string+ summary: Add a topic to a repository+ tags:+ - repository+ /repos/{owner}/{repo}/transfer:+ post:+ operationId: repoTransfer+ parameters:+ - description: owner of the repo to transfer+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to transfer+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/TransferRepoOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/TransferRepoOption'+ description: Transfer Options+ required: true+ responses:+ "202":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Transfer a repo ownership+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/transfer/accept:+ post:+ operationId: acceptRepoTransfer+ parameters:+ - description: owner of the repo to transfer+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to transfer+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "202":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Accept a repo transfer+ tags:+ - repository+ /repos/{owner}/{repo}/transfer/reject:+ post:+ operationId: rejectRepoTransfer+ parameters:+ - description: owner of the repo to transfer+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to transfer+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Reject a repo transfer+ tags:+ - repository+ /repos/{owner}/{repo}/wiki/new:+ post:+ operationId: repoCreateWikiPage+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateWikiPageOptions'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WikiPage'+ text/html:+ schema:+ $ref: '#/components/schemas/WikiPage'+ description: WikiPage+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a wiki page+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/wiki/page/{pageName}:+ delete:+ operationId: repoDeleteWikiPage+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of the page+ in: path+ name: pageName+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a wiki page+ tags:+ - repository+ get:+ operationId: repoGetWikiPage+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of the page+ in: path+ name: pageName+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WikiPage'+ description: WikiPage+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a wiki page+ tags:+ - repository+ patch:+ operationId: repoEditWikiPage+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of the page+ in: path+ name: pageName+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateWikiPageOptions'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WikiPage'+ text/html:+ schema:+ $ref: '#/components/schemas/WikiPage'+ description: WikiPage+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Edit a wiki page+ tags:+ - repository+ x-codegen-request-body-name: body+ /repos/{owner}/{repo}/wiki/pages:+ get:+ operationId: repoGetWikiPages+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/WikiPageMetaData'+ type: array+ description: WikiPageList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get all wiki pages+ tags:+ - repository+ /repos/{owner}/{repo}/wiki/revisions/{pageName}:+ get:+ operationId: repoGetWikiPageRevisions+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ - description: name of the page+ in: path+ name: pageName+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WikiCommitList'+ description: WikiCommitList+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get revisions of a wiki page+ tags:+ - repository+ /repos/{template_owner}/{template_repo}/generate:+ post:+ operationId: generateRepo+ parameters:+ - description: name of the template repository owner+ in: path+ name: template_owner+ required: true+ schema:+ type: string+ - description: name of the template repository+ in: path+ name: template_repo+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GenerateRepoOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "409":+ content: {}+ description: The repository with the same name already exists.+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a repository using a template+ tags:+ - repository+ x-codegen-request-body-name: body+ /repositories/{id}:+ get:+ operationId: repoGetByID+ parameters:+ - description: id of the repo to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ summary: Get a repository by id+ tags:+ - repository+ /settings/api:+ get:+ operationId: getGeneralAPISettings+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralAPISettings'+ description: GeneralAPISettings+ summary: Get instance's global settings for api+ tags:+ - settings+ /settings/attachment:+ get:+ operationId: getGeneralAttachmentSettings+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralAttachmentSettings'+ description: GeneralAttachmentSettings+ summary: Get instance's global settings for Attachment+ tags:+ - settings+ /settings/repository:+ get:+ operationId: getGeneralRepositorySettings+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralRepoSettings'+ description: GeneralRepoSettings+ summary: Get instance's global settings for repositories+ tags:+ - settings+ /settings/ui:+ get:+ operationId: getGeneralUISettings+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralUISettings'+ description: GeneralUISettings+ summary: Get instance's global settings for ui+ tags:+ - settings+ /signing-key.gpg:+ get:+ operationId: getSigningKey+ responses:+ "200":+ content:+ text/plain:+ schema:+ type: string+ description: GPG armored public key+ summary: Get default signing-key.gpg+ tags:+ - miscellaneous+ /teams/{id}:+ delete:+ operationId: orgDeleteTeam+ parameters:+ - description: id of the team to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: team deleted+ summary: Delete a team+ tags:+ - organization+ get:+ operationId: orgGetTeam+ parameters:+ - description: id of the team to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Team'+ description: Team+ summary: Get a team+ tags:+ - organization+ patch:+ operationId: orgEditTeam+ parameters:+ - description: id of the team to edit+ in: path+ name: id+ required: true+ schema:+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/EditTeamOption'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Team'+ description: Team+ summary: Edit a team+ tags:+ - organization+ x-codegen-request-body-name: body+ /teams/{id}/members:+ get:+ operationId: orgListTeamMembers+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List a team's members+ tags:+ - organization+ /teams/{id}/members/{username}:+ delete:+ operationId: orgRemoveTeamMember+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: username of the user to remove+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Remove a team member+ tags:+ - organization+ get:+ operationId: orgListTeamMember+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: username of the member to list+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/User'+ description: User+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: List a particular member of team+ tags:+ - organization+ put:+ operationId: orgAddTeamMember+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: username of the user to add+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Add a team member+ tags:+ - organization+ /teams/{id}/repos:+ get:+ operationId: orgListTeamRepos+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List a team's repos+ tags:+ - organization+ /teams/{id}/repos/{org}/{repo}:+ delete:+ description: "This does not delete the repository, it only removes the repository\+ \ from the team."+ operationId: orgRemoveTeamRepository+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: organization that owns the repo to remove+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: name of the repo to remove+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Remove a repository from a team+ tags:+ - organization+ get:+ operationId: orgListTeamRepo+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: organization that owns the repo to list+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: name of the repo to list+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: List a particular repo of team+ tags:+ - organization+ put:+ operationId: orgAddTeamRepository+ parameters:+ - description: id of the team+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ - description: organization that owns the repo to add+ in: path+ name: org+ required: true+ schema:+ type: string+ - description: name of the repo to add+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add a repository to a team+ tags:+ - organization+ /topics/search:+ get:+ operationId: topicSearch+ parameters:+ - description: keywords to search+ in: query+ name: q+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TopicResponse'+ type: array+ description: TopicListResponse+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: search topics via keyword+ tags:+ - repository+ /user:+ get:+ operationId: userGetCurrent+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/User'+ description: User+ summary: Get the authenticated user+ tags:+ - user+ /user/applications/oauth2:+ get:+ operationId: userGetOauth2Application+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/OAuth2Application'+ type: array+ description: OAuth2ApplicationList represents a list of OAuth2 applications.+ summary: List the authenticated user's oauth2 applications+ tags:+ - user+ post:+ operationId: userCreateOAuth2Application+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateOAuth2ApplicationOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreateOAuth2ApplicationOptions'+ required: true+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/OAuth2Application'+ description: OAuth2Application+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: creates a new OAuth2 application+ tags:+ - user+ x-codegen-request-body-name: body+ /user/applications/oauth2/{id}:+ delete:+ operationId: userDeleteOAuth2Application+ parameters:+ - description: token to be deleted+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: delete an OAuth2 Application+ tags:+ - user+ get:+ operationId: userGetOAuth2Application+ parameters:+ - description: Application ID to be found+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/OAuth2Application'+ description: OAuth2Application+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: get an OAuth2 Application+ tags:+ - user+ patch:+ operationId: userUpdateOAuth2Application+ parameters:+ - description: application to be updated+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateOAuth2ApplicationOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreateOAuth2ApplicationOptions'+ required: true+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/OAuth2Application'+ description: OAuth2Application+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: "update an OAuth2 Application, this includes regenerating the client\+ \ secret"+ tags:+ - user+ x-codegen-request-body-name: body+ /user/emails:+ delete:+ operationId: userDeleteEmail+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/DeleteEmailOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/DeleteEmailOption'+ required: false+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete email addresses+ tags:+ - user+ x-codegen-request-body-name: body+ get:+ operationId: userListEmails+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Email'+ type: array+ description: EmailList+ summary: List the authenticated user's email addresses+ tags:+ - user+ post:+ operationId: userAddEmail+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateEmailOption'+ text/plain:+ schema:+ $ref: '#/components/schemas/CreateEmailOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Email'+ type: array+ description: EmailList+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Add email addresses+ tags:+ - user+ x-codegen-request-body-name: body+ /user/followers:+ get:+ operationId: userCurrentListFollowers+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List the authenticated user's followers+ tags:+ - user+ /user/following:+ get:+ operationId: userCurrentListFollowing+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List the users that the authenticated user is following+ tags:+ - user+ /user/following/{username}:+ delete:+ operationId: userCurrentDeleteFollow+ parameters:+ - description: username of user to unfollow+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Unfollow a user+ tags:+ - user+ get:+ operationId: userCurrentCheckFollowing+ parameters:+ - description: username of followed user+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Check whether a user is followed by the authenticated user+ tags:+ - user+ put:+ operationId: userCurrentPutFollow+ parameters:+ - description: username of user to follow+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Follow a user+ tags:+ - user+ /user/gpg_key_token:+ get:+ operationId: getVerificationToken+ responses:+ "200":+ content:+ text/plain:+ schema:+ type: string+ description: APIString is a string response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a Token to verify+ tags:+ - user+ /user/gpg_key_verify:+ post:+ operationId: userVerifyGPGKey+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GPGKey'+ description: GPGKey+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Verify a GPG key+ tags:+ - user+ /user/gpg_keys:+ get:+ operationId: userCurrentListGPGKeys+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/GPGKey'+ type: array+ description: GPGKeyList+ summary: List the authenticated user's GPG keys+ tags:+ - user+ post:+ operationId: userCurrentPostGPGKey+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateGPGKeyOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GPGKey'+ description: GPGKey+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a GPG key+ tags:+ - user+ x-codegen-request-body-name: Form+ /user/gpg_keys/{id}:+ delete:+ operationId: userCurrentDeleteGPGKey+ parameters:+ - description: id of key to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Remove a GPG key+ tags:+ - user+ get:+ operationId: userCurrentGetGPGKey+ parameters:+ - description: id of key to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GPGKey'+ description: GPGKey+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a GPG key+ tags:+ - user+ /user/keys:+ get:+ operationId: userCurrentListKeys+ parameters:+ - description: fingerprint of the key+ in: query+ name: fingerprint+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PublicKey'+ type: array+ description: PublicKeyList+ summary: List the authenticated user's public keys+ tags:+ - user+ post:+ operationId: userCurrentPostKey+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateKeyOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PublicKey'+ description: PublicKey+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a public key+ tags:+ - user+ x-codegen-request-body-name: body+ /user/keys/{id}:+ delete:+ operationId: userCurrentDeleteKey+ parameters:+ - description: id of key to delete+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Delete a public key+ tags:+ - user+ get:+ operationId: userCurrentGetKey+ parameters:+ - description: id of key to get+ in: path+ name: id+ required: true+ schema:+ format: int64+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PublicKey'+ description: PublicKey+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a public key+ tags:+ - user+ /user/orgs:+ get:+ operationId: orgListCurrentUserOrgs+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Organization'+ type: array+ description: OrganizationList+ summary: List the current user's organizations+ tags:+ - organization+ /user/repos:+ get:+ operationId: userCurrentListRepos+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List the repos that the authenticated user owns+ tags:+ - user+ post:+ operationId: createCurrentUserRepo+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateRepoOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "409":+ content: {}+ description: The repository with the same name already exists.+ "422":+ content: {}+ description: APIValidationError is error format response related to input+ validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create a repository+ tags:+ - repository+ - user+ x-codegen-request-body-name: body+ /user/settings:+ get:+ operationId: getUserSettings+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/UserSettings'+ type: array+ description: UserSettings+ summary: Get user settings+ tags:+ - user+ patch:+ operationId: updateUserSettings+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/UserSettingsOptions'+ text/plain:+ schema:+ $ref: '#/components/schemas/UserSettingsOptions'+ required: false+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/UserSettings'+ type: array+ description: UserSettings+ summary: Update user settings+ tags:+ - user+ x-codegen-request-body-name: body+ /user/starred:+ get:+ operationId: userCurrentListStarred+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: The repos that the authenticated user has starred+ tags:+ - user+ /user/starred/{owner}/{repo}:+ delete:+ operationId: userCurrentDeleteStar+ parameters:+ - description: owner of the repo to unstar+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to unstar+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Unstar the given repo+ tags:+ - user+ get:+ operationId: userCurrentCheckStarring+ parameters:+ - description: owner of the repo+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Whether the authenticated is starring the repo+ tags:+ - user+ put:+ operationId: userCurrentPutStar+ parameters:+ - description: owner of the repo to star+ in: path+ name: owner+ required: true+ schema:+ type: string+ - description: name of the repo to star+ in: path+ name: repo+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ summary: Star the given repo+ tags:+ - user+ /user/stopwatches:+ get:+ operationId: userGetStopWatches+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/StopWatch'+ type: array+ description: StopWatchList+ summary: Get list of all existing stopwatches+ tags:+ - user+ /user/subscriptions:+ get:+ operationId: userCurrentListSubscriptions+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List repositories watched by the authenticated user+ tags:+ - user+ /user/teams:+ get:+ operationId: userListTeams+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ description: TeamList+ summary: List all the teams a user belongs to+ tags:+ - user+ /user/times:+ get:+ operationId: userCurrentTrackedTimes+ parameters:+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ - description: Only show times updated after the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: since+ schema:+ format: date-time+ type: string+ - description: Only show times updated before the given time. This is a timestamp+ in RFC 3339 format+ in: query+ name: before+ schema:+ format: date-time+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TrackedTime'+ type: array+ description: TrackedTimeList+ summary: List the current user's tracked times+ tags:+ - user+ /users/search:+ get:+ operationId: userSearch+ parameters:+ - description: keyword+ in: query+ name: q+ schema:+ type: string+ - description: ID of the user to search for+ in: query+ name: uid+ schema:+ format: int64+ type: integer+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/userSearch_200_response'+ description: SearchResults of a successful search+ summary: Search for users+ tags:+ - user+ /users/{username}:+ get:+ operationId: userGet+ parameters:+ - description: username of user to get+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/User'+ description: User+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a user+ tags:+ - user+ /users/{username}/followers:+ get:+ operationId: userListFollowers+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List the given user's followers+ tags:+ - user+ /users/{username}/following:+ get:+ operationId: userListFollowing+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ summary: List the users that the given user is following+ tags:+ - user+ /users/{username}/following/{target}:+ get:+ operationId: userCheckFollowing+ parameters:+ - description: username of following user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: username of followed user+ in: path+ name: target+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Check if one user is following another user+ tags:+ - user+ /users/{username}/gpg_keys:+ get:+ operationId: userListGPGKeys+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/GPGKey'+ type: array+ description: GPGKeyList+ summary: List the given user's GPG keys+ tags:+ - user+ /users/{username}/heatmap:+ get:+ operationId: userGetHeatmapData+ parameters:+ - description: username of user to get+ in: path+ name: username+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/UserHeatmapData'+ type: array+ description: UserHeatmapData+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get a user's heatmap+ tags:+ - user+ /users/{username}/keys:+ get:+ operationId: userListKeys+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: fingerprint of the key+ in: query+ name: fingerprint+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PublicKey'+ type: array+ description: PublicKeyList+ summary: List the given user's public keys+ tags:+ - user+ /users/{username}/orgs:+ get:+ operationId: orgListUserOrgs+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Organization'+ type: array+ description: OrganizationList+ summary: List a user's organizations+ tags:+ - organization+ /users/{username}/orgs/{org}/permissions:+ get:+ operationId: orgGetUserPermissions+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: name of the organization+ in: path+ name: org+ required: true+ schema:+ type: string+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/OrganizationPermissions'+ description: OrganizationPermissions+ "403":+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ "404":+ content: {}+ description: APINotFound is a not found empty response+ summary: Get user permissions in organization+ tags:+ - organization+ /users/{username}/repos:+ get:+ operationId: userListRepos+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List the repos owned by the given user+ tags:+ - user+ /users/{username}/starred:+ get:+ operationId: userListStarred+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: The repos that the given user has starred+ tags:+ - user+ /users/{username}/subscriptions:+ get:+ operationId: userListSubscriptions+ parameters:+ - description: username of the user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ summary: List the repositories watched by a user+ tags:+ - user+ /users/{username}/tokens:+ get:+ operationId: userGetTokens+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: page number of results to return (1-based)+ in: query+ name: page+ schema:+ type: integer+ - description: page size of results+ in: query+ name: limit+ schema:+ type: integer+ responses:+ "200":+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/AccessToken'+ type: array+ description: AccessTokenList represents a list of API access token.+ summary: List the authenticated user's access tokens+ tags:+ - user+ post:+ operationId: userCreateToken+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ requestBody:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreateAccessTokenOption'+ required: false+ responses:+ "201":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/AccessToken'+ description: AccessToken represents an API access token.+ "400":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: Create an access token+ tags:+ - user+ x-codegen-request-body-name: body+ /users/{username}/tokens/{token}:+ delete:+ operationId: userDeleteAccessToken+ parameters:+ - description: username of user+ in: path+ name: username+ required: true+ schema:+ type: string+ - description: "token to be deleted, identified by ID and if not available by\+ \ name"+ in: path+ name: token+ required: true+ schema:+ type: string+ responses:+ "204":+ content: {}+ description: APIEmpty is an empty response+ "404":+ content: {}+ description: APINotFound is a not found empty response+ "422":+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ summary: delete an access token+ tags:+ - user+ /version:+ get:+ operationId: getVersion+ responses:+ "200":+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/ServerVersion'+ description: ServerVersion+ summary: Returns the version of the Gitea application+ tags:+ - miscellaneous+components:+ responses:+ AccessToken:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/AccessToken'+ text/html:+ schema:+ $ref: '#/components/schemas/AccessToken'+ description: AccessToken represents an API access token.+ AccessTokenList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/AccessToken'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/AccessToken'+ type: array+ description: AccessTokenList represents a list of API access token.+ ActivityPub:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/ActivityPub'+ text/html:+ schema:+ $ref: '#/components/schemas/ActivityPub'+ description: ActivityPub+ AnnotatedTag:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/AnnotatedTag'+ text/html:+ schema:+ $ref: '#/components/schemas/AnnotatedTag'+ description: AnnotatedTag+ Attachment:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Attachment'+ text/html:+ schema:+ $ref: '#/components/schemas/Attachment'+ description: Attachment+ AttachmentList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ description: AttachmentList+ Branch:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Branch'+ text/html:+ schema:+ $ref: '#/components/schemas/Branch'+ description: Branch+ BranchList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Branch'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Branch'+ type: array+ description: BranchList+ BranchProtection:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/BranchProtection'+ text/html:+ schema:+ $ref: '#/components/schemas/BranchProtection'+ description: BranchProtection+ BranchProtectionList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/BranchProtection'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/BranchProtection'+ type: array+ description: BranchProtectionList+ ChangedFileList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/ChangedFile'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/ChangedFile'+ type: array+ description: ChangedFileList+ headers:+ X-HasMore:+ description: True if there is another page+ schema:+ type: boolean+ X-PageCount:+ description: Total number of pages+ schema:+ format: int64+ type: integer+ X-PerPage:+ description: Commits per page+ schema:+ format: int64+ type: integer+ X-Total:+ description: Total commit count+ schema:+ format: int64+ type: integer+ X-Page:+ description: The current page+ schema:+ format: int64+ type: integer+ CombinedStatus:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CombinedStatus'+ text/html:+ schema:+ $ref: '#/components/schemas/CombinedStatus'+ description: CombinedStatus+ Comment:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Comment'+ text/html:+ schema:+ $ref: '#/components/schemas/Comment'+ description: Comment+ CommentList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Comment'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Comment'+ type: array+ description: CommentList+ Commit:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Commit'+ text/html:+ schema:+ $ref: '#/components/schemas/Commit'+ description: Commit+ CommitList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Commit'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Commit'+ type: array+ description: CommitList+ headers:+ X-HasMore:+ description: True if there is another page+ schema:+ type: boolean+ X-PageCount:+ description: Total number of pages+ schema:+ format: int64+ type: integer+ X-PerPage:+ description: Commits per page+ schema:+ format: int64+ type: integer+ X-Total:+ description: Total commit count+ schema:+ format: int64+ type: integer+ X-Page:+ description: The current page+ schema:+ format: int64+ type: integer+ CommitStatus:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CommitStatus'+ text/html:+ schema:+ $ref: '#/components/schemas/CommitStatus'+ description: CommitStatus+ CommitStatusList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/CommitStatus'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/CommitStatus'+ type: array+ description: CommitStatusList+ ContentsListResponse:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/ContentsResponse'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/ContentsResponse'+ type: array+ description: ContentsListResponse+ ContentsResponse:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/ContentsResponse'+ text/html:+ schema:+ $ref: '#/components/schemas/ContentsResponse'+ description: ContentsResponse+ CronList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Cron'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Cron'+ type: array+ description: CronList+ DeployKey:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/DeployKey'+ text/html:+ schema:+ $ref: '#/components/schemas/DeployKey'+ description: DeployKey+ DeployKeyList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/DeployKey'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/DeployKey'+ type: array+ description: DeployKeyList+ EmailList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Email'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Email'+ type: array+ description: EmailList+ EmptyRepository:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/APIError'+ text/html:+ schema:+ $ref: '#/components/schemas/APIError'+ description: EmptyRepository+ FileDeleteResponse:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/FileDeleteResponse'+ text/html:+ schema:+ $ref: '#/components/schemas/FileDeleteResponse'+ description: FileDeleteResponse+ FileResponse:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/FileResponse'+ text/html:+ schema:+ $ref: '#/components/schemas/FileResponse'+ description: FileResponse+ GPGKey:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GPGKey'+ text/html:+ schema:+ $ref: '#/components/schemas/GPGKey'+ description: GPGKey+ GPGKeyList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/GPGKey'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/GPGKey'+ type: array+ description: GPGKeyList+ GeneralAPISettings:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralAPISettings'+ text/html:+ schema:+ $ref: '#/components/schemas/GeneralAPISettings'+ description: GeneralAPISettings+ GeneralAttachmentSettings:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralAttachmentSettings'+ text/html:+ schema:+ $ref: '#/components/schemas/GeneralAttachmentSettings'+ description: GeneralAttachmentSettings+ GeneralRepoSettings:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralRepoSettings'+ text/html:+ schema:+ $ref: '#/components/schemas/GeneralRepoSettings'+ description: GeneralRepoSettings+ GeneralUISettings:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GeneralUISettings'+ text/html:+ schema:+ $ref: '#/components/schemas/GeneralUISettings'+ description: GeneralUISettings+ GitBlobResponse:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitBlobResponse'+ text/html:+ schema:+ $ref: '#/components/schemas/GitBlobResponse'+ description: GitBlobResponse+ GitHook:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitHook'+ text/html:+ schema:+ $ref: '#/components/schemas/GitHook'+ description: GitHook+ GitHookList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/GitHook'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/GitHook'+ type: array+ description: GitHookList+ GitTreeResponse:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/GitTreeResponse'+ text/html:+ schema:+ $ref: '#/components/schemas/GitTreeResponse'+ description: GitTreeResponse+ Hook:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Hook'+ text/html:+ schema:+ $ref: '#/components/schemas/Hook'+ description: Hook+ HookList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Hook'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Hook'+ type: array+ description: HookList+ Issue:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Issue'+ text/html:+ schema:+ $ref: '#/components/schemas/Issue'+ description: Issue+ IssueDeadline:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/IssueDeadline'+ text/html:+ schema:+ $ref: '#/components/schemas/IssueDeadline'+ description: IssueDeadline+ IssueList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Issue'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Issue'+ type: array+ description: IssueList+ IssueTemplates:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/IssueTemplate'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/IssueTemplate'+ type: array+ description: IssueTemplates+ Label:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Label'+ text/html:+ schema:+ $ref: '#/components/schemas/Label'+ description: Label+ LabelList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ description: LabelList+ LanguageStatistics:+ content:+ application/json:+ schema:+ additionalProperties:+ format: int64+ type: integer+ type: object+ text/html:+ schema:+ additionalProperties:+ format: int64+ type: integer+ type: object+ description: LanguageStatistics+ MarkdownRender:+ content:+ application/json:+ schema:+ type: string+ text/html:+ schema:+ type: string+ description: MarkdownRender is a rendered markdown document+ Milestone:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Milestone'+ text/html:+ schema:+ $ref: '#/components/schemas/Milestone'+ description: Milestone+ MilestoneList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Milestone'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Milestone'+ type: array+ description: MilestoneList+ NodeInfo:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NodeInfo'+ text/html:+ schema:+ $ref: '#/components/schemas/NodeInfo'+ description: NodeInfo+ Note:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Note'+ text/html:+ schema:+ $ref: '#/components/schemas/Note'+ description: Note+ NotificationCount:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NotificationCount'+ text/html:+ schema:+ $ref: '#/components/schemas/NotificationCount'+ description: Number of unread notifications+ NotificationThread:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/NotificationThread'+ text/html:+ schema:+ $ref: '#/components/schemas/NotificationThread'+ description: NotificationThread+ NotificationThreadList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/NotificationThread'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/NotificationThread'+ type: array+ description: NotificationThreadList+ OAuth2Application:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/OAuth2Application'+ text/html:+ schema:+ $ref: '#/components/schemas/OAuth2Application'+ description: OAuth2Application+ OAuth2ApplicationList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/OAuth2Application'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/OAuth2Application'+ type: array+ description: OAuth2ApplicationList represents a list of OAuth2 applications.+ Organization:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Organization'+ text/html:+ schema:+ $ref: '#/components/schemas/Organization'+ description: Organization+ OrganizationList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Organization'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Organization'+ type: array+ description: OrganizationList+ OrganizationPermissions:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/OrganizationPermissions'+ text/html:+ schema:+ $ref: '#/components/schemas/OrganizationPermissions'+ description: OrganizationPermissions+ Package:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Package'+ text/html:+ schema:+ $ref: '#/components/schemas/Package'+ description: Package+ PackageFileList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PackageFile'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/PackageFile'+ type: array+ description: PackageFileList+ PackageList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Package'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Package'+ type: array+ description: PackageList+ PublicKey:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PublicKey'+ text/html:+ schema:+ $ref: '#/components/schemas/PublicKey'+ description: PublicKey+ PublicKeyList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PublicKey'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/PublicKey'+ type: array+ description: PublicKeyList+ PullRequest:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullRequest'+ text/html:+ schema:+ $ref: '#/components/schemas/PullRequest'+ description: PullRequest+ PullRequestList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullRequest'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/PullRequest'+ type: array+ description: PullRequestList+ PullReview:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReview'+ text/html:+ schema:+ $ref: '#/components/schemas/PullReview'+ description: PullReview+ PullReviewComment:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PullReviewComment'+ text/html:+ schema:+ $ref: '#/components/schemas/PullReviewComment'+ description: PullComment+ PullReviewCommentList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullReviewComment'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/PullReviewComment'+ type: array+ description: PullCommentList+ PullReviewList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PullReview'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/PullReview'+ type: array+ description: PullReviewList+ PushMirror:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/PushMirror'+ text/html:+ schema:+ $ref: '#/components/schemas/PushMirror'+ description: PushMirror+ PushMirrorList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/PushMirror'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/PushMirror'+ type: array+ description: PushMirrorList+ Reaction:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Reaction'+ text/html:+ schema:+ $ref: '#/components/schemas/Reaction'+ description: Reaction+ ReactionList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Reaction'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Reaction'+ type: array+ description: ReactionList+ Reference:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Reference'+ text/html:+ schema:+ $ref: '#/components/schemas/Reference'+ description: Reference+ ReferenceList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Reference'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Reference'+ type: array+ description: ReferenceList+ Release:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Release'+ text/html:+ schema:+ $ref: '#/components/schemas/Release'+ description: Release+ ReleaseList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Release'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Release'+ type: array+ description: ReleaseList+ RepoCollaboratorPermission:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/RepoCollaboratorPermission'+ text/html:+ schema:+ $ref: '#/components/schemas/RepoCollaboratorPermission'+ description: RepoCollaboratorPermission+ Repository:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Repository'+ text/html:+ schema:+ $ref: '#/components/schemas/Repository'+ description: Repository+ RepositoryList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ description: RepositoryList+ SearchResults:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/SearchResults'+ text/html:+ schema:+ $ref: '#/components/schemas/SearchResults'+ description: SearchResults+ ServerVersion:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/ServerVersion'+ text/html:+ schema:+ $ref: '#/components/schemas/ServerVersion'+ description: ServerVersion+ StopWatch:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/StopWatch'+ text/html:+ schema:+ $ref: '#/components/schemas/StopWatch'+ description: StopWatch+ StopWatchList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/StopWatch'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/StopWatch'+ type: array+ description: StopWatchList+ StringSlice:+ content:+ application/json:+ schema:+ items:+ type: string+ type: array+ text/html:+ schema:+ items:+ type: string+ type: array+ description: StringSlice+ Tag:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Tag'+ text/html:+ schema:+ $ref: '#/components/schemas/Tag'+ description: Tag+ TagList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Tag'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Tag'+ type: array+ description: TagList+ Team:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/Team'+ text/html:+ schema:+ $ref: '#/components/schemas/Team'+ description: Team+ TeamList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ description: TeamList+ TimelineList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TimelineComment'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/TimelineComment'+ type: array+ description: TimelineList+ TopicListResponse:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TopicResponse'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/TopicResponse'+ type: array+ description: TopicListResponse+ TopicNames:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/TopicName'+ text/html:+ schema:+ $ref: '#/components/schemas/TopicName'+ description: TopicNames+ TrackedTime:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/TrackedTime'+ text/html:+ schema:+ $ref: '#/components/schemas/TrackedTime'+ description: TrackedTime+ TrackedTimeList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/TrackedTime'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/TrackedTime'+ type: array+ description: TrackedTimeList+ User:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/User'+ text/html:+ schema:+ $ref: '#/components/schemas/User'+ description: User+ UserHeatmapData:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/UserHeatmapData'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/UserHeatmapData'+ type: array+ description: UserHeatmapData+ UserList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/User'+ type: array+ description: UserList+ UserSettings:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/UserSettings'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/UserSettings'+ type: array+ description: UserSettings+ WatchInfo:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ text/html:+ schema:+ $ref: '#/components/schemas/WatchInfo'+ description: WatchInfo+ WikiCommitList:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WikiCommitList'+ text/html:+ schema:+ $ref: '#/components/schemas/WikiCommitList'+ description: WikiCommitList+ WikiPage:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/WikiPage'+ text/html:+ schema:+ $ref: '#/components/schemas/WikiPage'+ description: WikiPage+ WikiPageList:+ content:+ application/json:+ schema:+ items:+ $ref: '#/components/schemas/WikiPageMetaData'+ type: array+ text/html:+ schema:+ items:+ $ref: '#/components/schemas/WikiPageMetaData'+ type: array+ description: WikiPageList+ conflict:+ content: {}+ description: APIConflict is a conflict empty response+ empty:+ content: {}+ description: APIEmpty is an empty response+ error:+ content: {}+ description: APIError is error format response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ forbidden:+ content: {}+ description: APIForbiddenError is a forbidden error response+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ invalidTopicsError:+ content: {}+ description: APIInvalidTopicsError is error format response to invalid topics+ headers:+ invalidTopics:+ schema:+ items:+ type: string+ type: array+ message:+ schema:+ type: string+ notFound:+ content: {}+ description: APINotFound is a not found empty response+ parameterBodies:+ content:+ application/json:+ schema:+ $ref: '#/components/schemas/CreatePushMirrorOption'+ text/html:+ schema:+ $ref: '#/components/schemas/CreatePushMirrorOption'+ description: parameterBodies+ redirect:+ content: {}+ description: APIRedirect is a redirect response+ string:+ content:+ application/json:+ schema:+ type: string+ text/html:+ schema:+ type: string+ description: APIString is a string response+ validationError:+ content: {}+ description: APIValidationError is error format response related to input validation+ headers:+ message:+ schema:+ type: string+ url:+ schema:+ type: string+ schemas:+ APIError:+ description: APIError is an api error with a message+ example:+ message: message+ url: url+ properties:+ message:+ type: string+ x-go-name: Message+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ AccessToken:+ example:+ sha1: sha1+ name: name+ token_last_eight: token_last_eight+ id: 0+ scopes:+ - scopes+ - scopes+ properties:+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Name+ scopes:+ items:+ type: string+ type: array+ x-go-name: Scopes+ sha1:+ type: string+ x-go-name: Token+ token_last_eight:+ type: string+ x-go-name: TokenLastEight+ title: AccessToken represents an API access token.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ActivityPub:+ description: ActivityPub type+ example:+ '@context': '@context'+ properties:+ '@context':+ type: string+ x-go-name: Context+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ AddCollaboratorOption:+ description: AddCollaboratorOption options when adding a user as a collaborator+ of a repository+ example:+ permission: permission+ properties:+ permission:+ type: string+ x-go-name: Permission+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ AddTimeOption:+ description: AddTimeOption options for adding time to an issue+ example:+ created: 2000-01-23T04:56:07.000+00:00+ user_name: user_name+ time: 0+ properties:+ created:+ format: date-time+ type: string+ x-go-name: Created+ time:+ description: time in seconds+ format: int64+ type: integer+ x-go-name: Time+ user_name:+ description: User who spent the time (optional)+ type: string+ x-go-name: User+ required:+ - time+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ AnnotatedTag:+ description: AnnotatedTag represents an annotated tag+ example:+ tagger:+ date: date+ name: name+ email: email+ tag: tag+ message: message+ sha: sha+ url: url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ object:+ type: type+ sha: sha+ url: url+ properties:+ message:+ type: string+ x-go-name: Message+ object:+ $ref: '#/components/schemas/AnnotatedTagObject'+ sha:+ type: string+ x-go-name: SHA+ tag:+ type: string+ x-go-name: Tag+ tagger:+ $ref: '#/components/schemas/CommitUser'+ url:+ type: string+ x-go-name: URL+ verification:+ $ref: '#/components/schemas/PayloadCommitVerification'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ AnnotatedTagObject:+ description: AnnotatedTagObject contains meta information of the tag object+ example:+ type: type+ sha: sha+ url: url+ properties:+ sha:+ type: string+ x-go-name: SHA+ type:+ type: string+ x-go-name: Type+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Attachment:+ description: Attachment a generic attachment+ example:+ size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ properties:+ browser_download_url:+ type: string+ x-go-name: DownloadURL+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ download_count:+ format: int64+ type: integer+ x-go-name: DownloadCount+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Name+ size:+ format: int64+ type: integer+ x-go-name: Size+ uuid:+ type: string+ x-go-name: UUID+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Branch:+ description: Branch represents a repository branch+ example:+ enable_status_check: true+ status_check_contexts:+ - status_check_contexts+ - status_check_contexts+ protected: true+ user_can_push: true+ commit:+ committer:+ name: name+ email: email+ username: username+ removed:+ - removed+ - removed+ added:+ - added+ - added+ author:+ name: name+ email: email+ username: username+ modified:+ - modified+ - modified+ id: id+ message: message+ url: url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ timestamp: 2000-01-23T04:56:07.000+00:00+ name: name+ required_approvals: 0+ effective_branch_protection_name: effective_branch_protection_name+ user_can_merge: true+ properties:+ commit:+ $ref: '#/components/schemas/PayloadCommit'+ effective_branch_protection_name:+ type: string+ x-go-name: EffectiveBranchProtectionName+ enable_status_check:+ type: boolean+ x-go-name: EnableStatusCheck+ name:+ type: string+ x-go-name: Name+ protected:+ type: boolean+ x-go-name: Protected+ required_approvals:+ format: int64+ type: integer+ x-go-name: RequiredApprovals+ status_check_contexts:+ items:+ type: string+ type: array+ x-go-name: StatusCheckContexts+ user_can_merge:+ type: boolean+ x-go-name: UserCanMerge+ user_can_push:+ type: boolean+ x-go-name: UserCanPush+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ BranchProtection:+ description: BranchProtection represents a branch protection for a repository+ example:+ merge_whitelist_teams:+ - merge_whitelist_teams+ - merge_whitelist_teams+ enable_push: true+ push_whitelist_teams:+ - push_whitelist_teams+ - push_whitelist_teams+ block_on_outdated_branch: true+ push_whitelist_deploy_keys: true+ created_at: 2000-01-23T04:56:07.000+00:00+ enable_status_check: true+ merge_whitelist_usernames:+ - merge_whitelist_usernames+ - merge_whitelist_usernames+ updated_at: 2000-01-23T04:56:07.000+00:00+ branch_name: branch_name+ required_approvals: 0+ block_on_rejected_reviews: true+ require_signed_commits: true+ enable_merge_whitelist: true+ enable_push_whitelist: true+ rule_name: rule_name+ approvals_whitelist_username:+ - approvals_whitelist_username+ - approvals_whitelist_username+ dismiss_stale_approvals: true+ status_check_contexts:+ - status_check_contexts+ - status_check_contexts+ push_whitelist_usernames:+ - push_whitelist_usernames+ - push_whitelist_usernames+ protected_file_patterns: protected_file_patterns+ enable_approvals_whitelist: true+ approvals_whitelist_teams:+ - approvals_whitelist_teams+ - approvals_whitelist_teams+ unprotected_file_patterns: unprotected_file_patterns+ block_on_official_review_requests: true+ properties:+ approvals_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: ApprovalsWhitelistTeams+ approvals_whitelist_username:+ items:+ type: string+ type: array+ x-go-name: ApprovalsWhitelistUsernames+ block_on_official_review_requests:+ type: boolean+ x-go-name: BlockOnOfficialReviewRequests+ block_on_outdated_branch:+ type: boolean+ x-go-name: BlockOnOutdatedBranch+ block_on_rejected_reviews:+ type: boolean+ x-go-name: BlockOnRejectedReviews+ branch_name:+ description: "Deprecated: true"+ type: string+ x-go-name: BranchName+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ dismiss_stale_approvals:+ type: boolean+ x-go-name: DismissStaleApprovals+ enable_approvals_whitelist:+ type: boolean+ x-go-name: EnableApprovalsWhitelist+ enable_merge_whitelist:+ type: boolean+ x-go-name: EnableMergeWhitelist+ enable_push:+ type: boolean+ x-go-name: EnablePush+ enable_push_whitelist:+ type: boolean+ x-go-name: EnablePushWhitelist+ enable_status_check:+ type: boolean+ x-go-name: EnableStatusCheck+ merge_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: MergeWhitelistTeams+ merge_whitelist_usernames:+ items:+ type: string+ type: array+ x-go-name: MergeWhitelistUsernames+ protected_file_patterns:+ type: string+ x-go-name: ProtectedFilePatterns+ push_whitelist_deploy_keys:+ type: boolean+ x-go-name: PushWhitelistDeployKeys+ push_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: PushWhitelistTeams+ push_whitelist_usernames:+ items:+ type: string+ type: array+ x-go-name: PushWhitelistUsernames+ require_signed_commits:+ type: boolean+ x-go-name: RequireSignedCommits+ required_approvals:+ format: int64+ type: integer+ x-go-name: RequiredApprovals+ rule_name:+ type: string+ x-go-name: RuleName+ status_check_contexts:+ items:+ type: string+ type: array+ x-go-name: StatusCheckContexts+ unprotected_file_patterns:+ type: string+ x-go-name: UnprotectedFilePatterns+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ChangedFile:+ description: ChangedFile store information about files affected by the pull+ request+ example:+ filename: filename+ additions: 0+ deletions: 1+ html_url: html_url+ changes: 6+ previous_filename: previous_filename+ raw_url: raw_url+ contents_url: contents_url+ status: status+ properties:+ additions:+ format: int64+ type: integer+ x-go-name: Additions+ changes:+ format: int64+ type: integer+ x-go-name: Changes+ contents_url:+ type: string+ x-go-name: ContentsURL+ deletions:+ format: int64+ type: integer+ x-go-name: Deletions+ filename:+ type: string+ x-go-name: Filename+ html_url:+ type: string+ x-go-name: HTMLURL+ previous_filename:+ type: string+ x-go-name: PreviousFilename+ raw_url:+ type: string+ x-go-name: RawURL+ status:+ type: string+ x-go-name: Status+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CombinedStatus:+ description: CombinedStatus holds the combined state of several statuses for+ a single commit+ example:+ commit_url: commit_url+ total_count: 6+ statuses:+ - creator:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ updated_at: 2000-01-23T04:56:07.000+00:00+ target_url: target_url+ context: context+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 0+ url: url+ status: status+ - creator:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ updated_at: 2000-01-23T04:56:07.000+00:00+ target_url: target_url+ context: context+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 0+ url: url+ status: status+ state: state+ repository:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ sha: sha+ url: url+ properties:+ commit_url:+ type: string+ x-go-name: CommitURL+ repository:+ $ref: '#/components/schemas/Repository'+ sha:+ type: string+ x-go-name: SHA+ state:+ description: |-+ CommitStatusState holds the state of a CommitStatus+ It can be "pending", "success", "error", "failure", and "warning"+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ statuses:+ items:+ $ref: '#/components/schemas/CommitStatus'+ type: array+ x-go-name: Statuses+ total_count:+ format: int64+ type: integer+ x-go-name: TotalCount+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Comment:+ description: Comment represents a comment on a commit or issue+ example:+ issue_url: issue_url+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ original_author_id: 6+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 0+ pull_request_url: pull_request_url+ body: body+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ assets:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ x-go-name: Attachments+ body:+ type: string+ x-go-name: Body+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ issue_url:+ type: string+ x-go-name: IssueURL+ original_author:+ type: string+ x-go-name: OriginalAuthor+ original_author_id:+ format: int64+ type: integer+ x-go-name: OriginalAuthorID+ pull_request_url:+ type: string+ x-go-name: PRURL+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Commit:+ example:+ committer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ stats:+ total: 1+ additions: 0+ deletions: 6+ author:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ commit:+ committer:+ date: date+ name: name+ email: email+ author:+ date: date+ name: name+ email: email+ tree:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ url: url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ files:+ - filename: filename+ - filename: filename+ sha: sha+ url: url+ parents:+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ properties:+ author:+ $ref: '#/components/schemas/User'+ commit:+ $ref: '#/components/schemas/RepoCommit'+ committer:+ $ref: '#/components/schemas/User'+ created:+ format: date-time+ type: string+ x-go-name: Created+ files:+ items:+ $ref: '#/components/schemas/CommitAffectedFiles'+ type: array+ x-go-name: Files+ html_url:+ type: string+ x-go-name: HTMLURL+ parents:+ items:+ $ref: '#/components/schemas/CommitMeta'+ type: array+ x-go-name: Parents+ sha:+ type: string+ x-go-name: SHA+ stats:+ $ref: '#/components/schemas/CommitStats'+ url:+ type: string+ x-go-name: URL+ title: Commit contains information generated from a Git commit.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitAffectedFiles:+ description: CommitAffectedFiles store information about files affected by the+ commit+ example:+ filename: filename+ properties:+ filename:+ type: string+ x-go-name: Filename+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitDateOptions:+ description: CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE+ example:+ committer: 2000-01-23T04:56:07.000+00:00+ author: 2000-01-23T04:56:07.000+00:00+ properties:+ author:+ format: date-time+ type: string+ x-go-name: Author+ committer:+ format: date-time+ type: string+ x-go-name: Committer+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitMeta:+ example:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ properties:+ created:+ format: date-time+ type: string+ x-go-name: Created+ sha:+ type: string+ x-go-name: SHA+ url:+ type: string+ x-go-name: URL+ title: CommitMeta contains meta information of a commit in terms of API.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitStats:+ description: CommitStats is statistics for a RepoCommit+ example:+ total: 1+ additions: 0+ deletions: 6+ properties:+ additions:+ format: int64+ type: integer+ x-go-name: Additions+ deletions:+ format: int64+ type: integer+ x-go-name: Deletions+ total:+ format: int64+ type: integer+ x-go-name: Total+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitStatus:+ description: CommitStatus holds a single status of a single Commit+ example:+ creator:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ updated_at: 2000-01-23T04:56:07.000+00:00+ target_url: target_url+ context: context+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 0+ url: url+ status: status+ properties:+ context:+ type: string+ x-go-name: Context+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ creator:+ $ref: '#/components/schemas/User'+ description:+ type: string+ x-go-name: Description+ id:+ format: int64+ type: integer+ x-go-name: ID+ status:+ description: |-+ CommitStatusState holds the state of a CommitStatus+ It can be "pending", "success", "error", "failure", and "warning"+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ target_url:+ type: string+ x-go-name: TargetURL+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitStatusState:+ description: |-+ CommitStatusState holds the state of a CommitStatus+ It can be "pending", "success", "error", "failure", and "warning"+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ CommitUser:+ example:+ date: date+ name: name+ email: email+ properties:+ date:+ type: string+ x-go-name: Date+ email:+ format: email+ type: string+ x-go-name: Email+ name:+ type: string+ x-go-name: Name+ title: CommitUser contains information of a user in the context of a commit.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ContentsResponse:+ description: "ContentsResponse contains information about a repo's entry's (dir,\+ \ file, symlink, submodule) metadata and content"+ example:+ _links:+ git: git+ self: self+ html: html+ submodule_git_url: submodule_git_url+ last_commit_sha: last_commit_sha+ encoding: encoding+ type: type+ sha: sha+ content: content+ url: url+ target: target+ path: path+ size: 0+ html_url: html_url+ download_url: download_url+ name: name+ git_url: git_url+ properties:+ _links:+ $ref: '#/components/schemas/FileLinksResponse'+ content:+ description: "`content` is populated when `type` is `file`, otherwise null"+ type: string+ x-go-name: Content+ download_url:+ type: string+ x-go-name: DownloadURL+ encoding:+ description: "`encoding` is populated when `type` is `file`, otherwise null"+ type: string+ x-go-name: Encoding+ git_url:+ type: string+ x-go-name: GitURL+ html_url:+ type: string+ x-go-name: HTMLURL+ last_commit_sha:+ type: string+ x-go-name: LastCommitSHA+ name:+ type: string+ x-go-name: Name+ path:+ type: string+ x-go-name: Path+ sha:+ type: string+ x-go-name: SHA+ size:+ format: int64+ type: integer+ x-go-name: Size+ submodule_git_url:+ description: "`submodule_git_url` is populated when `type` is `submodule`,\+ \ otherwise null"+ type: string+ x-go-name: SubmoduleGitURL+ target:+ description: "`target` is populated when `type` is `symlink`, otherwise\+ \ null"+ type: string+ x-go-name: Target+ type:+ description: "`type` will be `file`, `dir`, `symlink`, or `submodule`"+ type: string+ x-go-name: Type+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateAccessTokenOption:+ description: CreateAccessTokenOption options when create access token+ example:+ name: name+ scopes:+ - scopes+ - scopes+ properties:+ name:+ type: string+ x-go-name: Name+ scopes:+ items:+ type: string+ type: array+ x-go-name: Scopes+ required:+ - name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateBranchProtectionOption:+ description: CreateBranchProtectionOption options for creating a branch protection+ example:+ block_on_rejected_reviews: true+ merge_whitelist_teams:+ - merge_whitelist_teams+ - merge_whitelist_teams+ enable_push: true+ require_signed_commits: true+ enable_merge_whitelist: true+ enable_push_whitelist: true+ push_whitelist_teams:+ - push_whitelist_teams+ - push_whitelist_teams+ block_on_outdated_branch: true+ push_whitelist_deploy_keys: true+ rule_name: rule_name+ approvals_whitelist_username:+ - approvals_whitelist_username+ - approvals_whitelist_username+ dismiss_stale_approvals: true+ enable_status_check: true+ status_check_contexts:+ - status_check_contexts+ - status_check_contexts+ push_whitelist_usernames:+ - push_whitelist_usernames+ - push_whitelist_usernames+ merge_whitelist_usernames:+ - merge_whitelist_usernames+ - merge_whitelist_usernames+ protected_file_patterns: protected_file_patterns+ branch_name: branch_name+ enable_approvals_whitelist: true+ approvals_whitelist_teams:+ - approvals_whitelist_teams+ - approvals_whitelist_teams+ required_approvals: 0+ unprotected_file_patterns: unprotected_file_patterns+ block_on_official_review_requests: true+ properties:+ approvals_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: ApprovalsWhitelistTeams+ approvals_whitelist_username:+ items:+ type: string+ type: array+ x-go-name: ApprovalsWhitelistUsernames+ block_on_official_review_requests:+ type: boolean+ x-go-name: BlockOnOfficialReviewRequests+ block_on_outdated_branch:+ type: boolean+ x-go-name: BlockOnOutdatedBranch+ block_on_rejected_reviews:+ type: boolean+ x-go-name: BlockOnRejectedReviews+ branch_name:+ description: "Deprecated: true"+ type: string+ x-go-name: BranchName+ dismiss_stale_approvals:+ type: boolean+ x-go-name: DismissStaleApprovals+ enable_approvals_whitelist:+ type: boolean+ x-go-name: EnableApprovalsWhitelist+ enable_merge_whitelist:+ type: boolean+ x-go-name: EnableMergeWhitelist+ enable_push:+ type: boolean+ x-go-name: EnablePush+ enable_push_whitelist:+ type: boolean+ x-go-name: EnablePushWhitelist+ enable_status_check:+ type: boolean+ x-go-name: EnableStatusCheck+ merge_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: MergeWhitelistTeams+ merge_whitelist_usernames:+ items:+ type: string+ type: array+ x-go-name: MergeWhitelistUsernames+ protected_file_patterns:+ type: string+ x-go-name: ProtectedFilePatterns+ push_whitelist_deploy_keys:+ type: boolean+ x-go-name: PushWhitelistDeployKeys+ push_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: PushWhitelistTeams+ push_whitelist_usernames:+ items:+ type: string+ type: array+ x-go-name: PushWhitelistUsernames+ require_signed_commits:+ type: boolean+ x-go-name: RequireSignedCommits+ required_approvals:+ format: int64+ type: integer+ x-go-name: RequiredApprovals+ rule_name:+ type: string+ x-go-name: RuleName+ status_check_contexts:+ items:+ type: string+ type: array+ x-go-name: StatusCheckContexts+ unprotected_file_patterns:+ type: string+ x-go-name: UnprotectedFilePatterns+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateBranchRepoOption:+ description: CreateBranchRepoOption options when creating a branch in a repository+ example:+ new_branch_name: new_branch_name+ old_branch_name: old_branch_name+ properties:+ new_branch_name:+ description: Name of the branch to create+ type: string+ x-go-name: BranchName+ old_branch_name:+ description: Name of the old branch to create from+ type: string+ x-go-name: OldBranchName+ required:+ - new_branch_name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateEmailOption:+ description: CreateEmailOption options when creating email addresses+ example:+ emails:+ - emails+ - emails+ properties:+ emails:+ description: email addresses to add+ items:+ type: string+ type: array+ x-go-name: Emails+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateFileOptions:+ description: |-+ CreateFileOptions options for creating files+ Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)+ example:+ committer:+ name: name+ email: email+ author:+ name: name+ email: email+ new_branch: new_branch+ dates:+ committer: 2000-01-23T04:56:07.000+00:00+ author: 2000-01-23T04:56:07.000+00:00+ signoff: true+ message: message+ branch: branch+ content: content+ properties:+ author:+ $ref: '#/components/schemas/Identity'+ branch:+ description: "branch (optional) to base this file from. if not given, the\+ \ default branch is used"+ type: string+ x-go-name: BranchName+ committer:+ $ref: '#/components/schemas/Identity'+ content:+ description: content must be base64 encoded+ type: string+ x-go-name: Content+ dates:+ $ref: '#/components/schemas/CommitDateOptions'+ message:+ description: "message (optional) for the commit of this file. if not supplied,\+ \ a default message will be used"+ type: string+ x-go-name: Message+ new_branch:+ description: new_branch (optional) will make a new branch from `branch`+ before creating the file+ type: string+ x-go-name: NewBranchName+ signoff:+ description: Add a Signed-off-by trailer by the committer at the end of+ the commit log message.+ type: boolean+ x-go-name: Signoff+ required:+ - content+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateForkOption:+ description: CreateForkOption options for creating a fork+ example:+ organization: organization+ name: name+ properties:+ name:+ description: name of the forked repository+ type: string+ x-go-name: Name+ organization:+ description: "organization name, if forking into an organization"+ type: string+ x-go-name: Organization+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateGPGKeyOption:+ description: CreateGPGKeyOption options create user GPG key+ example:+ armored_public_key: armored_public_key+ armored_signature: armored_signature+ properties:+ armored_public_key:+ description: An armored GPG key to add+ type: string+ x-go-name: ArmoredKey+ armored_signature:+ type: string+ x-go-name: Signature+ required:+ - armored_public_key+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateHookOption:+ description: CreateHookOption options when create a hook+ example:+ branch_filter: branch_filter+ active: false+ type: dingtalk+ config:+ key: config+ authorization_header: authorization_header+ events:+ - events+ - events+ properties:+ active:+ default: false+ type: boolean+ x-go-name: Active+ authorization_header:+ type: string+ x-go-name: AuthorizationHeader+ branch_filter:+ type: string+ x-go-name: BranchFilter+ config:+ additionalProperties:+ type: string+ description: |-+ CreateHookOptionConfig has all config options in it+ required are "content_type" and "url" Required+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ events:+ items:+ type: string+ type: array+ x-go-name: Events+ type:+ enum:+ - dingtalk+ - discord+ - gitea+ - gogs+ - msteams+ - slack+ - telegram+ - feishu+ - wechatwork+ - packagist+ type: string+ x-go-name: Type+ required:+ - config+ - type+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateHookOptionConfig:+ additionalProperties:+ type: string+ description: |-+ CreateHookOptionConfig has all config options in it+ required are "content_type" and "url" Required+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateIssueCommentOption:+ description: CreateIssueCommentOption options for creating a comment on an issue+ example:+ body: body+ properties:+ body:+ type: string+ x-go-name: Body+ required:+ - body+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateIssueOption:+ description: CreateIssueOption options to create one issue+ example:+ ref: ref+ milestone: 6+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - assignees+ - assignees+ closed: true+ assignee: assignee+ body: body+ title: title+ labels:+ - 0+ - 0+ properties:+ assignee:+ description: deprecated+ type: string+ x-go-name: Assignee+ assignees:+ items:+ type: string+ type: array+ x-go-name: Assignees+ body:+ type: string+ x-go-name: Body+ closed:+ type: boolean+ x-go-name: Closed+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ labels:+ description: list of label ids+ items:+ format: int64+ type: integer+ type: array+ x-go-name: Labels+ milestone:+ description: milestone id+ format: int64+ type: integer+ x-go-name: Milestone+ ref:+ type: string+ x-go-name: Ref+ title:+ type: string+ x-go-name: Title+ required:+ - title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateKeyOption:+ description: CreateKeyOption options when creating a key+ example:+ read_only: true+ title: title+ key: key+ properties:+ key:+ description: An armored SSH key to add+ type: string+ x-go-name: Key+ read_only:+ description: Describe if the key has only read access or read/write+ type: boolean+ x-go-name: ReadOnly+ title:+ description: Title of the key to add+ type: string+ x-go-name: Title+ required:+ - key+ - title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateLabelOption:+ description: CreateLabelOption options for creating a label+ example:+ color: '#00aabb'+ name: name+ description: description+ exclusive: false+ properties:+ color:+ example: '#00aabb'+ type: string+ x-go-name: Color+ description:+ type: string+ x-go-name: Description+ exclusive:+ example: false+ type: boolean+ x-go-name: Exclusive+ name:+ type: string+ x-go-name: Name+ required:+ - color+ - name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateMilestoneOption:+ description: CreateMilestoneOption options for creating a milestone+ example:+ description: description+ state: open+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ properties:+ description:+ type: string+ x-go-name: Description+ due_on:+ format: date-time+ type: string+ x-go-name: Deadline+ state:+ enum:+ - open+ - closed+ type: string+ x-go-name: State+ title:+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateOAuth2ApplicationOptions:+ description: CreateOAuth2ApplicationOptions holds options to create an oauth2+ application+ example:+ name: name+ confidential_client: true+ redirect_uris:+ - redirect_uris+ - redirect_uris+ properties:+ confidential_client:+ type: boolean+ x-go-name: ConfidentialClient+ name:+ type: string+ x-go-name: Name+ redirect_uris:+ items:+ type: string+ type: array+ x-go-name: RedirectURIs+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateOrgOption:+ description: CreateOrgOption options for creating an organization+ example:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ visibility: public+ description: description+ location: location+ username: username+ properties:+ description:+ type: string+ x-go-name: Description+ full_name:+ type: string+ x-go-name: FullName+ location:+ type: string+ x-go-name: Location+ repo_admin_change_team_access:+ type: boolean+ x-go-name: RepoAdminChangeTeamAccess+ username:+ type: string+ x-go-name: UserName+ visibility:+ description: "possible values are `public` (default), `limited` or `private`"+ enum:+ - public+ - limited+ - private+ type: string+ x-go-name: Visibility+ website:+ type: string+ x-go-name: Website+ required:+ - username+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreatePullRequestOption:+ description: CreatePullRequestOption options when creating a pull request+ example:+ head: head+ milestone: 6+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - assignees+ - assignees+ assignee: assignee+ body: body+ title: title+ base: base+ labels:+ - 0+ - 0+ properties:+ assignee:+ type: string+ x-go-name: Assignee+ assignees:+ items:+ type: string+ type: array+ x-go-name: Assignees+ base:+ type: string+ x-go-name: Base+ body:+ type: string+ x-go-name: Body+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ head:+ type: string+ x-go-name: Head+ labels:+ items:+ format: int64+ type: integer+ type: array+ x-go-name: Labels+ milestone:+ format: int64+ type: integer+ x-go-name: Milestone+ title:+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreatePullReviewComment:+ description: CreatePullReviewComment represent a review comment for creation+ api+ example:+ path: path+ new_position: 0+ old_position: 6+ body: body+ properties:+ body:+ type: string+ x-go-name: Body+ new_position:+ description: if comment to new file line or 0+ format: int64+ type: integer+ x-go-name: NewLineNum+ old_position:+ description: if comment to old file line or 0+ format: int64+ type: integer+ x-go-name: OldLineNum+ path:+ description: the tree path+ type: string+ x-go-name: Path+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreatePullReviewOptions:+ description: CreatePullReviewOptions are options to create a pull review+ example:+ comments:+ - path: path+ new_position: 0+ old_position: 6+ body: body+ - path: path+ new_position: 0+ old_position: 6+ body: body+ body: body+ event: event+ commit_id: commit_id+ properties:+ body:+ type: string+ x-go-name: Body+ comments:+ items:+ $ref: '#/components/schemas/CreatePullReviewComment'+ type: array+ x-go-name: Comments+ commit_id:+ type: string+ x-go-name: CommitID+ event:+ description: ReviewStateType review state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreatePushMirrorOption:+ example:+ remote_username: remote_username+ sync_on_commit: true+ interval: interval+ remote_address: remote_address+ remote_password: remote_password+ properties:+ interval:+ type: string+ x-go-name: Interval+ remote_address:+ type: string+ x-go-name: RemoteAddress+ remote_password:+ type: string+ x-go-name: RemotePassword+ remote_username:+ type: string+ x-go-name: RemoteUsername+ sync_on_commit:+ type: boolean+ x-go-name: SyncOnCommit+ title: CreatePushMirrorOption represents need information to create a push mirror+ of a repository.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateReleaseOption:+ description: CreateReleaseOption options when creating a release+ example:+ prerelease: true+ tag_name: tag_name+ draft: true+ target_commitish: target_commitish+ name: name+ body: body+ properties:+ body:+ type: string+ x-go-name: Note+ draft:+ type: boolean+ x-go-name: IsDraft+ name:+ type: string+ x-go-name: Title+ prerelease:+ type: boolean+ x-go-name: IsPrerelease+ tag_name:+ type: string+ x-go-name: TagName+ target_commitish:+ type: string+ x-go-name: Target+ required:+ - tag_name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateRepoOption:+ description: CreateRepoOption options when creating repository+ example:+ auto_init: true+ template: true+ issue_labels: issue_labels+ license: license+ private: true+ trust_model: default+ gitignores: gitignores+ name: name+ description: description+ default_branch: default_branch+ readme: readme+ properties:+ auto_init:+ description: Whether the repository should be auto-initialized?+ type: boolean+ x-go-name: AutoInit+ default_branch:+ description: DefaultBranch of the repository (used when initializes and+ in template)+ type: string+ x-go-name: DefaultBranch+ description:+ description: Description of the repository to create+ type: string+ x-go-name: Description+ gitignores:+ description: Gitignores to use+ type: string+ x-go-name: Gitignores+ issue_labels:+ description: Label-Set to use+ type: string+ x-go-name: IssueLabels+ license:+ description: License to use+ type: string+ x-go-name: License+ name:+ description: Name of the repository to create+ type: string+ x-go-name: Name+ private:+ description: Whether the repository is private+ type: boolean+ x-go-name: Private+ readme:+ description: Readme of the repository to create+ type: string+ x-go-name: Readme+ template:+ description: Whether the repository is template+ type: boolean+ x-go-name: Template+ trust_model:+ description: TrustModel of the repository+ enum:+ - default+ - collaborator+ - committer+ - collaboratorcommitter+ type: string+ x-go-name: TrustModel+ required:+ - name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateStatusOption:+ description: CreateStatusOption holds the information needed to create a new+ CommitStatus for a Commit+ example:+ target_url: target_url+ context: context+ description: description+ state: state+ properties:+ context:+ type: string+ x-go-name: Context+ description:+ type: string+ x-go-name: Description+ state:+ description: |-+ CommitStatusState holds the state of a CommitStatus+ It can be "pending", "success", "error", "failure", and "warning"+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ target_url:+ type: string+ x-go-name: TargetURL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateTagOption:+ description: CreateTagOption options when creating a tag+ example:+ tag_name: tag_name+ message: message+ target: target+ properties:+ message:+ type: string+ x-go-name: Message+ tag_name:+ type: string+ x-go-name: TagName+ target:+ type: string+ x-go-name: Target+ required:+ - tag_name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateTeamOption:+ description: CreateTeamOption options for creating a team+ example:+ can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ name: name+ description: description+ permission: read+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ properties:+ can_create_org_repo:+ type: boolean+ x-go-name: CanCreateOrgRepo+ description:+ type: string+ x-go-name: Description+ includes_all_repositories:+ type: boolean+ x-go-name: IncludesAllRepositories+ name:+ type: string+ x-go-name: Name+ permission:+ enum:+ - read+ - write+ - admin+ type: string+ x-go-name: Permission+ units:+ example:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ items:+ type: string+ type: array+ x-go-name: Units+ units_map:+ additionalProperties:+ type: string+ example:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ type: object+ x-go-name: UnitsMap+ required:+ - name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateUserOption:+ description: CreateUserOption create user options+ example:+ must_change_password: true+ password: password+ full_name: full_name+ login_name: login_name+ visibility: visibility+ restricted: true+ created_at: 2000-01-23T04:56:07.000+00:00+ send_notify: true+ source_id: 0+ email: email+ username: username+ properties:+ created_at:+ description: |-+ For explicitly setting the user creation timestamp. Useful when users are+ migrated from other systems. When omitted, the user's creation timestamp+ will be set to "now".+ format: date-time+ type: string+ x-go-name: Created+ email:+ format: email+ type: string+ x-go-name: Email+ full_name:+ type: string+ x-go-name: FullName+ login_name:+ type: string+ x-go-name: LoginName+ must_change_password:+ type: boolean+ x-go-name: MustChangePassword+ password:+ type: string+ x-go-name: Password+ restricted:+ type: boolean+ x-go-name: Restricted+ send_notify:+ type: boolean+ x-go-name: SendNotify+ source_id:+ format: int64+ type: integer+ x-go-name: SourceID+ username:+ type: string+ x-go-name: Username+ visibility:+ type: string+ x-go-name: Visibility+ required:+ - email+ - password+ - username+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ CreateWikiPageOptions:+ description: CreateWikiPageOptions form for creating wiki+ example:+ content_base64: content_base64+ message: message+ title: title+ properties:+ content_base64:+ description: content must be base64 encoded+ type: string+ x-go-name: ContentBase64+ message:+ description: optional commit message summarizing the change+ type: string+ x-go-name: Message+ title:+ description: page title. leave empty to keep unchanged+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Cron:+ description: Cron represents a Cron task+ example:+ next: 2000-01-23T04:56:07.000+00:00+ schedule: schedule+ exec_times: 0+ prev: 2000-01-23T04:56:07.000+00:00+ name: name+ properties:+ exec_times:+ format: int64+ type: integer+ x-go-name: ExecTimes+ name:+ type: string+ x-go-name: Name+ next:+ format: date-time+ type: string+ x-go-name: Next+ prev:+ format: date-time+ type: string+ x-go-name: Prev+ schedule:+ type: string+ x-go-name: Schedule+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ DeleteEmailOption:+ description: DeleteEmailOption options when deleting email addresses+ example:+ emails:+ - emails+ - emails+ properties:+ emails:+ description: email addresses to delete+ items:+ type: string+ type: array+ x-go-name: Emails+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ DeleteFileOptions:+ description: |-+ DeleteFileOptions options for deleting files (used for other File structs below)+ Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)+ example:+ committer:+ name: name+ email: email+ author:+ name: name+ email: email+ new_branch: new_branch+ dates:+ committer: 2000-01-23T04:56:07.000+00:00+ author: 2000-01-23T04:56:07.000+00:00+ signoff: true+ message: message+ branch: branch+ sha: sha+ properties:+ author:+ $ref: '#/components/schemas/Identity'+ branch:+ description: "branch (optional) to base this file from. if not given, the\+ \ default branch is used"+ type: string+ x-go-name: BranchName+ committer:+ $ref: '#/components/schemas/Identity'+ dates:+ $ref: '#/components/schemas/CommitDateOptions'+ message:+ description: "message (optional) for the commit of this file. if not supplied,\+ \ a default message will be used"+ type: string+ x-go-name: Message+ new_branch:+ description: new_branch (optional) will make a new branch from `branch`+ before creating the file+ type: string+ x-go-name: NewBranchName+ sha:+ description: sha is the SHA for the file that already exists+ type: string+ x-go-name: SHA+ signoff:+ description: Add a Signed-off-by trailer by the committer at the end of+ the commit log message.+ type: boolean+ x-go-name: Signoff+ required:+ - sha+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ DeployKey:+ description: DeployKey a deploy key+ example:+ key_id: 6+ read_only: true+ fingerprint: fingerprint+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 0+ repository:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ title: title+ key: key+ url: url+ properties:+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ fingerprint:+ type: string+ x-go-name: Fingerprint+ id:+ format: int64+ type: integer+ x-go-name: ID+ key:+ type: string+ x-go-name: Key+ key_id:+ format: int64+ type: integer+ x-go-name: KeyID+ read_only:+ type: boolean+ x-go-name: ReadOnly+ repository:+ $ref: '#/components/schemas/Repository'+ title:+ type: string+ x-go-name: Title+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ DismissPullReviewOptions:+ description: DismissPullReviewOptions are options to dismiss a pull review+ example:+ message: message+ priors: true+ properties:+ message:+ type: string+ x-go-name: Message+ priors:+ type: boolean+ x-go-name: Priors+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditAttachmentOptions:+ description: EditAttachmentOptions options for editing attachments+ example:+ name: name+ properties:+ name:+ type: string+ x-go-name: Name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditBranchProtectionOption:+ description: EditBranchProtectionOption options for editing a branch protection+ example:+ block_on_rejected_reviews: true+ merge_whitelist_teams:+ - merge_whitelist_teams+ - merge_whitelist_teams+ enable_push: true+ require_signed_commits: true+ enable_merge_whitelist: true+ enable_push_whitelist: true+ push_whitelist_teams:+ - push_whitelist_teams+ - push_whitelist_teams+ block_on_outdated_branch: true+ push_whitelist_deploy_keys: true+ approvals_whitelist_username:+ - approvals_whitelist_username+ - approvals_whitelist_username+ dismiss_stale_approvals: true+ enable_status_check: true+ status_check_contexts:+ - status_check_contexts+ - status_check_contexts+ push_whitelist_usernames:+ - push_whitelist_usernames+ - push_whitelist_usernames+ merge_whitelist_usernames:+ - merge_whitelist_usernames+ - merge_whitelist_usernames+ protected_file_patterns: protected_file_patterns+ enable_approvals_whitelist: true+ approvals_whitelist_teams:+ - approvals_whitelist_teams+ - approvals_whitelist_teams+ required_approvals: 0+ unprotected_file_patterns: unprotected_file_patterns+ block_on_official_review_requests: true+ properties:+ approvals_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: ApprovalsWhitelistTeams+ approvals_whitelist_username:+ items:+ type: string+ type: array+ x-go-name: ApprovalsWhitelistUsernames+ block_on_official_review_requests:+ type: boolean+ x-go-name: BlockOnOfficialReviewRequests+ block_on_outdated_branch:+ type: boolean+ x-go-name: BlockOnOutdatedBranch+ block_on_rejected_reviews:+ type: boolean+ x-go-name: BlockOnRejectedReviews+ dismiss_stale_approvals:+ type: boolean+ x-go-name: DismissStaleApprovals+ enable_approvals_whitelist:+ type: boolean+ x-go-name: EnableApprovalsWhitelist+ enable_merge_whitelist:+ type: boolean+ x-go-name: EnableMergeWhitelist+ enable_push:+ type: boolean+ x-go-name: EnablePush+ enable_push_whitelist:+ type: boolean+ x-go-name: EnablePushWhitelist+ enable_status_check:+ type: boolean+ x-go-name: EnableStatusCheck+ merge_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: MergeWhitelistTeams+ merge_whitelist_usernames:+ items:+ type: string+ type: array+ x-go-name: MergeWhitelistUsernames+ protected_file_patterns:+ type: string+ x-go-name: ProtectedFilePatterns+ push_whitelist_deploy_keys:+ type: boolean+ x-go-name: PushWhitelistDeployKeys+ push_whitelist_teams:+ items:+ type: string+ type: array+ x-go-name: PushWhitelistTeams+ push_whitelist_usernames:+ items:+ type: string+ type: array+ x-go-name: PushWhitelistUsernames+ require_signed_commits:+ type: boolean+ x-go-name: RequireSignedCommits+ required_approvals:+ format: int64+ type: integer+ x-go-name: RequiredApprovals+ status_check_contexts:+ items:+ type: string+ type: array+ x-go-name: StatusCheckContexts+ unprotected_file_patterns:+ type: string+ x-go-name: UnprotectedFilePatterns+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditDeadlineOption:+ description: EditDeadlineOption options for creating a deadline+ example:+ due_date: 2000-01-23T04:56:07.000+00:00+ properties:+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ required:+ - due_date+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditGitHookOption:+ description: EditGitHookOption options when modifying one Git hook+ example:+ content: content+ properties:+ content:+ type: string+ x-go-name: Content+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditHookOption:+ description: EditHookOption options when modify one hook+ example:+ branch_filter: branch_filter+ active: true+ config:+ key: config+ authorization_header: authorization_header+ events:+ - events+ - events+ properties:+ active:+ type: boolean+ x-go-name: Active+ authorization_header:+ type: string+ x-go-name: AuthorizationHeader+ branch_filter:+ type: string+ x-go-name: BranchFilter+ config:+ additionalProperties:+ type: string+ type: object+ x-go-name: Config+ events:+ items:+ type: string+ type: array+ x-go-name: Events+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditIssueCommentOption:+ description: EditIssueCommentOption options for editing a comment+ example:+ body: body+ properties:+ body:+ type: string+ x-go-name: Body+ required:+ - body+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditIssueOption:+ description: EditIssueOption options for editing an issue+ example:+ unset_due_date: true+ ref: ref+ milestone: 0+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - assignees+ - assignees+ assignee: assignee+ state: state+ body: body+ title: title+ properties:+ assignee:+ description: deprecated+ type: string+ x-go-name: Assignee+ assignees:+ items:+ type: string+ type: array+ x-go-name: Assignees+ body:+ type: string+ x-go-name: Body+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ milestone:+ format: int64+ type: integer+ x-go-name: Milestone+ ref:+ type: string+ x-go-name: Ref+ state:+ type: string+ x-go-name: State+ title:+ type: string+ x-go-name: Title+ unset_due_date:+ type: boolean+ x-go-name: RemoveDeadline+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditLabelOption:+ description: EditLabelOption options for editing a label+ example:+ color: '#00aabb'+ name: name+ description: description+ exclusive: false+ properties:+ color:+ example: '#00aabb'+ type: string+ x-go-name: Color+ description:+ type: string+ x-go-name: Description+ exclusive:+ example: false+ type: boolean+ x-go-name: Exclusive+ name:+ type: string+ x-go-name: Name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditMilestoneOption:+ description: EditMilestoneOption options for editing a milestone+ example:+ description: description+ state: state+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ properties:+ description:+ type: string+ x-go-name: Description+ due_on:+ format: date-time+ type: string+ x-go-name: Deadline+ state:+ type: string+ x-go-name: State+ title:+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditOrgOption:+ description: EditOrgOption options for editing an organization+ example:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ visibility: public+ description: description+ location: location+ properties:+ description:+ type: string+ x-go-name: Description+ full_name:+ type: string+ x-go-name: FullName+ location:+ type: string+ x-go-name: Location+ repo_admin_change_team_access:+ type: boolean+ x-go-name: RepoAdminChangeTeamAccess+ visibility:+ description: "possible values are `public`, `limited` or `private`"+ enum:+ - public+ - limited+ - private+ type: string+ x-go-name: Visibility+ website:+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditPullRequestOption:+ description: EditPullRequestOption options when modify pull request+ example:+ unset_due_date: true+ milestone: 6+ allow_maintainer_edit: true+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - assignees+ - assignees+ assignee: assignee+ state: state+ body: body+ title: title+ base: base+ labels:+ - 0+ - 0+ properties:+ allow_maintainer_edit:+ type: boolean+ x-go-name: AllowMaintainerEdit+ assignee:+ type: string+ x-go-name: Assignee+ assignees:+ items:+ type: string+ type: array+ x-go-name: Assignees+ base:+ type: string+ x-go-name: Base+ body:+ type: string+ x-go-name: Body+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ labels:+ items:+ format: int64+ type: integer+ type: array+ x-go-name: Labels+ milestone:+ format: int64+ type: integer+ x-go-name: Milestone+ state:+ type: string+ x-go-name: State+ title:+ type: string+ x-go-name: Title+ unset_due_date:+ type: boolean+ x-go-name: RemoveDeadline+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditReactionOption:+ description: EditReactionOption contain the reaction type+ example:+ content: content+ properties:+ content:+ type: string+ x-go-name: Reaction+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditReleaseOption:+ description: EditReleaseOption options when editing a release+ example:+ prerelease: true+ tag_name: tag_name+ draft: true+ target_commitish: target_commitish+ name: name+ body: body+ properties:+ body:+ type: string+ x-go-name: Note+ draft:+ type: boolean+ x-go-name: IsDraft+ name:+ type: string+ x-go-name: Title+ prerelease:+ type: boolean+ x-go-name: IsPrerelease+ tag_name:+ type: string+ x-go-name: TagName+ target_commitish:+ type: string+ x-go-name: Target+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditRepoOption:+ description: EditRepoOption options when editing a repository's properties+ example:+ ignore_whitespace_conflicts: true+ template: true+ allow_manual_merge: true+ private: true+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_pull_requests: true+ has_projects: true+ archived: true+ autodetect_manual_merge: true+ has_wiki: true+ allow_merge_commits: true+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ enable_prune: true+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ default_delete_branch_after_merge: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ name: name+ default_branch: default_branch+ properties:+ allow_manual_merge:+ description: "either `true` to allow mark pr as merged manually, or `false`\+ \ to prevent it."+ type: boolean+ x-go-name: AllowManualMerge+ allow_merge_commits:+ description: "either `true` to allow merging pull requests with a merge\+ \ commit, or `false` to prevent merging pull requests with merge commits."+ type: boolean+ x-go-name: AllowMerge+ allow_rebase:+ description: "either `true` to allow rebase-merging pull requests, or `false`\+ \ to prevent rebase-merging."+ type: boolean+ x-go-name: AllowRebase+ allow_rebase_explicit:+ description: "either `true` to allow rebase with explicit merge commits\+ \ (--no-ff), or `false` to prevent rebase with explicit merge commits."+ type: boolean+ x-go-name: AllowRebaseMerge+ allow_rebase_update:+ description: "either `true` to allow updating pull request branch by rebase,\+ \ or `false` to prevent it."+ type: boolean+ x-go-name: AllowRebaseUpdate+ allow_squash_merge:+ description: "either `true` to allow squash-merging pull requests, or `false`\+ \ to prevent squash-merging."+ type: boolean+ x-go-name: AllowSquash+ archived:+ description: set to `true` to archive this repository.+ type: boolean+ x-go-name: Archived+ autodetect_manual_merge:+ description: "either `true` to enable AutodetectManualMerge, or `false`\+ \ to prevent it. Note: In some special cases, misjudgments can occur."+ type: boolean+ x-go-name: AutodetectManualMerge+ default_allow_maintainer_edit:+ description: set to `true` to allow edits from maintainers by default+ type: boolean+ x-go-name: DefaultAllowMaintainerEdit+ default_branch:+ description: sets the default branch for this repository.+ type: string+ x-go-name: DefaultBranch+ default_delete_branch_after_merge:+ description: set to `true` to delete pr branch after merge by default+ type: boolean+ x-go-name: DefaultDeleteBranchAfterMerge+ default_merge_style:+ description: "set to a merge style to be used by this repository: \"merge\"\+ , \"rebase\", \"rebase-merge\", or \"squash\"."+ type: string+ x-go-name: DefaultMergeStyle+ description:+ description: a short description of the repository.+ type: string+ x-go-name: Description+ enable_prune:+ description: enable prune - remove obsolete remote-tracking references+ type: boolean+ x-go-name: EnablePrune+ external_tracker:+ $ref: '#/components/schemas/ExternalTracker'+ external_wiki:+ $ref: '#/components/schemas/ExternalWiki'+ has_issues:+ description: either `true` to enable issues for this repository or `false`+ to disable them.+ type: boolean+ x-go-name: HasIssues+ has_projects:+ description: "either `true` to enable project unit, or `false` to disable\+ \ them."+ type: boolean+ x-go-name: HasProjects+ has_pull_requests:+ description: "either `true` to allow pull requests, or `false` to prevent\+ \ pull request."+ type: boolean+ x-go-name: HasPullRequests+ has_wiki:+ description: either `true` to enable the wiki for this repository or `false`+ to disable it.+ type: boolean+ x-go-name: HasWiki+ ignore_whitespace_conflicts:+ description: "either `true` to ignore whitespace for conflicts, or `false`\+ \ to not ignore whitespace."+ type: boolean+ x-go-name: IgnoreWhitespaceConflicts+ internal_tracker:+ $ref: '#/components/schemas/InternalTracker'+ mirror_interval:+ description: set to a string like `8h30m0s` to set the mirror interval time+ type: string+ x-go-name: MirrorInterval+ name:+ description: name of the repository+ type: string+ x-go-name: Name+ private:+ description: |-+ either `true` to make the repository private or `false` to make it public.+ Note: you will get a 422 error if the organization restricts changing repository visibility to organization+ owners and a non-owner tries to change the value of private.+ type: boolean+ x-go-name: Private+ template:+ description: either `true` to make this repository a template or `false`+ to make it a normal repository+ type: boolean+ x-go-name: Template+ website:+ description: a URL with more information about the repository.+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditTeamOption:+ description: EditTeamOption options for editing a team+ example:+ can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ name: name+ description: description+ permission: read+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ properties:+ can_create_org_repo:+ type: boolean+ x-go-name: CanCreateOrgRepo+ description:+ type: string+ x-go-name: Description+ includes_all_repositories:+ type: boolean+ x-go-name: IncludesAllRepositories+ name:+ type: string+ x-go-name: Name+ permission:+ enum:+ - read+ - write+ - admin+ type: string+ x-go-name: Permission+ units:+ example:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ items:+ type: string+ type: array+ x-go-name: Units+ units_map:+ additionalProperties:+ type: string+ example:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ type: object+ x-go-name: UnitsMap+ required:+ - name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ EditUserOption:+ description: EditUserOption edit user options+ example:+ website: website+ visibility: visibility+ active: true+ admin: true+ description: description+ max_repo_creation: 0+ must_change_password: true+ password: password+ full_name: full_name+ login_name: login_name+ restricted: true+ location: location+ allow_create_organization: true+ prohibit_login: true+ source_id: 6+ allow_import_local: true+ email: email+ allow_git_hook: true+ properties:+ active:+ type: boolean+ x-go-name: Active+ admin:+ type: boolean+ x-go-name: Admin+ allow_create_organization:+ type: boolean+ x-go-name: AllowCreateOrganization+ allow_git_hook:+ type: boolean+ x-go-name: AllowGitHook+ allow_import_local:+ type: boolean+ x-go-name: AllowImportLocal+ description:+ type: string+ x-go-name: Description+ email:+ format: email+ type: string+ x-go-name: Email+ full_name:+ type: string+ x-go-name: FullName+ location:+ type: string+ x-go-name: Location+ login_name:+ type: string+ x-go-name: LoginName+ max_repo_creation:+ format: int64+ type: integer+ x-go-name: MaxRepoCreation+ must_change_password:+ type: boolean+ x-go-name: MustChangePassword+ password:+ type: string+ x-go-name: Password+ prohibit_login:+ type: boolean+ x-go-name: ProhibitLogin+ restricted:+ type: boolean+ x-go-name: Restricted+ source_id:+ format: int64+ type: integer+ x-go-name: SourceID+ visibility:+ type: string+ x-go-name: Visibility+ website:+ type: string+ x-go-name: Website+ required:+ - login_name+ - source_id+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Email:+ description: Email an email address belonging to a user+ example:+ verified: true+ email: email+ primary: true+ properties:+ email:+ format: email+ type: string+ x-go-name: Email+ primary:+ type: boolean+ x-go-name: Primary+ verified:+ type: boolean+ x-go-name: Verified+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ExternalTracker:+ description: ExternalTracker represents settings for external tracker+ example:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ properties:+ external_tracker_format:+ description: "External Issue Tracker URL Format. Use the placeholders {user},\+ \ {repo} and {index} for the username, repository name and issue index."+ type: string+ x-go-name: ExternalTrackerFormat+ external_tracker_regexp_pattern:+ description: External Issue Tracker issue regular expression+ type: string+ x-go-name: ExternalTrackerRegexpPattern+ external_tracker_style:+ description: "External Issue Tracker Number Format, either `numeric`, `alphanumeric`,\+ \ or `regexp`"+ type: string+ x-go-name: ExternalTrackerStyle+ external_tracker_url:+ description: URL of external issue tracker.+ type: string+ x-go-name: ExternalTrackerURL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ExternalWiki:+ description: ExternalWiki represents setting for external wiki+ example:+ external_wiki_url: external_wiki_url+ properties:+ external_wiki_url:+ description: URL of external wiki.+ type: string+ x-go-name: ExternalWikiURL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ FileCommitResponse:+ example:+ committer:+ date: date+ name: name+ email: email+ author:+ date: date+ name: name+ email: email+ created: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ tree:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ sha: sha+ url: url+ parents:+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ properties:+ author:+ $ref: '#/components/schemas/CommitUser'+ committer:+ $ref: '#/components/schemas/CommitUser'+ created:+ format: date-time+ type: string+ x-go-name: Created+ html_url:+ type: string+ x-go-name: HTMLURL+ message:+ type: string+ x-go-name: Message+ parents:+ items:+ $ref: '#/components/schemas/CommitMeta'+ type: array+ x-go-name: Parents+ sha:+ type: string+ x-go-name: SHA+ tree:+ $ref: '#/components/schemas/CommitMeta'+ url:+ type: string+ x-go-name: URL+ title: FileCommitResponse contains information generated from a Git commit for+ a repo's file.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ FileDeleteResponse:+ description: FileDeleteResponse contains information about a repo's file that+ was deleted+ example:+ commit:+ committer:+ date: date+ name: name+ email: email+ author:+ date: date+ name: name+ email: email+ created: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ tree:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ sha: sha+ url: url+ parents:+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ content: "{}"+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ properties:+ commit:+ $ref: '#/components/schemas/FileCommitResponse'+ content:+ type: object+ x-go-name: Content+ verification:+ $ref: '#/components/schemas/PayloadCommitVerification'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ FileLinksResponse:+ description: FileLinksResponse contains the links for a repo's file+ example:+ git: git+ self: self+ html: html+ properties:+ git:+ type: string+ x-go-name: GitURL+ html:+ type: string+ x-go-name: HTMLURL+ self:+ type: string+ x-go-name: Self+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ FileResponse:+ description: FileResponse contains information about a repo's file+ example:+ commit:+ committer:+ date: date+ name: name+ email: email+ author:+ date: date+ name: name+ email: email+ created: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ tree:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ sha: sha+ url: url+ parents:+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ content:+ _links:+ git: git+ self: self+ html: html+ submodule_git_url: submodule_git_url+ last_commit_sha: last_commit_sha+ encoding: encoding+ type: type+ sha: sha+ content: content+ url: url+ target: target+ path: path+ size: 0+ html_url: html_url+ download_url: download_url+ name: name+ git_url: git_url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ properties:+ commit:+ $ref: '#/components/schemas/FileCommitResponse'+ content:+ $ref: '#/components/schemas/ContentsResponse'+ verification:+ $ref: '#/components/schemas/PayloadCommitVerification'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GPGKey:+ description: GPGKey a user GPG key to sign commit and tag in repository+ example:+ public_key: public_key+ key_id: key_id+ verified: true+ created_at: 2000-01-23T04:56:07.000+00:00+ emails:+ - verified: true+ email: email+ - verified: true+ email: email+ can_certify: true+ expires_at: 2000-01-23T04:56:07.000+00:00+ can_encrypt_comms: true+ can_encrypt_storage: true+ can_sign: true+ id: 0+ subkeys:+ - null+ - null+ primary_key_id: primary_key_id+ properties:+ can_certify:+ type: boolean+ x-go-name: CanCertify+ can_encrypt_comms:+ type: boolean+ x-go-name: CanEncryptComms+ can_encrypt_storage:+ type: boolean+ x-go-name: CanEncryptStorage+ can_sign:+ type: boolean+ x-go-name: CanSign+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ emails:+ items:+ $ref: '#/components/schemas/GPGKeyEmail'+ type: array+ x-go-name: Emails+ expires_at:+ format: date-time+ type: string+ x-go-name: Expires+ id:+ format: int64+ type: integer+ x-go-name: ID+ key_id:+ type: string+ x-go-name: KeyID+ primary_key_id:+ type: string+ x-go-name: PrimaryKeyID+ public_key:+ type: string+ x-go-name: PublicKey+ subkeys:+ items:+ $ref: '#/components/schemas/GPGKey'+ type: array+ x-go-name: SubsKey+ verified:+ type: boolean+ x-go-name: Verified+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GPGKeyEmail:+ description: GPGKeyEmail an email attached to a GPGKey+ example:+ verified: true+ email: email+ properties:+ email:+ type: string+ x-go-name: Email+ verified:+ type: boolean+ x-go-name: Verified+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GeneralAPISettings:+ description: GeneralAPISettings contains global api settings exposed by it+ example:+ max_response_items: 5+ default_git_trees_per_page: 0+ default_paging_num: 1+ default_max_blob_size: 6+ properties:+ default_git_trees_per_page:+ format: int64+ type: integer+ x-go-name: DefaultGitTreesPerPage+ default_max_blob_size:+ format: int64+ type: integer+ x-go-name: DefaultMaxBlobSize+ default_paging_num:+ format: int64+ type: integer+ x-go-name: DefaultPagingNum+ max_response_items:+ format: int64+ type: integer+ x-go-name: MaxResponseItems+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GeneralAttachmentSettings:+ description: GeneralAttachmentSettings contains global Attachment settings exposed+ by API+ example:+ max_files: 0+ allowed_types: allowed_types+ enabled: true+ max_size: 6+ properties:+ allowed_types:+ type: string+ x-go-name: AllowedTypes+ enabled:+ type: boolean+ x-go-name: Enabled+ max_files:+ format: int64+ type: integer+ x-go-name: MaxFiles+ max_size:+ format: int64+ type: integer+ x-go-name: MaxSize+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GeneralRepoSettings:+ description: GeneralRepoSettings contains global repository settings exposed+ by API+ example:+ migrations_disabled: true+ http_git_disabled: true+ lfs_disabled: true+ mirrors_disabled: true+ time_tracking_disabled: true+ stars_disabled: true+ properties:+ http_git_disabled:+ type: boolean+ x-go-name: HTTPGitDisabled+ lfs_disabled:+ type: boolean+ x-go-name: LFSDisabled+ migrations_disabled:+ type: boolean+ x-go-name: MigrationsDisabled+ mirrors_disabled:+ type: boolean+ x-go-name: MirrorsDisabled+ stars_disabled:+ type: boolean+ x-go-name: StarsDisabled+ time_tracking_disabled:+ type: boolean+ x-go-name: TimeTrackingDisabled+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GeneralUISettings:+ description: GeneralUISettings contains global ui settings exposed by API+ example:+ custom_emojis:+ - custom_emojis+ - custom_emojis+ allowed_reactions:+ - allowed_reactions+ - allowed_reactions+ default_theme: default_theme+ properties:+ allowed_reactions:+ items:+ type: string+ type: array+ x-go-name: AllowedReactions+ custom_emojis:+ items:+ type: string+ type: array+ x-go-name: CustomEmojis+ default_theme:+ type: string+ x-go-name: DefaultTheme+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GenerateRepoOption:+ description: GenerateRepoOption options when creating repository using a template+ example:+ git_content: true+ owner: owner+ private: true+ git_hooks: true+ webhooks: true+ topics: true+ name: name+ description: description+ default_branch: default_branch+ avatar: true+ labels: true+ properties:+ avatar:+ description: include avatar of the template repo+ type: boolean+ x-go-name: Avatar+ default_branch:+ description: Default branch of the new repository+ type: string+ x-go-name: DefaultBranch+ description:+ description: Description of the repository to create+ type: string+ x-go-name: Description+ git_content:+ description: include git content of default branch in template repo+ type: boolean+ x-go-name: GitContent+ git_hooks:+ description: include git hooks in template repo+ type: boolean+ x-go-name: GitHooks+ labels:+ description: include labels in template repo+ type: boolean+ x-go-name: Labels+ name:+ description: Name of the repository to create+ type: string+ x-go-name: Name+ owner:+ description: The organization or person who will own the new repository+ type: string+ x-go-name: Owner+ private:+ description: Whether the repository is private+ type: boolean+ x-go-name: Private+ topics:+ description: include topics in template repo+ type: boolean+ x-go-name: Topics+ webhooks:+ description: include webhooks in template repo+ type: boolean+ x-go-name: Webhooks+ required:+ - name+ - owner+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GitBlobResponse:+ description: GitBlobResponse represents a git blob+ example:+ size: 0+ encoding: encoding+ sha: sha+ content: content+ url: url+ properties:+ content:+ type: string+ x-go-name: Content+ encoding:+ type: string+ x-go-name: Encoding+ sha:+ type: string+ x-go-name: SHA+ size:+ format: int64+ type: integer+ x-go-name: Size+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GitEntry:+ description: GitEntry represents a git tree+ example:+ mode: mode+ path: path+ size: 1+ type: type+ sha: sha+ url: url+ properties:+ mode:+ type: string+ x-go-name: Mode+ path:+ type: string+ x-go-name: Path+ sha:+ type: string+ x-go-name: SHA+ size:+ format: int64+ type: integer+ x-go-name: Size+ type:+ type: string+ x-go-name: Type+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GitHook:+ description: GitHook represents a Git repository hook+ example:+ is_active: true+ name: name+ content: content+ properties:+ content:+ type: string+ x-go-name: Content+ is_active:+ type: boolean+ x-go-name: IsActive+ name:+ type: string+ x-go-name: Name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GitObject:+ example:+ type: type+ sha: sha+ url: url+ properties:+ sha:+ type: string+ x-go-name: SHA+ type:+ type: string+ x-go-name: Type+ url:+ type: string+ x-go-name: URL+ title: GitObject represents a Git object.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ GitTreeResponse:+ description: GitTreeResponse returns a git tree+ example:+ total_count: 6+ tree:+ - mode: mode+ path: path+ size: 1+ type: type+ sha: sha+ url: url+ - mode: mode+ path: path+ size: 1+ type: type+ sha: sha+ url: url+ truncated: true+ page: 0+ sha: sha+ url: url+ properties:+ page:+ format: int64+ type: integer+ x-go-name: Page+ sha:+ type: string+ x-go-name: SHA+ total_count:+ format: int64+ type: integer+ x-go-name: TotalCount+ tree:+ items:+ $ref: '#/components/schemas/GitEntry'+ type: array+ x-go-name: Entries+ truncated:+ type: boolean+ x-go-name: Truncated+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Hook:+ description: Hook a hook is a web hook when one repository changed+ example:+ updated_at: 2000-01-23T04:56:07.000+00:00+ active: true+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 0+ type: type+ config:+ key: config+ authorization_header: authorization_header+ events:+ - events+ - events+ properties:+ active:+ type: boolean+ x-go-name: Active+ authorization_header:+ type: string+ x-go-name: AuthorizationHeader+ config:+ additionalProperties:+ type: string+ type: object+ x-go-name: Config+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ events:+ items:+ type: string+ type: array+ x-go-name: Events+ id:+ format: int64+ type: integer+ x-go-name: ID+ type:+ type: string+ x-go-name: Type+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Identity:+ description: Identity for a person's identity like an author or committer+ example:+ name: name+ email: email+ properties:+ email:+ format: email+ type: string+ x-go-name: Email+ name:+ type: string+ x-go-name: Name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ InternalTracker:+ description: InternalTracker represents settings for internal tracker+ example:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ properties:+ allow_only_contributors_to_track_time:+ description: Let only contributors track time (Built-in issue tracker)+ type: boolean+ x-go-name: AllowOnlyContributorsToTrackTime+ enable_issue_dependencies:+ description: Enable dependencies for issues and pull requests (Built-in+ issue tracker)+ type: boolean+ x-go-name: EnableIssueDependencies+ enable_time_tracker:+ description: Enable time tracking (Built-in issue tracker)+ type: boolean+ x-go-name: EnableTimeTracker+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Issue:+ description: Issue represents an issue in a repository+ example:+ is_locked: true+ pull_request:+ merged_at: 2000-01-23T04:56:07.000+00:00+ merged: true+ closed_at: 2000-01-23T04:56:07.000+00:00+ comments: 5+ original_author_id: 2+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ body: body+ repository:+ owner: owner+ full_name: full_name+ name: name+ id: 4+ title: title+ url: url+ labels:+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ number: 3+ ref: ref+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ id: 5+ state: state+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ assets:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ x-go-name: Attachments+ assignee:+ $ref: '#/components/schemas/User'+ assignees:+ items:+ $ref: '#/components/schemas/User'+ type: array+ x-go-name: Assignees+ body:+ type: string+ x-go-name: Body+ closed_at:+ format: date-time+ type: string+ x-go-name: Closed+ comments:+ format: int64+ type: integer+ x-go-name: Comments+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ is_locked:+ type: boolean+ x-go-name: IsLocked+ labels:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ x-go-name: Labels+ milestone:+ $ref: '#/components/schemas/Milestone'+ number:+ format: int64+ type: integer+ x-go-name: Index+ original_author:+ type: string+ x-go-name: OriginalAuthor+ original_author_id:+ format: int64+ type: integer+ x-go-name: OriginalAuthorID+ pull_request:+ $ref: '#/components/schemas/PullRequestMeta'+ ref:+ type: string+ x-go-name: Ref+ repository:+ $ref: '#/components/schemas/RepositoryMeta'+ state:+ description: StateType issue state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ title:+ type: string+ x-go-name: Title+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ url:+ type: string+ x-go-name: URL+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ IssueDeadline:+ description: IssueDeadline represents an issue deadline+ example:+ due_date: 2000-01-23T04:56:07.000+00:00+ properties:+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ IssueFormField:+ description: IssueFormField represents a form field+ example:+ attributes:+ key: "{}"+ id: id+ validations:+ key: "{}"+ type: type+ properties:+ attributes:+ additionalProperties:+ type: object+ type: object+ x-go-name: Attributes+ id:+ type: string+ x-go-name: ID+ type:+ title: "IssueFormFieldType defines issue form field type, can be \"markdown\"\+ , \"textarea\", \"input\", \"dropdown\" or \"checkboxes\""+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ validations:+ additionalProperties:+ type: object+ type: object+ x-go-name: Validations+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ IssueFormFieldType:+ title: "IssueFormFieldType defines issue form field type, can be \"markdown\"\+ , \"textarea\", \"input\", \"dropdown\" or \"checkboxes\""+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ IssueLabelsOption:+ description: IssueLabelsOption a collection of labels+ example:+ labels:+ - 0+ - 0+ properties:+ labels:+ description: list of label IDs+ items:+ format: int64+ type: integer+ type: array+ x-go-name: Labels+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ IssueTemplate:+ description: IssueTemplate represents an issue template for a repository+ example:+ ref: ref+ file_name: file_name+ about: about+ name: name+ body:+ - attributes:+ key: "{}"+ id: id+ validations:+ key: "{}"+ type: type+ - attributes:+ key: "{}"+ id: id+ validations:+ key: "{}"+ type: type+ title: title+ content: content+ labels:+ - labels+ - labels+ properties:+ about:+ type: string+ x-go-name: About+ body:+ items:+ $ref: '#/components/schemas/IssueFormField'+ type: array+ x-go-name: Fields+ content:+ type: string+ x-go-name: Content+ file_name:+ type: string+ x-go-name: FileName+ labels:+ items:+ type: string+ type: array+ x-go-package: code.gitea.io/gitea/modules/structs+ name:+ type: string+ x-go-name: Name+ ref:+ type: string+ x-go-name: Ref+ title:+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ IssueTemplateLabels:+ items:+ type: string+ type: array+ x-go-package: code.gitea.io/gitea/modules/structs+ Label:+ description: Label a label to an issue or a pr+ example:+ color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ properties:+ color:+ example: 00aabb+ type: string+ x-go-name: Color+ description:+ type: string+ x-go-name: Description+ exclusive:+ example: false+ type: boolean+ x-go-name: Exclusive+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Name+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ MarkdownOption:+ description: MarkdownOption markdown options+ example:+ Context: Context+ Mode: Mode+ Wiki: true+ Text: Text+ properties:+ Context:+ description: |-+ Context to render++ in: body+ type: string+ Mode:+ description: |-+ Mode to render++ in: body+ type: string+ Text:+ description: |-+ Text markdown to render++ in: body+ type: string+ Wiki:+ description: |-+ Is it a wiki page ?++ in: body+ type: boolean+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ MergePullRequestOption:+ description: MergePullRequestForm form for merging Pull Request+ example:+ force_merge: true+ head_commit_id: head_commit_id+ delete_branch_after_merge: true+ merge_when_checks_succeed: true+ Do: merge+ MergeCommitID: MergeCommitID+ MergeMessageField: MergeMessageField+ MergeTitleField: MergeTitleField+ properties:+ Do:+ enum:+ - merge+ - rebase+ - rebase-merge+ - squash+ - manually-merged+ type: string+ MergeCommitID:+ type: string+ MergeMessageField:+ type: string+ MergeTitleField:+ type: string+ delete_branch_after_merge:+ type: boolean+ x-go-name: DeleteBranchAfterMerge+ force_merge:+ type: boolean+ x-go-name: ForceMerge+ head_commit_id:+ type: string+ x-go-name: HeadCommitID+ merge_when_checks_succeed:+ type: boolean+ x-go-name: MergeWhenChecksSucceed+ required:+ - Do+ type: object+ x-go-name: MergePullRequestForm+ x-go-package: code.gitea.io/gitea/services/forms+ MigrateRepoOptions:+ description: |-+ MigrateRepoOptions options for migrating repository's+ this is used to interact with api v1+ example:+ lfs_endpoint: lfs_endpoint+ mirror: true+ private: true+ clone_addr: clone_addr+ wiki: true+ auth_password: auth_password+ description: description+ issues: true+ labels: true+ releases: true+ pull_requests: true+ uid: 0+ auth_username: auth_username+ service: git+ lfs: true+ repo_name: repo_name+ auth_token: auth_token+ milestones: true+ repo_owner: repo_owner+ mirror_interval: mirror_interval+ properties:+ auth_password:+ type: string+ x-go-name: AuthPassword+ auth_token:+ type: string+ x-go-name: AuthToken+ auth_username:+ type: string+ x-go-name: AuthUsername+ clone_addr:+ type: string+ x-go-name: CloneAddr+ description:+ type: string+ x-go-name: Description+ issues:+ type: boolean+ x-go-name: Issues+ labels:+ type: boolean+ x-go-name: Labels+ lfs:+ type: boolean+ x-go-name: LFS+ lfs_endpoint:+ type: string+ x-go-name: LFSEndpoint+ milestones:+ type: boolean+ x-go-name: Milestones+ mirror:+ type: boolean+ x-go-name: Mirror+ mirror_interval:+ type: string+ x-go-name: MirrorInterval+ private:+ type: boolean+ x-go-name: Private+ pull_requests:+ type: boolean+ x-go-name: PullRequests+ releases:+ type: boolean+ x-go-name: Releases+ repo_name:+ type: string+ x-go-name: RepoName+ repo_owner:+ description: Name of User or Organisation who will own Repo after migration+ type: string+ x-go-name: RepoOwner+ service:+ enum:+ - git+ - github+ - gitea+ - gitlab+ - gogs+ - onedev+ - gitbucket+ - codebase+ type: string+ x-go-name: Service+ uid:+ description: deprecated (only for backwards compatibility)+ format: int64+ type: integer+ x-go-name: RepoOwnerID+ wiki:+ type: boolean+ x-go-name: Wiki+ required:+ - clone_addr+ - repo_name+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Milestone:+ description: Milestone milestone is a collection of issues on one repository+ example:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ properties:+ closed_at:+ format: date-time+ type: string+ x-go-name: Closed+ closed_issues:+ format: int64+ type: integer+ x-go-name: ClosedIssues+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ description:+ type: string+ x-go-name: Description+ due_on:+ format: date-time+ type: string+ x-go-name: Deadline+ id:+ format: int64+ type: integer+ x-go-name: ID+ open_issues:+ format: int64+ type: integer+ x-go-name: OpenIssues+ state:+ description: StateType issue state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ title:+ type: string+ x-go-name: Title+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NodeInfo:+ description: NodeInfo contains standardized way of exposing metadata about a+ server running one of the distributed social networks+ example:+ metadata: "{}"+ software:+ name: name+ repository: repository+ version: version+ homepage: homepage+ usage:+ localPosts: 6+ localComments: 0+ users:+ total: 5+ activeHalfyear: 1+ activeMonth: 5+ services:+ inbound:+ - inbound+ - inbound+ outbound:+ - outbound+ - outbound+ protocols:+ - protocols+ - protocols+ version: version+ openRegistrations: true+ properties:+ metadata:+ properties: {}+ type: object+ x-go-name: Metadata+ openRegistrations:+ type: boolean+ x-go-name: OpenRegistrations+ protocols:+ items:+ type: string+ type: array+ x-go-name: Protocols+ services:+ $ref: '#/components/schemas/NodeInfoServices'+ software:+ $ref: '#/components/schemas/NodeInfoSoftware'+ usage:+ $ref: '#/components/schemas/NodeInfoUsage'+ version:+ type: string+ x-go-name: Version+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NodeInfoServices:+ description: NodeInfoServices contains the third party sites this server can+ connect to via their application API+ example:+ inbound:+ - inbound+ - inbound+ outbound:+ - outbound+ - outbound+ properties:+ inbound:+ items:+ type: string+ type: array+ x-go-name: Inbound+ outbound:+ items:+ type: string+ type: array+ x-go-name: Outbound+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NodeInfoSoftware:+ description: NodeInfoSoftware contains Metadata about server software in use+ example:+ name: name+ repository: repository+ version: version+ homepage: homepage+ properties:+ homepage:+ type: string+ x-go-name: Homepage+ name:+ type: string+ x-go-name: Name+ repository:+ type: string+ x-go-name: Repository+ version:+ type: string+ x-go-name: Version+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NodeInfoUsage:+ description: NodeInfoUsage contains usage statistics for this server+ example:+ localPosts: 6+ localComments: 0+ users:+ total: 5+ activeHalfyear: 1+ activeMonth: 5+ properties:+ localComments:+ format: int64+ type: integer+ x-go-name: LocalComments+ localPosts:+ format: int64+ type: integer+ x-go-name: LocalPosts+ users:+ $ref: '#/components/schemas/NodeInfoUsageUsers'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NodeInfoUsageUsers:+ description: NodeInfoUsageUsers contains statistics about the users of this+ server+ example:+ total: 5+ activeHalfyear: 1+ activeMonth: 5+ properties:+ activeHalfyear:+ format: int64+ type: integer+ x-go-name: ActiveHalfyear+ activeMonth:+ format: int64+ type: integer+ x-go-name: ActiveMonth+ total:+ format: int64+ type: integer+ x-go-name: Total+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Note:+ description: Note contains information related to a git note+ example:+ commit:+ committer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ stats:+ total: 1+ additions: 0+ deletions: 6+ author:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ commit:+ committer:+ date: date+ name: name+ email: email+ author:+ date: date+ name: name+ email: email+ tree:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ url: url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ files:+ - filename: filename+ - filename: filename+ sha: sha+ url: url+ parents:+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ - created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ properties:+ commit:+ $ref: '#/components/schemas/Commit'+ message:+ type: string+ x-go-name: Message+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NotificationCount:+ description: NotificationCount number of unread notifications+ example:+ new: 0+ properties:+ new:+ format: int64+ type: integer+ x-go-name: New+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NotificationSubject:+ description: NotificationSubject contains the notification subject (Issue/Pull/Commit)+ example:+ latest_comment_url: latest_comment_url+ latest_comment_html_url: latest_comment_html_url+ html_url: html_url+ state: state+ title: title+ type: type+ url: url+ properties:+ html_url:+ type: string+ x-go-name: HTMLURL+ latest_comment_html_url:+ type: string+ x-go-name: LatestCommentHTMLURL+ latest_comment_url:+ type: string+ x-go-name: LatestCommentURL+ state:+ description: StateType issue state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ title:+ type: string+ x-go-name: Title+ type:+ description: NotifySubjectType represent type of notification subject+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NotificationThread:+ description: NotificationThread expose Notification on API+ example:+ pinned: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ unread: true+ subject:+ latest_comment_url: latest_comment_url+ latest_comment_html_url: latest_comment_html_url+ html_url: html_url+ state: state+ title: title+ type: type+ url: url+ id: 0+ repository:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ url: url+ properties:+ id:+ format: int64+ type: integer+ x-go-name: ID+ pinned:+ type: boolean+ x-go-name: Pinned+ repository:+ $ref: '#/components/schemas/Repository'+ subject:+ $ref: '#/components/schemas/NotificationSubject'+ unread:+ type: boolean+ x-go-name: Unread+ updated_at:+ format: date-time+ type: string+ x-go-name: UpdatedAt+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ NotifySubjectType:+ description: NotifySubjectType represent type of notification subject+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ OAuth2Application:+ example:+ created: 2000-01-23T04:56:07.000+00:00+ name: name+ confidential_client: true+ client_secret: client_secret+ id: 0+ redirect_uris:+ - redirect_uris+ - redirect_uris+ client_id: client_id+ properties:+ client_id:+ type: string+ x-go-name: ClientID+ client_secret:+ type: string+ x-go-name: ClientSecret+ confidential_client:+ type: boolean+ x-go-name: ConfidentialClient+ created:+ format: date-time+ type: string+ x-go-name: Created+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Name+ redirect_uris:+ items:+ type: string+ type: array+ x-go-name: RedirectURIs+ title: OAuth2Application represents an OAuth2 application.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Organization:+ description: Organization represents an organization+ example:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ properties:+ avatar_url:+ type: string+ x-go-name: AvatarURL+ description:+ type: string+ x-go-name: Description+ full_name:+ type: string+ x-go-name: FullName+ id:+ format: int64+ type: integer+ x-go-name: ID+ location:+ type: string+ x-go-name: Location+ name:+ type: string+ x-go-name: Name+ repo_admin_change_team_access:+ type: boolean+ x-go-name: RepoAdminChangeTeamAccess+ username:+ description: deprecated+ type: string+ x-go-name: UserName+ visibility:+ type: string+ x-go-name: Visibility+ website:+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ OrganizationPermissions:+ description: OrganizationPermissions list different users permissions on an+ organization+ example:+ can_read: true+ is_admin: true+ can_create_repository: true+ can_write: true+ is_owner: true+ properties:+ can_create_repository:+ type: boolean+ x-go-name: CanCreateRepository+ can_read:+ type: boolean+ x-go-name: CanRead+ can_write:+ type: boolean+ x-go-name: CanWrite+ is_admin:+ type: boolean+ x-go-name: IsAdmin+ is_owner:+ type: boolean+ x-go-name: IsOwner+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PRBranchInfo:+ description: PRBranchInfo information about a branch+ example:+ ref: ref+ repo_id: 0+ repo:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ label: label+ sha: sha+ properties:+ label:+ type: string+ x-go-name: Name+ ref:+ type: string+ x-go-name: Ref+ repo:+ $ref: '#/components/schemas/Repository'+ repo_id:+ format: int64+ type: integer+ x-go-name: RepoID+ sha:+ type: string+ x-go-name: Sha+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Package:+ description: Package represents a package+ example:+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ creator:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 0+ repository:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ type: type+ version: version+ properties:+ created_at:+ format: date-time+ type: string+ x-go-name: CreatedAt+ creator:+ $ref: '#/components/schemas/User'+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Name+ owner:+ $ref: '#/components/schemas/User'+ repository:+ $ref: '#/components/schemas/Repository'+ type:+ type: string+ x-go-name: Type+ version:+ type: string+ x-go-name: Version+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PackageFile:+ description: PackageFile represents a package file+ example:+ sha1: sha1+ sha256: sha256+ Size: 0+ name: name+ sha512: sha512+ id: 6+ md5: md5+ properties:+ Size:+ format: int64+ type: integer+ id:+ format: int64+ type: integer+ x-go-name: ID+ md5:+ type: string+ x-go-name: HashMD5+ name:+ type: string+ x-go-name: Name+ sha1:+ type: string+ x-go-name: HashSHA1+ sha256:+ type: string+ x-go-name: HashSHA256+ sha512:+ type: string+ x-go-name: HashSHA512+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PayloadCommit:+ description: PayloadCommit represents a commit+ example:+ committer:+ name: name+ email: email+ username: username+ removed:+ - removed+ - removed+ added:+ - added+ - added+ author:+ name: name+ email: email+ username: username+ modified:+ - modified+ - modified+ id: id+ message: message+ url: url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ timestamp: 2000-01-23T04:56:07.000+00:00+ properties:+ added:+ items:+ type: string+ type: array+ x-go-name: Added+ author:+ $ref: '#/components/schemas/PayloadUser'+ committer:+ $ref: '#/components/schemas/PayloadUser'+ id:+ description: sha1 hash of the commit+ type: string+ x-go-name: ID+ message:+ type: string+ x-go-name: Message+ modified:+ items:+ type: string+ type: array+ x-go-name: Modified+ removed:+ items:+ type: string+ type: array+ x-go-name: Removed+ timestamp:+ format: date-time+ type: string+ x-go-name: Timestamp+ url:+ type: string+ x-go-name: URL+ verification:+ $ref: '#/components/schemas/PayloadCommitVerification'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PayloadCommitVerification:+ description: PayloadCommitVerification represents the GPG verification of a+ commit+ example:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ properties:+ payload:+ type: string+ x-go-name: Payload+ reason:+ type: string+ x-go-name: Reason+ signature:+ type: string+ x-go-name: Signature+ signer:+ $ref: '#/components/schemas/PayloadUser'+ verified:+ type: boolean+ x-go-name: Verified+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PayloadUser:+ description: PayloadUser represents the author or committer of a commit+ example:+ name: name+ email: email+ username: username+ properties:+ email:+ format: email+ type: string+ x-go-name: Email+ name:+ description: Full name of the commit author+ type: string+ x-go-name: Name+ username:+ type: string+ x-go-name: UserName+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Permission:+ description: Permission represents a set of permissions+ example:+ pull: true+ admin: true+ push: true+ properties:+ admin:+ type: boolean+ x-go-name: Admin+ pull:+ type: boolean+ x-go-name: Pull+ push:+ type: boolean+ x-go-name: Push+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PublicKey:+ description: PublicKey publickey is a user key to push code to repository+ example:+ key_type: key_type+ read_only: true+ fingerprint: fingerprint+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 0+ title: title+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ key: key+ url: url+ properties:+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ fingerprint:+ type: string+ x-go-name: Fingerprint+ id:+ format: int64+ type: integer+ x-go-name: ID+ key:+ type: string+ x-go-name: Key+ key_type:+ type: string+ x-go-name: KeyType+ read_only:+ type: boolean+ x-go-name: ReadOnly+ title:+ type: string+ x-go-name: Title+ url:+ type: string+ x-go-name: URL+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PullRequest:+ description: PullRequest represents a pull request+ example:+ is_locked: true+ assignees:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ diff_url: diff_url+ merged_by:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ body: body+ title: title+ head:+ ref: ref+ repo_id: 0+ repo:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ label: label+ sha: sha+ number: 5+ mergeable: true+ patch_url: patch_url+ updated_at: 2000-01-23T04:56:07.000+00:00+ merge_base: merge_base+ merge_commit_sha: merge_commit_sha+ id: 1+ state: state+ closed_at: 2000-01-23T04:56:07.000+00:00+ comments: 6+ merged_at: 2000-01-23T04:56:07.000+00:00+ due_date: 2000-01-23T04:56:07.000+00:00+ merged: true+ url: url+ labels:+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ allow_maintainer_edit: true+ html_url: html_url+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ base:+ ref: ref+ repo_id: 0+ repo:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ label: label+ sha: sha+ properties:+ allow_maintainer_edit:+ type: boolean+ x-go-name: AllowMaintainerEdit+ assignee:+ $ref: '#/components/schemas/User'+ assignees:+ items:+ $ref: '#/components/schemas/User'+ type: array+ x-go-name: Assignees+ base:+ $ref: '#/components/schemas/PRBranchInfo'+ body:+ type: string+ x-go-name: Body+ closed_at:+ format: date-time+ type: string+ x-go-name: Closed+ comments:+ format: int64+ type: integer+ x-go-name: Comments+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ diff_url:+ type: string+ x-go-name: DiffURL+ due_date:+ format: date-time+ type: string+ x-go-name: Deadline+ head:+ $ref: '#/components/schemas/PRBranchInfo'+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ is_locked:+ type: boolean+ x-go-name: IsLocked+ labels:+ items:+ $ref: '#/components/schemas/Label'+ type: array+ x-go-name: Labels+ merge_base:+ type: string+ x-go-name: MergeBase+ merge_commit_sha:+ type: string+ x-go-name: MergedCommitID+ mergeable:+ type: boolean+ x-go-name: Mergeable+ merged:+ type: boolean+ x-go-name: HasMerged+ merged_at:+ format: date-time+ type: string+ x-go-name: Merged+ merged_by:+ $ref: '#/components/schemas/User'+ milestone:+ $ref: '#/components/schemas/Milestone'+ number:+ format: int64+ type: integer+ x-go-name: Index+ patch_url:+ type: string+ x-go-name: PatchURL+ state:+ description: StateType issue state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ title:+ type: string+ x-go-name: Title+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ url:+ type: string+ x-go-name: URL+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PullRequestMeta:+ description: PullRequestMeta PR info if an issue is a PR+ example:+ merged_at: 2000-01-23T04:56:07.000+00:00+ merged: true+ properties:+ merged:+ type: boolean+ x-go-name: HasMerged+ merged_at:+ format: date-time+ type: string+ x-go-name: Merged+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PullReview:+ description: PullReview represents a pull request review+ example:+ submitted_at: 2000-01-23T04:56:07.000+00:00+ dismissed: true+ official: true+ pull_request_url: pull_request_url+ team:+ can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ body: body+ stale: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ comments_count: 0+ html_url: html_url+ id: 6+ state: state+ commit_id: commit_id+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ body:+ type: string+ x-go-name: Body+ comments_count:+ format: int64+ type: integer+ x-go-name: CodeCommentsCount+ commit_id:+ type: string+ x-go-name: CommitID+ dismissed:+ type: boolean+ x-go-name: Dismissed+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ official:+ type: boolean+ x-go-name: Official+ pull_request_url:+ type: string+ x-go-name: HTMLPullURL+ stale:+ type: boolean+ x-go-name: Stale+ state:+ description: ReviewStateType review state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ submitted_at:+ format: date-time+ type: string+ x-go-name: Submitted+ team:+ $ref: '#/components/schemas/Team'+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PullReviewComment:+ description: PullReviewComment represents a comment on a pull request review+ example:+ resolver:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ original_commit_id: original_commit_id+ diff_hunk: diff_hunk+ created_at: 2000-01-23T04:56:07.000+00:00+ pull_request_url: pull_request_url+ body: body+ path: path+ original_position: 6+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ pull_request_review_id: 5+ id: 0+ position: 1+ commit_id: commit_id+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ body:+ type: string+ x-go-name: Body+ commit_id:+ type: string+ x-go-name: CommitID+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ diff_hunk:+ type: string+ x-go-name: DiffHunk+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ original_commit_id:+ type: string+ x-go-name: OrigCommitID+ original_position:+ format: uint64+ type: integer+ x-go-name: OldLineNum+ path:+ type: string+ x-go-name: Path+ position:+ format: uint64+ type: integer+ x-go-name: LineNum+ pull_request_review_id:+ format: int64+ type: integer+ x-go-name: ReviewID+ pull_request_url:+ type: string+ x-go-name: HTMLPullURL+ resolver:+ $ref: '#/components/schemas/User'+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PullReviewRequestOptions:+ description: PullReviewRequestOptions are options to add or remove pull review+ requests+ example:+ team_reviewers:+ - team_reviewers+ - team_reviewers+ reviewers:+ - reviewers+ - reviewers+ properties:+ reviewers:+ items:+ type: string+ type: array+ x-go-name: Reviewers+ team_reviewers:+ items:+ type: string+ type: array+ x-go-name: TeamReviewers+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ PushMirror:+ description: PushMirror represents information of a push mirror+ example:+ sync_on_commit: true+ remote_name: remote_name+ created: created+ last_update: last_update+ interval: interval+ repo_name: repo_name+ last_error: last_error+ remote_address: remote_address+ properties:+ created:+ type: string+ x-go-name: CreatedUnix+ interval:+ type: string+ x-go-name: Interval+ last_error:+ type: string+ x-go-name: LastError+ last_update:+ type: string+ x-go-name: LastUpdateUnix+ remote_address:+ type: string+ x-go-name: RemoteAddress+ remote_name:+ type: string+ x-go-name: RemoteName+ repo_name:+ type: string+ x-go-name: RepoName+ sync_on_commit:+ type: boolean+ x-go-name: SyncOnCommit+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Reaction:+ description: Reaction contain one reaction+ example:+ created_at: 2000-01-23T04:56:07.000+00:00+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ content: content+ properties:+ content:+ type: string+ x-go-name: Reaction+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Reference:+ example:+ ref: ref+ url: url+ object:+ type: type+ sha: sha+ url: url+ properties:+ object:+ $ref: '#/components/schemas/GitObject'+ ref:+ type: string+ x-go-name: Ref+ url:+ type: string+ x-go-name: URL+ title: Reference represents a Git reference.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Release:+ description: Release represents a repository release+ example:+ author:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ tag_name: tag_name+ created_at: 2000-01-23T04:56:07.000+00:00+ body: body+ url: url+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ prerelease: true+ draft: true+ html_url: html_url+ target_commitish: target_commitish+ zipball_url: zipball_url+ name: name+ id: 0+ published_at: 2000-01-23T04:56:07.000+00:00+ tarball_url: tarball_url+ properties:+ assets:+ items:+ $ref: '#/components/schemas/Attachment'+ type: array+ x-go-name: Attachments+ author:+ $ref: '#/components/schemas/User'+ body:+ type: string+ x-go-name: Note+ created_at:+ format: date-time+ type: string+ x-go-name: CreatedAt+ draft:+ type: boolean+ x-go-name: IsDraft+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Title+ prerelease:+ type: boolean+ x-go-name: IsPrerelease+ published_at:+ format: date-time+ type: string+ x-go-name: PublishedAt+ tag_name:+ type: string+ x-go-name: TagName+ tarball_url:+ type: string+ x-go-name: TarURL+ target_commitish:+ type: string+ x-go-name: Target+ url:+ type: string+ x-go-name: URL+ zipball_url:+ type: string+ x-go-name: ZipURL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ RepoCollaboratorPermission:+ description: RepoCollaboratorPermission to get repository permission for a collaborator+ example:+ role_name: role_name+ permission: permission+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ permission:+ type: string+ x-go-name: Permission+ role_name:+ type: string+ x-go-name: RoleName+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ RepoCommit:+ example:+ committer:+ date: date+ name: name+ email: email+ author:+ date: date+ name: name+ email: email+ tree:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ message: message+ url: url+ verification:+ reason: reason+ payload: payload+ signature: signature+ verified: true+ signer:+ name: name+ email: email+ username: username+ properties:+ author:+ $ref: '#/components/schemas/CommitUser'+ committer:+ $ref: '#/components/schemas/CommitUser'+ message:+ type: string+ x-go-name: Message+ tree:+ $ref: '#/components/schemas/CommitMeta'+ url:+ type: string+ x-go-name: URL+ verification:+ $ref: '#/components/schemas/PayloadCommitVerification'+ title: RepoCommit contains information of a commit in the context of a repository.+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ RepoTopicOptions:+ description: RepoTopicOptions a collection of repo topic names+ example:+ topics:+ - topics+ - topics+ properties:+ topics:+ description: list of topic names+ items:+ type: string+ type: array+ x-go-name: Topics+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ RepoTransfer:+ description: RepoTransfer represents a pending repo transfer+ example:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ doer:+ $ref: '#/components/schemas/User'+ recipient:+ $ref: '#/components/schemas/User'+ teams:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ x-go-name: Teams+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Repository:+ description: Repository represents a repository+ example:+ parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ properties:+ allow_merge_commits:+ type: boolean+ x-go-name: AllowMerge+ allow_rebase:+ type: boolean+ x-go-name: AllowRebase+ allow_rebase_explicit:+ type: boolean+ x-go-name: AllowRebaseMerge+ allow_rebase_update:+ type: boolean+ x-go-name: AllowRebaseUpdate+ allow_squash_merge:+ type: boolean+ x-go-name: AllowSquash+ archived:+ type: boolean+ x-go-name: Archived+ avatar_url:+ type: string+ x-go-name: AvatarURL+ clone_url:+ type: string+ x-go-name: CloneURL+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ default_allow_maintainer_edit:+ type: boolean+ x-go-name: DefaultAllowMaintainerEdit+ default_branch:+ type: string+ x-go-name: DefaultBranch+ default_delete_branch_after_merge:+ type: boolean+ x-go-name: DefaultDeleteBranchAfterMerge+ default_merge_style:+ type: string+ x-go-name: DefaultMergeStyle+ description:+ type: string+ x-go-name: Description+ empty:+ type: boolean+ x-go-name: Empty+ external_tracker:+ $ref: '#/components/schemas/ExternalTracker'+ external_wiki:+ $ref: '#/components/schemas/ExternalWiki'+ fork:+ type: boolean+ x-go-name: Fork+ forks_count:+ format: int64+ type: integer+ x-go-name: Forks+ full_name:+ type: string+ x-go-name: FullName+ has_issues:+ type: boolean+ x-go-name: HasIssues+ has_projects:+ type: boolean+ x-go-name: HasProjects+ has_pull_requests:+ type: boolean+ x-go-name: HasPullRequests+ has_wiki:+ type: boolean+ x-go-name: HasWiki+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ ignore_whitespace_conflicts:+ type: boolean+ x-go-name: IgnoreWhitespaceConflicts+ internal:+ type: boolean+ x-go-name: Internal+ internal_tracker:+ $ref: '#/components/schemas/InternalTracker'+ language:+ type: string+ x-go-name: Language+ languages_url:+ type: string+ x-go-name: LanguagesURL+ link:+ type: string+ x-go-name: Link+ mirror:+ type: boolean+ x-go-name: Mirror+ mirror_interval:+ type: string+ x-go-name: MirrorInterval+ mirror_updated:+ format: date-time+ type: string+ x-go-name: MirrorUpdated+ name:+ type: string+ x-go-name: Name+ open_issues_count:+ format: int64+ type: integer+ x-go-name: OpenIssues+ open_pr_counter:+ format: int64+ type: integer+ x-go-name: OpenPulls+ original_url:+ type: string+ x-go-name: OriginalURL+ owner:+ $ref: '#/components/schemas/User'+ parent:+ $ref: '#/components/schemas/Repository'+ permissions:+ $ref: '#/components/schemas/Permission'+ private:+ type: boolean+ x-go-name: Private+ release_counter:+ format: int64+ type: integer+ x-go-name: Releases+ repo_transfer:+ $ref: '#/components/schemas/RepoTransfer'+ size:+ format: int64+ type: integer+ x-go-name: Size+ ssh_url:+ type: string+ x-go-name: SSHURL+ stars_count:+ format: int64+ type: integer+ x-go-name: Stars+ template:+ type: boolean+ x-go-name: Template+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ watchers_count:+ format: int64+ type: integer+ x-go-name: Watchers+ website:+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ RepositoryMeta:+ description: RepositoryMeta basic repository information+ example:+ owner: owner+ full_name: full_name+ name: name+ id: 4+ properties:+ full_name:+ type: string+ x-go-name: FullName+ id:+ format: int64+ type: integer+ x-go-name: ID+ name:+ type: string+ x-go-name: Name+ owner:+ type: string+ x-go-name: Owner+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ReviewStateType:+ description: ReviewStateType review state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ SearchResults:+ description: SearchResults results of a successful search+ example:+ data:+ - parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ - parent: null+ open_pr_counter: 5+ language: language+ repo_transfer:+ teams:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ recipient:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ has_pull_requests: true+ empty: true+ permissions:+ pull: true+ admin: true+ push: true+ id: 6+ release_counter: 5+ default_delete_branch_after_merge: true+ ssh_url: ssh_url+ full_name: full_name+ size: 7+ languages_url: languages_url+ clone_url: clone_url+ html_url: html_url+ name: name+ default_branch: default_branch+ mirror_updated: 2000-01-23T04:56:07.000+00:00+ ignore_whitespace_conflicts: true+ template: true+ internal: true+ mirror: true+ private: true+ open_issues_count: 1+ link: link+ created_at: 2000-01-23T04:56:07.000+00:00+ default_allow_maintainer_edit: true+ description: description+ allow_rebase_update: true+ has_projects: true+ archived: true+ has_wiki: true+ updated_at: 2000-01-23T04:56:07.000+00:00+ allow_merge_commits: true+ stars_count: 9+ allow_rebase_explicit: true+ external_tracker:+ external_tracker_regexp_pattern: external_tracker_regexp_pattern+ external_tracker_style: external_tracker_style+ external_tracker_url: external_tracker_url+ external_tracker_format: external_tracker_format+ mirror_interval: mirror_interval+ owner:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ allow_squash_merge: true+ external_wiki:+ external_wiki_url: external_wiki_url+ website: website+ internal_tracker:+ enable_issue_dependencies: true+ allow_only_contributors_to_track_time: true+ enable_time_tracker: true+ has_issues: true+ allow_rebase: true+ default_merge_style: default_merge_style+ fork: true+ avatar_url: avatar_url+ original_url: original_url+ watchers_count: 3+ forks_count: 0+ ok: true+ properties:+ data:+ items:+ $ref: '#/components/schemas/Repository'+ type: array+ x-go-name: Data+ ok:+ type: boolean+ x-go-name: OK+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ ServerVersion:+ description: ServerVersion wraps the version of the server+ example:+ version: version+ properties:+ version:+ type: string+ x-go-name: Version+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ StateType:+ description: StateType issue state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ StopWatch:+ description: StopWatch represent a running stopwatch+ example:+ duration: duration+ seconds: 6+ issue_index: 0+ created: 2000-01-23T04:56:07.000+00:00+ repo_owner_name: repo_owner_name+ issue_title: issue_title+ repo_name: repo_name+ properties:+ created:+ format: date-time+ type: string+ x-go-name: Created+ duration:+ type: string+ x-go-name: Duration+ issue_index:+ format: int64+ type: integer+ x-go-name: IssueIndex+ issue_title:+ type: string+ x-go-name: IssueTitle+ repo_name:+ type: string+ x-go-name: RepoName+ repo_owner_name:+ type: string+ x-go-name: RepoOwnerName+ seconds:+ format: int64+ type: integer+ x-go-name: Seconds+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ SubmitPullReviewOptions:+ description: SubmitPullReviewOptions are options to submit a pending pull review+ example:+ body: body+ event: event+ properties:+ body:+ type: string+ x-go-name: Body+ event:+ description: ReviewStateType review state type+ type: string+ x-go-package: code.gitea.io/gitea/modules/structs+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Tag:+ description: Tag represents a repository tag+ example:+ zipball_url: zipball_url+ commit:+ created: 2000-01-23T04:56:07.000+00:00+ sha: sha+ url: url+ name: name+ id: id+ message: message+ tarball_url: tarball_url+ properties:+ commit:+ $ref: '#/components/schemas/CommitMeta'+ id:+ type: string+ x-go-name: ID+ message:+ type: string+ x-go-name: Message+ name:+ type: string+ x-go-name: Name+ tarball_url:+ type: string+ x-go-name: TarballURL+ zipball_url:+ type: string+ x-go-name: ZipballURL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ Team:+ description: Team represents a team in an organization+ example:+ can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ properties:+ can_create_org_repo:+ type: boolean+ x-go-name: CanCreateOrgRepo+ description:+ type: string+ x-go-name: Description+ id:+ format: int64+ type: integer+ x-go-name: ID+ includes_all_repositories:+ type: boolean+ x-go-name: IncludesAllRepositories+ name:+ type: string+ x-go-name: Name+ organization:+ $ref: '#/components/schemas/Organization'+ permission:+ enum:+ - none+ - read+ - write+ - admin+ - owner+ type: string+ x-go-name: Permission+ units:+ example:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ items:+ type: string+ type: array+ x-go-name: Units+ units_map:+ additionalProperties:+ type: string+ example:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ type: object+ x-go-name: UnitsMap+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ TimeStamp:+ description: TimeStamp defines a timestamp+ format: int64+ type: integer+ x-go-package: code.gitea.io/gitea/modules/timeutil+ TimelineComment:+ description: TimelineComment represents a timeline comment (comment of any type)+ on a commit or issue+ example:+ issue_url: issue_url+ review_id: 5+ ref_commit_sha: ref_commit_sha+ old_milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ ref_issue:+ is_locked: true+ pull_request:+ merged_at: 2000-01-23T04:56:07.000+00:00+ merged: true+ closed_at: 2000-01-23T04:56:07.000+00:00+ comments: 5+ original_author_id: 2+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ body: body+ repository:+ owner: owner+ full_name: full_name+ name: name+ id: 4+ title: title+ url: url+ labels:+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ number: 3+ ref: ref+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ id: 5+ state: state+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ old_title: old_title+ resolve_doer:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ body: body+ type: type+ new_title: new_title+ old_project_id: 6+ updated_at: 2000-01-23T04:56:07.000+00:00+ project_id: 1+ dependent_issue:+ is_locked: true+ pull_request:+ merged_at: 2000-01-23T04:56:07.000+00:00+ merged: true+ closed_at: 2000-01-23T04:56:07.000+00:00+ comments: 5+ original_author_id: 2+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ body: body+ repository:+ owner: owner+ full_name: full_name+ name: name+ id: 4+ title: title+ url: url+ labels:+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ number: 3+ ref: ref+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ id: 5+ state: state+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ id: 0+ removed_assignee: true+ tracked_time:+ issue:+ is_locked: true+ pull_request:+ merged_at: 2000-01-23T04:56:07.000+00:00+ merged: true+ closed_at: 2000-01-23T04:56:07.000+00:00+ comments: 5+ original_author_id: 2+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ body: body+ repository:+ owner: owner+ full_name: full_name+ name: name+ id: 4+ title: title+ url: url+ labels:+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ number: 3+ ref: ref+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ id: 5+ state: state+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ issue_id: 2+ user_id: 9+ created: 2000-01-23T04:56:07.000+00:00+ user_name: user_name+ id: 5+ time: 7+ ref_action: ref_action+ label:+ color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ pull_request_url: pull_request_url+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ new_ref: new_ref+ assignee_team:+ can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ old_ref: old_ref+ html_url: html_url+ ref_comment:+ issue_url: issue_url+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ original_author_id: 6+ created_at: 2000-01-23T04:56:07.000+00:00+ id: 0+ pull_request_url: pull_request_url+ body: body+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ assignee:+ $ref: '#/components/schemas/User'+ assignee_team:+ $ref: '#/components/schemas/Team'+ body:+ type: string+ x-go-name: Body+ created_at:+ format: date-time+ type: string+ x-go-name: Created+ dependent_issue:+ $ref: '#/components/schemas/Issue'+ html_url:+ type: string+ x-go-name: HTMLURL+ id:+ format: int64+ type: integer+ x-go-name: ID+ issue_url:+ type: string+ x-go-name: IssueURL+ label:+ $ref: '#/components/schemas/Label'+ milestone:+ $ref: '#/components/schemas/Milestone'+ new_ref:+ type: string+ x-go-name: NewRef+ new_title:+ type: string+ x-go-name: NewTitle+ old_milestone:+ $ref: '#/components/schemas/Milestone'+ old_project_id:+ format: int64+ type: integer+ x-go-name: OldProjectID+ old_ref:+ type: string+ x-go-name: OldRef+ old_title:+ type: string+ x-go-name: OldTitle+ project_id:+ format: int64+ type: integer+ x-go-name: ProjectID+ pull_request_url:+ type: string+ x-go-name: PRURL+ ref_action:+ type: string+ x-go-name: RefAction+ ref_comment:+ $ref: '#/components/schemas/Comment'+ ref_commit_sha:+ description: commit SHA where issue/PR was referenced+ type: string+ x-go-name: RefCommitSHA+ ref_issue:+ $ref: '#/components/schemas/Issue'+ removed_assignee:+ description: whether the assignees were removed or added+ type: boolean+ x-go-name: RemovedAssignee+ resolve_doer:+ $ref: '#/components/schemas/User'+ review_id:+ format: int64+ type: integer+ x-go-name: ReviewID+ tracked_time:+ $ref: '#/components/schemas/TrackedTime'+ type:+ type: string+ x-go-name: Type+ updated_at:+ format: date-time+ type: string+ x-go-name: Updated+ user:+ $ref: '#/components/schemas/User'+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ TopicName:+ description: TopicName a list of repo topic names+ example:+ topics:+ - topics+ - topics+ properties:+ topics:+ items:+ type: string+ type: array+ x-go-name: TopicNames+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ TopicResponse:+ description: TopicResponse for returning topics+ example:+ created: 2000-01-23T04:56:07.000+00:00+ topic_name: topic_name+ id: 0+ repo_count: 6+ updated: 2000-01-23T04:56:07.000+00:00+ properties:+ created:+ format: date-time+ type: string+ x-go-name: Created+ id:+ format: int64+ type: integer+ x-go-name: ID+ repo_count:+ format: int64+ type: integer+ x-go-name: RepoCount+ topic_name:+ type: string+ x-go-name: Name+ updated:+ format: date-time+ type: string+ x-go-name: Updated+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ TrackedTime:+ description: TrackedTime worked time for an issue / pr+ example:+ issue:+ is_locked: true+ pull_request:+ merged_at: 2000-01-23T04:56:07.000+00:00+ merged: true+ closed_at: 2000-01-23T04:56:07.000+00:00+ comments: 5+ original_author_id: 2+ due_date: 2000-01-23T04:56:07.000+00:00+ assignees:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ created_at: 2000-01-23T04:56:07.000+00:00+ body: body+ repository:+ owner: owner+ full_name: full_name+ name: name+ id: 4+ title: title+ url: url+ labels:+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ - color: 00aabb+ name: name+ description: description+ exclusive: false+ id: 0+ url: url+ number: 3+ ref: ref+ assets:+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ - size: 1+ name: name+ created_at: 2000-01-23T04:56:07.000+00:00+ browser_download_url: browser_download_url+ id: 6+ uuid: uuid+ download_count: 0+ milestone:+ closed_at: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ created_at: 2000-01-23T04:56:07.000+00:00+ description: description+ id: 7+ state: state+ closed_issues: 2+ open_issues: 9+ title: title+ due_on: 2000-01-23T04:56:07.000+00:00+ updated_at: 2000-01-23T04:56:07.000+00:00+ html_url: html_url+ assignee:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ id: 5+ state: state+ original_author: original_author+ user:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ issue_id: 2+ user_id: 9+ created: 2000-01-23T04:56:07.000+00:00+ user_name: user_name+ id: 5+ time: 7+ properties:+ created:+ format: date-time+ type: string+ x-go-name: Created+ id:+ format: int64+ type: integer+ x-go-name: ID+ issue:+ $ref: '#/components/schemas/Issue'+ issue_id:+ description: deprecated (only for backwards compatibility)+ format: int64+ type: integer+ x-go-name: IssueID+ time:+ description: Time in seconds+ format: int64+ type: integer+ x-go-name: Time+ user_id:+ description: deprecated (only for backwards compatibility)+ format: int64+ type: integer+ x-go-name: UserID+ user_name:+ type: string+ x-go-name: UserName+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ TransferRepoOption:+ description: TransferRepoOption options when transfer a repository's ownership+ example:+ new_owner: new_owner+ team_ids:+ - 0+ - 0+ properties:+ new_owner:+ type: string+ x-go-name: NewOwner+ team_ids:+ description: ID of the team or teams to add to the repository. Teams can+ only be added to organization-owned repositories.+ items:+ format: int64+ type: integer+ type: array+ x-go-name: TeamIDs+ required:+ - new_owner+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ UpdateFileOptions:+ description: |-+ UpdateFileOptions options for updating files+ Note: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)+ example:+ committer:+ name: name+ email: email+ author:+ name: name+ email: email+ from_path: from_path+ new_branch: new_branch+ dates:+ committer: 2000-01-23T04:56:07.000+00:00+ author: 2000-01-23T04:56:07.000+00:00+ signoff: true+ message: message+ branch: branch+ sha: sha+ content: content+ properties:+ author:+ $ref: '#/components/schemas/Identity'+ branch:+ description: "branch (optional) to base this file from. if not given, the\+ \ default branch is used"+ type: string+ x-go-name: BranchName+ committer:+ $ref: '#/components/schemas/Identity'+ content:+ description: content must be base64 encoded+ type: string+ x-go-name: Content+ dates:+ $ref: '#/components/schemas/CommitDateOptions'+ from_path:+ description: from_path (optional) is the path of the original file which+ will be moved/renamed to the path in the URL+ type: string+ x-go-name: FromPath+ message:+ description: "message (optional) for the commit of this file. if not supplied,\+ \ a default message will be used"+ type: string+ x-go-name: Message+ new_branch:+ description: new_branch (optional) will make a new branch from `branch`+ before creating the file+ type: string+ x-go-name: NewBranchName+ sha:+ description: sha is the SHA for the file that already exists+ type: string+ x-go-name: SHA+ signoff:+ description: Add a Signed-off-by trailer by the committer at the end of+ the commit log message.+ type: boolean+ x-go-name: Signoff+ required:+ - content+ - sha+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ User:+ description: User represents a user+ example:+ website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ properties:+ active:+ description: Is user active+ type: boolean+ x-go-name: IsActive+ avatar_url:+ description: URL to the user's avatar+ type: string+ x-go-name: AvatarURL+ created:+ format: date-time+ type: string+ x-go-name: Created+ description:+ description: the user's description+ type: string+ x-go-name: Description+ email:+ format: email+ type: string+ x-go-name: Email+ followers_count:+ description: user counts+ format: int64+ type: integer+ x-go-name: Followers+ following_count:+ format: int64+ type: integer+ x-go-name: Following+ full_name:+ description: the user's full name+ type: string+ x-go-name: FullName+ id:+ description: the user's id+ format: int64+ type: integer+ x-go-name: ID+ is_admin:+ description: Is the user an administrator+ type: boolean+ x-go-name: IsAdmin+ language:+ description: User locale+ type: string+ x-go-name: Language+ last_login:+ format: date-time+ type: string+ x-go-name: LastLogin+ location:+ description: the user's location+ type: string+ x-go-name: Location+ login:+ description: the user's username+ type: string+ x-go-name: UserName+ login_name:+ default: empty+ description: the user's authentication sign-in name.+ type: string+ x-go-name: LoginName+ prohibit_login:+ description: Is user login prohibited+ type: boolean+ x-go-name: ProhibitLogin+ restricted:+ description: Is user restricted+ type: boolean+ x-go-name: Restricted+ starred_repos_count:+ format: int64+ type: integer+ x-go-name: StarredRepos+ visibility:+ description: "User visibility level option: public, limited, private"+ type: string+ x-go-name: Visibility+ website:+ description: the user's website+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ UserHeatmapData:+ description: UserHeatmapData represents the data needed to create a heatmap+ example:+ contributions: 0+ timestamp: 6+ properties:+ contributions:+ format: int64+ type: integer+ x-go-name: Contributions+ timestamp:+ description: TimeStamp defines a timestamp+ format: int64+ type: integer+ x-go-package: code.gitea.io/gitea/modules/timeutil+ type: object+ x-go-package: code.gitea.io/gitea/models/activities+ UserSettings:+ description: UserSettings represents user settings+ example:+ website: website+ full_name: full_name+ hide_activity: true+ diff_view_style: diff_view_style+ description: description+ language: language+ location: location+ theme: theme+ hide_email: true+ properties:+ description:+ type: string+ x-go-name: Description+ diff_view_style:+ type: string+ x-go-name: DiffViewStyle+ full_name:+ type: string+ x-go-name: FullName+ hide_activity:+ type: boolean+ x-go-name: HideActivity+ hide_email:+ description: Privacy+ type: boolean+ x-go-name: HideEmail+ language:+ type: string+ x-go-name: Language+ location:+ type: string+ x-go-name: Location+ theme:+ type: string+ x-go-name: Theme+ website:+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ UserSettingsOptions:+ description: UserSettingsOptions represents options to change user settings+ example:+ website: website+ full_name: full_name+ hide_activity: true+ diff_view_style: diff_view_style+ description: description+ language: language+ location: location+ theme: theme+ hide_email: true+ properties:+ description:+ type: string+ x-go-name: Description+ diff_view_style:+ type: string+ x-go-name: DiffViewStyle+ full_name:+ type: string+ x-go-name: FullName+ hide_activity:+ type: boolean+ x-go-name: HideActivity+ hide_email:+ description: Privacy+ type: boolean+ x-go-name: HideEmail+ language:+ type: string+ x-go-name: Language+ location:+ type: string+ x-go-name: Location+ theme:+ type: string+ x-go-name: Theme+ website:+ type: string+ x-go-name: Website+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ WatchInfo:+ description: WatchInfo represents an API watch status of one repository+ example:+ ignored: true+ reason: "{}"+ subscribed: true+ created_at: 2000-01-23T04:56:07.000+00:00+ repository_url: repository_url+ url: url+ properties:+ created_at:+ format: date-time+ type: string+ x-go-name: CreatedAt+ ignored:+ type: boolean+ x-go-name: Ignored+ reason:+ type: object+ x-go-name: Reason+ repository_url:+ type: string+ x-go-name: RepositoryURL+ subscribed:+ type: boolean+ x-go-name: Subscribed+ url:+ type: string+ x-go-name: URL+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ WikiCommit:+ description: WikiCommit page commit/revision+ example:+ author:+ date: date+ name: name+ email: email+ message: message+ commiter:+ date: date+ name: name+ email: email+ sha: sha+ properties:+ author:+ $ref: '#/components/schemas/CommitUser'+ commiter:+ $ref: '#/components/schemas/CommitUser'+ message:+ type: string+ x-go-name: Message+ sha:+ type: string+ x-go-name: ID+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ WikiCommitList:+ description: WikiCommitList commit/revision list+ example:+ count: 0+ commits:+ - author:+ date: date+ name: name+ email: email+ message: message+ commiter:+ date: date+ name: name+ email: email+ sha: sha+ - author:+ date: date+ name: name+ email: email+ message: message+ commiter:+ date: date+ name: name+ email: email+ sha: sha+ properties:+ commits:+ items:+ $ref: '#/components/schemas/WikiCommit'+ type: array+ x-go-name: WikiCommits+ count:+ format: int64+ type: integer+ x-go-name: Count+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ WikiPage:+ description: WikiPage a wiki page+ example:+ commit_count: 0+ last_commit:+ author:+ date: date+ name: name+ email: email+ message: message+ commiter:+ date: date+ name: name+ email: email+ sha: sha+ footer: footer+ sub_url: sub_url+ sidebar: sidebar+ html_url: html_url+ content_base64: content_base64+ title: title+ properties:+ commit_count:+ format: int64+ type: integer+ x-go-name: CommitCount+ content_base64:+ description: "Page content, base64 encoded"+ type: string+ x-go-name: ContentBase64+ footer:+ type: string+ x-go-name: Footer+ html_url:+ type: string+ x-go-name: HTMLURL+ last_commit:+ $ref: '#/components/schemas/WikiCommit'+ sidebar:+ type: string+ x-go-name: Sidebar+ sub_url:+ type: string+ x-go-name: SubURL+ title:+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ WikiPageMetaData:+ description: WikiPageMetaData wiki page meta information+ example:+ last_commit:+ author:+ date: date+ name: name+ email: email+ message: message+ commiter:+ date: date+ name: name+ email: email+ sha: sha+ sub_url: sub_url+ html_url: html_url+ title: title+ properties:+ html_url:+ type: string+ x-go-name: HTMLURL+ last_commit:+ $ref: '#/components/schemas/WikiCommit'+ sub_url:+ type: string+ x-go-name: SubURL+ title:+ type: string+ x-go-name: Title+ type: object+ x-go-package: code.gitea.io/gitea/modules/structs+ teamSearch_200_response:+ example:+ data:+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ - can_create_org_repo: true+ units_map:+ repo.code: read+ repo.ext_issues: none+ repo.ext_wiki: none+ repo.issues: write+ repo.projects: none+ repo.pulls: owner+ repo.releases: none+ repo.wiki: admin+ organization:+ website: website+ full_name: full_name+ repo_admin_change_team_access: true+ avatar_url: avatar_url+ visibility: visibility+ name: name+ description: description+ location: location+ id: 0+ username: username+ name: name+ description: description+ permission: none+ id: 2+ includes_all_repositories: true+ units:+ - repo.code+ - repo.issues+ - repo.ext_issues+ - repo.wiki+ - repo.pulls+ - repo.releases+ - repo.projects+ - repo.ext_wiki+ ok: true+ properties:+ data:+ items:+ $ref: '#/components/schemas/Team'+ type: array+ ok:+ type: boolean+ type: object+ issueCreateIssueCommentAttachment_request:+ properties:+ attachment:+ description: attachment to upload+ format: binary+ type: string+ required:+ - attachment+ type: object+ userSearch_200_response:+ example:+ data:+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ - website: website+ visibility: visibility+ created: 2000-01-23T04:56:07.000+00:00+ last_login: 2000-01-23T04:56:07.000+00:00+ active: true+ description: description+ language: language+ starred_repos_count: 5+ login: login+ is_admin: true+ full_name: full_name+ login_name: empty+ avatar_url: avatar_url+ following_count: 6+ restricted: true+ followers_count: 0+ location: location+ id: 1+ prohibit_login: true+ email: email+ ok: true+ properties:+ data:+ items:+ $ref: '#/components/schemas/User'+ type: array+ ok:+ type: boolean+ type: object+ securitySchemes:+ AccessToken:+ in: query+ name: access_token+ type: apiKey+ AuthorizationHeaderToken:+ description: API tokens must be prepended with "token" followed by a space.+ in: header+ name: Authorization+ type: apiKey+ BasicAuth:+ scheme: basic+ type: http+ SudoHeader:+ description: Sudo API request as the user provided as the key. Admin privileges+ are required.+ in: header+ name: Sudo+ type: apiKey+ SudoParam:+ description: Sudo API request as the user provided as the key. Admin privileges+ are required.+ in: query+ name: sudo+ type: apiKey+ TOTPHeader:+ description: Must be used in combination with BasicAuth if two-factor authentication+ is enabled.+ in: header+ name: X-GITEA-OTP+ type: apiKey+ Token:+ in: query+ name: token+ type: apiKey+x-original-swagger-version: "2.0"
+ tests/ApproxEq.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DefaultSignatures #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeOperators #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++module ApproxEq where++import Data.Text (Text)+import Data.Time.Clock+import Test.QuickCheck+import GHC.Generics as G++(==~)+ :: (ApproxEq a, Show a)+ => a -> a -> Property+a ==~ b = counterexample (show a ++ " !=~ " ++ show b) (a =~ b)++class GApproxEq f where+ gApproxEq :: f a -> f a -> Bool++instance GApproxEq U1 where+ gApproxEq U1 U1 = True++instance (GApproxEq a, GApproxEq b) =>+ GApproxEq (a :+: b) where+ gApproxEq (L1 a) (L1 b) = gApproxEq a b+ gApproxEq (R1 a) (R1 b) = gApproxEq a b+ gApproxEq _ _ = False++instance (GApproxEq a, GApproxEq b) =>+ GApproxEq (a :*: b) where+ gApproxEq (a1 :*: b1) (a2 :*: b2) = gApproxEq a1 a2 && gApproxEq b1 b2++instance (ApproxEq a) =>+ GApproxEq (K1 i a) where+ gApproxEq (K1 a) (K1 b) = a =~ b++instance (GApproxEq f) =>+ GApproxEq (M1 i t f) where+ gApproxEq (M1 a) (M1 b) = gApproxEq a b++class ApproxEq a where+ (=~) :: a -> a -> Bool+ default (=~) :: (Generic a, GApproxEq (Rep a)) => a -> a -> Bool+ a =~ b = gApproxEq (G.from a) (G.from b)++instance ApproxEq Text where+ (=~) = (==)++instance ApproxEq Char where+ (=~) = (==)++instance ApproxEq Bool where+ (=~) = (==)++instance ApproxEq Int where+ (=~) = (==)++instance ApproxEq Double where+ (=~) = (==)++instance ApproxEq a =>+ ApproxEq (Maybe a)++instance ApproxEq UTCTime where+ (=~) = (==)++instance ApproxEq a =>+ ApproxEq [a] where+ as =~ bs = and (zipWith (=~) as bs)++instance (ApproxEq l, ApproxEq r) =>+ ApproxEq (Either l r) where+ Left a =~ Left b = a =~ b+ Right a =~ Right b = a =~ b+ _ =~ _ = False++instance (ApproxEq l, ApproxEq r) =>+ ApproxEq (l, r) where+ (=~) (l1, r1) (l2, r2) = l1 =~ l2 && r1 =~ r2
+ tests/Instances.hs view
@@ -0,0 +1,2314 @@+{-# LANGUAGE CPP #-}+{-# OPTIONS_GHC -fno-warn-unused-imports -fno-warn-unused-matches #-}++module Instances where++import Gitea.Model+import Gitea.Core++import qualified Data.Aeson as A+import qualified Data.ByteString.Lazy as BL+import qualified Data.HashMap.Strict as HM+import qualified Data.Set as Set+import qualified Data.Text as T+import qualified Data.Time as TI+import qualified Data.Vector as V+import Data.String (fromString)++import Control.Monad+import Data.Char (isSpace)+import Data.List (sort)+import Test.QuickCheck++import ApproxEq++instance Arbitrary T.Text where+ arbitrary = T.pack <$> arbitrary++instance Arbitrary TI.Day where+ arbitrary = TI.ModifiedJulianDay . (2000 +) <$> arbitrary+ shrink = (TI.ModifiedJulianDay <$>) . shrink . TI.toModifiedJulianDay++instance Arbitrary TI.UTCTime where+ arbitrary =+ TI.UTCTime <$> arbitrary <*> (TI.secondsToDiffTime <$> choose (0, 86401))++instance Arbitrary BL.ByteString where+ arbitrary = BL.pack <$> arbitrary+ shrink xs = BL.pack <$> shrink (BL.unpack xs)++instance Arbitrary ByteArray where+ arbitrary = ByteArray <$> arbitrary+ shrink (ByteArray xs) = ByteArray <$> shrink xs++instance Arbitrary Binary where+ arbitrary = Binary <$> arbitrary+ shrink (Binary xs) = Binary <$> shrink xs++instance Arbitrary DateTime where+ arbitrary = DateTime <$> arbitrary+ shrink (DateTime xs) = DateTime <$> shrink xs++instance Arbitrary Date where+ arbitrary = Date <$> arbitrary+ shrink (Date xs) = Date <$> shrink xs++#if MIN_VERSION_aeson(2,0,0)+#else+-- | A naive Arbitrary instance for A.Value:+instance Arbitrary A.Value where+ arbitrary = arbitraryValue+#endif++arbitraryValue :: Gen A.Value+arbitraryValue =+ frequency [(3, simpleTypes), (1, arrayTypes), (1, objectTypes)]+ where+ simpleTypes :: Gen A.Value+ simpleTypes =+ frequency+ [ (1, return A.Null)+ , (2, liftM A.Bool (arbitrary :: Gen Bool))+ , (2, liftM (A.Number . fromIntegral) (arbitrary :: Gen Int))+ , (2, liftM (A.String . T.pack) (arbitrary :: Gen String))+ ]+ mapF (k, v) = (fromString k, v)+ simpleAndArrays = frequency [(1, sized sizedArray), (4, simpleTypes)]+ arrayTypes = sized sizedArray+ objectTypes = sized sizedObject+ sizedArray n = liftM (A.Array . V.fromList) $ replicateM n simpleTypes+ sizedObject n =+ liftM (A.object . map mapF) $+ replicateM n $ (,) <$> (arbitrary :: Gen String) <*> simpleAndArrays++-- | Checks if a given list has no duplicates in _O(n log n)_.+hasNoDups+ :: (Ord a)+ => [a] -> Bool+hasNoDups = go Set.empty+ where+ go _ [] = True+ go s (x:xs)+ | s' <- Set.insert x s+ , Set.size s' > Set.size s = go s' xs+ | otherwise = False++instance ApproxEq TI.Day where+ (=~) = (==)++arbitraryReduced :: Arbitrary a => Int -> Gen a+arbitraryReduced n = resize (n `div` 2) arbitrary++arbitraryReducedMaybe :: Arbitrary a => Int -> Gen (Maybe a)+arbitraryReducedMaybe 0 = elements [Nothing]+arbitraryReducedMaybe n = arbitraryReduced n++arbitraryReducedMaybeValue :: Int -> Gen (Maybe A.Value)+arbitraryReducedMaybeValue 0 = elements [Nothing]+arbitraryReducedMaybeValue n = do+ generated <- arbitraryReduced n+ if generated == Just A.Null+ then return Nothing+ else return generated++-- * Models++instance Arbitrary APIError where+ arbitrary = sized genAPIError++genAPIError :: Int -> Gen APIError+genAPIError n =+ APIError+ <$> arbitraryReducedMaybe n -- aPIErrorMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- aPIErrorUrl :: Maybe Text+ +instance Arbitrary AccessToken where+ arbitrary = sized genAccessToken++genAccessToken :: Int -> Gen AccessToken+genAccessToken n =+ AccessToken+ <$> arbitraryReducedMaybe n -- accessTokenId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- accessTokenName :: Maybe Text+ <*> arbitraryReducedMaybe n -- accessTokenScopes :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- accessTokenSha1 :: Maybe Text+ <*> arbitraryReducedMaybe n -- accessTokenTokenLastEight :: Maybe Text+ +instance Arbitrary ActivityPub where+ arbitrary = sized genActivityPub++genActivityPub :: Int -> Gen ActivityPub+genActivityPub n =+ ActivityPub+ <$> arbitraryReducedMaybe n -- activityPubContext :: Maybe Text+ +instance Arbitrary AddCollaboratorOption where+ arbitrary = sized genAddCollaboratorOption++genAddCollaboratorOption :: Int -> Gen AddCollaboratorOption+genAddCollaboratorOption n =+ AddCollaboratorOption+ <$> arbitraryReducedMaybe n -- addCollaboratorOptionPermission :: Maybe Text+ +instance Arbitrary AddTimeOption where+ arbitrary = sized genAddTimeOption++genAddTimeOption :: Int -> Gen AddTimeOption+genAddTimeOption n =+ AddTimeOption+ <$> arbitraryReducedMaybe n -- addTimeOptionCreated :: Maybe DateTime+ <*> arbitrary -- addTimeOptionTime :: Integer+ <*> arbitraryReducedMaybe n -- addTimeOptionUserName :: Maybe Text+ +instance Arbitrary AnnotatedTag where+ arbitrary = sized genAnnotatedTag++genAnnotatedTag :: Int -> Gen AnnotatedTag+genAnnotatedTag n =+ AnnotatedTag+ <$> arbitraryReducedMaybe n -- annotatedTagMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- annotatedTagObject :: Maybe AnnotatedTagObject+ <*> arbitraryReducedMaybe n -- annotatedTagSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- annotatedTagTag :: Maybe Text+ <*> arbitraryReducedMaybe n -- annotatedTagTagger :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- annotatedTagUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- annotatedTagVerification :: Maybe PayloadCommitVerification+ +instance Arbitrary AnnotatedTagObject where+ arbitrary = sized genAnnotatedTagObject++genAnnotatedTagObject :: Int -> Gen AnnotatedTagObject+genAnnotatedTagObject n =+ AnnotatedTagObject+ <$> arbitraryReducedMaybe n -- annotatedTagObjectSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- annotatedTagObjectType :: Maybe Text+ <*> arbitraryReducedMaybe n -- annotatedTagObjectUrl :: Maybe Text+ +instance Arbitrary Attachment where+ arbitrary = sized genAttachment++genAttachment :: Int -> Gen Attachment+genAttachment n =+ Attachment+ <$> arbitraryReducedMaybe n -- attachmentBrowserDownloadUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- attachmentCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- attachmentDownloadCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- attachmentId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- attachmentName :: Maybe Text+ <*> arbitraryReducedMaybe n -- attachmentSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- attachmentUuid :: Maybe Text+ +instance Arbitrary Branch where+ arbitrary = sized genBranch++genBranch :: Int -> Gen Branch+genBranch n =+ Branch+ <$> arbitraryReducedMaybe n -- branchCommit :: Maybe PayloadCommit+ <*> arbitraryReducedMaybe n -- branchEffectiveBranchProtectionName :: Maybe Text+ <*> arbitraryReducedMaybe n -- branchEnableStatusCheck :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchName :: Maybe Text+ <*> arbitraryReducedMaybe n -- branchProtected :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchRequiredApprovals :: Maybe Integer+ <*> arbitraryReducedMaybe n -- branchStatusCheckContexts :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchUserCanMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchUserCanPush :: Maybe Bool+ +instance Arbitrary BranchProtection where+ arbitrary = sized genBranchProtection++genBranchProtection :: Int -> Gen BranchProtection+genBranchProtection n =+ BranchProtection+ <$> arbitraryReducedMaybe n -- branchProtectionApprovalsWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionApprovalsWhitelistUsername :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionBlockOnOfficialReviewRequests :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionBlockOnOutdatedBranch :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionBlockOnRejectedReviews :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionBranchName :: Maybe Text+ <*> arbitraryReducedMaybe n -- branchProtectionCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- branchProtectionDismissStaleApprovals :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionEnableApprovalsWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionEnableMergeWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionEnablePush :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionEnablePushWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionEnableStatusCheck :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionMergeWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionMergeWhitelistUsernames :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionProtectedFilePatterns :: Maybe Text+ <*> arbitraryReducedMaybe n -- branchProtectionPushWhitelistDeployKeys :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionPushWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionPushWhitelistUsernames :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionRequireSignedCommits :: Maybe Bool+ <*> arbitraryReducedMaybe n -- branchProtectionRequiredApprovals :: Maybe Integer+ <*> arbitraryReducedMaybe n -- branchProtectionRuleName :: Maybe Text+ <*> arbitraryReducedMaybe n -- branchProtectionStatusCheckContexts :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- branchProtectionUnprotectedFilePatterns :: Maybe Text+ <*> arbitraryReducedMaybe n -- branchProtectionUpdatedAt :: Maybe DateTime+ +instance Arbitrary ChangedFile where+ arbitrary = sized genChangedFile++genChangedFile :: Int -> Gen ChangedFile+genChangedFile n =+ ChangedFile+ <$> arbitraryReducedMaybe n -- changedFileAdditions :: Maybe Integer+ <*> arbitraryReducedMaybe n -- changedFileChanges :: Maybe Integer+ <*> arbitraryReducedMaybe n -- changedFileContentsUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- changedFileDeletions :: Maybe Integer+ <*> arbitraryReducedMaybe n -- changedFileFilename :: Maybe Text+ <*> arbitraryReducedMaybe n -- changedFileHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- changedFilePreviousFilename :: Maybe Text+ <*> arbitraryReducedMaybe n -- changedFileRawUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- changedFileStatus :: Maybe Text+ +instance Arbitrary CombinedStatus where+ arbitrary = sized genCombinedStatus++genCombinedStatus :: Int -> Gen CombinedStatus+genCombinedStatus n =+ CombinedStatus+ <$> arbitraryReducedMaybe n -- combinedStatusCommitUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- combinedStatusRepository :: Maybe Repository+ <*> arbitraryReducedMaybe n -- combinedStatusSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- combinedStatusState :: Maybe Text+ <*> arbitraryReducedMaybe n -- combinedStatusStatuses :: Maybe [CommitStatus]+ <*> arbitraryReducedMaybe n -- combinedStatusTotalCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- combinedStatusUrl :: Maybe Text+ +instance Arbitrary Comment where+ arbitrary = sized genComment++genComment :: Int -> Gen Comment+genComment n =+ Comment+ <$> arbitraryReducedMaybe n -- commentAssets :: Maybe [Attachment]+ <*> arbitraryReducedMaybe n -- commentBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- commentCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commentHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- commentId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- commentIssueUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- commentOriginalAuthor :: Maybe Text+ <*> arbitraryReducedMaybe n -- commentOriginalAuthorId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- commentPullRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- commentUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commentUser :: Maybe User+ +instance Arbitrary Commit where+ arbitrary = sized genCommit++genCommit :: Int -> Gen Commit+genCommit n =+ Commit+ <$> arbitraryReducedMaybe n -- commitAuthor :: Maybe User+ <*> arbitraryReducedMaybe n -- commitCommit :: Maybe RepoCommit+ <*> arbitraryReducedMaybe n -- commitCommitter :: Maybe User+ <*> arbitraryReducedMaybe n -- commitCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commitFiles :: Maybe [CommitAffectedFiles]+ <*> arbitraryReducedMaybe n -- commitHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitParents :: Maybe [CommitMeta]+ <*> arbitraryReducedMaybe n -- commitSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitStats :: Maybe CommitStats+ <*> arbitraryReducedMaybe n -- commitUrl :: Maybe Text+ +instance Arbitrary CommitAffectedFiles where+ arbitrary = sized genCommitAffectedFiles++genCommitAffectedFiles :: Int -> Gen CommitAffectedFiles+genCommitAffectedFiles n =+ CommitAffectedFiles+ <$> arbitraryReducedMaybe n -- commitAffectedFilesFilename :: Maybe Text+ +instance Arbitrary CommitDateOptions where+ arbitrary = sized genCommitDateOptions++genCommitDateOptions :: Int -> Gen CommitDateOptions+genCommitDateOptions n =+ CommitDateOptions+ <$> arbitraryReducedMaybe n -- commitDateOptionsAuthor :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commitDateOptionsCommitter :: Maybe DateTime+ +instance Arbitrary CommitMeta where+ arbitrary = sized genCommitMeta++genCommitMeta :: Int -> Gen CommitMeta+genCommitMeta n =+ CommitMeta+ <$> arbitraryReducedMaybe n -- commitMetaCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commitMetaSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitMetaUrl :: Maybe Text+ +instance Arbitrary CommitStats where+ arbitrary = sized genCommitStats++genCommitStats :: Int -> Gen CommitStats+genCommitStats n =+ CommitStats+ <$> arbitraryReducedMaybe n -- commitStatsAdditions :: Maybe Integer+ <*> arbitraryReducedMaybe n -- commitStatsDeletions :: Maybe Integer+ <*> arbitraryReducedMaybe n -- commitStatsTotal :: Maybe Integer+ +instance Arbitrary CommitStatus where+ arbitrary = sized genCommitStatus++genCommitStatus :: Int -> Gen CommitStatus+genCommitStatus n =+ CommitStatus+ <$> arbitraryReducedMaybe n -- commitStatusContext :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitStatusCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commitStatusCreator :: Maybe User+ <*> arbitraryReducedMaybe n -- commitStatusDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitStatusId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- commitStatusStatus :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitStatusTargetUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitStatusUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- commitStatusUrl :: Maybe Text+ +instance Arbitrary CommitUser where+ arbitrary = sized genCommitUser++genCommitUser :: Int -> Gen CommitUser+genCommitUser n =+ CommitUser+ <$> arbitraryReducedMaybe n -- commitUserDate :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitUserEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- commitUserName :: Maybe Text+ +instance Arbitrary ContentsResponse where+ arbitrary = sized genContentsResponse++genContentsResponse :: Int -> Gen ContentsResponse+genContentsResponse n =+ ContentsResponse+ <$> arbitraryReducedMaybe n -- contentsResponseLinks :: Maybe FileLinksResponse+ <*> arbitraryReducedMaybe n -- contentsResponseContent :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseDownloadUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseEncoding :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseGitUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseLastCommitSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseName :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponsePath :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- contentsResponseSubmoduleGitUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseTarget :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseType :: Maybe Text+ <*> arbitraryReducedMaybe n -- contentsResponseUrl :: Maybe Text+ +instance Arbitrary CreateAccessTokenOption where+ arbitrary = sized genCreateAccessTokenOption++genCreateAccessTokenOption :: Int -> Gen CreateAccessTokenOption+genCreateAccessTokenOption n =+ CreateAccessTokenOption+ <$> arbitrary -- createAccessTokenOptionName :: Text+ <*> arbitraryReducedMaybe n -- createAccessTokenOptionScopes :: Maybe [Text]+ +instance Arbitrary CreateBranchProtectionOption where+ arbitrary = sized genCreateBranchProtectionOption++genCreateBranchProtectionOption :: Int -> Gen CreateBranchProtectionOption+genCreateBranchProtectionOption n =+ CreateBranchProtectionOption+ <$> arbitraryReducedMaybe n -- createBranchProtectionOptionApprovalsWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionApprovalsWhitelistUsername :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionBlockOnOfficialReviewRequests :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionBlockOnOutdatedBranch :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionBlockOnRejectedReviews :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionBranchName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionDismissStaleApprovals :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionEnableApprovalsWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionEnableMergeWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionEnablePush :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionEnablePushWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionEnableStatusCheck :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionMergeWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionMergeWhitelistUsernames :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionProtectedFilePatterns :: Maybe Text+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionPushWhitelistDeployKeys :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionPushWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionPushWhitelistUsernames :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionRequireSignedCommits :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionRequiredApprovals :: Maybe Integer+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionRuleName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionStatusCheckContexts :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createBranchProtectionOptionUnprotectedFilePatterns :: Maybe Text+ +instance Arbitrary CreateBranchRepoOption where+ arbitrary = sized genCreateBranchRepoOption++genCreateBranchRepoOption :: Int -> Gen CreateBranchRepoOption+genCreateBranchRepoOption n =+ CreateBranchRepoOption+ <$> arbitrary -- createBranchRepoOptionNewBranchName :: Text+ <*> arbitraryReducedMaybe n -- createBranchRepoOptionOldBranchName :: Maybe Text+ +instance Arbitrary CreateEmailOption where+ arbitrary = sized genCreateEmailOption++genCreateEmailOption :: Int -> Gen CreateEmailOption+genCreateEmailOption n =+ CreateEmailOption+ <$> arbitraryReducedMaybe n -- createEmailOptionEmails :: Maybe [Text]+ +instance Arbitrary CreateFileOptions where+ arbitrary = sized genCreateFileOptions++genCreateFileOptions :: Int -> Gen CreateFileOptions+genCreateFileOptions n =+ CreateFileOptions+ <$> arbitraryReducedMaybe n -- createFileOptionsAuthor :: Maybe Identity+ <*> arbitraryReducedMaybe n -- createFileOptionsBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- createFileOptionsCommitter :: Maybe Identity+ <*> arbitrary -- createFileOptionsContent :: Text+ <*> arbitraryReducedMaybe n -- createFileOptionsDates :: Maybe CommitDateOptions+ <*> arbitraryReducedMaybe n -- createFileOptionsMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- createFileOptionsNewBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- createFileOptionsSignoff :: Maybe Bool+ +instance Arbitrary CreateForkOption where+ arbitrary = sized genCreateForkOption++genCreateForkOption :: Int -> Gen CreateForkOption+genCreateForkOption n =+ CreateForkOption+ <$> arbitraryReducedMaybe n -- createForkOptionName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createForkOptionOrganization :: Maybe Text+ +instance Arbitrary CreateGPGKeyOption where+ arbitrary = sized genCreateGPGKeyOption++genCreateGPGKeyOption :: Int -> Gen CreateGPGKeyOption+genCreateGPGKeyOption n =+ CreateGPGKeyOption+ <$> arbitrary -- createGPGKeyOptionArmoredPublicKey :: Text+ <*> arbitraryReducedMaybe n -- createGPGKeyOptionArmoredSignature :: Maybe Text+ +instance Arbitrary CreateHookOption where+ arbitrary = sized genCreateHookOption++genCreateHookOption :: Int -> Gen CreateHookOption+genCreateHookOption n =+ CreateHookOption+ <$> arbitraryReducedMaybe n -- createHookOptionActive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createHookOptionAuthorizationHeader :: Maybe Text+ <*> arbitraryReducedMaybe n -- createHookOptionBranchFilter :: Maybe Text+ <*> arbitrary -- createHookOptionConfig :: (Map.Map String Text)+ <*> arbitraryReducedMaybe n -- createHookOptionEvents :: Maybe [Text]+ <*> arbitrary -- createHookOptionType :: E'Type+ +instance Arbitrary CreateIssueCommentOption where+ arbitrary = sized genCreateIssueCommentOption++genCreateIssueCommentOption :: Int -> Gen CreateIssueCommentOption+genCreateIssueCommentOption n =+ CreateIssueCommentOption+ <$> arbitrary -- createIssueCommentOptionBody :: Text+ +instance Arbitrary CreateIssueOption where+ arbitrary = sized genCreateIssueOption++genCreateIssueOption :: Int -> Gen CreateIssueOption+genCreateIssueOption n =+ CreateIssueOption+ <$> arbitraryReducedMaybe n -- createIssueOptionAssignee :: Maybe Text+ <*> arbitraryReducedMaybe n -- createIssueOptionAssignees :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createIssueOptionBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- createIssueOptionClosed :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createIssueOptionDueDate :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- createIssueOptionLabels :: Maybe [Integer]+ <*> arbitraryReducedMaybe n -- createIssueOptionMilestone :: Maybe Integer+ <*> arbitraryReducedMaybe n -- createIssueOptionRef :: Maybe Text+ <*> arbitrary -- createIssueOptionTitle :: Text+ +instance Arbitrary CreateKeyOption where+ arbitrary = sized genCreateKeyOption++genCreateKeyOption :: Int -> Gen CreateKeyOption+genCreateKeyOption n =+ CreateKeyOption+ <$> arbitrary -- createKeyOptionKey :: Text+ <*> arbitraryReducedMaybe n -- createKeyOptionReadOnly :: Maybe Bool+ <*> arbitrary -- createKeyOptionTitle :: Text+ +instance Arbitrary CreateLabelOption where+ arbitrary = sized genCreateLabelOption++genCreateLabelOption :: Int -> Gen CreateLabelOption+genCreateLabelOption n =+ CreateLabelOption+ <$> arbitrary -- createLabelOptionColor :: Text+ <*> arbitraryReducedMaybe n -- createLabelOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- createLabelOptionExclusive :: Maybe Bool+ <*> arbitrary -- createLabelOptionName :: Text+ +instance Arbitrary CreateMilestoneOption where+ arbitrary = sized genCreateMilestoneOption++genCreateMilestoneOption :: Int -> Gen CreateMilestoneOption+genCreateMilestoneOption n =+ CreateMilestoneOption+ <$> arbitraryReducedMaybe n -- createMilestoneOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- createMilestoneOptionDueOn :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- createMilestoneOptionState :: Maybe E'State+ <*> arbitraryReducedMaybe n -- createMilestoneOptionTitle :: Maybe Text+ +instance Arbitrary CreateOAuth2ApplicationOptions where+ arbitrary = sized genCreateOAuth2ApplicationOptions++genCreateOAuth2ApplicationOptions :: Int -> Gen CreateOAuth2ApplicationOptions+genCreateOAuth2ApplicationOptions n =+ CreateOAuth2ApplicationOptions+ <$> arbitraryReducedMaybe n -- createOAuth2ApplicationOptionsConfidentialClient :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createOAuth2ApplicationOptionsName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createOAuth2ApplicationOptionsRedirectUris :: Maybe [Text]+ +instance Arbitrary CreateOrgOption where+ arbitrary = sized genCreateOrgOption++genCreateOrgOption :: Int -> Gen CreateOrgOption+genCreateOrgOption n =+ CreateOrgOption+ <$> arbitraryReducedMaybe n -- createOrgOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- createOrgOptionFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createOrgOptionLocation :: Maybe Text+ <*> arbitraryReducedMaybe n -- createOrgOptionRepoAdminChangeTeamAccess :: Maybe Bool+ <*> arbitrary -- createOrgOptionUsername :: Text+ <*> arbitraryReducedMaybe n -- createOrgOptionVisibility :: Maybe E'Visibility+ <*> arbitraryReducedMaybe n -- createOrgOptionWebsite :: Maybe Text+ +instance Arbitrary CreatePullRequestOption where+ arbitrary = sized genCreatePullRequestOption++genCreatePullRequestOption :: Int -> Gen CreatePullRequestOption+genCreatePullRequestOption n =+ CreatePullRequestOption+ <$> arbitraryReducedMaybe n -- createPullRequestOptionAssignee :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullRequestOptionAssignees :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createPullRequestOptionBase :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullRequestOptionBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullRequestOptionDueDate :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- createPullRequestOptionHead :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullRequestOptionLabels :: Maybe [Integer]+ <*> arbitraryReducedMaybe n -- createPullRequestOptionMilestone :: Maybe Integer+ <*> arbitraryReducedMaybe n -- createPullRequestOptionTitle :: Maybe Text+ +instance Arbitrary CreatePullReviewComment where+ arbitrary = sized genCreatePullReviewComment++genCreatePullReviewComment :: Int -> Gen CreatePullReviewComment+genCreatePullReviewComment n =+ CreatePullReviewComment+ <$> arbitraryReducedMaybe n -- createPullReviewCommentBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullReviewCommentNewPosition :: Maybe Integer+ <*> arbitraryReducedMaybe n -- createPullReviewCommentOldPosition :: Maybe Integer+ <*> arbitraryReducedMaybe n -- createPullReviewCommentPath :: Maybe Text+ +instance Arbitrary CreatePullReviewOptions where+ arbitrary = sized genCreatePullReviewOptions++genCreatePullReviewOptions :: Int -> Gen CreatePullReviewOptions+genCreatePullReviewOptions n =+ CreatePullReviewOptions+ <$> arbitraryReducedMaybe n -- createPullReviewOptionsBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullReviewOptionsComments :: Maybe [CreatePullReviewComment]+ <*> arbitraryReducedMaybe n -- createPullReviewOptionsCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPullReviewOptionsEvent :: Maybe Text+ +instance Arbitrary CreatePushMirrorOption where+ arbitrary = sized genCreatePushMirrorOption++genCreatePushMirrorOption :: Int -> Gen CreatePushMirrorOption+genCreatePushMirrorOption n =+ CreatePushMirrorOption+ <$> arbitraryReducedMaybe n -- createPushMirrorOptionInterval :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPushMirrorOptionRemoteAddress :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPushMirrorOptionRemotePassword :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPushMirrorOptionRemoteUsername :: Maybe Text+ <*> arbitraryReducedMaybe n -- createPushMirrorOptionSyncOnCommit :: Maybe Bool+ +instance Arbitrary CreateReleaseOption where+ arbitrary = sized genCreateReleaseOption++genCreateReleaseOption :: Int -> Gen CreateReleaseOption+genCreateReleaseOption n =+ CreateReleaseOption+ <$> arbitraryReducedMaybe n -- createReleaseOptionBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- createReleaseOptionDraft :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createReleaseOptionName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createReleaseOptionPrerelease :: Maybe Bool+ <*> arbitrary -- createReleaseOptionTagName :: Text+ <*> arbitraryReducedMaybe n -- createReleaseOptionTargetCommitish :: Maybe Text+ +instance Arbitrary CreateRepoOption where+ arbitrary = sized genCreateRepoOption++genCreateRepoOption :: Int -> Gen CreateRepoOption+genCreateRepoOption n =+ CreateRepoOption+ <$> arbitraryReducedMaybe n -- createRepoOptionAutoInit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createRepoOptionDefaultBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- createRepoOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- createRepoOptionGitignores :: Maybe Text+ <*> arbitraryReducedMaybe n -- createRepoOptionIssueLabels :: Maybe Text+ <*> arbitraryReducedMaybe n -- createRepoOptionLicense :: Maybe Text+ <*> arbitrary -- createRepoOptionName :: Text+ <*> arbitraryReducedMaybe n -- createRepoOptionPrivate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createRepoOptionReadme :: Maybe Text+ <*> arbitraryReducedMaybe n -- createRepoOptionTemplate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createRepoOptionTrustModel :: Maybe E'TrustModel+ +instance Arbitrary CreateStatusOption where+ arbitrary = sized genCreateStatusOption++genCreateStatusOption :: Int -> Gen CreateStatusOption+genCreateStatusOption n =+ CreateStatusOption+ <$> arbitraryReducedMaybe n -- createStatusOptionContext :: Maybe Text+ <*> arbitraryReducedMaybe n -- createStatusOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- createStatusOptionState :: Maybe Text+ <*> arbitraryReducedMaybe n -- createStatusOptionTargetUrl :: Maybe Text+ +instance Arbitrary CreateTagOption where+ arbitrary = sized genCreateTagOption++genCreateTagOption :: Int -> Gen CreateTagOption+genCreateTagOption n =+ CreateTagOption+ <$> arbitraryReducedMaybe n -- createTagOptionMessage :: Maybe Text+ <*> arbitrary -- createTagOptionTagName :: Text+ <*> arbitraryReducedMaybe n -- createTagOptionTarget :: Maybe Text+ +instance Arbitrary CreateTeamOption where+ arbitrary = sized genCreateTeamOption++genCreateTeamOption :: Int -> Gen CreateTeamOption+genCreateTeamOption n =+ CreateTeamOption+ <$> arbitraryReducedMaybe n -- createTeamOptionCanCreateOrgRepo :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createTeamOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- createTeamOptionIncludesAllRepositories :: Maybe Bool+ <*> arbitrary -- createTeamOptionName :: Text+ <*> arbitraryReducedMaybe n -- createTeamOptionPermission :: Maybe E'Permission+ <*> arbitraryReducedMaybe n -- createTeamOptionUnits :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- createTeamOptionUnitsMap :: Maybe (Map.Map String Text)+ +instance Arbitrary CreateUserOption where+ arbitrary = sized genCreateUserOption++genCreateUserOption :: Int -> Gen CreateUserOption+genCreateUserOption n =+ CreateUserOption+ <$> arbitraryReducedMaybe n -- createUserOptionCreatedAt :: Maybe DateTime+ <*> arbitrary -- createUserOptionEmail :: Text+ <*> arbitraryReducedMaybe n -- createUserOptionFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createUserOptionLoginName :: Maybe Text+ <*> arbitraryReducedMaybe n -- createUserOptionMustChangePassword :: Maybe Bool+ <*> arbitrary -- createUserOptionPassword :: Text+ <*> arbitraryReducedMaybe n -- createUserOptionRestricted :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createUserOptionSendNotify :: Maybe Bool+ <*> arbitraryReducedMaybe n -- createUserOptionSourceId :: Maybe Integer+ <*> arbitrary -- createUserOptionUsername :: Text+ <*> arbitraryReducedMaybe n -- createUserOptionVisibility :: Maybe Text+ +instance Arbitrary CreateWikiPageOptions where+ arbitrary = sized genCreateWikiPageOptions++genCreateWikiPageOptions :: Int -> Gen CreateWikiPageOptions+genCreateWikiPageOptions n =+ CreateWikiPageOptions+ <$> arbitraryReducedMaybe n -- createWikiPageOptionsContentBase64 :: Maybe Text+ <*> arbitraryReducedMaybe n -- createWikiPageOptionsMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- createWikiPageOptionsTitle :: Maybe Text+ +instance Arbitrary Cron where+ arbitrary = sized genCron++genCron :: Int -> Gen Cron+genCron n =+ Cron+ <$> arbitraryReducedMaybe n -- cronExecTimes :: Maybe Integer+ <*> arbitraryReducedMaybe n -- cronName :: Maybe Text+ <*> arbitraryReducedMaybe n -- cronNext :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- cronPrev :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- cronSchedule :: Maybe Text+ +instance Arbitrary DeleteEmailOption where+ arbitrary = sized genDeleteEmailOption++genDeleteEmailOption :: Int -> Gen DeleteEmailOption+genDeleteEmailOption n =+ DeleteEmailOption+ <$> arbitraryReducedMaybe n -- deleteEmailOptionEmails :: Maybe [Text]+ +instance Arbitrary DeleteFileOptions where+ arbitrary = sized genDeleteFileOptions++genDeleteFileOptions :: Int -> Gen DeleteFileOptions+genDeleteFileOptions n =+ DeleteFileOptions+ <$> arbitraryReducedMaybe n -- deleteFileOptionsAuthor :: Maybe Identity+ <*> arbitraryReducedMaybe n -- deleteFileOptionsBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- deleteFileOptionsCommitter :: Maybe Identity+ <*> arbitraryReducedMaybe n -- deleteFileOptionsDates :: Maybe CommitDateOptions+ <*> arbitraryReducedMaybe n -- deleteFileOptionsMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- deleteFileOptionsNewBranch :: Maybe Text+ <*> arbitrary -- deleteFileOptionsSha :: Text+ <*> arbitraryReducedMaybe n -- deleteFileOptionsSignoff :: Maybe Bool+ +instance Arbitrary DeployKey where+ arbitrary = sized genDeployKey++genDeployKey :: Int -> Gen DeployKey+genDeployKey n =+ DeployKey+ <$> arbitraryReducedMaybe n -- deployKeyCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- deployKeyFingerprint :: Maybe Text+ <*> arbitraryReducedMaybe n -- deployKeyId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- deployKeyKey :: Maybe Text+ <*> arbitraryReducedMaybe n -- deployKeyKeyId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- deployKeyReadOnly :: Maybe Bool+ <*> arbitraryReducedMaybe n -- deployKeyRepository :: Maybe Repository+ <*> arbitraryReducedMaybe n -- deployKeyTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- deployKeyUrl :: Maybe Text+ +instance Arbitrary DismissPullReviewOptions where+ arbitrary = sized genDismissPullReviewOptions++genDismissPullReviewOptions :: Int -> Gen DismissPullReviewOptions+genDismissPullReviewOptions n =+ DismissPullReviewOptions+ <$> arbitraryReducedMaybe n -- dismissPullReviewOptionsMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- dismissPullReviewOptionsPriors :: Maybe Bool+ +instance Arbitrary EditAttachmentOptions where+ arbitrary = sized genEditAttachmentOptions++genEditAttachmentOptions :: Int -> Gen EditAttachmentOptions+genEditAttachmentOptions n =+ EditAttachmentOptions+ <$> arbitraryReducedMaybe n -- editAttachmentOptionsName :: Maybe Text+ +instance Arbitrary EditBranchProtectionOption where+ arbitrary = sized genEditBranchProtectionOption++genEditBranchProtectionOption :: Int -> Gen EditBranchProtectionOption+genEditBranchProtectionOption n =+ EditBranchProtectionOption+ <$> arbitraryReducedMaybe n -- editBranchProtectionOptionApprovalsWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionApprovalsWhitelistUsername :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionBlockOnOfficialReviewRequests :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionBlockOnOutdatedBranch :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionBlockOnRejectedReviews :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionDismissStaleApprovals :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionEnableApprovalsWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionEnableMergeWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionEnablePush :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionEnablePushWhitelist :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionEnableStatusCheck :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionMergeWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionMergeWhitelistUsernames :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionProtectedFilePatterns :: Maybe Text+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionPushWhitelistDeployKeys :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionPushWhitelistTeams :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionPushWhitelistUsernames :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionRequireSignedCommits :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionRequiredApprovals :: Maybe Integer+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionStatusCheckContexts :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editBranchProtectionOptionUnprotectedFilePatterns :: Maybe Text+ +instance Arbitrary EditDeadlineOption where+ arbitrary = sized genEditDeadlineOption++genEditDeadlineOption :: Int -> Gen EditDeadlineOption+genEditDeadlineOption n =+ EditDeadlineOption+ <$> arbitraryReduced n -- editDeadlineOptionDueDate :: DateTime+ +instance Arbitrary EditGitHookOption where+ arbitrary = sized genEditGitHookOption++genEditGitHookOption :: Int -> Gen EditGitHookOption+genEditGitHookOption n =+ EditGitHookOption+ <$> arbitraryReducedMaybe n -- editGitHookOptionContent :: Maybe Text+ +instance Arbitrary EditHookOption where+ arbitrary = sized genEditHookOption++genEditHookOption :: Int -> Gen EditHookOption+genEditHookOption n =+ EditHookOption+ <$> arbitraryReducedMaybe n -- editHookOptionActive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editHookOptionAuthorizationHeader :: Maybe Text+ <*> arbitraryReducedMaybe n -- editHookOptionBranchFilter :: Maybe Text+ <*> arbitraryReducedMaybe n -- editHookOptionConfig :: Maybe (Map.Map String Text)+ <*> arbitraryReducedMaybe n -- editHookOptionEvents :: Maybe [Text]+ +instance Arbitrary EditIssueCommentOption where+ arbitrary = sized genEditIssueCommentOption++genEditIssueCommentOption :: Int -> Gen EditIssueCommentOption+genEditIssueCommentOption n =+ EditIssueCommentOption+ <$> arbitrary -- editIssueCommentOptionBody :: Text+ +instance Arbitrary EditIssueOption where+ arbitrary = sized genEditIssueOption++genEditIssueOption :: Int -> Gen EditIssueOption+genEditIssueOption n =+ EditIssueOption+ <$> arbitraryReducedMaybe n -- editIssueOptionAssignee :: Maybe Text+ <*> arbitraryReducedMaybe n -- editIssueOptionAssignees :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editIssueOptionBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- editIssueOptionDueDate :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- editIssueOptionMilestone :: Maybe Integer+ <*> arbitraryReducedMaybe n -- editIssueOptionRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- editIssueOptionState :: Maybe Text+ <*> arbitraryReducedMaybe n -- editIssueOptionTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- editIssueOptionUnsetDueDate :: Maybe Bool+ +instance Arbitrary EditLabelOption where+ arbitrary = sized genEditLabelOption++genEditLabelOption :: Int -> Gen EditLabelOption+genEditLabelOption n =+ EditLabelOption+ <$> arbitraryReducedMaybe n -- editLabelOptionColor :: Maybe Text+ <*> arbitraryReducedMaybe n -- editLabelOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- editLabelOptionExclusive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editLabelOptionName :: Maybe Text+ +instance Arbitrary EditMilestoneOption where+ arbitrary = sized genEditMilestoneOption++genEditMilestoneOption :: Int -> Gen EditMilestoneOption+genEditMilestoneOption n =+ EditMilestoneOption+ <$> arbitraryReducedMaybe n -- editMilestoneOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- editMilestoneOptionDueOn :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- editMilestoneOptionState :: Maybe Text+ <*> arbitraryReducedMaybe n -- editMilestoneOptionTitle :: Maybe Text+ +instance Arbitrary EditOrgOption where+ arbitrary = sized genEditOrgOption++genEditOrgOption :: Int -> Gen EditOrgOption+genEditOrgOption n =+ EditOrgOption+ <$> arbitraryReducedMaybe n -- editOrgOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- editOrgOptionFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- editOrgOptionLocation :: Maybe Text+ <*> arbitraryReducedMaybe n -- editOrgOptionRepoAdminChangeTeamAccess :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editOrgOptionVisibility :: Maybe E'Visibility+ <*> arbitraryReducedMaybe n -- editOrgOptionWebsite :: Maybe Text+ +instance Arbitrary EditPullRequestOption where+ arbitrary = sized genEditPullRequestOption++genEditPullRequestOption :: Int -> Gen EditPullRequestOption+genEditPullRequestOption n =+ EditPullRequestOption+ <$> arbitraryReducedMaybe n -- editPullRequestOptionAllowMaintainerEdit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editPullRequestOptionAssignee :: Maybe Text+ <*> arbitraryReducedMaybe n -- editPullRequestOptionAssignees :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editPullRequestOptionBase :: Maybe Text+ <*> arbitraryReducedMaybe n -- editPullRequestOptionBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- editPullRequestOptionDueDate :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- editPullRequestOptionLabels :: Maybe [Integer]+ <*> arbitraryReducedMaybe n -- editPullRequestOptionMilestone :: Maybe Integer+ <*> arbitraryReducedMaybe n -- editPullRequestOptionState :: Maybe Text+ <*> arbitraryReducedMaybe n -- editPullRequestOptionTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- editPullRequestOptionUnsetDueDate :: Maybe Bool+ +instance Arbitrary EditReactionOption where+ arbitrary = sized genEditReactionOption++genEditReactionOption :: Int -> Gen EditReactionOption+genEditReactionOption n =+ EditReactionOption+ <$> arbitraryReducedMaybe n -- editReactionOptionContent :: Maybe Text+ +instance Arbitrary EditReleaseOption where+ arbitrary = sized genEditReleaseOption++genEditReleaseOption :: Int -> Gen EditReleaseOption+genEditReleaseOption n =+ EditReleaseOption+ <$> arbitraryReducedMaybe n -- editReleaseOptionBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- editReleaseOptionDraft :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editReleaseOptionName :: Maybe Text+ <*> arbitraryReducedMaybe n -- editReleaseOptionPrerelease :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editReleaseOptionTagName :: Maybe Text+ <*> arbitraryReducedMaybe n -- editReleaseOptionTargetCommitish :: Maybe Text+ +instance Arbitrary EditRepoOption where+ arbitrary = sized genEditRepoOption++genEditRepoOption :: Int -> Gen EditRepoOption+genEditRepoOption n =+ EditRepoOption+ <$> arbitraryReducedMaybe n -- editRepoOptionAllowManualMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionAllowMergeCommits :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionAllowRebase :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionAllowRebaseExplicit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionAllowRebaseUpdate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionAllowSquashMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionArchived :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionAutodetectManualMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionDefaultAllowMaintainerEdit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionDefaultBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- editRepoOptionDefaultDeleteBranchAfterMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionDefaultMergeStyle :: Maybe Text+ <*> arbitraryReducedMaybe n -- editRepoOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- editRepoOptionEnablePrune :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionExternalTracker :: Maybe ExternalTracker+ <*> arbitraryReducedMaybe n -- editRepoOptionExternalWiki :: Maybe ExternalWiki+ <*> arbitraryReducedMaybe n -- editRepoOptionHasIssues :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionHasProjects :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionHasPullRequests :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionHasWiki :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionIgnoreWhitespaceConflicts :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionInternalTracker :: Maybe InternalTracker+ <*> arbitraryReducedMaybe n -- editRepoOptionMirrorInterval :: Maybe Text+ <*> arbitraryReducedMaybe n -- editRepoOptionName :: Maybe Text+ <*> arbitraryReducedMaybe n -- editRepoOptionPrivate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionTemplate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editRepoOptionWebsite :: Maybe Text+ +instance Arbitrary EditTeamOption where+ arbitrary = sized genEditTeamOption++genEditTeamOption :: Int -> Gen EditTeamOption+genEditTeamOption n =+ EditTeamOption+ <$> arbitraryReducedMaybe n -- editTeamOptionCanCreateOrgRepo :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editTeamOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- editTeamOptionIncludesAllRepositories :: Maybe Bool+ <*> arbitrary -- editTeamOptionName :: Text+ <*> arbitraryReducedMaybe n -- editTeamOptionPermission :: Maybe E'Permission+ <*> arbitraryReducedMaybe n -- editTeamOptionUnits :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- editTeamOptionUnitsMap :: Maybe (Map.Map String Text)+ +instance Arbitrary EditUserOption where+ arbitrary = sized genEditUserOption++genEditUserOption :: Int -> Gen EditUserOption+genEditUserOption n =+ EditUserOption+ <$> arbitraryReducedMaybe n -- editUserOptionActive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionAdmin :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionAllowCreateOrganization :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionAllowGitHook :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionAllowImportLocal :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- editUserOptionEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- editUserOptionFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- editUserOptionLocation :: Maybe Text+ <*> arbitrary -- editUserOptionLoginName :: Text+ <*> arbitraryReducedMaybe n -- editUserOptionMaxRepoCreation :: Maybe Integer+ <*> arbitraryReducedMaybe n -- editUserOptionMustChangePassword :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionPassword :: Maybe Text+ <*> arbitraryReducedMaybe n -- editUserOptionProhibitLogin :: Maybe Bool+ <*> arbitraryReducedMaybe n -- editUserOptionRestricted :: Maybe Bool+ <*> arbitrary -- editUserOptionSourceId :: Integer+ <*> arbitraryReducedMaybe n -- editUserOptionVisibility :: Maybe Text+ <*> arbitraryReducedMaybe n -- editUserOptionWebsite :: Maybe Text+ +instance Arbitrary Email where+ arbitrary = sized genEmail++genEmail :: Int -> Gen Email+genEmail n =+ Email+ <$> arbitraryReducedMaybe n -- emailEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- emailPrimary :: Maybe Bool+ <*> arbitraryReducedMaybe n -- emailVerified :: Maybe Bool+ +instance Arbitrary ExternalTracker where+ arbitrary = sized genExternalTracker++genExternalTracker :: Int -> Gen ExternalTracker+genExternalTracker n =+ ExternalTracker+ <$> arbitraryReducedMaybe n -- externalTrackerExternalTrackerFormat :: Maybe Text+ <*> arbitraryReducedMaybe n -- externalTrackerExternalTrackerRegexpPattern :: Maybe Text+ <*> arbitraryReducedMaybe n -- externalTrackerExternalTrackerStyle :: Maybe Text+ <*> arbitraryReducedMaybe n -- externalTrackerExternalTrackerUrl :: Maybe Text+ +instance Arbitrary ExternalWiki where+ arbitrary = sized genExternalWiki++genExternalWiki :: Int -> Gen ExternalWiki+genExternalWiki n =+ ExternalWiki+ <$> arbitraryReducedMaybe n -- externalWikiExternalWikiUrl :: Maybe Text+ +instance Arbitrary FileCommitResponse where+ arbitrary = sized genFileCommitResponse++genFileCommitResponse :: Int -> Gen FileCommitResponse+genFileCommitResponse n =+ FileCommitResponse+ <$> arbitraryReducedMaybe n -- fileCommitResponseAuthor :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- fileCommitResponseCommitter :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- fileCommitResponseCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- fileCommitResponseHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- fileCommitResponseMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- fileCommitResponseParents :: Maybe [CommitMeta]+ <*> arbitraryReducedMaybe n -- fileCommitResponseSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- fileCommitResponseTree :: Maybe CommitMeta+ <*> arbitraryReducedMaybe n -- fileCommitResponseUrl :: Maybe Text+ +instance Arbitrary FileDeleteResponse where+ arbitrary = sized genFileDeleteResponse++genFileDeleteResponse :: Int -> Gen FileDeleteResponse+genFileDeleteResponse n =+ FileDeleteResponse+ <$> arbitraryReducedMaybe n -- fileDeleteResponseCommit :: Maybe FileCommitResponse+ <*> arbitraryReducedMaybeValue n -- fileDeleteResponseContent :: Maybe A.Value+ <*> arbitraryReducedMaybe n -- fileDeleteResponseVerification :: Maybe PayloadCommitVerification+ +instance Arbitrary FileLinksResponse where+ arbitrary = sized genFileLinksResponse++genFileLinksResponse :: Int -> Gen FileLinksResponse+genFileLinksResponse n =+ FileLinksResponse+ <$> arbitraryReducedMaybe n -- fileLinksResponseGit :: Maybe Text+ <*> arbitraryReducedMaybe n -- fileLinksResponseHtml :: Maybe Text+ <*> arbitraryReducedMaybe n -- fileLinksResponseSelf :: Maybe Text+ +instance Arbitrary FileResponse where+ arbitrary = sized genFileResponse++genFileResponse :: Int -> Gen FileResponse+genFileResponse n =+ FileResponse+ <$> arbitraryReducedMaybe n -- fileResponseCommit :: Maybe FileCommitResponse+ <*> arbitraryReducedMaybe n -- fileResponseContent :: Maybe ContentsResponse+ <*> arbitraryReducedMaybe n -- fileResponseVerification :: Maybe PayloadCommitVerification+ +instance Arbitrary GPGKey where+ arbitrary = sized genGPGKey++genGPGKey :: Int -> Gen GPGKey+genGPGKey n =+ GPGKey+ <$> arbitraryReducedMaybe n -- gPGKeyCanCertify :: Maybe Bool+ <*> arbitraryReducedMaybe n -- gPGKeyCanEncryptComms :: Maybe Bool+ <*> arbitraryReducedMaybe n -- gPGKeyCanEncryptStorage :: Maybe Bool+ <*> arbitraryReducedMaybe n -- gPGKeyCanSign :: Maybe Bool+ <*> arbitraryReducedMaybe n -- gPGKeyCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- gPGKeyEmails :: Maybe [GPGKeyEmail]+ <*> arbitraryReducedMaybe n -- gPGKeyExpiresAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- gPGKeyId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- gPGKeyKeyId :: Maybe Text+ <*> arbitraryReducedMaybe n -- gPGKeyPrimaryKeyId :: Maybe Text+ <*> arbitraryReducedMaybe n -- gPGKeyPublicKey :: Maybe Text+ <*> arbitraryReducedMaybe n -- gPGKeySubkeys :: Maybe [GPGKey]+ <*> arbitraryReducedMaybe n -- gPGKeyVerified :: Maybe Bool+ +instance Arbitrary GPGKeyEmail where+ arbitrary = sized genGPGKeyEmail++genGPGKeyEmail :: Int -> Gen GPGKeyEmail+genGPGKeyEmail n =+ GPGKeyEmail+ <$> arbitraryReducedMaybe n -- gPGKeyEmailEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- gPGKeyEmailVerified :: Maybe Bool+ +instance Arbitrary GeneralAPISettings where+ arbitrary = sized genGeneralAPISettings++genGeneralAPISettings :: Int -> Gen GeneralAPISettings+genGeneralAPISettings n =+ GeneralAPISettings+ <$> arbitraryReducedMaybe n -- generalAPISettingsDefaultGitTreesPerPage :: Maybe Integer+ <*> arbitraryReducedMaybe n -- generalAPISettingsDefaultMaxBlobSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- generalAPISettingsDefaultPagingNum :: Maybe Integer+ <*> arbitraryReducedMaybe n -- generalAPISettingsMaxResponseItems :: Maybe Integer+ +instance Arbitrary GeneralAttachmentSettings where+ arbitrary = sized genGeneralAttachmentSettings++genGeneralAttachmentSettings :: Int -> Gen GeneralAttachmentSettings+genGeneralAttachmentSettings n =+ GeneralAttachmentSettings+ <$> arbitraryReducedMaybe n -- generalAttachmentSettingsAllowedTypes :: Maybe Text+ <*> arbitraryReducedMaybe n -- generalAttachmentSettingsEnabled :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generalAttachmentSettingsMaxFiles :: Maybe Integer+ <*> arbitraryReducedMaybe n -- generalAttachmentSettingsMaxSize :: Maybe Integer+ +instance Arbitrary GeneralRepoSettings where+ arbitrary = sized genGeneralRepoSettings++genGeneralRepoSettings :: Int -> Gen GeneralRepoSettings+genGeneralRepoSettings n =+ GeneralRepoSettings+ <$> arbitraryReducedMaybe n -- generalRepoSettingsHttpGitDisabled :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generalRepoSettingsLfsDisabled :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generalRepoSettingsMigrationsDisabled :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generalRepoSettingsMirrorsDisabled :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generalRepoSettingsStarsDisabled :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generalRepoSettingsTimeTrackingDisabled :: Maybe Bool+ +instance Arbitrary GeneralUISettings where+ arbitrary = sized genGeneralUISettings++genGeneralUISettings :: Int -> Gen GeneralUISettings+genGeneralUISettings n =+ GeneralUISettings+ <$> arbitraryReducedMaybe n -- generalUISettingsAllowedReactions :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- generalUISettingsCustomEmojis :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- generalUISettingsDefaultTheme :: Maybe Text+ +instance Arbitrary GenerateRepoOption where+ arbitrary = sized genGenerateRepoOption++genGenerateRepoOption :: Int -> Gen GenerateRepoOption+genGenerateRepoOption n =+ GenerateRepoOption+ <$> arbitraryReducedMaybe n -- generateRepoOptionAvatar :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generateRepoOptionDefaultBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- generateRepoOptionDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- generateRepoOptionGitContent :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generateRepoOptionGitHooks :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generateRepoOptionLabels :: Maybe Bool+ <*> arbitrary -- generateRepoOptionName :: Text+ <*> arbitrary -- generateRepoOptionOwner :: Text+ <*> arbitraryReducedMaybe n -- generateRepoOptionPrivate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generateRepoOptionTopics :: Maybe Bool+ <*> arbitraryReducedMaybe n -- generateRepoOptionWebhooks :: Maybe Bool+ +instance Arbitrary GitBlobResponse where+ arbitrary = sized genGitBlobResponse++genGitBlobResponse :: Int -> Gen GitBlobResponse+genGitBlobResponse n =+ GitBlobResponse+ <$> arbitraryReducedMaybe n -- gitBlobResponseContent :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitBlobResponseEncoding :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitBlobResponseSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitBlobResponseSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- gitBlobResponseUrl :: Maybe Text+ +instance Arbitrary GitEntry where+ arbitrary = sized genGitEntry++genGitEntry :: Int -> Gen GitEntry+genGitEntry n =+ GitEntry+ <$> arbitraryReducedMaybe n -- gitEntryMode :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitEntryPath :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitEntrySha :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitEntrySize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- gitEntryType :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitEntryUrl :: Maybe Text+ +instance Arbitrary GitHook where+ arbitrary = sized genGitHook++genGitHook :: Int -> Gen GitHook+genGitHook n =+ GitHook+ <$> arbitraryReducedMaybe n -- gitHookContent :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitHookIsActive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- gitHookName :: Maybe Text+ +instance Arbitrary GitObject where+ arbitrary = sized genGitObject++genGitObject :: Int -> Gen GitObject+genGitObject n =+ GitObject+ <$> arbitraryReducedMaybe n -- gitObjectSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitObjectType :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitObjectUrl :: Maybe Text+ +instance Arbitrary GitTreeResponse where+ arbitrary = sized genGitTreeResponse++genGitTreeResponse :: Int -> Gen GitTreeResponse+genGitTreeResponse n =+ GitTreeResponse+ <$> arbitraryReducedMaybe n -- gitTreeResponsePage :: Maybe Integer+ <*> arbitraryReducedMaybe n -- gitTreeResponseSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- gitTreeResponseTotalCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- gitTreeResponseTree :: Maybe [GitEntry]+ <*> arbitraryReducedMaybe n -- gitTreeResponseTruncated :: Maybe Bool+ <*> arbitraryReducedMaybe n -- gitTreeResponseUrl :: Maybe Text+ +instance Arbitrary Hook where+ arbitrary = sized genHook++genHook :: Int -> Gen Hook+genHook n =+ Hook+ <$> arbitraryReducedMaybe n -- hookActive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- hookAuthorizationHeader :: Maybe Text+ <*> arbitraryReducedMaybe n -- hookConfig :: Maybe (Map.Map String Text)+ <*> arbitraryReducedMaybe n -- hookCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- hookEvents :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- hookId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- hookType :: Maybe Text+ <*> arbitraryReducedMaybe n -- hookUpdatedAt :: Maybe DateTime+ +instance Arbitrary Identity where+ arbitrary = sized genIdentity++genIdentity :: Int -> Gen Identity+genIdentity n =+ Identity+ <$> arbitraryReducedMaybe n -- identityEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- identityName :: Maybe Text+ +instance Arbitrary InternalTracker where+ arbitrary = sized genInternalTracker++genInternalTracker :: Int -> Gen InternalTracker+genInternalTracker n =+ InternalTracker+ <$> arbitraryReducedMaybe n -- internalTrackerAllowOnlyContributorsToTrackTime :: Maybe Bool+ <*> arbitraryReducedMaybe n -- internalTrackerEnableIssueDependencies :: Maybe Bool+ <*> arbitraryReducedMaybe n -- internalTrackerEnableTimeTracker :: Maybe Bool+ +instance Arbitrary Issue where+ arbitrary = sized genIssue++genIssue :: Int -> Gen Issue+genIssue n =+ Issue+ <$> arbitraryReducedMaybe n -- issueAssets :: Maybe [Attachment]+ <*> arbitraryReducedMaybe n -- issueAssignee :: Maybe User+ <*> arbitraryReducedMaybe n -- issueAssignees :: Maybe [User]+ <*> arbitraryReducedMaybe n -- issueBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueClosedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- issueComments :: Maybe Integer+ <*> arbitraryReducedMaybe n -- issueCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- issueDueDate :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- issueHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- issueIsLocked :: Maybe Bool+ <*> arbitraryReducedMaybe n -- issueLabels :: Maybe [Label]+ <*> arbitraryReducedMaybe n -- issueMilestone :: Maybe Milestone+ <*> arbitraryReducedMaybe n -- issueNumber :: Maybe Integer+ <*> arbitraryReducedMaybe n -- issueOriginalAuthor :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueOriginalAuthorId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- issuePullRequest :: Maybe PullRequestMeta+ <*> arbitraryReducedMaybe n -- issueRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueRepository :: Maybe RepositoryMeta+ <*> arbitraryReducedMaybe n -- issueState :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- issueUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueUser :: Maybe User+ +instance Arbitrary IssueDeadline where+ arbitrary = sized genIssueDeadline++genIssueDeadline :: Int -> Gen IssueDeadline+genIssueDeadline n =+ IssueDeadline+ <$> arbitraryReducedMaybe n -- issueDeadlineDueDate :: Maybe DateTime+ +instance Arbitrary IssueFormField where+ arbitrary = sized genIssueFormField++genIssueFormField :: Int -> Gen IssueFormField+genIssueFormField n =+ IssueFormField+ <$> arbitraryReducedMaybe n -- issueFormFieldAttributes :: Maybe (Map.Map String A.Value)+ <*> arbitraryReducedMaybe n -- issueFormFieldId :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueFormFieldType :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueFormFieldValidations :: Maybe (Map.Map String A.Value)+ +instance Arbitrary IssueLabelsOption where+ arbitrary = sized genIssueLabelsOption++genIssueLabelsOption :: Int -> Gen IssueLabelsOption+genIssueLabelsOption n =+ IssueLabelsOption+ <$> arbitraryReducedMaybe n -- issueLabelsOptionLabels :: Maybe [Integer]+ +instance Arbitrary IssueTemplate where+ arbitrary = sized genIssueTemplate++genIssueTemplate :: Int -> Gen IssueTemplate+genIssueTemplate n =+ IssueTemplate+ <$> arbitraryReducedMaybe n -- issueTemplateAbout :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueTemplateBody :: Maybe [IssueFormField]+ <*> arbitraryReducedMaybe n -- issueTemplateContent :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueTemplateFileName :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueTemplateLabels :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- issueTemplateName :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueTemplateRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- issueTemplateTitle :: Maybe Text+ +instance Arbitrary Label where+ arbitrary = sized genLabel++genLabel :: Int -> Gen Label+genLabel n =+ Label+ <$> arbitraryReducedMaybe n -- labelColor :: Maybe Text+ <*> arbitraryReducedMaybe n -- labelDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- labelExclusive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- labelId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- labelName :: Maybe Text+ <*> arbitraryReducedMaybe n -- labelUrl :: Maybe Text+ +instance Arbitrary MarkdownOption where+ arbitrary = sized genMarkdownOption++genMarkdownOption :: Int -> Gen MarkdownOption+genMarkdownOption n =+ MarkdownOption+ <$> arbitraryReducedMaybe n -- markdownOptionContext :: Maybe Text+ <*> arbitraryReducedMaybe n -- markdownOptionMode :: Maybe Text+ <*> arbitraryReducedMaybe n -- markdownOptionText :: Maybe Text+ <*> arbitraryReducedMaybe n -- markdownOptionWiki :: Maybe Bool+ +instance Arbitrary MergePullRequestOption where+ arbitrary = sized genMergePullRequestOption++genMergePullRequestOption :: Int -> Gen MergePullRequestOption+genMergePullRequestOption n =+ MergePullRequestOption+ <$> arbitrary -- mergePullRequestOptionDo :: E'Do+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionMergeCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionMergeMessageField :: Maybe Text+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionMergeTitleField :: Maybe Text+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionDeleteBranchAfterMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionForceMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionHeadCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- mergePullRequestOptionMergeWhenChecksSucceed :: Maybe Bool+ +instance Arbitrary MigrateRepoOptions where+ arbitrary = sized genMigrateRepoOptions++genMigrateRepoOptions :: Int -> Gen MigrateRepoOptions+genMigrateRepoOptions n =+ MigrateRepoOptions+ <$> arbitraryReducedMaybe n -- migrateRepoOptionsAuthPassword :: Maybe Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsAuthToken :: Maybe Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsAuthUsername :: Maybe Text+ <*> arbitrary -- migrateRepoOptionsCloneAddr :: Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsIssues :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsLabels :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsLfs :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsLfsEndpoint :: Maybe Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsMilestones :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsMirror :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsMirrorInterval :: Maybe Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsPrivate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsPullRequests :: Maybe Bool+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsReleases :: Maybe Bool+ <*> arbitrary -- migrateRepoOptionsRepoName :: Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsRepoOwner :: Maybe Text+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsService :: Maybe E'Service+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsUid :: Maybe Integer+ <*> arbitraryReducedMaybe n -- migrateRepoOptionsWiki :: Maybe Bool+ +instance Arbitrary Milestone where+ arbitrary = sized genMilestone++genMilestone :: Int -> Gen Milestone+genMilestone n =+ Milestone+ <$> arbitraryReducedMaybe n -- milestoneClosedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- milestoneClosedIssues :: Maybe Integer+ <*> arbitraryReducedMaybe n -- milestoneCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- milestoneDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- milestoneDueOn :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- milestoneId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- milestoneOpenIssues :: Maybe Integer+ <*> arbitraryReducedMaybe n -- milestoneState :: Maybe Text+ <*> arbitraryReducedMaybe n -- milestoneTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- milestoneUpdatedAt :: Maybe DateTime+ +instance Arbitrary NodeInfo where+ arbitrary = sized genNodeInfo++genNodeInfo :: Int -> Gen NodeInfo+genNodeInfo n =+ NodeInfo+ <$> arbitraryReducedMaybeValue n -- nodeInfoMetadata :: Maybe A.Value+ <*> arbitraryReducedMaybe n -- nodeInfoOpenRegistrations :: Maybe Bool+ <*> arbitraryReducedMaybe n -- nodeInfoProtocols :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- nodeInfoServices :: Maybe NodeInfoServices+ <*> arbitraryReducedMaybe n -- nodeInfoSoftware :: Maybe NodeInfoSoftware+ <*> arbitraryReducedMaybe n -- nodeInfoUsage :: Maybe NodeInfoUsage+ <*> arbitraryReducedMaybe n -- nodeInfoVersion :: Maybe Text+ +instance Arbitrary NodeInfoServices where+ arbitrary = sized genNodeInfoServices++genNodeInfoServices :: Int -> Gen NodeInfoServices+genNodeInfoServices n =+ NodeInfoServices+ <$> arbitraryReducedMaybe n -- nodeInfoServicesInbound :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- nodeInfoServicesOutbound :: Maybe [Text]+ +instance Arbitrary NodeInfoSoftware where+ arbitrary = sized genNodeInfoSoftware++genNodeInfoSoftware :: Int -> Gen NodeInfoSoftware+genNodeInfoSoftware n =+ NodeInfoSoftware+ <$> arbitraryReducedMaybe n -- nodeInfoSoftwareHomepage :: Maybe Text+ <*> arbitraryReducedMaybe n -- nodeInfoSoftwareName :: Maybe Text+ <*> arbitraryReducedMaybe n -- nodeInfoSoftwareRepository :: Maybe Text+ <*> arbitraryReducedMaybe n -- nodeInfoSoftwareVersion :: Maybe Text+ +instance Arbitrary NodeInfoUsage where+ arbitrary = sized genNodeInfoUsage++genNodeInfoUsage :: Int -> Gen NodeInfoUsage+genNodeInfoUsage n =+ NodeInfoUsage+ <$> arbitraryReducedMaybe n -- nodeInfoUsageLocalComments :: Maybe Integer+ <*> arbitraryReducedMaybe n -- nodeInfoUsageLocalPosts :: Maybe Integer+ <*> arbitraryReducedMaybe n -- nodeInfoUsageUsers :: Maybe NodeInfoUsageUsers+ +instance Arbitrary NodeInfoUsageUsers where+ arbitrary = sized genNodeInfoUsageUsers++genNodeInfoUsageUsers :: Int -> Gen NodeInfoUsageUsers+genNodeInfoUsageUsers n =+ NodeInfoUsageUsers+ <$> arbitraryReducedMaybe n -- nodeInfoUsageUsersActiveHalfyear :: Maybe Integer+ <*> arbitraryReducedMaybe n -- nodeInfoUsageUsersActiveMonth :: Maybe Integer+ <*> arbitraryReducedMaybe n -- nodeInfoUsageUsersTotal :: Maybe Integer+ +instance Arbitrary Note where+ arbitrary = sized genNote++genNote :: Int -> Gen Note+genNote n =+ Note+ <$> arbitraryReducedMaybe n -- noteCommit :: Maybe Commit+ <*> arbitraryReducedMaybe n -- noteMessage :: Maybe Text+ +instance Arbitrary NotificationCount where+ arbitrary = sized genNotificationCount++genNotificationCount :: Int -> Gen NotificationCount+genNotificationCount n =+ NotificationCount+ <$> arbitraryReducedMaybe n -- notificationCountNew :: Maybe Integer+ +instance Arbitrary NotificationSubject where+ arbitrary = sized genNotificationSubject++genNotificationSubject :: Int -> Gen NotificationSubject+genNotificationSubject n =+ NotificationSubject+ <$> arbitraryReducedMaybe n -- notificationSubjectHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- notificationSubjectLatestCommentHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- notificationSubjectLatestCommentUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- notificationSubjectState :: Maybe Text+ <*> arbitraryReducedMaybe n -- notificationSubjectTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- notificationSubjectType :: Maybe Text+ <*> arbitraryReducedMaybe n -- notificationSubjectUrl :: Maybe Text+ +instance Arbitrary NotificationThread where+ arbitrary = sized genNotificationThread++genNotificationThread :: Int -> Gen NotificationThread+genNotificationThread n =+ NotificationThread+ <$> arbitraryReducedMaybe n -- notificationThreadId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- notificationThreadPinned :: Maybe Bool+ <*> arbitraryReducedMaybe n -- notificationThreadRepository :: Maybe Repository+ <*> arbitraryReducedMaybe n -- notificationThreadSubject :: Maybe NotificationSubject+ <*> arbitraryReducedMaybe n -- notificationThreadUnread :: Maybe Bool+ <*> arbitraryReducedMaybe n -- notificationThreadUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- notificationThreadUrl :: Maybe Text+ +instance Arbitrary OAuth2Application where+ arbitrary = sized genOAuth2Application++genOAuth2Application :: Int -> Gen OAuth2Application+genOAuth2Application n =+ OAuth2Application+ <$> arbitraryReducedMaybe n -- oAuth2ApplicationClientId :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ApplicationClientSecret :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ApplicationConfidentialClient :: Maybe Bool+ <*> arbitraryReducedMaybe n -- oAuth2ApplicationCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- oAuth2ApplicationId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- oAuth2ApplicationName :: Maybe Text+ <*> arbitraryReducedMaybe n -- oAuth2ApplicationRedirectUris :: Maybe [Text]+ +instance Arbitrary Organization where+ arbitrary = sized genOrganization++genOrganization :: Int -> Gen Organization+genOrganization n =+ Organization+ <$> arbitraryReducedMaybe n -- organizationAvatarUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- organizationLocation :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationName :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationRepoAdminChangeTeamAccess :: Maybe Bool+ <*> arbitraryReducedMaybe n -- organizationUsername :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationVisibility :: Maybe Text+ <*> arbitraryReducedMaybe n -- organizationWebsite :: Maybe Text+ +instance Arbitrary OrganizationPermissions where+ arbitrary = sized genOrganizationPermissions++genOrganizationPermissions :: Int -> Gen OrganizationPermissions+genOrganizationPermissions n =+ OrganizationPermissions+ <$> arbitraryReducedMaybe n -- organizationPermissionsCanCreateRepository :: Maybe Bool+ <*> arbitraryReducedMaybe n -- organizationPermissionsCanRead :: Maybe Bool+ <*> arbitraryReducedMaybe n -- organizationPermissionsCanWrite :: Maybe Bool+ <*> arbitraryReducedMaybe n -- organizationPermissionsIsAdmin :: Maybe Bool+ <*> arbitraryReducedMaybe n -- organizationPermissionsIsOwner :: Maybe Bool+ +instance Arbitrary PRBranchInfo where+ arbitrary = sized genPRBranchInfo++genPRBranchInfo :: Int -> Gen PRBranchInfo+genPRBranchInfo n =+ PRBranchInfo+ <$> arbitraryReducedMaybe n -- pRBranchInfoLabel :: Maybe Text+ <*> arbitraryReducedMaybe n -- pRBranchInfoRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- pRBranchInfoRepo :: Maybe Repository+ <*> arbitraryReducedMaybe n -- pRBranchInfoRepoId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pRBranchInfoSha :: Maybe Text+ +instance Arbitrary Package where+ arbitrary = sized genPackage++genPackage :: Int -> Gen Package+genPackage n =+ Package+ <$> arbitraryReducedMaybe n -- packageCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- packageCreator :: Maybe User+ <*> arbitraryReducedMaybe n -- packageId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- packageName :: Maybe Text+ <*> arbitraryReducedMaybe n -- packageOwner :: Maybe User+ <*> arbitraryReducedMaybe n -- packageRepository :: Maybe Repository+ <*> arbitraryReducedMaybe n -- packageType :: Maybe Text+ <*> arbitraryReducedMaybe n -- packageVersion :: Maybe Text+ +instance Arbitrary PackageFile where+ arbitrary = sized genPackageFile++genPackageFile :: Int -> Gen PackageFile+genPackageFile n =+ PackageFile+ <$> arbitraryReducedMaybe n -- packageFileSize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- packageFileId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- packageFileMd5 :: Maybe Text+ <*> arbitraryReducedMaybe n -- packageFileName :: Maybe Text+ <*> arbitraryReducedMaybe n -- packageFileSha1 :: Maybe Text+ <*> arbitraryReducedMaybe n -- packageFileSha256 :: Maybe Text+ <*> arbitraryReducedMaybe n -- packageFileSha512 :: Maybe Text+ +instance Arbitrary PayloadCommit where+ arbitrary = sized genPayloadCommit++genPayloadCommit :: Int -> Gen PayloadCommit+genPayloadCommit n =+ PayloadCommit+ <$> arbitraryReducedMaybe n -- payloadCommitAdded :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- payloadCommitAuthor :: Maybe PayloadUser+ <*> arbitraryReducedMaybe n -- payloadCommitCommitter :: Maybe PayloadUser+ <*> arbitraryReducedMaybe n -- payloadCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadCommitMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadCommitModified :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- payloadCommitRemoved :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- payloadCommitTimestamp :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- payloadCommitUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadCommitVerification :: Maybe PayloadCommitVerification+ +instance Arbitrary PayloadCommitVerification where+ arbitrary = sized genPayloadCommitVerification++genPayloadCommitVerification :: Int -> Gen PayloadCommitVerification+genPayloadCommitVerification n =+ PayloadCommitVerification+ <$> arbitraryReducedMaybe n -- payloadCommitVerificationPayload :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadCommitVerificationReason :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadCommitVerificationSignature :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadCommitVerificationSigner :: Maybe PayloadUser+ <*> arbitraryReducedMaybe n -- payloadCommitVerificationVerified :: Maybe Bool+ +instance Arbitrary PayloadUser where+ arbitrary = sized genPayloadUser++genPayloadUser :: Int -> Gen PayloadUser+genPayloadUser n =+ PayloadUser+ <$> arbitraryReducedMaybe n -- payloadUserEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadUserName :: Maybe Text+ <*> arbitraryReducedMaybe n -- payloadUserUsername :: Maybe Text+ +instance Arbitrary Permission where+ arbitrary = sized genPermission++genPermission :: Int -> Gen Permission+genPermission n =+ Permission+ <$> arbitraryReducedMaybe n -- permissionAdmin :: Maybe Bool+ <*> arbitraryReducedMaybe n -- permissionPull :: Maybe Bool+ <*> arbitraryReducedMaybe n -- permissionPush :: Maybe Bool+ +instance Arbitrary PublicKey where+ arbitrary = sized genPublicKey++genPublicKey :: Int -> Gen PublicKey+genPublicKey n =+ PublicKey+ <$> arbitraryReducedMaybe n -- publicKeyCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- publicKeyFingerprint :: Maybe Text+ <*> arbitraryReducedMaybe n -- publicKeyId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- publicKeyKey :: Maybe Text+ <*> arbitraryReducedMaybe n -- publicKeyKeyType :: Maybe Text+ <*> arbitraryReducedMaybe n -- publicKeyReadOnly :: Maybe Bool+ <*> arbitraryReducedMaybe n -- publicKeyTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- publicKeyUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- publicKeyUser :: Maybe User+ +instance Arbitrary PullRequest where+ arbitrary = sized genPullRequest++genPullRequest :: Int -> Gen PullRequest+genPullRequest n =+ PullRequest+ <$> arbitraryReducedMaybe n -- pullRequestAllowMaintainerEdit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullRequestAssignee :: Maybe User+ <*> arbitraryReducedMaybe n -- pullRequestAssignees :: Maybe [User]+ <*> arbitraryReducedMaybe n -- pullRequestBase :: Maybe PRBranchInfo+ <*> arbitraryReducedMaybe n -- pullRequestBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestClosedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullRequestComments :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullRequestCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullRequestDiffUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestDueDate :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullRequestHead :: Maybe PRBranchInfo+ <*> arbitraryReducedMaybe n -- pullRequestHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullRequestIsLocked :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullRequestLabels :: Maybe [Label]+ <*> arbitraryReducedMaybe n -- pullRequestMergeBase :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestMergeCommitSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestMergeable :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullRequestMerged :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullRequestMergedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullRequestMergedBy :: Maybe User+ <*> arbitraryReducedMaybe n -- pullRequestMilestone :: Maybe Milestone+ <*> arbitraryReducedMaybe n -- pullRequestNumber :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullRequestPatchUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestState :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullRequestUser :: Maybe User+ +instance Arbitrary PullRequestMeta where+ arbitrary = sized genPullRequestMeta++genPullRequestMeta :: Int -> Gen PullRequestMeta+genPullRequestMeta n =+ PullRequestMeta+ <$> arbitraryReducedMaybe n -- pullRequestMetaMerged :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullRequestMetaMergedAt :: Maybe DateTime+ +instance Arbitrary PullReview where+ arbitrary = sized genPullReview++genPullReview :: Int -> Gen PullReview+genPullReview n =+ PullReview+ <$> arbitraryReducedMaybe n -- pullReviewBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentsCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullReviewCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewDismissed :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullReviewHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullReviewOfficial :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullReviewPullRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewStale :: Maybe Bool+ <*> arbitraryReducedMaybe n -- pullReviewState :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewSubmittedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullReviewTeam :: Maybe Team+ <*> arbitraryReducedMaybe n -- pullReviewUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullReviewUser :: Maybe User+ +instance Arbitrary PullReviewComment where+ arbitrary = sized genPullReviewComment++genPullReviewComment :: Int -> Gen PullReviewComment+genPullReviewComment n =+ PullReviewComment+ <$> arbitraryReducedMaybe n -- pullReviewCommentBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullReviewCommentDiffHunk :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullReviewCommentOriginalCommitId :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentOriginalPosition :: Maybe Int+ <*> arbitraryReducedMaybe n -- pullReviewCommentPath :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentPosition :: Maybe Int+ <*> arbitraryReducedMaybe n -- pullReviewCommentPullRequestReviewId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- pullReviewCommentPullRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- pullReviewCommentResolver :: Maybe User+ <*> arbitraryReducedMaybe n -- pullReviewCommentUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- pullReviewCommentUser :: Maybe User+ +instance Arbitrary PullReviewRequestOptions where+ arbitrary = sized genPullReviewRequestOptions++genPullReviewRequestOptions :: Int -> Gen PullReviewRequestOptions+genPullReviewRequestOptions n =+ PullReviewRequestOptions+ <$> arbitraryReducedMaybe n -- pullReviewRequestOptionsReviewers :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- pullReviewRequestOptionsTeamReviewers :: Maybe [Text]+ +instance Arbitrary PushMirror where+ arbitrary = sized genPushMirror++genPushMirror :: Int -> Gen PushMirror+genPushMirror n =+ PushMirror+ <$> arbitraryReducedMaybe n -- pushMirrorCreated :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorInterval :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorLastError :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorLastUpdate :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorRemoteAddress :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorRemoteName :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorRepoName :: Maybe Text+ <*> arbitraryReducedMaybe n -- pushMirrorSyncOnCommit :: Maybe Bool+ +instance Arbitrary Reaction where+ arbitrary = sized genReaction++genReaction :: Int -> Gen Reaction+genReaction n =+ Reaction+ <$> arbitraryReducedMaybe n -- reactionContent :: Maybe Text+ <*> arbitraryReducedMaybe n -- reactionCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- reactionUser :: Maybe User+ +instance Arbitrary Reference where+ arbitrary = sized genReference++genReference :: Int -> Gen Reference+genReference n =+ Reference+ <$> arbitraryReducedMaybe n -- referenceObject :: Maybe GitObject+ <*> arbitraryReducedMaybe n -- referenceRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- referenceUrl :: Maybe Text+ +instance Arbitrary Release where+ arbitrary = sized genRelease++genRelease :: Int -> Gen Release+genRelease n =+ Release+ <$> arbitraryReducedMaybe n -- releaseAssets :: Maybe [Attachment]+ <*> arbitraryReducedMaybe n -- releaseAuthor :: Maybe User+ <*> arbitraryReducedMaybe n -- releaseBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- releaseCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- releaseDraft :: Maybe Bool+ <*> arbitraryReducedMaybe n -- releaseHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- releaseId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- releaseName :: Maybe Text+ <*> arbitraryReducedMaybe n -- releasePrerelease :: Maybe Bool+ <*> arbitraryReducedMaybe n -- releasePublishedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- releaseTagName :: Maybe Text+ <*> arbitraryReducedMaybe n -- releaseTarballUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- releaseTargetCommitish :: Maybe Text+ <*> arbitraryReducedMaybe n -- releaseUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- releaseZipballUrl :: Maybe Text+ +instance Arbitrary RepoCollaboratorPermission where+ arbitrary = sized genRepoCollaboratorPermission++genRepoCollaboratorPermission :: Int -> Gen RepoCollaboratorPermission+genRepoCollaboratorPermission n =+ RepoCollaboratorPermission+ <$> arbitraryReducedMaybe n -- repoCollaboratorPermissionPermission :: Maybe Text+ <*> arbitraryReducedMaybe n -- repoCollaboratorPermissionRoleName :: Maybe Text+ <*> arbitraryReducedMaybe n -- repoCollaboratorPermissionUser :: Maybe User+ +instance Arbitrary RepoCommit where+ arbitrary = sized genRepoCommit++genRepoCommit :: Int -> Gen RepoCommit+genRepoCommit n =+ RepoCommit+ <$> arbitraryReducedMaybe n -- repoCommitAuthor :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- repoCommitCommitter :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- repoCommitMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- repoCommitTree :: Maybe CommitMeta+ <*> arbitraryReducedMaybe n -- repoCommitUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repoCommitVerification :: Maybe PayloadCommitVerification+ +instance Arbitrary RepoTopicOptions where+ arbitrary = sized genRepoTopicOptions++genRepoTopicOptions :: Int -> Gen RepoTopicOptions+genRepoTopicOptions n =+ RepoTopicOptions+ <$> arbitraryReducedMaybe n -- repoTopicOptionsTopics :: Maybe [Text]+ +instance Arbitrary RepoTransfer where+ arbitrary = sized genRepoTransfer++genRepoTransfer :: Int -> Gen RepoTransfer+genRepoTransfer n =+ RepoTransfer+ <$> arbitraryReducedMaybe n -- repoTransferDoer :: Maybe User+ <*> arbitraryReducedMaybe n -- repoTransferRecipient :: Maybe User+ <*> arbitraryReducedMaybe n -- repoTransferTeams :: Maybe [Team]+ +instance Arbitrary Repository where+ arbitrary = sized genRepository++genRepository :: Int -> Gen Repository+genRepository n =+ Repository+ <$> arbitraryReducedMaybe n -- repositoryAllowMergeCommits :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryAllowRebase :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryAllowRebaseExplicit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryAllowRebaseUpdate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryAllowSquashMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryArchived :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryAvatarUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryCloneUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- repositoryDefaultAllowMaintainerEdit :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryDefaultBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryDefaultDeleteBranchAfterMerge :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryDefaultMergeStyle :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryEmpty :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryExternalTracker :: Maybe ExternalTracker+ <*> arbitraryReducedMaybe n -- repositoryExternalWiki :: Maybe ExternalWiki+ <*> arbitraryReducedMaybe n -- repositoryFork :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryForksCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryHasIssues :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryHasProjects :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryHasPullRequests :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryHasWiki :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryIgnoreWhitespaceConflicts :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryInternal :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryInternalTracker :: Maybe InternalTracker+ <*> arbitraryReducedMaybe n -- repositoryLanguage :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryLanguagesUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryLink :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryMirror :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryMirrorInterval :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryMirrorUpdated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- repositoryName :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryOpenIssuesCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryOpenPrCounter :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryOriginalUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryOwner :: Maybe User+ <*> arbitraryReducedMaybe n -- repositoryParent :: Maybe Repository+ <*> arbitraryReducedMaybe n -- repositoryPermissions :: Maybe Permission+ <*> arbitraryReducedMaybe n -- repositoryPrivate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryReleaseCounter :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryRepoTransfer :: Maybe RepoTransfer+ <*> arbitraryReducedMaybe n -- repositorySize :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositorySshUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryStarsCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryTemplate :: Maybe Bool+ <*> arbitraryReducedMaybe n -- repositoryUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- repositoryWatchersCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryWebsite :: Maybe Text+ +instance Arbitrary RepositoryMeta where+ arbitrary = sized genRepositoryMeta++genRepositoryMeta :: Int -> Gen RepositoryMeta+genRepositoryMeta n =+ RepositoryMeta+ <$> arbitraryReducedMaybe n -- repositoryMetaFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryMetaId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- repositoryMetaName :: Maybe Text+ <*> arbitraryReducedMaybe n -- repositoryMetaOwner :: Maybe Text+ +instance Arbitrary SearchResults where+ arbitrary = sized genSearchResults++genSearchResults :: Int -> Gen SearchResults+genSearchResults n =+ SearchResults+ <$> arbitraryReducedMaybe n -- searchResultsData :: Maybe [Repository]+ <*> arbitraryReducedMaybe n -- searchResultsOk :: Maybe Bool+ +instance Arbitrary ServerVersion where+ arbitrary = sized genServerVersion++genServerVersion :: Int -> Gen ServerVersion+genServerVersion n =+ ServerVersion+ <$> arbitraryReducedMaybe n -- serverVersionVersion :: Maybe Text+ +instance Arbitrary StopWatch where+ arbitrary = sized genStopWatch++genStopWatch :: Int -> Gen StopWatch+genStopWatch n =+ StopWatch+ <$> arbitraryReducedMaybe n -- stopWatchCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- stopWatchDuration :: Maybe Text+ <*> arbitraryReducedMaybe n -- stopWatchIssueIndex :: Maybe Integer+ <*> arbitraryReducedMaybe n -- stopWatchIssueTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- stopWatchRepoName :: Maybe Text+ <*> arbitraryReducedMaybe n -- stopWatchRepoOwnerName :: Maybe Text+ <*> arbitraryReducedMaybe n -- stopWatchSeconds :: Maybe Integer+ +instance Arbitrary SubmitPullReviewOptions where+ arbitrary = sized genSubmitPullReviewOptions++genSubmitPullReviewOptions :: Int -> Gen SubmitPullReviewOptions+genSubmitPullReviewOptions n =+ SubmitPullReviewOptions+ <$> arbitraryReducedMaybe n -- submitPullReviewOptionsBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- submitPullReviewOptionsEvent :: Maybe Text+ +instance Arbitrary Tag where+ arbitrary = sized genTag++genTag :: Int -> Gen Tag+genTag n =+ Tag+ <$> arbitraryReducedMaybe n -- tagCommit :: Maybe CommitMeta+ <*> arbitraryReducedMaybe n -- tagId :: Maybe Text+ <*> arbitraryReducedMaybe n -- tagMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- tagName :: Maybe Text+ <*> arbitraryReducedMaybe n -- tagTarballUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- tagZipballUrl :: Maybe Text+ +instance Arbitrary Team where+ arbitrary = sized genTeam++genTeam :: Int -> Gen Team+genTeam n =+ Team+ <$> arbitraryReducedMaybe n -- teamCanCreateOrgRepo :: Maybe Bool+ <*> arbitraryReducedMaybe n -- teamDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- teamId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- teamIncludesAllRepositories :: Maybe Bool+ <*> arbitraryReducedMaybe n -- teamName :: Maybe Text+ <*> arbitraryReducedMaybe n -- teamOrganization :: Maybe Organization+ <*> arbitraryReducedMaybe n -- teamPermission :: Maybe E'Permission2+ <*> arbitraryReducedMaybe n -- teamUnits :: Maybe [Text]+ <*> arbitraryReducedMaybe n -- teamUnitsMap :: Maybe (Map.Map String Text)+ +instance Arbitrary TeamSearch200Response where+ arbitrary = sized genTeamSearch200Response++genTeamSearch200Response :: Int -> Gen TeamSearch200Response+genTeamSearch200Response n =+ TeamSearch200Response+ <$> arbitraryReducedMaybe n -- teamSearch200ResponseData :: Maybe [Team]+ <*> arbitraryReducedMaybe n -- teamSearch200ResponseOk :: Maybe Bool+ +instance Arbitrary TimelineComment where+ arbitrary = sized genTimelineComment++genTimelineComment :: Int -> Gen TimelineComment+genTimelineComment n =+ TimelineComment+ <$> arbitraryReducedMaybe n -- timelineCommentAssignee :: Maybe User+ <*> arbitraryReducedMaybe n -- timelineCommentAssigneeTeam :: Maybe Team+ <*> arbitraryReducedMaybe n -- timelineCommentBody :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- timelineCommentDependentIssue :: Maybe Issue+ <*> arbitraryReducedMaybe n -- timelineCommentHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- timelineCommentIssueUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentLabel :: Maybe Label+ <*> arbitraryReducedMaybe n -- timelineCommentMilestone :: Maybe Milestone+ <*> arbitraryReducedMaybe n -- timelineCommentNewRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentNewTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentOldMilestone :: Maybe Milestone+ <*> arbitraryReducedMaybe n -- timelineCommentOldProjectId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- timelineCommentOldRef :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentOldTitle :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentProjectId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- timelineCommentPullRequestUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentRefAction :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentRefComment :: Maybe Comment+ <*> arbitraryReducedMaybe n -- timelineCommentRefCommitSha :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentRefIssue :: Maybe Issue+ <*> arbitraryReducedMaybe n -- timelineCommentRemovedAssignee :: Maybe Bool+ <*> arbitraryReducedMaybe n -- timelineCommentResolveDoer :: Maybe User+ <*> arbitraryReducedMaybe n -- timelineCommentReviewId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- timelineCommentTrackedTime :: Maybe TrackedTime+ <*> arbitraryReducedMaybe n -- timelineCommentType :: Maybe Text+ <*> arbitraryReducedMaybe n -- timelineCommentUpdatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- timelineCommentUser :: Maybe User+ +instance Arbitrary TopicName where+ arbitrary = sized genTopicName++genTopicName :: Int -> Gen TopicName+genTopicName n =+ TopicName+ <$> arbitraryReducedMaybe n -- topicNameTopics :: Maybe [Text]+ +instance Arbitrary TopicResponse where+ arbitrary = sized genTopicResponse++genTopicResponse :: Int -> Gen TopicResponse+genTopicResponse n =+ TopicResponse+ <$> arbitraryReducedMaybe n -- topicResponseCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- topicResponseId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- topicResponseRepoCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- topicResponseTopicName :: Maybe Text+ <*> arbitraryReducedMaybe n -- topicResponseUpdated :: Maybe DateTime+ +instance Arbitrary TrackedTime where+ arbitrary = sized genTrackedTime++genTrackedTime :: Int -> Gen TrackedTime+genTrackedTime n =+ TrackedTime+ <$> arbitraryReducedMaybe n -- trackedTimeCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- trackedTimeId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- trackedTimeIssue :: Maybe Issue+ <*> arbitraryReducedMaybe n -- trackedTimeIssueId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- trackedTimeTime :: Maybe Integer+ <*> arbitraryReducedMaybe n -- trackedTimeUserId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- trackedTimeUserName :: Maybe Text+ +instance Arbitrary TransferRepoOption where+ arbitrary = sized genTransferRepoOption++genTransferRepoOption :: Int -> Gen TransferRepoOption+genTransferRepoOption n =+ TransferRepoOption+ <$> arbitrary -- transferRepoOptionNewOwner :: Text+ <*> arbitraryReducedMaybe n -- transferRepoOptionTeamIds :: Maybe [Integer]+ +instance Arbitrary UpdateFileOptions where+ arbitrary = sized genUpdateFileOptions++genUpdateFileOptions :: Int -> Gen UpdateFileOptions+genUpdateFileOptions n =+ UpdateFileOptions+ <$> arbitraryReducedMaybe n -- updateFileOptionsAuthor :: Maybe Identity+ <*> arbitraryReducedMaybe n -- updateFileOptionsBranch :: Maybe Text+ <*> arbitraryReducedMaybe n -- updateFileOptionsCommitter :: Maybe Identity+ <*> arbitrary -- updateFileOptionsContent :: Text+ <*> arbitraryReducedMaybe n -- updateFileOptionsDates :: Maybe CommitDateOptions+ <*> arbitraryReducedMaybe n -- updateFileOptionsFromPath :: Maybe Text+ <*> arbitraryReducedMaybe n -- updateFileOptionsMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- updateFileOptionsNewBranch :: Maybe Text+ <*> arbitrary -- updateFileOptionsSha :: Text+ <*> arbitraryReducedMaybe n -- updateFileOptionsSignoff :: Maybe Bool+ +instance Arbitrary User where+ arbitrary = sized genUser++genUser :: Int -> Gen User+genUser n =+ User+ <$> arbitraryReducedMaybe n -- userActive :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userAvatarUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- userCreated :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- userDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- userEmail :: Maybe Text+ <*> arbitraryReducedMaybe n -- userFollowersCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- userFollowingCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- userFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- userId :: Maybe Integer+ <*> arbitraryReducedMaybe n -- userIsAdmin :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userLanguage :: Maybe Text+ <*> arbitraryReducedMaybe n -- userLastLogin :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- userLocation :: Maybe Text+ <*> arbitraryReducedMaybe n -- userLogin :: Maybe Text+ <*> arbitraryReducedMaybe n -- userLoginName :: Maybe Text+ <*> arbitraryReducedMaybe n -- userProhibitLogin :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userRestricted :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userStarredReposCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- userVisibility :: Maybe Text+ <*> arbitraryReducedMaybe n -- userWebsite :: Maybe Text+ +instance Arbitrary UserHeatmapData where+ arbitrary = sized genUserHeatmapData++genUserHeatmapData :: Int -> Gen UserHeatmapData+genUserHeatmapData n =+ UserHeatmapData+ <$> arbitraryReducedMaybe n -- userHeatmapDataContributions :: Maybe Integer+ <*> arbitraryReducedMaybe n -- userHeatmapDataTimestamp :: Maybe Integer+ +instance Arbitrary UserSearch200Response where+ arbitrary = sized genUserSearch200Response++genUserSearch200Response :: Int -> Gen UserSearch200Response+genUserSearch200Response n =+ UserSearch200Response+ <$> arbitraryReducedMaybe n -- userSearch200ResponseData :: Maybe [User]+ <*> arbitraryReducedMaybe n -- userSearch200ResponseOk :: Maybe Bool+ +instance Arbitrary UserSettings where+ arbitrary = sized genUserSettings++genUserSettings :: Int -> Gen UserSettings+genUserSettings n =+ UserSettings+ <$> arbitraryReducedMaybe n -- userSettingsDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsDiffViewStyle :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsHideActivity :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userSettingsHideEmail :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userSettingsLanguage :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsLocation :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsTheme :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsWebsite :: Maybe Text+ +instance Arbitrary UserSettingsOptions where+ arbitrary = sized genUserSettingsOptions++genUserSettingsOptions :: Int -> Gen UserSettingsOptions+genUserSettingsOptions n =+ UserSettingsOptions+ <$> arbitraryReducedMaybe n -- userSettingsOptionsDescription :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsOptionsDiffViewStyle :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsOptionsFullName :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsOptionsHideActivity :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userSettingsOptionsHideEmail :: Maybe Bool+ <*> arbitraryReducedMaybe n -- userSettingsOptionsLanguage :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsOptionsLocation :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsOptionsTheme :: Maybe Text+ <*> arbitraryReducedMaybe n -- userSettingsOptionsWebsite :: Maybe Text+ +instance Arbitrary WatchInfo where+ arbitrary = sized genWatchInfo++genWatchInfo :: Int -> Gen WatchInfo+genWatchInfo n =+ WatchInfo+ <$> arbitraryReducedMaybe n -- watchInfoCreatedAt :: Maybe DateTime+ <*> arbitraryReducedMaybe n -- watchInfoIgnored :: Maybe Bool+ <*> arbitraryReducedMaybeValue n -- watchInfoReason :: Maybe A.Value+ <*> arbitraryReducedMaybe n -- watchInfoRepositoryUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- watchInfoSubscribed :: Maybe Bool+ <*> arbitraryReducedMaybe n -- watchInfoUrl :: Maybe Text+ +instance Arbitrary WikiCommit where+ arbitrary = sized genWikiCommit++genWikiCommit :: Int -> Gen WikiCommit+genWikiCommit n =+ WikiCommit+ <$> arbitraryReducedMaybe n -- wikiCommitAuthor :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- wikiCommitCommiter :: Maybe CommitUser+ <*> arbitraryReducedMaybe n -- wikiCommitMessage :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiCommitSha :: Maybe Text+ +instance Arbitrary WikiCommitList where+ arbitrary = sized genWikiCommitList++genWikiCommitList :: Int -> Gen WikiCommitList+genWikiCommitList n =+ WikiCommitList+ <$> arbitraryReducedMaybe n -- wikiCommitListCommits :: Maybe [WikiCommit]+ <*> arbitraryReducedMaybe n -- wikiCommitListCount :: Maybe Integer+ +instance Arbitrary WikiPage where+ arbitrary = sized genWikiPage++genWikiPage :: Int -> Gen WikiPage+genWikiPage n =+ WikiPage+ <$> arbitraryReducedMaybe n -- wikiPageCommitCount :: Maybe Integer+ <*> arbitraryReducedMaybe n -- wikiPageContentBase64 :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageFooter :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageLastCommit :: Maybe WikiCommit+ <*> arbitraryReducedMaybe n -- wikiPageSidebar :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageSubUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageTitle :: Maybe Text+ +instance Arbitrary WikiPageMetaData where+ arbitrary = sized genWikiPageMetaData++genWikiPageMetaData :: Int -> Gen WikiPageMetaData+genWikiPageMetaData n =+ WikiPageMetaData+ <$> arbitraryReducedMaybe n -- wikiPageMetaDataHtmlUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageMetaDataLastCommit :: Maybe WikiCommit+ <*> arbitraryReducedMaybe n -- wikiPageMetaDataSubUrl :: Maybe Text+ <*> arbitraryReducedMaybe n -- wikiPageMetaDataTitle :: Maybe Text+ ++++instance Arbitrary E'DiffType where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Do where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Permission where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Permission2 where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Service where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Sort where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Sort2 where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'State where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'State2 where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'State3 where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Style where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'SubjectType where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'TrustModel where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Type where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Type2 where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Type3 where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Visibility where+ arbitrary = arbitraryBoundedEnum++instance Arbitrary E'Whitespace where+ arbitrary = arbitraryBoundedEnum+
+ tests/PropMime.hs view
@@ -0,0 +1,51 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ConstraintKinds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++module PropMime where++import Data.Aeson+import Data.Aeson.Types (parseEither)+import Data.Monoid ((<>))+import Data.Typeable (Proxy(..), typeOf, Typeable)+import qualified Data.ByteString.Lazy.Char8 as BL8+import Test.Hspec+import Test.QuickCheck+import Test.QuickCheck.Property+import Test.Hspec.QuickCheck (prop)++import Gitea.MimeTypes++import ApproxEq++-- * Type Aliases++type ArbitraryMime mime a = ArbitraryRoundtrip (MimeUnrender mime) (MimeRender mime) a++type ArbitraryRoundtrip from to a = (from a, to a, Arbitrary' a)++type Arbitrary' a = (Arbitrary a, Show a, Typeable a)++-- * Mime++propMime+ :: forall a b mime.+ (ArbitraryMime mime a, Testable b)+ => String -> (a -> a -> b) -> mime -> Proxy a -> Spec+propMime eqDescr eq m _ =+ prop+ (show (typeOf (undefined :: a)) <> " " <> show (typeOf (undefined :: mime)) <> " roundtrip " <> eqDescr) $+ \(x :: a) ->+ let rendered = mimeRender' m x+ actual = mimeUnrender' m rendered+ expected = Right x+ failMsg =+ "ACTUAL: " <> show actual <> "\nRENDERED: " <> BL8.unpack rendered+ in counterexample failMsg $+ either reject property (eq <$> actual <*> expected)+ where+ reject = property . const rejected++propMimeEq :: (ArbitraryMime mime a, Eq a) => mime -> Proxy a -> Spec+propMimeEq = propMime "(EQ)" (==)
+ tests/Test.hs view
@@ -0,0 +1,181 @@+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE PartialTypeSignatures #-}++module Main where++import Data.Typeable (Proxy(..))+import Test.Hspec+import Test.Hspec.QuickCheck++import PropMime+import Instances ()++import Gitea.Model+import Gitea.MimeTypes++main :: IO ()+main =+ hspec $ modifyMaxSize (const 10) $ do+ describe "JSON instances" $ do+ pure ()+ propMimeEq MimeJSON (Proxy :: Proxy APIError)+ propMimeEq MimeJSON (Proxy :: Proxy AccessToken)+ propMimeEq MimeJSON (Proxy :: Proxy ActivityPub)+ propMimeEq MimeJSON (Proxy :: Proxy AddCollaboratorOption)+ propMimeEq MimeJSON (Proxy :: Proxy AddTimeOption)+ propMimeEq MimeJSON (Proxy :: Proxy AnnotatedTag)+ propMimeEq MimeJSON (Proxy :: Proxy AnnotatedTagObject)+ propMimeEq MimeJSON (Proxy :: Proxy Attachment)+ propMimeEq MimeJSON (Proxy :: Proxy Branch)+ propMimeEq MimeJSON (Proxy :: Proxy BranchProtection)+ propMimeEq MimeJSON (Proxy :: Proxy ChangedFile)+ propMimeEq MimeJSON (Proxy :: Proxy CombinedStatus)+ propMimeEq MimeJSON (Proxy :: Proxy Comment)+ propMimeEq MimeJSON (Proxy :: Proxy Commit)+ propMimeEq MimeJSON (Proxy :: Proxy CommitAffectedFiles)+ propMimeEq MimeJSON (Proxy :: Proxy CommitDateOptions)+ propMimeEq MimeJSON (Proxy :: Proxy CommitMeta)+ propMimeEq MimeJSON (Proxy :: Proxy CommitStats)+ propMimeEq MimeJSON (Proxy :: Proxy CommitStatus)+ propMimeEq MimeJSON (Proxy :: Proxy CommitUser)+ propMimeEq MimeJSON (Proxy :: Proxy ContentsResponse)+ propMimeEq MimeJSON (Proxy :: Proxy CreateAccessTokenOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateBranchProtectionOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateBranchRepoOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateEmailOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateFileOptions)+ propMimeEq MimeJSON (Proxy :: Proxy CreateForkOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateGPGKeyOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateHookOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateIssueCommentOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateIssueOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateKeyOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateLabelOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateMilestoneOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateOAuth2ApplicationOptions)+ propMimeEq MimeJSON (Proxy :: Proxy CreateOrgOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreatePullRequestOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreatePullReviewComment)+ propMimeEq MimeJSON (Proxy :: Proxy CreatePullReviewOptions)+ propMimeEq MimeJSON (Proxy :: Proxy CreatePushMirrorOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateReleaseOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateRepoOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateStatusOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateTagOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateTeamOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateUserOption)+ propMimeEq MimeJSON (Proxy :: Proxy CreateWikiPageOptions)+ propMimeEq MimeJSON (Proxy :: Proxy Cron)+ propMimeEq MimeJSON (Proxy :: Proxy DeleteEmailOption)+ propMimeEq MimeJSON (Proxy :: Proxy DeleteFileOptions)+ propMimeEq MimeJSON (Proxy :: Proxy DeployKey)+ propMimeEq MimeJSON (Proxy :: Proxy DismissPullReviewOptions)+ propMimeEq MimeJSON (Proxy :: Proxy EditAttachmentOptions)+ propMimeEq MimeJSON (Proxy :: Proxy EditBranchProtectionOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditDeadlineOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditGitHookOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditHookOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditIssueCommentOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditIssueOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditLabelOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditMilestoneOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditOrgOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditPullRequestOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditReactionOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditReleaseOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditRepoOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditTeamOption)+ propMimeEq MimeJSON (Proxy :: Proxy EditUserOption)+ propMimeEq MimeJSON (Proxy :: Proxy Email)+ propMimeEq MimeJSON (Proxy :: Proxy ExternalTracker)+ propMimeEq MimeJSON (Proxy :: Proxy ExternalWiki)+ propMimeEq MimeJSON (Proxy :: Proxy FileCommitResponse)+ propMimeEq MimeJSON (Proxy :: Proxy FileDeleteResponse)+ propMimeEq MimeJSON (Proxy :: Proxy FileLinksResponse)+ propMimeEq MimeJSON (Proxy :: Proxy FileResponse)+ propMimeEq MimeJSON (Proxy :: Proxy GPGKey)+ propMimeEq MimeJSON (Proxy :: Proxy GPGKeyEmail)+ propMimeEq MimeJSON (Proxy :: Proxy GeneralAPISettings)+ propMimeEq MimeJSON (Proxy :: Proxy GeneralAttachmentSettings)+ propMimeEq MimeJSON (Proxy :: Proxy GeneralRepoSettings)+ propMimeEq MimeJSON (Proxy :: Proxy GeneralUISettings)+ propMimeEq MimeJSON (Proxy :: Proxy GenerateRepoOption)+ propMimeEq MimeJSON (Proxy :: Proxy GitBlobResponse)+ propMimeEq MimeJSON (Proxy :: Proxy GitEntry)+ propMimeEq MimeJSON (Proxy :: Proxy GitHook)+ propMimeEq MimeJSON (Proxy :: Proxy GitObject)+ propMimeEq MimeJSON (Proxy :: Proxy GitTreeResponse)+ propMimeEq MimeJSON (Proxy :: Proxy Hook)+ propMimeEq MimeJSON (Proxy :: Proxy Identity)+ propMimeEq MimeJSON (Proxy :: Proxy InternalTracker)+ propMimeEq MimeJSON (Proxy :: Proxy Issue)+ propMimeEq MimeJSON (Proxy :: Proxy IssueDeadline)+ propMimeEq MimeJSON (Proxy :: Proxy IssueFormField)+ propMimeEq MimeJSON (Proxy :: Proxy IssueLabelsOption)+ propMimeEq MimeJSON (Proxy :: Proxy IssueTemplate)+ propMimeEq MimeJSON (Proxy :: Proxy Label)+ propMimeEq MimeJSON (Proxy :: Proxy MarkdownOption)+ propMimeEq MimeJSON (Proxy :: Proxy MergePullRequestOption)+ propMimeEq MimeJSON (Proxy :: Proxy MigrateRepoOptions)+ propMimeEq MimeJSON (Proxy :: Proxy Milestone)+ propMimeEq MimeJSON (Proxy :: Proxy NodeInfo)+ propMimeEq MimeJSON (Proxy :: Proxy NodeInfoServices)+ propMimeEq MimeJSON (Proxy :: Proxy NodeInfoSoftware)+ propMimeEq MimeJSON (Proxy :: Proxy NodeInfoUsage)+ propMimeEq MimeJSON (Proxy :: Proxy NodeInfoUsageUsers)+ propMimeEq MimeJSON (Proxy :: Proxy Note)+ propMimeEq MimeJSON (Proxy :: Proxy NotificationCount)+ propMimeEq MimeJSON (Proxy :: Proxy NotificationSubject)+ propMimeEq MimeJSON (Proxy :: Proxy NotificationThread)+ propMimeEq MimeJSON (Proxy :: Proxy OAuth2Application)+ propMimeEq MimeJSON (Proxy :: Proxy Organization)+ propMimeEq MimeJSON (Proxy :: Proxy OrganizationPermissions)+ propMimeEq MimeJSON (Proxy :: Proxy PRBranchInfo)+ propMimeEq MimeJSON (Proxy :: Proxy Package)+ propMimeEq MimeJSON (Proxy :: Proxy PackageFile)+ propMimeEq MimeJSON (Proxy :: Proxy PayloadCommit)+ propMimeEq MimeJSON (Proxy :: Proxy PayloadCommitVerification)+ propMimeEq MimeJSON (Proxy :: Proxy PayloadUser)+ propMimeEq MimeJSON (Proxy :: Proxy Permission)+ propMimeEq MimeJSON (Proxy :: Proxy PublicKey)+ propMimeEq MimeJSON (Proxy :: Proxy PullRequest)+ propMimeEq MimeJSON (Proxy :: Proxy PullRequestMeta)+ propMimeEq MimeJSON (Proxy :: Proxy PullReview)+ propMimeEq MimeJSON (Proxy :: Proxy PullReviewComment)+ propMimeEq MimeJSON (Proxy :: Proxy PullReviewRequestOptions)+ propMimeEq MimeJSON (Proxy :: Proxy PushMirror)+ propMimeEq MimeJSON (Proxy :: Proxy Reaction)+ propMimeEq MimeJSON (Proxy :: Proxy Reference)+ propMimeEq MimeJSON (Proxy :: Proxy Release)+ propMimeEq MimeJSON (Proxy :: Proxy RepoCollaboratorPermission)+ propMimeEq MimeJSON (Proxy :: Proxy RepoCommit)+ propMimeEq MimeJSON (Proxy :: Proxy RepoTopicOptions)+ propMimeEq MimeJSON (Proxy :: Proxy RepoTransfer)+ propMimeEq MimeJSON (Proxy :: Proxy Repository)+ propMimeEq MimeJSON (Proxy :: Proxy RepositoryMeta)+ propMimeEq MimeJSON (Proxy :: Proxy SearchResults)+ propMimeEq MimeJSON (Proxy :: Proxy ServerVersion)+ propMimeEq MimeJSON (Proxy :: Proxy StopWatch)+ propMimeEq MimeJSON (Proxy :: Proxy SubmitPullReviewOptions)+ propMimeEq MimeJSON (Proxy :: Proxy Tag)+ propMimeEq MimeJSON (Proxy :: Proxy Team)+ propMimeEq MimeJSON (Proxy :: Proxy TeamSearch200Response)+ propMimeEq MimeJSON (Proxy :: Proxy TimelineComment)+ propMimeEq MimeJSON (Proxy :: Proxy TopicName)+ propMimeEq MimeJSON (Proxy :: Proxy TopicResponse)+ propMimeEq MimeJSON (Proxy :: Proxy TrackedTime)+ propMimeEq MimeJSON (Proxy :: Proxy TransferRepoOption)+ propMimeEq MimeJSON (Proxy :: Proxy UpdateFileOptions)+ propMimeEq MimeJSON (Proxy :: Proxy User)+ propMimeEq MimeJSON (Proxy :: Proxy UserHeatmapData)+ propMimeEq MimeJSON (Proxy :: Proxy UserSearch200Response)+ propMimeEq MimeJSON (Proxy :: Proxy UserSettings)+ propMimeEq MimeJSON (Proxy :: Proxy UserSettingsOptions)+ propMimeEq MimeJSON (Proxy :: Proxy WatchInfo)+ propMimeEq MimeJSON (Proxy :: Proxy WikiCommit)+ propMimeEq MimeJSON (Proxy :: Proxy WikiCommitList)+ propMimeEq MimeJSON (Proxy :: Proxy WikiPage)+ propMimeEq MimeJSON (Proxy :: Proxy WikiPageMetaData)+