- Crowd Types + Persons CRUD (73 tests) - Festival Sections + Time Slots + Shifts CRUD met assign/claim flow (84 tests) - Invite Flow + Member Management met InvitationService (109 tests) - Schema v1.6 migraties volledig uitgevoerd - DevSeeder bijgewerkt met crowd types voor testorganisatie
2.5 KiB
2.5 KiB
Crewli API Contract
Base path: /api/v1/
Auth: Bearer token (Sanctum)
Auth
POST /auth/loginPOST /auth/logoutGET /auth/me
Organisations
GET /organisations— list (super admin)POST /organisations— createGET /organisations/{org}— showPUT /organisations/{org}— updateGET /organisations/{org}/members— membersPOST /organisations/{org}/invite— invite user
Events
GET /organisations/{org}/eventsPOST /organisations/{org}/eventsGET /organisations/{org}/events/{event}PUT /organisations/{org}/events/{event}
Crowd Types
GET /organisations/{org}/crowd-typesPOST /organisations/{org}/crowd-typesPUT /organisations/{org}/crowd-types/{type}DELETE /organisations/{org}/crowd-types/{type}
Companies
GET /organisations/{org}/companiesPOST /organisations/{org}/companiesPUT /organisations/{org}/companies/{company}DELETE /organisations/{org}/companies/{company}
Festival Sections
GET /events/{event}/sectionsPOST /events/{event}/sectionsPUT /events/{event}/sections/{section}DELETE /events/{event}/sections/{section}POST /events/{event}/sections/reorder
Time Slots
GET /events/{event}/time-slotsPOST /events/{event}/time-slotsPUT /events/{event}/time-slots/{timeSlot}DELETE /events/{event}/time-slots/{timeSlot}
Shifts
GET /events/{event}/sections/{section}/shiftsPOST /events/{event}/sections/{section}/shiftsPUT /events/{event}/sections/{section}/shifts/{shift}DELETE /events/{event}/sections/{section}/shifts/{shift}POST /events/{event}/sections/{section}/shifts/{shift}/assignPOST /events/{event}/sections/{section}/shifts/{shift}/claim
Persons
GET /events/{event}/personsPOST /events/{event}/personsGET /events/{event}/persons/{person}PUT /events/{event}/persons/{person}POST /events/{event}/persons/{person}/approveDELETE /events/{event}/persons/{person}
Crowd Lists
GET /events/{event}/crowd-listsPOST /events/{event}/crowd-listsPUT /events/{event}/crowd-lists/{list}DELETE /events/{event}/crowd-lists/{list}POST /events/{event}/crowd-lists/{list}/personsDELETE /events/{event}/crowd-lists/{list}/persons/{person}
Locations
GET /events/{event}/locationsPOST /events/{event}/locationsPUT /events/{event}/locations/{location}DELETE /events/{event}/locations/{location}
(Extend this contract per module as endpoints are implemented.)