Files
amare/openspec/specs/service-catalog/spec.md
manoel freitas 7a858b52af feat: implement CMS for content management (WEB-02/03/04/06)
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>
2026-07-29 06:18:42 -03:00

35 lines
1.3 KiB
Markdown

# 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_at` null
- **THEN** the `published()` scope MUST exclude it from public queries
#### Scenario: Published service is queryable
- **WHEN** an admin sets `published_at` on 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