From 976ef638102eca3977d79c3e3d7bbb0f6071977b Mon Sep 17 00:00:00 2001 From: merdan Date: Sat, 16 Apr 2022 15:25:44 +0500 Subject: [PATCH] search suggestions start --- .../Sarga/API/Http/Controllers/Products.php | 28 +++++++++++++++++++ .../API/Http/Requests/AddressRequest.php | 2 +- .../API/Http/Requests/RecipientRequest.php | 4 +-- packages/Sarga/API/Http/routes.php | 1 + 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/packages/Sarga/API/Http/Controllers/Products.php b/packages/Sarga/API/Http/Controllers/Products.php index 1e205af52..9627a4cbc 100644 --- a/packages/Sarga/API/Http/Controllers/Products.php +++ b/packages/Sarga/API/Http/Controllers/Products.php @@ -5,6 +5,7 @@ namespace Sarga\API\Http\Controllers; use Illuminate\Support\Facades\Log; use Sarga\API\Http\Resources\Catalog\ProductVariant; use Sarga\API\Http\Resources\Catalog\SuperAttribute; +use Sarga\Brand\Repositories\BrandRepository; use Sarga\Shop\Repositories\ProductRepository; use Webkul\API\Http\Controllers\Shop\ProductController; use Sarga\API\Http\Resources\Catalog\Product as ProductResource; @@ -112,4 +113,31 @@ class Products extends ProductController return response()->json(['message' => 'not found'],404); } + public function search(BrandRepository $brandRepository){ + + $key = request('search'); + + if(!strlen($key)>= 3){ + return response()->json(['message' => '3 karakterden kuchuk','status'=>false]); + } + + $brands = $brandRepository->select('id','name') + ->where('status',1) + ->where('name','like','%' . urldecode($key) . '%') + ->orderBy('name','asc') + ->limit(10) + ->get(); + + $products = $this->productRepository->getAll()->only('id','name'); + + return $products; + + if($brands->count() >0){ + foreach($brands as $brand) { + + } + } + + } + } diff --git a/packages/Sarga/API/Http/Requests/AddressRequest.php b/packages/Sarga/API/Http/Requests/AddressRequest.php index 86bb29a77..d1ab6cb17 100644 --- a/packages/Sarga/API/Http/Requests/AddressRequest.php +++ b/packages/Sarga/API/Http/Requests/AddressRequest.php @@ -16,7 +16,7 @@ class AddressRequest extends CustomerAddressRequest public function rules() { return [ - 'note' => [new AlphaNumericSpace,'max:191'], + 'note' => ['max:191'], 'address1' => ['required', 'array'], // 'state' => ['required', new AlphaNumericSpace], 'city' => ['required'], diff --git a/packages/Sarga/API/Http/Requests/RecipientRequest.php b/packages/Sarga/API/Http/Requests/RecipientRequest.php index 34950acd1..bdfe53717 100644 --- a/packages/Sarga/API/Http/Requests/RecipientRequest.php +++ b/packages/Sarga/API/Http/Requests/RecipientRequest.php @@ -16,8 +16,8 @@ class RecipientRequest extends CustomerAddressRequest public function rules() { return [ - 'first_name' => ['required', new AlphaNumericSpace], - 'last_name' => ['required', new AlphaNumericSpace], + 'first_name' => ['required'], + 'last_name' => ['required'], 'phone' => ['required', new PhoneNumber], ]; } diff --git a/packages/Sarga/API/Http/routes.php b/packages/Sarga/API/Http/routes.php index 2dde268c4..eca90a67f 100644 --- a/packages/Sarga/API/Http/routes.php +++ b/packages/Sarga/API/Http/routes.php @@ -51,6 +51,7 @@ Route::group(['prefix' => 'api'], function () { //Product routes Route::get('products', [Products::class, 'index']); + Route::get('products/search', [Products::class, 'search']); Route::get('products/{id}', [Products::class, 'get']); Route::get('products/{id}/variants', [Products::class, 'variants']);