Appearance
Backend Feature: ListEvents
User story
As a visitor, I want to see all events from the institute, so that I can know about their past and upcoming activities.
Dependencies
- Entities: Event, EventPhoto
- API specs: GET /events
Acceptance criteria
- [ ] Returns all non-deleted events.
- [ ] Events are sorted by
datedescending (most recent first). - [ ] Each event includes all its associated non-deleted photos.
- [ ] Each photo includes
idand the full public URL (R2_PUBLIC_URL+object_key). - [ ] Returns 200 with
{ events: [...] }. - [ ] Returns an empty array when no events exist.
Edge cases
- No events in the database: returns
{ events: [] }. - Event exists but all its photos are soft-deleted: event still has at least one non-deleted photo per business rule, so this scenario should not occur.
Notes
No pagination, filtering, or query parameters for now.