fedi-feed-router/backend/src/Domains/Feed/Resources/RouteResource.php

40 lines
1.3 KiB
PHP
Raw Normal View History

2025-08-02 15:20:09 +02:00
<?php
2025-08-15 16:39:18 +02:00
namespace Domains\Feed\Resources;
2025-08-02 15:20:09 +02:00
2025-08-15 16:39:18 +02:00
use Domains\Feed\Resources\FeedResource;
use Domains\Platform\Resources\PlatformChannelResource;
2025-08-02 15:20:09 +02:00
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class RouteResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @return array<string, mixed>
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'feed_id' => $this->feed_id,
'platform_channel_id' => $this->platform_channel_id,
'is_active' => $this->is_active,
'priority' => $this->priority,
'created_at' => $this->created_at->toISOString(),
'updated_at' => $this->updated_at->toISOString(),
'feed' => new FeedResource($this->whenLoaded('feed')),
'platform_channel' => new PlatformChannelResource($this->whenLoaded('platformChannel')),
2025-08-10 16:18:09 +02:00
'keywords' => $this->whenLoaded('keywords', function () {
return $this->keywords->map(function ($keyword) {
return [
'id' => $keyword->id,
'keyword' => $keyword->keyword,
'is_active' => $keyword->is_active,
];
});
}),
2025-08-02 15:20:09 +02:00
];
}
}