From 40a41ac3e2d9c017de90c5eaa5fc083518d409f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=B4=E6=98=8E=E8=BE=B0?= Date: Mon, 23 Dec 2024 08:46:56 +0000 Subject: [PATCH] =?UTF-8?q?[Feature][API]=20=E5=A2=9E=E5=8A=A0API=E7=94=A8?= =?UTF-8?q?=E4=BA=8E=E5=88=9B=E5=BB=BA=E4=BB=93=E5=BA=93=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E9=A2=84=E5=AE=9A=E4=B9=89=E9=80=89=E9=A1=B9=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=9AReadMe,=20Object=20Format=20*=20Added=20APIs=20to=20di?= =?UTF-8?q?splay=20creating=20repo=20option=20lists?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routers/api/v1/api.go | 2 ++ routers/api/v1/misc/object_formats.go | 35 +++++++++++++++++++++++++ routers/api/v1/misc/readme_templates.go | 33 +++++++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 routers/api/v1/misc/object_formats.go create mode 100644 routers/api/v1/misc/readme_templates.go diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 7f860c9c49..84c2ede4b2 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -919,6 +919,8 @@ func Routes() *web.Router { m.Get("/licenses/{name}", misc.GetLicenseTemplateInfo) m.Get("/label/templates", misc.ListLabelTemplates) m.Get("/label/templates/{name}", misc.GetLabelTemplate) + m.Get("/readme/templates", misc.ListReadMeTemplates) // DevStar 新增API: 列举当前所有的 ReadMe 模板 + m.Get("/object_formats", misc.ListObjectFormats) // DevStar 新增API: 列举当前所有的 Object Formats m.Group("/settings", func() { m.Get("/ui", settings.GetGeneralUISettings) diff --git a/routers/api/v1/misc/object_formats.go b/routers/api/v1/misc/object_formats.go new file mode 100644 index 0000000000..28ef200bf0 --- /dev/null +++ b/routers/api/v1/misc/object_formats.go @@ -0,0 +1,35 @@ +package misc + +import ( + "code.gitea.io/gitea/modules/git" + Result "code.gitea.io/gitea/routers/entity" + "code.gitea.io/gitea/services/context" +) + +// ObjectFormatType 定义返回API格式 +type ObjectFormatType struct { + Name string `json:"name"` +} + +// ListObjectFormats 返回 Object Formats 列表 +func ListObjectFormats(ctx *context.APIContext) { + + objectFormatList := git.DefaultFeatures().SupportedObjectFormats + + var objectFormatNameList []ObjectFormatType + for _, format := range objectFormatList { + objectFormatNameList = append(objectFormatNameList, + ObjectFormatType{ + Name: format.Name(), + }, + ) + } + + resp := Result.ResultType{ + Code: Result.RespSuccess.Code, + Msg: Result.RespSuccess.Msg, + Data: objectFormatNameList, + } + resp.RespondJson2HttpResponseWriter(ctx.Resp) + return +} diff --git a/routers/api/v1/misc/readme_templates.go b/routers/api/v1/misc/readme_templates.go new file mode 100644 index 0000000000..fa28bb96d2 --- /dev/null +++ b/routers/api/v1/misc/readme_templates.go @@ -0,0 +1,33 @@ +package misc + +import ( + repo_module "code.gitea.io/gitea/modules/repository" + Result "code.gitea.io/gitea/routers/entity" + "code.gitea.io/gitea/services/context" +) + +// ReadMeTemplateType 定义返回API格式 +type ReadMeTemplateType struct { + Name string `json:"name"` +} + +// ListReadMeTemplates 返回 ReadMe 模板列表 +func ListReadMeTemplates(ctx *context.APIContext) { + var readMeTemplateList []ReadMeTemplateType + + for _, readMeTemplate := range repo_module.Readmes { + readMeTemplateList = append(readMeTemplateList, + ReadMeTemplateType{ + Name: readMeTemplate, + }, + ) + } + + resp := Result.ResultType{ + Code: Result.RespSuccess.Code, + Msg: Result.RespSuccess.Msg, + Data: readMeTemplateList, + } + resp.RespondJson2HttpResponseWriter(ctx.Resp) + return +}