From 7bea612e4127743173899ffbc63ab484ddece637 Mon Sep 17 00:00:00 2001 From: merdan Date: Thu, 29 Sep 2022 19:08:03 +0500 Subject: [PATCH] sources api --- .../Commands/UpdateMeilisearchIndex.php | 70 +++++++++++++++++++ .../src/Providers/AdminServiceProvider.php | 5 ++ .../Webkul/Product/src/Models/ProductFlat.php | 12 ++-- 3 files changed, 81 insertions(+), 6 deletions(-) create mode 100644 packages/Sarga/Admin/src/Console/Commands/UpdateMeilisearchIndex.php diff --git a/packages/Sarga/Admin/src/Console/Commands/UpdateMeilisearchIndex.php b/packages/Sarga/Admin/src/Console/Commands/UpdateMeilisearchIndex.php new file mode 100644 index 000000000..de211ea1e --- /dev/null +++ b/packages/Sarga/Admin/src/Console/Commands/UpdateMeilisearchIndex.php @@ -0,0 +1,70 @@ +updateSortableAttributes($client); + + $this->updateFilterableAttributes($client); + + return Command::SUCCESS; + } + + protected function updateSortableAttributes(Client $client):void + { + $client->index('products_index')->updateSortableAttributes([ + 'status', + 'visible_individually', + ]); + + $this->info('Updated sortable attributes...'); + } + + protected function updateFilterableAttributes(Client $client): void + { + $client->index('products_index')->updateFilterableAttributes([ + 'name', + 'product_id', + ]); + + $this->info('Updated filterable attributes...'); + } +} \ No newline at end of file diff --git a/packages/Sarga/Admin/src/Providers/AdminServiceProvider.php b/packages/Sarga/Admin/src/Providers/AdminServiceProvider.php index 8e6a8e0af..54dad5d23 100644 --- a/packages/Sarga/Admin/src/Providers/AdminServiceProvider.php +++ b/packages/Sarga/Admin/src/Providers/AdminServiceProvider.php @@ -4,6 +4,7 @@ namespace Sarga\Admin\Providers; use Illuminate\Routing\Router; use Illuminate\Support\ServiceProvider; +use Sarga\Admin\Console\Commands\UpdateMeilisearchIndex; class AdminServiceProvider extends ServiceProvider { @@ -46,5 +47,9 @@ class AdminServiceProvider extends ServiceProvider $this->mergeConfigFrom( dirname(__DIR__) . '/Config/carriers.php', 'carriers' ); + + $this->commands([ + UpdateMeilisearchIndex::class + ]); } } diff --git a/packages/Webkul/Product/src/Models/ProductFlat.php b/packages/Webkul/Product/src/Models/ProductFlat.php index a6f0b13ce..5e5532525 100644 --- a/packages/Webkul/Product/src/Models/ProductFlat.php +++ b/packages/Webkul/Product/src/Models/ProductFlat.php @@ -53,13 +53,13 @@ class ProductFlat extends Model implements ProductFlatContract { return 'products_index'; } - public function toSearchableArray() + public function toSearchableArray():array { - $array = $this->toArray(); - - // Customize the data array... - - return $array; + return [ + 'id' => $this->id, + 'name' => $this->name, + 'meta_keywords' => $this->meta_keywords, + ]; } /** * Get an attribute from the model.