Introduces Filament management for site settings, services, portfolio cases, and testimonials with admin-only policies, validated media uploads, and deterministic seeding. Includes comprehensive design and task documentation for the implementation. Co-authored-by: Cursor <cursoragent@cursor.com>
1.3 KiB
1.3 KiB
service-catalog Specification
Purpose
Define service catalog management, publication, and authorization behavior.
Requirements
Requirement: Services are managed in Filament with publication control
The system SHALL allow admins to create, update, and delete services (SPEC WEB-02). Each service MUST have title, unique slug, summary, description, optional cover image with alt text, sort order, featured flag, and published_at.
Scenario: Unpublished service is not publicly visible
- WHEN a service has
published_atnull - THEN the
published()scope MUST exclude it from public queries
Scenario: Published service is queryable
- WHEN an admin sets
published_aton a service with required fields - THEN the service MUST be included in the
published()scope
Scenario: Slug uniqueness is enforced
- WHEN an admin attempts to save two services with the same slug
- THEN validation or database constraint MUST reject the duplicate
Scenario: Assistant cannot manage services
- WHEN an assistant attempts to access the services Resource
- THEN access MUST be denied with HTTP 403
Scenario: Delete requires confirmation
- WHEN an admin deletes a service in Filament
- THEN the UI MUST require explicit confirmation before deletion