<?php

namespace App\Http\Resources\Watchlists;

use App\Http\Resources\Competitions\CompetitionResource;
use Illuminate\Http\Resources\Json\JsonResource;

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

    public function toArray($request)
    {
        $itemsCount = match ($this->type) {
            'competitions' => $this->competitions_count,
            'results' => $this->results_count,
            'tracked_results' => $this->tracked_results_count,
            'company_profiles' => $this->company_profiles_count,
            'jobs' => $this->jobs_count,
            default => 0,
        };

        $out = [
            'id'                => $this->id,
            'name'              => $this->name,
            'type'              => $this->type,
            'isDefault'         => $this->is_default,
            'items'             => $itemsCount,
            'competitions'      => $this->type === 'competitions' ? $itemsCount : null,
        ];

        return $out;
    }
}
