[Feature][API] 增加API用于创建仓库获取预定义选项列表:ReadMe, Object Format

* Added APIs to display creating repo option lists
This commit is contained in:
戴明辰
2024-12-23 08:46:56 +00:00
repo.diff.parent 47d7a1cc04
repo.diff.commit 40a41ac3e2
repo.diff.stats_desc%!(EXTRA int=3, int=70, int=0)

repo.diff.view_file

@@ -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)

repo.diff.view_file

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

repo.diff.view_file

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