Skip to content

Commit 929a638

Browse files
committed
fix: move interfaces to contracts and use Elastic client in service provider instead of our own
1 parent 2d94757 commit 929a638

13 files changed

+20
-19
lines changed

config/elasticsearch.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?php
22

33
return [
4-
'host' => env('ELASTIC_HOST', 'localhost:9200'),
5-
'index' => env('ELASTIC_INDEX', 'index'),
6-
'enabled' => env('ELASTIC_ENABLED', false),
4+
'host' => env('ELASTICSEARCH_HOST', 'localhost:9200'),
5+
'index' => env('ELASTICSEARCH_INDEX', 'index'),
6+
'enabled' => env('ELASTICSEARCH_ENABLED', false),
77
'models' => [
88
// define your model classes here that needs to be indexed
99
],

src/Client.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use Elastic\Elasticsearch\Client as ElasticsearchClient;
88
use Elastic\Elasticsearch\Response\Elasticsearch;
99
use Illuminate\Support\Collection;
10-
use Swis\Laravel\Elasticsearch\Interfaces\SearchResultInterface;
10+
use Swis\Laravel\Elasticsearch\Contracts\SearchResultInterface;
1111

1212
class Client
1313
{

src/Commands/ElasticsearchCreateIndex.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66

77
use Elastic\Elasticsearch\Client;
88
use Illuminate\Console\Command;
9-
use Swis\Laravel\Elasticsearch\Interfaces\IndexMappingBuilderInterface;
9+
use Swis\Laravel\Elasticsearch\Contracts\IndexMappingBuilderInterface;
1010

1111
class ElasticsearchCreateIndex extends Command
1212
{
1313
protected $signature = 'elasticsearch:create-index {--index= : index that needs to be created (index from config is used if option is omitted)}';
1414

1515
protected $description = 'Creates index in elasticsearch';
1616

17-
public function getConfigBuilderClass(): array
17+
public function getIndexMapping(): array
1818
{
1919
return app()->bound(IndexMappingBuilderInterface::class) ?
20-
app(IndexMappingBuilderInterface::class)->buildIndexMappingUsing() :
20+
app(IndexMappingBuilderInterface::class)->indexMapping() :
2121
config('elasticsearch.index_mapping');
2222
}
2323

@@ -27,7 +27,7 @@ public function handle(Client $client): int
2727

2828
$client->indices()->create([
2929
'index' => $index,
30-
'body' => $this->getConfigBuilderClass(),
30+
'body' => $this->getIndexMapping(),
3131
]);
3232

3333
$this->info(sprintf('Index "%s" created', $index));

src/Commands/ElasticsearchRefreshIndex.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use Illuminate\Console\Command;
88
use Illuminate\Support\Collection;
9-
use Swis\Laravel\Elasticsearch\Interfaces\IndexableInterface;
9+
use Swis\Laravel\Elasticsearch\Contracts\IndexableInterface;
1010

1111
class ElasticsearchRefreshIndex extends Command
1212
{

src/Concerns/SyncsWithIndex.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66

77
use Illuminate\Database\Eloquent\Model;
88
use Illuminate\Support\Collection;
9-
use Swis\Laravel\Elasticsearch\Interfaces\DocumentInterface;
10-
use Swis\Laravel\Elasticsearch\Interfaces\IndexableInterface;
9+
use Swis\Laravel\Elasticsearch\Contracts\DocumentInterface;
10+
use Swis\Laravel\Elasticsearch\Contracts\IndexableInterface;
1111
use Swis\Laravel\Elasticsearch\Jobs\DeleteDocument;
1212
use Swis\Laravel\Elasticsearch\Jobs\IndexDocument;
1313

src/Document.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Swis\Laravel\Elasticsearch;
66

77
use Illuminate\Support\Carbon;
8-
use Swis\Laravel\Elasticsearch\Interfaces\DocumentInterface;
8+
use Swis\Laravel\Elasticsearch\Contracts\DocumentInterface;
99

1010
class Document implements DocumentInterface
1111
{

src/Interfaces/DocumentInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Swis\Laravel\Elasticsearch\Interfaces;
5+
namespace Swis\Laravel\Elasticsearch\Contracts;
66

77
use Illuminate\Support\Carbon;
88

src/Interfaces/IndexMappingBuilderInterface.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
declare(strict_types=1);
44

5-
namespace Swis\Laravel\Elasticsearch\Interfaces;
5+
namespace Swis\Laravel\Elasticsearch\Contracts;
66

77
interface IndexMappingBuilderInterface
88
{
9-
public function buildIndexMappingUsing(): array;
9+
public function indexMapping(): array;
1010
}

src/Interfaces/IndexableInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Swis\Laravel\Elasticsearch\Interfaces;
5+
namespace Swis\Laravel\Elasticsearch\Contracts;
66

77
use Illuminate\Support\Collection;
88
use Swis\Laravel\Elasticsearch\Document;

src/Interfaces/SearchResultInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Swis\Laravel\Elasticsearch\Interfaces;
5+
namespace Swis\Laravel\Elasticsearch\Contracts;
66

77
interface SearchResultInterface
88
{

src/Jobs/IndexDocument.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
use Illuminate\Foundation\Bus\Dispatchable;
1111
use Illuminate\Queue\InteractsWithQueue;
1212
use Illuminate\Queue\SerializesModels;
13-
use Swis\Laravel\Elasticsearch\Interfaces\IndexableInterface;
13+
use Swis\Laravel\Elasticsearch\Contracts\IndexableInterface;
1414

1515
class IndexDocument implements ShouldQueue
1616
{

src/LaravelElasticServiceProvider.php

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace Swis\Laravel\Elasticsearch;
66

7+
use Elastic\Elasticsearch\Client;
78
use Elastic\Elasticsearch\ClientBuilder;
89
use Spatie\LaravelPackageTools\Commands\InstallCommand;
910
use Spatie\LaravelPackageTools\Package;

src/SearchResult.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use Illuminate\Contracts\Support\Arrayable;
88
use Illuminate\Support\Carbon;
9-
use Swis\Laravel\Elasticsearch\Interfaces\SearchResultInterface;
9+
use Swis\Laravel\Elasticsearch\Contracts\SearchResultInterface;
1010

1111
/** @phpstan-ignore-next-line */
1212
class SearchResult implements Arrayable, SearchResultInterface

0 commit comments

Comments
 (0)