36 lines
898 B
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
|
|
}
|