feat(services): Baseline templater
This commit is contained in:
		
							
								
								
									
										35
									
								
								services/templater.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								services/templater.go
									
									
									
									
									
										Normal 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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user