Add addToMine functionality to Meetups API for adding meetups to a user's "My Meetups" list

- 🔒 Introduce `addToMine` policy for authenticated users to add existing meetups.
- ✏️ Add `addToMine` method in `MeetupController` with idempotent handling.
-  Include `addMember` utility in `Meetup` model for managing pivot relationships.
- 🛠️ Refactor `AddMeetupToMineTool` to use `addMember` for consistency.
- 🧪 Add feature tests for `addToMine`, covering idempotency, permissions, and unknown slugs.
- 🌐 Register `addToMine` route in API and link it to `MeetupController`.
This commit is contained in:
HolgerHatGarKeineNode
2026-06-15 00:10:21 +02:00
parent ac1abc4435
commit 119deb4f5c
6 changed files with 95 additions and 8 deletions
+1
View File
@@ -73,6 +73,7 @@ Route::middleware('auth:sanctum')
Route::post('meetup', [MeetupController::class, 'store'])->name('meetup.store');
Route::patch('meetup/{meetup}', [MeetupController::class, 'update'])->name('meetup.update');
Route::get('my-meetups', [MeetupController::class, 'mine'])->name('meetup.mine');
Route::post('my-meetups/{meetup:slug}', [MeetupController::class, 'addToMine'])->name('meetup.mine.add');
Route::get('my-meetups/{meetup}', [MeetupController::class, 'mineShow'])->name('meetup.mine.show');
Route::post('meetup-events', [MeetupEventController::class, 'store'])->name('meetup-events.store');