initial commit. Cloned timetracker repository
This commit is contained in:
48
app/delivery/web/public/languages.go
Normal file
48
app/delivery/web/public/languages.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package public
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"git.ma-al.com/goc_marek/timetracker/app/config"
|
||||
"git.ma-al.com/goc_marek/timetracker/app/service/langs"
|
||||
"github.com/gofiber/fiber/v3"
|
||||
)
|
||||
|
||||
type LangHandler struct {
|
||||
service langs.LangService
|
||||
}
|
||||
|
||||
func NewLangHandler() *LangHandler {
|
||||
return &LangHandler{
|
||||
service: *langs.LangSrv,
|
||||
}
|
||||
}
|
||||
|
||||
func (h *LangHandler) InitLanguage(api fiber.Router, cfg *config.Config) {
|
||||
|
||||
api.Get("langs", h.GetLanguages)
|
||||
api.Get("translations", h.GetTranslations)
|
||||
api.Get("translations/reload", h.ReloadTranslations)
|
||||
}
|
||||
|
||||
func (h *LangHandler) GetLanguages(c fiber.Ctx) error {
|
||||
return c.JSON(h.service.GetActive(c))
|
||||
}
|
||||
|
||||
func (h *LangHandler) GetTranslations(c fiber.Ctx) error {
|
||||
langIDStr := c.Query("lang_id", "0")
|
||||
langID, _ := strconv.Atoi(langIDStr)
|
||||
scope := c.Query("scope", "")
|
||||
componentsStr := c.Query("components", "")
|
||||
|
||||
var components []string
|
||||
if componentsStr != "" {
|
||||
components = []string{componentsStr}
|
||||
}
|
||||
|
||||
return c.JSON(h.service.GetTranslations(c, uint(langID), scope, components))
|
||||
}
|
||||
|
||||
func (h *LangHandler) ReloadTranslations(c fiber.Ctx) error {
|
||||
return c.JSON(h.service.ReloadTranslationsResponse(c))
|
||||
}
|
||||
Reference in New Issue
Block a user