<?php

namespace App\Http\Resources\ResidentialComplex;

use App\ResidentialComplex;
use Illuminate\Http\Resources\Json\JsonResource;

class ResidentialComplexLocation extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request $request
     * @return array
     */
    public function toArray($request)
    {
        /** @var ResidentialComplex $residentialComplex */
        $residentialComplex = $this->resource;

        $result = [
            'distance_to_center' => $residentialComplex->center_distance ? $residentialComplex->center_distance : 0,
            'city' => $residentialComplex->city()->first() ? $residentialComplex->city()->first()->name : "",
            'district' => $residentialComplex->district()->first() ? [
                'id' => $residentialComplex->district()->first()->id,
                'code' => $residentialComplex->district()->first()->code,
                'name' => $residentialComplex->district()->first()->name
            ] : [],
            'street' => $residentialComplex->street_name()->first() ?
                $residentialComplex->street_name()->first()->name : "",
            'street_type' => $residentialComplex->street_name && $residentialComplex->street_name->type ? $residentialComplex->street_name->type->short_name : "",
            'street_number' => $residentialComplex->street_number ? $residentialComplex->street_number : 0,
            'latitude' => $residentialComplex->location_latitude ? $residentialComplex->location_latitude : 0,
            'longitude' => $residentialComplex->location_longitude ? $residentialComplex->location_longitude : 0,
        ];

        return $result;
    }
}
