diff options
author | 6543 <6543@obermui.de> | 2020-06-22 20:21:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-22 14:21:31 -0400 |
commit | fc2f2c7602c0bea8de76172f6d3303eab374a01e (patch) | |
tree | a3cbccd543b846ff5410248caf5110022bfc38ca | |
parent | b948ecb2d29bfe373d966d10a33e7c195eb47da4 (diff) | |
download | gitea-fc2f2c7602c0bea8de76172f6d3303eab374a01e.tar.gz gitea-fc2f2c7602c0bea8de76172f6d3303eab374a01e.zip |
API: Move AllowedReactions endpoint into GetGenneralUI endpoint + creat new swagger section settings (#11854)
* move Setting function into its own package
* swagger add&use new section "settings"
* move api AllowedReactions into general UI-Settings endpoint
* prepare TEST
* lint
-rw-r--r-- | integrations/api_issue_reaction_test.go | 10 | ||||
-rw-r--r-- | modules/structs/settings.go | 5 | ||||
-rw-r--r-- | routers/api/v1/api.go | 5 | ||||
-rw-r--r-- | routers/api/v1/settings/settings.go (renamed from routers/api/v1/misc/settings.go) | 18 | ||||
-rw-r--r-- | routers/api/v1/swagger/misc.go | 7 | ||||
-rw-r--r-- | routers/api/v1/swagger/settings.go | 21 | ||||
-rw-r--r-- | templates/swagger/v1_json.tmpl | 40 |
7 files changed, 73 insertions, 33 deletions
diff --git a/integrations/api_issue_reaction_test.go b/integrations/api_issue_reaction_test.go index ab3de7c116..abbc6429fb 100644 --- a/integrations/api_issue_reaction_test.go +++ b/integrations/api_issue_reaction_test.go @@ -20,16 +20,14 @@ import ( func TestAPIAllowedReactions(t *testing.T) { defer prepareTestEnv(t)() - type allowed []string + a := new(api.GeneralUISettings) - a := new(allowed) - - req := NewRequest(t, "GET", "/api/v1/settings/allowed_reactions") + req := NewRequest(t, "GET", "/api/v1/settings/ui") resp := MakeRequest(t, req, http.StatusOK) DecodeJSON(t, resp, &a) - assert.Len(t, *a, len(setting.UI.Reactions)) - assert.ElementsMatch(t, setting.UI.Reactions, *a) + assert.Len(t, a.AllowedReactions, len(setting.UI.Reactions)) + assert.ElementsMatch(t, setting.UI.Reactions, a.AllowedReactions) } func TestAPIIssuesReactions(t *testing.T) { diff --git a/modules/structs/settings.go b/modules/structs/settings.go index dcd1b5cabd..4a6e0ce5a8 100644 --- a/modules/structs/settings.go +++ b/modules/structs/settings.go @@ -9,3 +9,8 @@ type GeneralRepoSettings struct { MirrorsDisabled bool `json:"mirrors_disabled"` HTTPGitDisabled bool `json:"http_git_disabled"` } + +// GeneralUISettings contains global ui settings exposed by API +type GeneralUISettings struct { + AllowedReactions []string `json:"allowed_reactions"` +} diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index f356d7a2bc..b03f547a6b 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -73,6 +73,7 @@ import ( "code.gitea.io/gitea/routers/api/v1/notify" "code.gitea.io/gitea/routers/api/v1/org" "code.gitea.io/gitea/routers/api/v1/repo" + "code.gitea.io/gitea/routers/api/v1/settings" _ "code.gitea.io/gitea/routers/api/v1/swagger" // for swagger generation "code.gitea.io/gitea/routers/api/v1/user" @@ -513,8 +514,8 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/markdown", bind(api.MarkdownOption{}), misc.Markdown) m.Post("/markdown/raw", misc.MarkdownRaw) m.Group("/settings", func() { - m.Get("/allowed_reactions", misc.SettingGetsAllowedReactions) - m.Get("/repository", misc.GetGeneralRepoSettings) + m.Get("/ui", settings.GetGeneralUISettings) + m.Get("/repository", settings.GetGeneralRepoSettings) }) // Notifications diff --git a/routers/api/v1/misc/settings.go b/routers/api/v1/settings/settings.go index 925cde835c..8403a51d3e 100644 --- a/routers/api/v1/misc/settings.go +++ b/routers/api/v1/settings/settings.go @@ -2,7 +2,7 @@ // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. -package misc +package settings import ( "net/http" @@ -12,22 +12,24 @@ import ( api "code.gitea.io/gitea/modules/structs" ) -// SettingGetsAllowedReactions return allowed reactions -func SettingGetsAllowedReactions(ctx *context.APIContext) { - // swagger:operation GET /settings/allowed_reactions miscellaneous getAllowedReactions +// GetGeneralUISettings returns instance's global settings for ui +func GetGeneralUISettings(ctx *context.APIContext) { + // swagger:operation GET /settings/ui settings getGeneralUISettings // --- - // summary: Returns string array of allowed reactions + // summary: Get instance's global settings for ui // produces: // - application/json // responses: // "200": - // "$ref": "#/responses/StringSlice" - ctx.JSON(http.StatusOK, setting.UI.Reactions) + // "$ref": "#/responses/GeneralUISettings" + ctx.JSON(http.StatusOK, api.GeneralUISettings{ + AllowedReactions: setting.UI.Reactions, + }) } // GetGeneralRepoSettings returns instance's global settings for repositories func GetGeneralRepoSettings(ctx *context.APIContext) { - // swagger:operation GET /settings/repository miscellaneous getGeneralRepositorySettings + // swagger:operation GET /settings/repository settings getGeneralRepositorySettings // --- // summary: Get instance's global settings for repositories // produces: diff --git a/routers/api/v1/swagger/misc.go b/routers/api/v1/swagger/misc.go index 50f5cbdbf5..1d3c257efa 100644 --- a/routers/api/v1/swagger/misc.go +++ b/routers/api/v1/swagger/misc.go @@ -21,10 +21,3 @@ type swaggerResponseStringSlice struct { // in:body Body []string `json:"body"` } - -// GeneralRepoSettings -// swagger:response GeneralRepoSettings -type swaggerResponseGeneralRepoSettings struct { - // in:body - Body api.GeneralRepoSettings `json:"body"` -} diff --git a/routers/api/v1/swagger/settings.go b/routers/api/v1/swagger/settings.go new file mode 100644 index 0000000000..45266e51df --- /dev/null +++ b/routers/api/v1/swagger/settings.go @@ -0,0 +1,21 @@ +// 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 swagger + +import api "code.gitea.io/gitea/modules/structs" + +// GeneralRepoSettings +// swagger:response GeneralRepoSettings +type swaggerResponseGeneralRepoSettings struct { + // in:body + Body api.GeneralRepoSettings `json:"body"` +} + +// GeneralUISettings +// swagger:response GeneralUISettings +type swaggerResponseGeneralUISettings struct { + // in:body + Body api.GeneralUISettings `json:"body"` +} diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 34a4b42f2f..1226822cc8 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -8470,36 +8470,36 @@ } } }, - "/settings/allowed_reactions": { + "/settings/repository": { "get": { "produces": [ "application/json" ], "tags": [ - "miscellaneous" + "settings" ], - "summary": "Returns string array of allowed reactions", - "operationId": "getAllowedReactions", + "summary": "Get instance's global settings for repositories", + "operationId": "getGeneralRepositorySettings", "responses": { "200": { - "$ref": "#/responses/StringSlice" + "$ref": "#/responses/GeneralRepoSettings" } } } }, - "/settings/repository": { + "/settings/ui": { "get": { "produces": [ "application/json" ], "tags": [ - "miscellaneous" + "settings" ], - "summary": "Get instance's global settings for repositories", - "operationId": "getGeneralRepositorySettings", + "summary": "Get instance's global settings for ui", + "operationId": "getGeneralUISettings", "responses": { "200": { - "$ref": "#/responses/GeneralRepoSettings" + "$ref": "#/responses/GeneralUISettings" } } } @@ -12753,6 +12753,20 @@ }, "x-go-package": "code.gitea.io/gitea/modules/structs" }, + "GeneralUISettings": { + "description": "GeneralUISettings contains global ui settings exposed by API", + "type": "object", + "properties": { + "allowed_reactions": { + "type": "array", + "items": { + "type": "string" + }, + "x-go-name": "AllowedReactions" + } + }, + "x-go-package": "code.gitea.io/gitea/modules/structs" + }, "GitBlobResponse": { "description": "GitBlobResponse represents a git blob", "type": "object", @@ -14928,6 +14942,12 @@ "$ref": "#/definitions/GeneralRepoSettings" } }, + "GeneralUISettings": { + "description": "GeneralUISettings", + "schema": { + "$ref": "#/definitions/GeneralUISettings" + } + }, "GitBlobResponse": { "description": "GitBlobResponse", "schema": { |