<?php

namespace App\Http\Resources\ResidentialComplex;

use App\Services\ResidentialComplexRatingService;
use Illuminate\Http\Resources\Json\JsonResource;

class ResidentialComplexGeneralRating extends JsonResource
{
    /**
     * @var array
     */
    private $parameters;

    /**
     * Create a new resource instance.
     *
     * @param  mixed $resource
     * @param array $parameters
     */
    public function __construct($resource, $parameters = null)
    {
        parent::__construct($resource);
        $this->resource = $resource;
        $this->parameters = is_array($parameters) ? $parameters : [];
    }

    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request $request
     * @return array
     */
    public function toArray($request)
    {
        /** @var ResidentialComplexRatingService $ratingService */
        $ratingService = $this->parameters['rating_service'];
//        list($customerRatingCount, $secretBuyerRatingCount) = $ratingService->customerAndSecretBuyerRatingCount;

        $result = [
            'customer_rating' => number_format($ratingService->customerRating['customer_average'], 1),
            'secret_buyer_rating' => number_format($ratingService->secretBuyerRating['sbr_average'], 1),
            'avg_rating' => number_format($ratingService->avgRating(), 1)
        ];

        return $result;
    }
}
