1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-04 17:04:03 +00:00

feat: Add getTenantName method to Tenant model and update migration command

- Implemented getTenantName method in the Tenant model to return the human-readable name of the tenant.
- Updated the Tenant interface to include the getTenantName method.
- Modified the related command to use getTenantName instead of getTenantKey.
This commit is contained in:
Ali Mousavi 2024-07-11 15:45:57 +03:30
parent 8f9c7efa45
commit 9a98603670
7 changed files with 15 additions and 7 deletions

View file

@ -49,7 +49,7 @@ class Migrate extends MigrateCommand
}
tenancy()->runForMultiple($this->option('tenants'), function ($tenant) {
$this->line("Tenant: {$tenant->getTenantKey()}");
$this->line("Tenant: {$tenant->getTenantName()}");
event(new MigratingDatabase($tenant));

View file

@ -58,7 +58,7 @@ class Rollback extends RollbackCommand
}
tenancy()->runForMultiple($this->option('tenants'), function ($tenant) {
$this->line("Tenant: {$tenant->getTenantKey()}");
$this->line("Tenant: {$tenant->getTenantName()}");
event(new RollingBackDatabase($tenant));

View file

@ -33,7 +33,7 @@ class Run extends Command
public function handle()
{
tenancy()->runForMultiple($this->option('tenants'), function ($tenant) {
$this->line("Tenant: {$tenant->getTenantKey()}");
$this->line("Tenant: {$tenant->getTenantName()}");
$callback = function ($prefix = '') {
return function ($arguments, $argument) use ($prefix) {

View file

@ -51,7 +51,7 @@ class Seed extends SeedCommand
}
tenancy()->runForMultiple($this->option('tenants'), function ($tenant) {
$this->line("Tenant: {$tenant->getTenantKey()}");
$this->line("Tenant: {$tenant->getTenantName()}");
event(new SeedingDatabase($tenant));

View file

@ -36,9 +36,9 @@ class TenantList extends Command
->cursor()
->each(function (Tenant $tenant) {
if ($tenant->domains) {
$this->line("[Tenant] {$tenant->getTenantKeyName()}: {$tenant->getTenantKey()} @ " . implode('; ', $tenant->domains->pluck('domain')->toArray() ?? []));
$this->line("[{$tenant->getTenantName()}] {$tenant->getTenantKeyName()}: {$tenant->getTenantKey()} @ " . implode('; ', $tenant->domains->pluck('domain')->toArray() ?? []));
} else {
$this->line("[Tenant] {$tenant->getTenantKeyName()}: {$tenant->getTenantKey()}");
$this->line("[{$tenant->getTenantName()}] {$tenant->getTenantKeyName()}: {$tenant->getTenantKey()}");
}
});
}

View file

@ -27,4 +27,7 @@ interface Tenant
/** Run a callback in this tenant's environment. */
public function run(callable $callback);
/** Get the human readable name of the tenant. */
public function getTenantName(): string;
}

View file

@ -48,7 +48,12 @@ class Tenant extends Model implements Contracts\Tenant
{
return new TenantCollection($models);
}
public function getTenantName(): string
{
return $this->getAttribute('name') ?? $this->getTenantKey();
}
protected $dispatchesEvents = [
'saving' => Events\SavingTenant::class,
'saved' => Events\TenantSaved::class,