From 35a1663c0fcf0c7afabdc12fce711cd388480839 Mon Sep 17 00:00:00 2001 From: devansh bawari Date: Mon, 5 Oct 2020 18:27:30 +0530 Subject: [PATCH 1/3] Review API Issue Fixed --- .../Controllers/Shop/ReviewController.php | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php b/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php index 2a5653ce3..18f0ef053 100644 --- a/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php +++ b/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php @@ -3,27 +3,29 @@ namespace Webkul\API\Http\Controllers\Shop; use Illuminate\Http\Request; +use Illuminate\Http\Response; +use Illuminate\Support\Facades\Validator; use Webkul\Product\Repositories\ProductReviewRepository; use Webkul\API\Http\Resources\Catalog\ProductReview as ProductReviewResource; class ReviewController extends Controller { /** - * Contains current guard + * Contains current guard. * * @var array */ protected $guard; /** - * ProductReviewRepository object + * ProductReviewRepository $reviewRepository * * @var \Webkul\Product\Repositories\ProductReviewRepository */ protected $reviewRepository; /** - * Controller instance + * Controller instance. * * @param Webkul\Product\Repositories\ProductReviewRepository $reviewRepository */ @@ -47,21 +49,26 @@ class ReviewController extends Controller { $customer = auth($this->guard)->user(); - $this->validate(request(), [ + $validator = Validator::make($request->all(), [ 'comment' => 'required', 'rating' => 'required|numeric|min:1|max:5', 'title' => 'required', ]); - $data = array_merge(request()->all(), [ + if ($validator->fails()) { + return response($validator->errors(), Response::HTTP_BAD_REQUEST); + } + + $productReview = $this->reviewRepository->create([ 'customer_id' => $customer ? $customer->id : null, - 'name' => $customer ? $customer->name : request()->input('name'), + 'name' => $customer ? $customer->name : $request->get('name'), 'status' => 'pending', 'product_id' => $id, + 'comment' => $request->comment, + 'rating' => $request->rating, + 'title' => $request->title ]); - $productReview = $this->reviewRepository->create($data); - return response()->json([ 'message' => 'Your review submitted successfully.', 'data' => new ProductReviewResource($this->reviewRepository->find($productReview->id)), From 2b5bf16fff34e8255d0c409a9fab3aa6c1f20397 Mon Sep 17 00:00:00 2001 From: devansh bawari Date: Mon, 5 Oct 2020 18:32:03 +0530 Subject: [PATCH 2/3] Extra Query Removed --- packages/Webkul/API/Http/Controllers/Shop/ReviewController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php b/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php index 18f0ef053..ca15e0dac 100644 --- a/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php +++ b/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php @@ -71,7 +71,7 @@ class ReviewController extends Controller return response()->json([ 'message' => 'Your review submitted successfully.', - 'data' => new ProductReviewResource($this->reviewRepository->find($productReview->id)), + 'data' => new ProductReviewResource($productReview), ]); } } \ No newline at end of file From aeaf2cc8d5bdd6f5dea5060319ad47ec5154fd8c Mon Sep 17 00:00:00 2001 From: devansh bawari Date: Tue, 6 Oct 2020 12:03:40 +0530 Subject: [PATCH 3/3] Validator Removed --- .../Webkul/API/Http/Controllers/Shop/ReviewController.php | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php b/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php index ca15e0dac..c9582dc3a 100644 --- a/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php +++ b/packages/Webkul/API/Http/Controllers/Shop/ReviewController.php @@ -3,8 +3,6 @@ namespace Webkul\API\Http\Controllers\Shop; use Illuminate\Http\Request; -use Illuminate\Http\Response; -use Illuminate\Support\Facades\Validator; use Webkul\Product\Repositories\ProductReviewRepository; use Webkul\API\Http\Resources\Catalog\ProductReview as ProductReviewResource; @@ -49,16 +47,12 @@ class ReviewController extends Controller { $customer = auth($this->guard)->user(); - $validator = Validator::make($request->all(), [ + $this->validate($request, [ 'comment' => 'required', 'rating' => 'required|numeric|min:1|max:5', 'title' => 'required', ]); - if ($validator->fails()) { - return response($validator->errors(), Response::HTTP_BAD_REQUEST); - } - $productReview = $this->reviewRepository->create([ 'customer_id' => $customer ? $customer->id : null, 'name' => $customer ? $customer->name : $request->get('name'),