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 +}