feat(services): Baseline templater

This commit is contained in:
Nicolai Ort 2024-12-03 16:24:57 +01:00
parent c0dd30f08c
commit f4f5c8b63a
Signed by: niggl
GPG Key ID: 13AFA55AF62F269F

35
services/templater.go Normal file
View File

@ -0,0 +1,35 @@
package services
import (
"bytes"
"html/template"
"git.odit.services/lfk/document-server/models"
)
type Templater interface {
Execute(template *template.Template, data interface{}) (string, error)
}
type DefaultTemplater struct {
}
type ContractTemplateOptions struct {
Runners []models.Runner `json:"runners"`
CurrencySymbol string `json:"currency_symbol"`
Disclaimer string `json:"disclaimer"`
ReceiptMinimumAmount int `json:"receipt_minimum_amount"`
EventName string `json:"event_name"`
SponsoringHeader string `json:"base_url"`
}
func (t *DefaultTemplater) Execute(template *template.Template, data interface{}) (string, error) {
resultBuffer := new(bytes.Buffer)
err := template.Execute(resultBuffer, data)
if err != nil {
return "", err
}
return resultBuffer.String(), nil
}