Additional event informations can be added

This commit is contained in:
2026-08-12 15:01:35 +02:00
parent 554166803b
commit 9581176a0c
28 changed files with 675 additions and 39 deletions
@@ -0,0 +1,24 @@
<?php
namespace App\Resources;
use App\Models\EventParticipantOption;
use Illuminate\Http\Resources\Json\JsonResource;
class EventParticipantOptionResource extends JsonResource
{
function __construct(EventParticipantOption $option)
{
parent::__construct($option);
}
public function toArray($request): array
{
return [
'questionKey' => $this->resource->question_key,
'questionLabel' => $this->resource->question_label,
'value' => $this->resource->value,
'valueLabel' => $this->resource->value_label,
];
}
}
@@ -96,6 +96,8 @@ class EventParticipantResource extends JsonResource
'eventName' => $this->resource->event()->first()->name,
'arrivalDateReadable' => $this->resource->arrival_date->format('d.m.Y'),
'departureDateReadable' => $this->resource->departure_date->format('d.m.Y'),
'participationOptions' => $this->resource->selectedOptions()->get()->map(
fn($option) => new EventParticipantOptionResource($option)->toArray($request))->toArray(),
]
);
}
+3
View File
@@ -138,6 +138,9 @@ class EventResource extends JsonResource{
$returnArray['paymentMethods'] = $this->event->paymentMethods()->get()->map(
fn($paymentMethod) => new AvailablePaymentMethodResource($paymentMethod)->toArray($request))->toArray();
// Veranstaltungsspezifische Pflicht-Auswahlfragen (Teilnahmeoptionen); leeres Array => Schritt entfällt.
$returnArray['participationOptions'] = $this->event->participation_options ?? [];
$returnArray['participationTypes'] = [];