Browse Source

Expose Attachemnt Settings by API (#12514)

close #12368
tags/v1.13.0-rc1
6543 3 years ago
parent
commit
dba5d82f86
No account linked to committer's email address

+ 12
- 0
integrations/api_settings_test.go View File

@@ -46,4 +46,16 @@ func TestAPIExposedSettings(t *testing.T) {
MirrorsDisabled: setting.Repository.DisableMirrors,
HTTPGitDisabled: setting.Repository.DisableHTTPGit,
}, repo)

attachment := new(api.GeneralAttachmentSettings)
req = NewRequest(t, "GET", "/api/v1/settings/attachment")
resp = MakeRequest(t, req, http.StatusOK)

DecodeJSON(t, resp, &attachment)
assert.EqualValues(t, &api.GeneralAttachmentSettings{
Enabled: setting.Attachment.Enabled,
AllowedTypes: setting.Attachment.AllowedTypes,
MaxFiles: setting.Attachment.MaxFiles,
MaxSize: setting.Attachment.MaxSize,
}, attachment)
}

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

@@ -22,3 +22,11 @@ type GeneralAPISettings struct {
DefaultGitTreesPerPage int `json:"default_git_trees_per_page"`
DefaultMaxBlobSize int64 `json:"default_max_blob_size"`
}

// GeneralAttachmentSettings contains global Attachment settings exposed by API
type GeneralAttachmentSettings struct {
Enabled bool `json:"enabled"`
AllowedTypes string `json:"allowed_types"`
MaxSize int64 `json:"max_size"`
MaxFiles int `json:"max_files"`
}

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

@@ -522,6 +522,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Group("/settings", func() {
m.Get("/ui", settings.GetGeneralUISettings)
m.Get("/api", settings.GetGeneralAPISettings)
m.Get("/attachment", settings.GetGeneralAttachmentSettings)
m.Get("/repository", settings.GetGeneralRepoSettings)
})


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

@@ -60,3 +60,21 @@ func GetGeneralRepoSettings(ctx *context.APIContext) {
HTTPGitDisabled: setting.Repository.DisableHTTPGit,
})
}

// GetGeneralAttachmentSettings returns instance's global settings for Attachment
func GetGeneralAttachmentSettings(ctx *context.APIContext) {
// swagger:operation GET /settings/Attachment settings getGeneralAttachmentSettings
// ---
// summary: Get instance's global settings for Attachment
// produces:
// - application/json
// responses:
// "200":
// "$ref": "#/responses/GeneralAttachmentSettings"
ctx.JSON(http.StatusOK, api.GeneralAttachmentSettings{
Enabled: setting.Attachment.Enabled,
AllowedTypes: setting.Attachment.AllowedTypes,
MaxFiles: setting.Attachment.MaxFiles,
MaxSize: setting.Attachment.MaxSize,
})
}

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

@@ -26,3 +26,10 @@ type swaggerResponseGeneralAPISettings struct {
// in:body
Body api.GeneralAPISettings `json:"body"`
}

// GeneralAttachmentSettings
// swagger:response GeneralAttachmentSettings
type swaggerResponseGeneralAttachmentSettings struct {
// in:body
Body api.GeneralAttachmentSettings `json:"body"`
}

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

@@ -8672,6 +8672,23 @@
}
}
},
"/settings/Attachment": {
"get": {
"produces": [
"application/json"
],
"tags": [
"settings"
],
"summary": "Get instance's global settings for Attachment",
"operationId": "getGeneralAttachmentSettings",
"responses": {
"200": {
"$ref": "#/responses/GeneralAttachmentSettings"
}
}
}
},
"/settings/api": {
"get": {
"produces": [
@@ -13021,6 +13038,31 @@
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"GeneralAttachmentSettings": {
"description": "GeneralAttachmentSettings contains global Attachment settings exposed by API",
"type": "object",
"properties": {
"allowed_types": {
"type": "string",
"x-go-name": "AllowedTypes"
},
"enabled": {
"type": "boolean",
"x-go-name": "Enabled"
},
"max_files": {
"type": "integer",
"format": "int64",
"x-go-name": "MaxFiles"
},
"max_size": {
"type": "integer",
"format": "int64",
"x-go-name": "MaxSize"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"GeneralRepoSettings": {
"description": "GeneralRepoSettings contains global repository settings exposed by API",
"type": "object",
@@ -15247,6 +15289,12 @@
"$ref": "#/definitions/GeneralAPISettings"
}
},
"GeneralAttachmentSettings": {
"description": "GeneralAttachmentSettings",
"schema": {
"$ref": "#/definitions/GeneralAttachmentSettings"
}
},
"GeneralRepoSettings": {
"description": "GeneralRepoSettings",
"schema": {

Loading…
Cancel
Save