<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\CarOwner;
use App\Models\User;
use App\Models\CarOwnerCar;
use App\Models\WashDetail;
use App\Models\Rating;
use App\Models\Review;
use Carbon\Carbon;
use DB;
use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Validator;
use Config;
use Hash;
use Auth;

class CwoReviewController extends Controller
{
    public function __construct(){
    }


    public function index(){
    }

    public function addReviewReply(Request $request){
        $validate = Validator::make(
            $request->all(),
            [
                // 'cwo_id' => 'required',
                // 'wash_id' => 'required',
                'review_id' => 'required',
                'user_id' => 'required',
                'review_reply' => 'required'
            ],
            [
                // 'user_id.required' => 'Please enter user id'
            ]
        );

        if($validate->fails()) {
            $errorString = implode(",", $validate->messages()->all());
            return response()->json([
                'success' => 0,
                'message' => $errorString,
            ]);
        }
        // $cwo_id = $request->input('cwo_id');
        // $wash_id = $request->input('wash_id');
        $review_id = $request->input('review_id');
        $user_id = $request->input('user_id');
        $review_reply = $request->input('review_reply');
        $dt = Carbon::now();
        $reviewDetail = Review::findorfail($review_id);
        $cwo_id = $reviewDetail->cwo_id;
        $wash_id = $reviewDetail->wash_id;

        $getReviewCount = Review::where('wash_id', $wash_id)->where('is_cwo_user', 1)->count();
        if($getReviewCount > 0){
            return response()->json([
                'success' => 0,
                'message' => 'Review reply has been already submitted for this wash.',
            ]);
        }

        

        $reviewData=[
                'cwo_id'=> $cwo_id,
                'user_id'=> $user_id,
                'wash_id'=> $wash_id,
                'is_cwo_user'=> 1,
                'review'=> $review_reply,
                'parent_review_id'=> $review_id,
                'created_at'=>$dt->toDayDateTimeString(),
                'updated_at'=>$dt->toDayDateTimeString(),
            ];
        $insertReview = Review::create($reviewData);
        $review_id = $insertReview->id;
        
        return response()->json([
                'success' => 1,
                'message' => 'Success',
                'review_reply_id'=> $review_id
            ]);
    }

    



}
