mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 20:14:03 +00:00
[4.x] Add ScoutTenancyBootstrapper (#936)
* Add ScoutTenancyBootstrapper * Fix code style (php-cs-fixer) * extract getTenantPrefix method * Fix code style (php-cs-fixer) Co-authored-by: PHP CS Fixer <phpcsfixer@example.com> Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
This commit is contained in:
parent
020039bf89
commit
f83504ac6f
1 changed files with 42 additions and 0 deletions
42
src/Bootstrappers/Integrations/ScoutTenancyBootstrapper.php
Normal file
42
src/Bootstrappers/Integrations/ScoutTenancyBootstrapper.php
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Stancl\Tenancy\Bootstrappers\Integrations;
|
||||||
|
|
||||||
|
use Illuminate\Contracts\Config\Repository;
|
||||||
|
use Stancl\Tenancy\Contracts\TenancyBootstrapper;
|
||||||
|
use Stancl\Tenancy\Contracts\Tenant;
|
||||||
|
|
||||||
|
class ScoutTenancyBootstrapper implements TenancyBootstrapper
|
||||||
|
{
|
||||||
|
/** @var Repository */
|
||||||
|
protected $config;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
protected $originalScoutPrefix;
|
||||||
|
|
||||||
|
public function __construct(Repository $config)
|
||||||
|
{
|
||||||
|
$this->config = $config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function bootstrap(Tenant $tenant)
|
||||||
|
{
|
||||||
|
if (! isset($this->originalScoutPrefix)) {
|
||||||
|
$this->originalScoutPrefix = $this->config->get('scout.prefix');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->config->set('scout.prefix', $this->getTenantPrefix($tenant));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function revert()
|
||||||
|
{
|
||||||
|
$this->config->set('scout.prefix', $this->originalScoutPrefix);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getTenantPrefix(Tenant $tenant): string
|
||||||
|
{
|
||||||
|
return (string) $tenant->getTenantKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue