Rezzy
TypeScript
Pull Request Merged
PR #75 merged: [4.1-4.3] Phase 4: Events - Model, Admins & CRUD
Summary
- Implements Event model with optional brand association (standalone or brand-owned events)
- Multi-admin support via
event_userpivot table for event management - Full CRUD with status lifecycle: Draft → Published → Completed/Cancelled
- Visibility controls: Public events visible to all, Private events restricted
- Authorization via
canManage()- event admins OR brand members (if event has brand) - Frontend pages: index, create, edit (with status actions), show (public view)
What's Included
- Backend: Event model, enums (EventStatus, EventVisibility), factory with 12 states, 6 action classes, policy, controller, form requests, DTO
- Frontend: 4 Inertia pages with forms, status management, delete confirmation
- Tests: 39 model tests + 38 controller tests (77 total)
Test plan
- All 396 tests pass
- Event creation (standalone and brand-owned)
- Event editing with status transitions
- Authorization for event admins and brand members
- Public/private visibility controls
- Validation rules enforced
Closes #23 [4.1] Event Model
Closes #24 [4.2] Event Admins
Closes #25 [4.3] Event CRUD
Stu Mason + AI [email protected]
+3471
additions
-53
deletions
36
files changed