mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-app.git
synced 2026-06-17 16:40:31 +00:00
✨ Add removeFromMine functionality to Meetups API for removing meetups from a user's "My Meetups" list
- 🔒 Introduce `removeFromMine` policy for authenticated users to remove meetups. - ✏️ Add `removeFromMine` method in `MeetupController` with idempotent handling. - ✨ Add `removeMember` utility in `Meetup` model for managing pivot relationships. - 🧪 Add feature tests for `removeFromMine`, covering idempotency, permissions, and unknown slugs. - 🌐 Register `removeFromMine` route in API and link it to `MeetupController`.
This commit is contained in:
@@ -202,6 +202,17 @@ class Meetup extends Model implements HasMedia
|
||||
return ! $wasMember;
|
||||
}
|
||||
|
||||
/**
|
||||
* Den Nutzer wieder aus „Meine Meetups" entfernen (löst die meetup_user-Pivot).
|
||||
* Idempotent: war der Nutzer kein Mitglied, passiert nichts. Gibt true zurück,
|
||||
* wenn tatsächlich eine Zuordnung gelöst wurde (false = war kein Mitglied).
|
||||
* Gegenstück zu {@see addMember()}; die Stammdaten bleiben unberührt.
|
||||
*/
|
||||
public function removeMember(User $user): bool
|
||||
{
|
||||
return $this->users()->detach($user->getKey()) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* RateLimiter-Key für Meetup-Stammdaten-Updates über das Portal-Frontend.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user