use a struct to pass multiple pieces of data into templating context

This commit is contained in:
Joel Wetzell
2026-03-04 12:38:51 -06:00
parent 6a21cc2639
commit 572a54d3b2
12 changed files with 82 additions and 46 deletions

View File

@@ -5,6 +5,7 @@ import (
"fmt"
"sync"
"github.com/jwetzell/showbridge-go/internal/common"
"github.com/jwetzell/showbridge-go/internal/config"
)
@@ -45,3 +46,17 @@ func GetAnyAs[T any](p any) (T, bool) {
typed, ok := p.(T)
return typed, ok
}
type TemplateData struct {
Payload any
Modules any
}
func GetTemplateData(ctx context.Context, payload any) TemplateData {
templateData := TemplateData{Payload: payload}
modules := ctx.Value(common.ModulesContextKey)
if modules != nil {
templateData.Modules = modules
}
return templateData
}