Skip to content

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 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=...)