# Settings Models ## Overview The Settings module provides two singleton configuration models for global site settings and map-specific settings. **Models (2):** - SiteSettings — Org branding + theme + SMTP + feature toggles - MapSettings — Map center/zoom + walk sheet config **Key Features:** - Singleton pattern (always ID "default") - SMTP override hierarchy (SiteSettings → env vars) - Feature flags (enableInfluence, enableMap, enableNewsletter, enableLandingPages) - Theme color customization (admin + public) - Walk sheet customization (title, subtitle, footer, QR codes) See [Schema Reference](../schema.md#site-settings) for complete field listings. --- ## SiteSettings (Singleton) **ID:** Always `"default"` (enforced by seed + UI) **Sections:** 1. **Organization** — Name, logo, favicon 2. **Admin Theme** — Primary color, background color 3. **Public Theme** — Primary color, background color, container color, header gradient 4. **Email Branding** — From name, footer text, login subtitle 5. **SMTP Configuration** — Host, port, user, pass, from address, active provider, test mode 6. **Feature Toggles** — Enable/disable modules **SMTP Hierarchy:** - If SiteSettings.smtpHost is set → use SiteSettings SMTP - Else → fallback to env vars (SMTP_HOST, SMTP_PORT, etc.) --- ## MapSettings (Singleton) **ID:** Always `"default"` (enforced by seed + UI) **Sections:** 1. **Map Center** — Latitude, longitude, zoom (default: Edmonton, AB) 2. **Walk Sheet** — Title, subtitle, footer text 3. **QR Codes** — 3 QR code slots (URL + label each) **QR Code Usage:** - Rendered on printable walk sheets - Typically links to volunteer portal, shift signup, campaign page - Generated via Mini QR service (GET /api/qr?url=...) --- ## Related Documentation - [Schema Reference](../schema.md#site-settings) — Complete field listings - [Seeding](../seeding.md) — Default settings - [API Settings Routes](../../api/settings.md) — REST endpoints - [Admin Settings Page](../../admin/settings.md) — Settings UI - [Admin Map Settings Page](../../admin/map-settings.md) — Map settings UI