<?php

namespace App\Http\Controllers\Api;

use App\CustomerRating;
use App\ResidentialComplex;
use App\Services\ResidentialComplexRatingService;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Requests\Admin\StoreCustomerRatingsRequest;
use App\Http\Requests\Admin\UpdateCustomerRatingsRequest;

class CustomerRatingsController extends Controller
{
//    public function index()
//    {
//        return CustomerRating::all();
//    }
//
//    public function show($id)
//    {
//        return CustomerRating::findOrFail($id);
//    }
//
//    public function update(UpdateCustomerRatingsRequest $request, $id)
//    {
//        $customer_rating = CustomerRating::findOrFail($id);
//        $customer_rating->update($request->all());
//
//
//        return $customer_rating;
//    }

    public function store(StoreCustomerRatingsRequest $request)
    {
        $customerRating = CustomerRating::create($request->all());

        /** @var ResidentialComplex $rc */
        $rc = $customerRating->residental_complex;

        $average = (new ResidentialComplexRatingService($rc))->avgRating();

        $rc->average = $average;
        $rc->update();

        return new JsonResponse(["data" => $customerRating]);
    }

//    public function destroy($id)
//    {
//        $customer_rating = CustomerRating::findOrFail($id);
//        $customer_rating->delete();
//        return '';
//    }
}
