From f4f5c8b63aa7015f3e6f5530477d1b2db1e5e9c7 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 3 Dec 2024 16:24:57 +0100 Subject: [PATCH] feat(services): Baseline templater --- services/templater.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 services/templater.go diff --git a/services/templater.go b/services/templater.go new file mode 100644 index 0000000..6fd9688 --- /dev/null +++ b/services/templater.go @@ -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 +}