From cfce53b7f42f13080aa1bf2ec09e232a5d13f6c1 Mon Sep 17 00:00:00 2001 From: Dwight Watson Date: Wed, 13 Nov 2024 20:38:49 +1100 Subject: [PATCH] [10.x] Fix Algolia 3/4 engines (#884) * Fix Algolia 3/4 engines * Update src/Engines/Algolia4Engine.php --------- Co-authored-by: Mior Muhammad Zaki --- src/Engines/Algolia3Engine.php | 16 ++++++++-------- src/Engines/Algolia4Engine.php | 9 +++++---- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/Engines/Algolia3Engine.php b/src/Engines/Algolia3Engine.php index 3710ca4f..6024a210 100644 --- a/src/Engines/Algolia3Engine.php +++ b/src/Engines/Algolia3Engine.php @@ -4,6 +4,7 @@ use Algolia\AlgoliaSearch\Config\SearchConfig as Algolia3SearchConfig; use Algolia\AlgoliaSearch\SearchClient as Algolia3SearchClient; +use Illuminate\Support\Arr; use Laravel\Scout\Builder; use Laravel\Scout\Jobs\RemoveableScoutCollection; @@ -34,24 +35,23 @@ public function __construct(Algolia3SearchClient $algolia, $softDelete = false) */ public static function make(array $config, array $headers, bool $softDelete = false) { - $config = Algolia3SearchConfig::create([ - 'appId' => $config['id'], - 'apiKey' => $config['secret'], - ])->setDefaultHeaders($headers); + $configuration = Algolia3SearchConfig::create( + $config['id'], $config['secret'], + )->setDefaultHeaders($headers); - if (is_int($connectTimeout = $config['connect_timeout'])) { + if (is_int($connectTimeout = Arr::get($config, 'connect_timeout'))) { $configuration->setConnectTimeout($connectTimeout); } - if (is_int($readTimeout = $config['read_timeout'])) { + if (is_int($readTimeout = Arr::get($config, 'read_timeout'))) { $configuration->setReadTimeout($readTimeout); } - if (is_int($writeTimeout = $config['write_timeout'])) { + if (is_int($writeTimeout = Arr::get($config, 'write_timeout'))) { $configuration->setWriteTimeout($writeTimeout); } - if (is_int($batchSize = $config['batch_size'])) { + if (is_int($batchSize = Arr::get($config, 'batch_size'))) { $configuration->setBatchSize($batchSize); } diff --git a/src/Engines/Algolia4Engine.php b/src/Engines/Algolia4Engine.php index 0cb08e1f..2327e224 100644 --- a/src/Engines/Algolia4Engine.php +++ b/src/Engines/Algolia4Engine.php @@ -4,6 +4,7 @@ use Algolia\AlgoliaSearch\Api\SearchClient as Algolia4SearchClient; use Algolia\AlgoliaSearch\Configuration\SearchConfig as Algolia4SearchConfig; +use Illuminate\Support\Arr; use Laravel\Scout\Builder; use Laravel\Scout\Jobs\RemoveableScoutCollection; @@ -38,18 +39,18 @@ public static function make(array $config, array $headers, bool $softDelete = fa 'appId' => $config['id'], 'apiKey' => $config['secret'], ]), array_filter([ - 'batchSize' => $config['batch_size'], + 'batchSize' => transform(Arr::get($config, 'batch_size'), fn ($batchSize) => is_int($batchSize) ? $batchSize : null), ])))->setDefaultHeaders($headers); - if (is_int($connectTimeout = $config['connect_timeout'])) { + if (is_int($connectTimeout = Arr::get($config, 'connect_timeout'))) { $configuration->setConnectTimeout($connectTimeout); } - if (is_int($readTimeout = $config['read_timeout'])) { + if (is_int($readTimeout = Arr::get($config, 'read_timeout'))) { $configuration->setReadTimeout($readTimeout); } - if (is_int($writeTimeout = $config['write_timeout'])) { + if (is_int($writeTimeout = Arr::get($config, 'write_timeout'))) { $configuration->setWriteTimeout($writeTimeout); }