29 lines
777 B
PHP
29 lines
777 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Resources;
|
|
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
class GigResource extends JsonResource
|
|
{
|
|
public function toArray(Request $request): array
|
|
{
|
|
return [
|
|
'id' => $this->id,
|
|
'title' => $this->title,
|
|
'description' => $this->description,
|
|
'event_date' => $this->event_date ? Carbon::parse($this->event_date)->toIso8601String() : null,
|
|
'archived' => $this->archived,
|
|
'categories' => $this->categories->map(fn($category) => [
|
|
'id' => $category->id,
|
|
'name' => $category->name,
|
|
'slug' => $category->slug,
|
|
]),
|
|
];
|
|
}
|
|
}
|