<?php

namespace App\Http\Resources\Results;

use App\Helpers\Backoffice\MediaHelper;
use App\Helpers\DateHelper;
use App\Http\Resources\Competitions\CompetitionResource;
use App\Http\Resources\ImageResource;
use Illuminate\Http\Resources\Json\JsonResource;

class ResultResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param \Illuminate\Http\Request $request
     * @return array
     */

    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'competition' => new CompetitionResource($this->competition),
            'slug' => $this->slug,
            'title' => $this->title,
            'resultDate' => DateHelper::formatDateTimeCET($this->result_date),
            'updatedDate' => DateHelper::formatDateTimeCET($this->updated_date),
            'image' => new ImageResource($this->image, '400x260'),
            'trackedResult' => $this->competition->trackedResult ? new TrackedResultResource($this->competition->trackedResult) : null,
            'watchlistsIds' => $this->watchlists->pluck('id')->toArray(),
            'isWatchlisted' => $this->watchlists->isNotEmpty(),
            'isPublic' => $this->is_public
        ];
    }
}
