refactor(services): Move staticservice to struct and interface
This commit is contained in:
parent
2a4f126377
commit
b9e550d6f5
@ -5,7 +5,6 @@ import (
|
|||||||
"slices"
|
"slices"
|
||||||
|
|
||||||
"git.odit.services/lfk/document-server/models"
|
"git.odit.services/lfk/document-server/models"
|
||||||
"git.odit.services/lfk/document-server/services"
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,7 +31,7 @@ func (h *DefaultHandler) GenerateCard(c *fiber.Ctx) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
templateString, err := services.GetTemplate(cardRequest.Locale, "card")
|
templateString, err := h.StaticService.GetTemplate(cardRequest.Locale, "card")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
||||||
|
@ -5,7 +5,6 @@ import (
|
|||||||
"slices"
|
"slices"
|
||||||
|
|
||||||
"git.odit.services/lfk/document-server/models"
|
"git.odit.services/lfk/document-server/models"
|
||||||
"git.odit.services/lfk/document-server/services"
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,7 +31,7 @@ func (h *DefaultHandler) GenerateCertificate(c *fiber.Ctx) error {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
templateString, err := services.GetTemplate(certificateRequest.Locale, "certificate")
|
templateString, err := h.StaticService.GetTemplate(certificateRequest.Locale, "certificate")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
||||||
|
@ -5,7 +5,6 @@ import (
|
|||||||
"slices"
|
"slices"
|
||||||
|
|
||||||
"git.odit.services/lfk/document-server/models"
|
"git.odit.services/lfk/document-server/models"
|
||||||
"git.odit.services/lfk/document-server/services"
|
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -34,7 +33,7 @@ func (h *DefaultHandler) GenerateContract(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
contract.Runners = repeatRunnerArrayItems(contract.Runners, 2)
|
contract.Runners = repeatRunnerArrayItems(contract.Runners, 2)
|
||||||
|
|
||||||
templateString, err := services.GetTemplate(contract.Locale, "contract")
|
templateString, err := h.StaticService.GetTemplate(contract.Locale, "contract")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{
|
||||||
|
@ -18,4 +18,5 @@ type DefaultHandler struct {
|
|||||||
BarcodeService services.BarcodeService
|
BarcodeService services.BarcodeService
|
||||||
Templater services.Templater
|
Templater services.Templater
|
||||||
Converter services.Converter
|
Converter services.Converter
|
||||||
|
StaticService services.StaticService
|
||||||
}
|
}
|
||||||
|
3
main.go
3
main.go
@ -74,11 +74,14 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
barcodeGenerator := &services.DefaultBarcodeService{}
|
barcodeGenerator := &services.DefaultBarcodeService{}
|
||||||
|
staticService := &services.DefaultStaticService{}
|
||||||
handler := handlers.DefaultHandler{
|
handler := handlers.DefaultHandler{
|
||||||
Config: config,
|
Config: config,
|
||||||
BarcodeService: barcodeGenerator,
|
BarcodeService: barcodeGenerator,
|
||||||
|
StaticService: staticService,
|
||||||
Templater: &services.DefaultTemplater{
|
Templater: &services.DefaultTemplater{
|
||||||
BarcodeService: barcodeGenerator,
|
BarcodeService: barcodeGenerator,
|
||||||
|
StaticService: staticService,
|
||||||
},
|
},
|
||||||
Converter: &services.GotenbergConverter{
|
Converter: &services.GotenbergConverter{
|
||||||
BaseUrl: config.GotenbergBaseUrl,
|
BaseUrl: config.GotenbergBaseUrl,
|
||||||
|
@ -16,6 +16,7 @@ type Templater interface {
|
|||||||
|
|
||||||
type DefaultTemplater struct {
|
type DefaultTemplater struct {
|
||||||
BarcodeService BarcodeService
|
BarcodeService BarcodeService
|
||||||
|
StaticService StaticService
|
||||||
}
|
}
|
||||||
|
|
||||||
func idToEan13(id string, prefix string) (string, error) {
|
func idToEan13(id string, prefix string) (string, error) {
|
||||||
@ -47,15 +48,15 @@ func (t *DefaultTemplater) GenerateBarcode(code string, format string, prefix st
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (t *DefaultTemplater) SelectSponsorImage(id int) (string, error) {
|
func (t *DefaultTemplater) SelectSponsorImage(id int) (string, error) {
|
||||||
sponsors, err := ListFilesInStaticSubFolder("images/sponsors")
|
sponsors, err := t.StaticService.ListFilesInStaticSubFolder("images/sponsors")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
return GetImage("sponsors/" + strings.TrimSuffix(sponsors[id%len(sponsors)], ".base64")), nil
|
return t.StaticService.GetImage("sponsors/" + strings.TrimSuffix(sponsors[id%len(sponsors)], ".base64")), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *DefaultTemplater) LoadImage(name string) (string, error) {
|
func (t *DefaultTemplater) LoadImage(name string) (string, error) {
|
||||||
return GetImage(name), nil
|
return t.StaticService.GetImage(name), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *DefaultTemplater) FormatUnit(unit string, locale string, amount int) (string, error) {
|
func (t *DefaultTemplater) FormatUnit(unit string, locale string, amount int) (string, error) {
|
||||||
|
@ -7,7 +7,16 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetTemplate(locale, templateName string) (string, error) {
|
type StaticService interface {
|
||||||
|
GetTemplate(locale, templateName string) (string, error)
|
||||||
|
ListFilesInStaticSubFolder(folderName string) ([]string, error)
|
||||||
|
GetImage(imageName string) string
|
||||||
|
}
|
||||||
|
|
||||||
|
type DefaultStaticService struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *DefaultStaticService) GetTemplate(locale, templateName string) (string, error) {
|
||||||
content, err := os.ReadFile(fmt.Sprintf("static/templates/%s/%s.html", templateName, locale))
|
content, err := os.ReadFile(fmt.Sprintf("static/templates/%s/%s.html", templateName, locale))
|
||||||
if content == nil || err != nil {
|
if content == nil || err != nil {
|
||||||
log.Printf("error reading template %s with locale %s: %v", templateName, locale, err)
|
log.Printf("error reading template %s with locale %s: %v", templateName, locale, err)
|
||||||
@ -16,7 +25,7 @@ func GetTemplate(locale, templateName string) (string, error) {
|
|||||||
return string(content), nil
|
return string(content), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ListFilesInStaticSubFolder(folderName string) ([]string, error) {
|
func (s *DefaultStaticService) ListFilesInStaticSubFolder(folderName string) ([]string, error) {
|
||||||
files, err := os.ReadDir(fmt.Sprintf("static/%s", folderName))
|
files, err := os.ReadDir(fmt.Sprintf("static/%s", folderName))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("error reading files from folder %s: %v", folderName, err)
|
log.Printf("error reading files from folder %s: %v", folderName, err)
|
||||||
@ -32,7 +41,7 @@ func ListFilesInStaticSubFolder(folderName string) ([]string, error) {
|
|||||||
return images, nil
|
return images, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetImage(imageName string) string {
|
func (s *DefaultStaticService) GetImage(imageName string) string {
|
||||||
content, err := os.ReadFile("static/images/" + imageName + ".base64")
|
content, err := os.ReadFile("static/images/" + imageName + ".base64")
|
||||||
if content == nil || err != nil {
|
if content == nil || err != nil {
|
||||||
log.Printf("error reading image %s: %v", imageName, err)
|
log.Printf("error reading image %s: %v", imageName, err)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user