%PDF- %PDF-
Direktori : /home/graphicd/public_html/vebto/vendor/meilisearch/meilisearch-php/src/Delegates/ |
Current File : /home/graphicd/public_html/vebto/vendor/meilisearch/meilisearch-php/src/Delegates/HandlesIndex.php |
<?php declare(strict_types=1); namespace MeiliSearch\Delegates; use MeiliSearch\Endpoints\Indexes; use MeiliSearch\Exceptions\ApiException; /** * @property Indexes index */ trait HandlesIndex { /** * @return Indexes[] */ public function getAllIndexes(): array { return $this->index->all(); } public function index(string $uid): Indexes { return new Indexes($this->http, $uid); } public function getIndex(string $uid): Indexes { return $this->index($uid)->fetchInfo(); } public function deleteIndex(string $uid): array { return $this->index($uid)->delete(); } public function deleteAllIndexes(): void { $indexes = $this->getAllIndexes(); foreach ($indexes as $index) { $index->delete(); } } public function createIndex(string $uid, array $options = []): Indexes { return $this->index->create($uid, $options); } public function updateIndex(string $uid, array $options = []): Indexes { return $this->index($uid)->update($options); } /** * @throws ApiException */ public function getOrCreateIndex(string $uid, array $options = []): Indexes { try { $index = $this->getIndex($uid); } catch (ApiException $e) { if (\is_array($e->httpBody) && 'index_not_found' === $e->httpBody['errorCode']) { $index = $this->createIndex($uid, $options); } else { throw $e; } } return $index; } }