vendor/meilisearch/meilisearch-php/src/Client.php line 46

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Meilisearch;
  4. use Meilisearch\Contracts\Http as HttpContract;
  5. use Meilisearch\Endpoints\Delegates\HandlesDumps;
  6. use Meilisearch\Endpoints\Delegates\HandlesIndex;
  7. use Meilisearch\Endpoints\Delegates\HandlesKeys;
  8. use Meilisearch\Endpoints\Delegates\HandlesMultiSearch;
  9. use Meilisearch\Endpoints\Delegates\HandlesSystem;
  10. use Meilisearch\Endpoints\Delegates\HandlesTasks;
  11. use Meilisearch\Endpoints\Dumps;
  12. use Meilisearch\Endpoints\Health;
  13. use Meilisearch\Endpoints\Indexes;
  14. use Meilisearch\Endpoints\Keys;
  15. use Meilisearch\Endpoints\Stats;
  16. use Meilisearch\Endpoints\Tasks;
  17. use Meilisearch\Endpoints\TenantToken;
  18. use Meilisearch\Endpoints\Version;
  19. use Meilisearch\Http\Client as MeilisearchClientAdapter;
  20. use Psr\Http\Client\ClientInterface;
  21. use Psr\Http\Message\RequestFactoryInterface;
  22. use Psr\Http\Message\StreamFactoryInterface;
  23. class Client
  24. {
  25.     use HandlesDumps;
  26.     use HandlesIndex;
  27.     use HandlesTasks;
  28.     use HandlesKeys;
  29.     use HandlesSystem;
  30.     use HandlesMultiSearch;
  31.     private HttpContract $http;
  32.     private Indexes $index;
  33.     private Health $health;
  34.     private Version $version;
  35.     private Keys $keys;
  36.     private Stats $stats;
  37.     private Tasks $tasks;
  38.     private Dumps $dumps;
  39.     private TenantToken $tenantToken;
  40.     public function __construct(
  41.         string $url,
  42.         string $apiKey null,
  43.         ClientInterface $httpClient null,
  44.         RequestFactoryInterface $requestFactory null,
  45.         array $clientAgents = [],
  46.         StreamFactoryInterface $streamFactory null
  47.     ) {
  48.         $this->http = new MeilisearchClientAdapter($url$apiKey$httpClient$requestFactory$clientAgents$streamFactory);
  49.         $this->index = new Indexes($this->http);
  50.         $this->health = new Health($this->http);
  51.         $this->version = new Version($this->http);
  52.         $this->stats = new Stats($this->http);
  53.         $this->tasks = new Tasks($this->http);
  54.         $this->keys = new Keys($this->http);
  55.         $this->dumps = new Dumps($this->http);
  56.         $this->tenantToken = new TenantToken($this->http$apiKey);
  57.     }
  58. }