-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Christopher Lorke
committed
Sep 23, 2018
1 parent
2b0b1f8
commit 6aceabd
Showing
59 changed files
with
3,175 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Illuminate\Database\Eloquent\Collection; | ||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationStatusContract; | ||
|
||
class ElasticsearchMigrationStatus implements ElasticsearchMigrationStatusContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function createOrUpdate( | ||
string $migration, | ||
string $status | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStatus { | ||
$dbMigration = $this->find($migration); | ||
|
||
if (!$dbMigration) { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStatus(); | ||
$dbMigration->migration = $migration; | ||
} | ||
|
||
$dbMigration->status = $status; | ||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function find(string $migration): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStatus | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStatus::where('migration', $migration) | ||
->orderBy('created_at', 'desc') | ||
->first(); | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function all(array $fields = ['*']) : Collection | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationStatus::all($fields); | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function delete(string $migration) | ||
{ | ||
if ($migration = $this->find($migration)) { | ||
$migration->delete(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsContract; | ||
|
||
class ElasticsearchMigrations implements ElasticsearchMigrationsContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function create( | ||
int $migrationId, | ||
string $type, | ||
string $index | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrations { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrations(); | ||
$dbMigration->migration_id = $migrationId; | ||
$dbMigration->type = $type; | ||
$dbMigration->index = $index; | ||
|
||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrations | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrations::where('id', $migrationsId) | ||
->first(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsAliasContract; | ||
|
||
class ElasticsearchMigrationsAlias implements ElasticsearchMigrationsAliasContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function create( | ||
int $migrationsId, | ||
array $add = [], | ||
array $remove = [], | ||
array $removeIndices = [] | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias(); | ||
$dbMigration->migrations_id = $migrationsId; | ||
$dbMigration->add = json_encode($add); | ||
$dbMigration->remove = json_encode($remove); | ||
$dbMigration->remove_indices = json_encode($removeIndices); | ||
|
||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsAlias::where( | ||
'migrations_id', | ||
$migrationsId | ||
)->first(); | ||
} | ||
} |
39 changes: 39 additions & 0 deletions
39
src/Business/Repository/ElasticsearchMigrationsCreateIndex.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsCreateIndexContract; | ||
|
||
class ElasticsearchMigrationsCreateIndex implements ElasticsearchMigrationsCreateIndexContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function create( | ||
int $migrationsId, | ||
array $mappings, | ||
?array $settings = null | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex(); | ||
$dbMigration->migrations_id = $migrationsId; | ||
$dbMigration->mappings = json_encode($mappings); | ||
|
||
if (is_array($settings)) { | ||
$dbMigration->settings = json_encode($settings); | ||
} | ||
|
||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsCreateIndex::where( | ||
'migrations_id', | ||
$migrationsId | ||
)->first(); | ||
} | ||
} |
38 changes: 38 additions & 0 deletions
38
src/Business/Repository/ElasticsearchMigrationsDeleteByQuery.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsDeleteByQueryContract; | ||
|
||
class ElasticsearchMigrationsDeleteByQuery implements ElasticsearchMigrationsDeleteByQueryContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function create( | ||
int $migrationsId, | ||
array $query, | ||
?string $type = null, | ||
array $options = [] | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery(); | ||
$dbMigration->migrations_id = $migrationsId; | ||
$dbMigration->query = json_encode($query); | ||
$dbMigration->type = $type; | ||
$dbMigration->options = json_encode($options); | ||
|
||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsDeleteByQuery::where( | ||
'migrations_id', | ||
$migrationsId | ||
)->first(); | ||
} | ||
} |
42 changes: 42 additions & 0 deletions
42
src/Business/Repository/ElasticsearchMigrationsReindex.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsReindexContract; | ||
|
||
class ElasticsearchMigrationsReindex implements ElasticsearchMigrationsReindexContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function create( | ||
int $migrationsId, | ||
string $destIndex, | ||
bool $refreshSourceIndex = false, | ||
array $global = [], | ||
array $source = [], | ||
array $dest = [] | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex(); | ||
$dbMigration->migrations_id = $migrationsId; | ||
$dbMigration->dest_index = $destIndex; | ||
$dbMigration->refresh_source_index = $refreshSourceIndex; | ||
$dbMigration->global = json_encode($global); | ||
$dbMigration->source = json_encode($source); | ||
$dbMigration->dest = json_encode($dest); | ||
|
||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* @inheritdoc | ||
*/ | ||
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsReindex::where( | ||
'migrations_id', | ||
$migrationsId | ||
)->first(); | ||
} | ||
} |
40 changes: 40 additions & 0 deletions
40
src/Business/Repository/ElasticsearchMigrationsUpdateByQuery.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
namespace Triadev\EsMigration\Business\Repository; | ||
|
||
use Triadev\EsMigration\Contract\Repository\ElasticsearchMigrationsUpdateByQueryContract; | ||
|
||
class ElasticsearchMigrationsUpdateByQuery implements ElasticsearchMigrationsUpdateByQueryContract | ||
{ | ||
/** | ||
* @inheritdoc | ||
*/ | ||
public function create( | ||
int $migrationsId, | ||
array $query, | ||
?string $type = null, | ||
?array $script = null, | ||
array $options = [] | ||
): \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery { | ||
$dbMigration = new \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery(); | ||
$dbMigration->migrations_id = $migrationsId; | ||
$dbMigration->query = json_encode($query); | ||
$dbMigration->type = $type; | ||
$dbMigration->script = is_array($script) ? json_encode($script): null; | ||
$dbMigration->options = json_encode($options); | ||
|
||
$dbMigration->saveOrFail(); | ||
|
||
return $dbMigration; | ||
} | ||
|
||
/** | ||
* F@inheritdoc | ||
*/ | ||
public function find(int $migrationsId): ?\Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery | ||
{ | ||
return \Triadev\EsMigration\Models\Entity\ElasticsearchMigrationsUpdateByQuery::where( | ||
'migrations_id', | ||
$migrationsId | ||
)->first(); | ||
} | ||
} |
Oops, something went wrong.