<?php

namespace App\Http\Resources\API;

use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

class ProjectDetailResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @return array<string, mixed>
     */
    public function toArray(Request $request): array
    {
        $assets = [];
        foreach ($this->assets as $asset){
            $assets[] = new SimpleAssetResource($asset);
            $assetIds[] = $asset->id;
        }
        $plans = [];
        foreach ($this->plans as $plan){
            $plans[] = new SimplePlanResource($plan);
            $plansIds[] = $plan['id'];
        }
        return [
            'id' => $this->id,
            'name' => $this->name,
            'code' => $this->code,
            'status' => $this->status,
            'const' => $this->const,
            'begin' => $this->begin,
            'end' => $this->end,
            //'available_days' => $this->available_days,
            'latitude' => $this->latitude,
            'longitude' => $this->longitude,
            'type' => $this->type,
            'acl' => $this->acl,
            'assets' =>$assets,
            'plans' =>$plans,
            "whitelist"  => make_array_list($this->whitelist??''),
            'description' => $this->description?(new \App\Services\File\ImageUrlService)->getImageUrl($this->description):null,
            'requirement_total'=>$this->requirements->count(),
            'task_total'=>$this->tasks->count(),
        ];
    }
}