settings.go
package models
import "github.com/readysite/readysite/pkg/database"
// Settings represents a key-value configuration entry.
type Settings struct {
database.Model
Key string // Setting key (e.g., "ai_provider", "site_name")
Value string // Setting value (encrypted for sensitive values)
}
// Setting keys
const (
SettingSiteName = "site_name"
SettingSiteDescription = "site_description"
SettingAIProvider = "ai_provider"
SettingAIAPIKey = "ai_api_key"
SettingAIModel = "ai_model"
SettingSetupComplete = "setup_complete"
SettingCORSOrigins = "cors_origins" // Comma-separated allowed origins, empty means same-origin only
SettingSignupEnabled = "signup_enabled" // "true" or "false" - allows public user signup
SettingSeedComplete = "seed_complete" // "true" when initial seeding has been done
SettingTourCompleted = "tour_completed" // Per-user: "tour_completed:{userID}"
)