Files
portal/app/Http/Resources/Event.php

45 lines
1.4 KiB
PHP

<?php
namespace App\Http\Resources;
use App\Http\Resources\User as UserResource;
use App\Http\Resources\EventCategory as EventCategoryResource;
use App\Http\Resources\EventGuestWithoutEmail as GuestsWithoutEmailResource;
use Illuminate\Http\Resources\Json\JsonResource;
class Event extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'data' => [
'type' => 'events',
'event_id' => $this->id,
'attributes' => [
'data' => [
'name' => $this->name,
'description' => $this->description,
'start_date' => $this->start_date,
'end_date' => $this->end_date,
'location' => $this->location,
'category' => new EventCategoryResource($this->category),
'invitations' => UserResource::collection($this->guests),
'invitations-with-email' => [
'data' => GuestsWithoutEmailResource::collection($this->emailedGuests)
],
]
],
],
'links' => [
'self' => url('/events/'.$this->id),
]
];
}
}