Files
amare/openspec/changes/build-content-cms/specs/site-settings/spec.md

1.3 KiB

ADDED Requirements

Requirement: Site settings singleton is manageable by admin only

The system SHALL persist site-wide settings in a site_settings table as a typed singleton (SPEC WEB-06, §8.2). Fields MUST include brand name, hero copy (eyebrow, title, subtitle, CTA label), about summary, contact email/phone/city, social links (jsonb), default meta title/description, default OG image path and alt text, and optional analytics fields disabled by default.

Scenario: Admin updates site settings

  • WHEN an admin saves the site settings form in Filament
  • THEN the singleton record is updated
  • AND labels and validation messages are in pt-BR

Scenario: Assistant cannot access site settings

  • WHEN an assistant navigates to site settings in Filament
  • THEN access MUST be denied with HTTP 403

Scenario: Default OG image requires alt text

  • WHEN an admin uploads a default OG image without alt text
  • THEN validation MUST fail with a pt-BR error message
  • AND alt text MUST remain optional when no default OG image is present

Scenario: Singleton avoids generic key-value store

  • WHEN site settings are stored
  • THEN the system MUST use typed columns on site_settings
  • AND MUST NOT introduce a generic key/value configuration table