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.
39 lines
1.1 KiB
Go
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,
|
|
})
|
|
}))
|
|
}
|