document-server/services/templater.go

36 lines
898 B
Go

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
}