<?php

namespace App\Http\Resources\Turistico;

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

class RestauranteResource extends JsonResource
{
    public function toArray(Request $request): array
    {
        return [
            'id'                    => $this->id,
            'nome'                  => $this->nome,
            'tipo_comida'           => $this->tipo_comida,
            'preco_medio'           => $this->preco_medio,
            'endereco'              => $this->endereco,
            'cidade'                => $this->cidade,
            'estado'                => $this->estado,
            'latitude'              => $this->latitude,
            'longitude'             => $this->longitude,
            'horario_funcionamento' => $this->horario_funcionamento,
            'status'                => $this->status,
            'avaliacao_media'       => $this->avaliacoes_avg_nota
                ? round((float) $this->avaliacoes_avg_nota, 1)
                : null,
            'total_avaliacoes'      => $this->avaliacoes_count ?? 0,
            'imagens'               => ImagemResource::collection($this->whenLoaded('imagens')),
            'distancia_km'          => isset($this->distancia_km)
                ? round((float) $this->distancia_km, 2)
                : null,
            'criado_em'             => $this->created_at?->toIso8601String(),
        ];
    }
}
