readysite / website / internal / helpers / settings.go
716 B
settings.go
package helpers

import "github.com/readysite/readysite/website/models"

// GetSetting returns a setting value by key, or empty string if not found.
func GetSetting(key string) string {
	setting, err := models.SettingsStore.First("WHERE Key = ?", key)
	if err != nil || setting == nil {
		return ""
	}
	return setting.Value
}

// SetSetting sets a setting value, creating or updating as needed.
func SetSetting(key, value string) error {
	existing, _ := models.SettingsStore.First("WHERE Key = ?", key)
	if existing != nil {
		existing.Value = value
		return models.SettingsStore.Update(existing)
	}

	setting := &models.Settings{Key: key, Value: value}
	_, err := models.SettingsStore.Insert(setting)
	return err
}
← Back