Add RSVP functionality for Meetup Events

- 🏷️ Introduce `RsvpStatus` enum for managing attendance states (`attending`, `maybe`, `none`).
- ✏️ Add `MeetupEventController` methods for RSVP actions (`rsvpStatus`, `rsvp`) and payload handling.
-  Implement RSVP helpers in `MeetupEvent` model for user-specific attendance management.
- 🌐 Register RSVP routes for showing and updating attendance in the API.
- 🧪 Add feature tests for RSVP actions, covering validation, idempotency, and correct list handling.
This commit is contained in:
HolgerHatGarKeineNode
2026-06-15 22:10:10 +02:00
parent e55967e9ac
commit 0a1d177fc4
6 changed files with 249 additions and 0 deletions
@@ -0,0 +1,26 @@
<?php
namespace App\Http\Requests\Api;
use App\Enums\RsvpStatus;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class RsvpMeetupEventRequest extends FormRequest
{
public function authorize(): bool
{
// Jeder authentifizierte Nutzer darf für einen Termin zu-/absagen.
return $this->user() !== null;
}
/**
* @return array<string, array<int, mixed>>
*/
public function rules(): array
{
return [
'status' => ['required', Rule::enum(RsvpStatus::class)],
];
}
}