Files
bogazici-api/app/Http/Resources/AnnouncementResource.php
2026-03-27 10:41:54 +03:00

37 lines
1.1 KiB
PHP

<?php
namespace App\Http\Resources;
use App\Models\Announcement;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @mixin Announcement
*/
class AnnouncementResource extends JsonResource
{
/**
* @return array<string, mixed>
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'slug' => $this->slug,
'title' => $this->title,
'category' => $this->category?->value,
'excerpt' => $this->excerpt,
'content' => $this->content,
'image' => $this->image,
'is_featured' => $this->is_featured,
'meta_title' => $this->meta_title,
'meta_description' => $this->meta_description,
'published_at' => $this->published_at?->toISOString(),
'comments' => CommentResource::collection($this->whenLoaded('comments')),
'created_at' => $this->created_at?->toISOString(),
'updated_at' => $this->updated_at?->toISOString(),
];
}
}