Files
artalkjs/server/handler/setting_template.go
qwqcode cf7725edba refactor(go): bump the module version and support go install (#979)
BREAKING CHANGE: The original Go module name was `github.com/ArtalkJS/Artalk`, which has now been modified to `github.com/artalkjs/artalk/v2` (all lowercase). This change may affect the CI pipeline or other areas if you are compiling the Artalk server and have specified the fixed Go module name. Regarding the original `-ldflags -X github.com/ArtalkJS/Artalk/internal/config.Version` and `CommitHash` definitions, please remove them, as they are now obsolete. The `Version` has been hardcoded into the Go code, and the `CommitHash` is now read from the Go build info via runtime/debug’s vcs.revision value. This change only affects the server developers and does not impact the frontend UI client.
2024-09-18 21:43:43 +08:00

39 lines
1.1 KiB
Go

package handler
import (
"github.com/artalkjs/artalk/v2/internal/config"
"github.com/artalkjs/artalk/v2/internal/core"
"github.com/artalkjs/artalk/v2/server/common"
"github.com/gofiber/fiber/v2"
)
type ResponseSettingTemplate struct {
Yaml string `json:"yaml"`
}
// @Id GetSettingsTemplate
// @Summary Get Settings Template
// @Description Get config templates in different languages for rendering the settings page in the frontend
// @Tags System
// @Security ApiKeyAuth
// @Param locale path string true "The locale of the settings template you want to get"
// @Produce json
// @Success 200 {object} ResponseSettingTemplate
// @Router /settings/template/{locale} [get]
func SettingTemplate(app *core.App, router fiber.Router) {
router.Get("/settings/template/:locale?", common.AdminGuard(app, func(c *fiber.Ctx) error {
var tpl string
locale := c.Params("locale")
if locale == "" {
tpl = app.ConfTpl()
} else {
tpl = config.Template(locale)
}
return common.RespData(c, ResponseSettingTemplate{
Yaml: tpl,
})
}))
}