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
+11
View File
@@ -36,6 +36,17 @@ class MeetupPolicy
return true;
}
/**
* Ein bestehendes Meetup zu „Meine Meetups" hinzufügen (meetup_user-Pivot als
* Mitglied, nicht als Leader). Jeder authentifizierte Nutzer darf das die
* Stammdaten bleiben dem Ersteller vorbehalten (siehe update()). Spiegelt die
* offene Semantik des AddMeetupToMineTool (MCP).
*/
public function addToMine(User $user, Meetup $meetup): bool
{
return true;
}
public function update(User $user, Meetup $meetup): bool
{
return $this->owns($user, $meetup);