2025-08-02 15:20:09 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Http\Resources;
|
|
|
|
|
|
|
|
|
|
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
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
}
|