Browse Source

API expose usefull General Repo settings settings (#11758)

* GeneralRepoSettings expose MirrorsDisabled, HTTPGitDisabled, MaxCreationLimit

* Apply suggestions from code review

Co-authored-by: proton <25139420+proton-ab@users.noreply.github.com>

* lint

Co-authored-by: proton <25139420+proton-ab@users.noreply.github.com>
for-closed-social
6543 4 years ago
committed by GitHub
parent
commit
68a2af6d68
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 74 additions and 0 deletions
  1. +11
    -0
      modules/structs/settings.go
  2. +1
    -0
      routers/api/v1/api.go
  3. +17
    -0
      routers/api/v1/misc/settings.go
  4. +7
    -0
      routers/api/v1/swagger/misc.go
  5. +38
    -0
      templates/swagger/v1_json.tmpl

+ 11
- 0
modules/structs/settings.go View File

@ -0,0 +1,11 @@
// Copyright 2020 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package structs
// GeneralRepoSettings contains global repository settings exposed by API
type GeneralRepoSettings struct {
MirrorsDisabled bool `json:"mirrors_disabled"`
HTTPGitDisabled bool `json:"http_git_disabled"`
}

+ 1
- 0
routers/api/v1/api.go View File

@ -514,6 +514,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Post("/markdown/raw", misc.MarkdownRaw)
m.Group("/settings", func() {
m.Get("/allowed_reactions", misc.SettingGetsAllowedReactions)
m.Get("/repository", misc.GetGeneralRepoSettings)
})
// Notifications

+ 17
- 0
routers/api/v1/misc/settings.go View File

@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/setting"
api "code.gitea.io/gitea/modules/structs"
)
// SettingGetsAllowedReactions return allowed reactions
@ -23,3 +24,19 @@ func SettingGetsAllowedReactions(ctx *context.APIContext) {
// "$ref": "#/responses/StringSlice"
ctx.JSON(http.StatusOK, setting.UI.Reactions)
}
// GetGeneralRepoSettings returns instance's global settings for repositories
func GetGeneralRepoSettings(ctx *context.APIContext) {
// swagger:operation GET /settings/repository miscellaneous getGeneralRepositorySettings
// ---
// summary: Get instance's global settings for repositories
// produces:
// - application/json
// responses:
// "200":
// "$ref": "#/responses/GeneralRepoSettings"
ctx.JSON(http.StatusOK, api.GeneralRepoSettings{
MirrorsDisabled: setting.Repository.DisableMirrors,
HTTPGitDisabled: setting.Repository.DisableHTTPGit,
})
}

+ 7
- 0
routers/api/v1/swagger/misc.go View File

@ -21,3 +21,10 @@ type swaggerResponseStringSlice struct {
// in:body
Body []string `json:"body"`
}
// GeneralRepoSettings
// swagger:response GeneralRepoSettings
type swaggerResponseGeneralRepoSettings struct {
// in:body
Body api.GeneralRepoSettings `json:"body"`
}

+ 38
- 0
templates/swagger/v1_json.tmpl View File

@ -8487,6 +8487,23 @@
}
}
},
"/settings/repository": {
"get": {
"produces": [
"application/json"
],
"tags": [
"miscellaneous"
],
"summary": "Get instance's global settings for repositories",
"operationId": "getGeneralRepositorySettings",
"responses": {
"200": {
"$ref": "#/responses/GeneralRepoSettings"
}
}
}
},
"/signing-key.gpg": {
"get": {
"produces": [
@ -12721,6 +12738,21 @@
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"GeneralRepoSettings": {
"description": "GeneralRepoSettings contains global repository settings exposed by API",
"type": "object",
"properties": {
"http_git_disabled": {
"type": "boolean",
"x-go-name": "HTTPGitDisabled"
},
"mirrors_disabled": {
"type": "boolean",
"x-go-name": "MirrorsDisabled"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"GitBlobResponse": {
"description": "GitBlobResponse represents a git blob",
"type": "object",
@ -14890,6 +14922,12 @@
}
}
},
"GeneralRepoSettings": {
"description": "GeneralRepoSettings",
"schema": {
"$ref": "#/definitions/GeneralRepoSettings"
}
},
"GitBlobResponse": {
"description": "GitBlobResponse",
"schema": {

Loading…
Cancel
Save