Files
homebox/backend/pkgs/utils/generator.go
Matt 989100d299 Thumbnails (#797)
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: tonya <tonya@tokia.dev>
2025-06-22 21:32:48 -04:00

28 lines
751 B
Go

// Package utils
package utils
import (
"fmt"
"strings"
"text/template"
)
// GenerateSubPubConn generates a subscription or publication connection string
func GenerateSubPubConn(pubSubConn string, topic string) (string, error) {
if strings.Contains(topic, "{{") || strings.Contains(topic, "}}") {
return "", fmt.Errorf("topic contains template placeholders, which is not allowed")
}
builder := &strings.Builder{}
tmpl, err := template.New("subPubConn").Parse(pubSubConn)
if err != nil {
return "", fmt.Errorf("failed to parse template: %w", err)
}
err = tmpl.Execute(builder, map[string]interface{}{
"Topic": topic,
})
if err != nil {
return "", fmt.Errorf("failed to parse template: %w", err)
}
return builder.String(), nil
}