mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-15 08:24:05 +00:00
[4.x] Update commands CLI outputs (#968)
* Using laravel components * Ensure commands returns success * update tests * clean * bump EndBug version * Update ci.yml * Update ci.yml * Update ci.yml * revert CI changes * Update ci.yml * Update ci.yml * Update ci.yml * revert CI changes to it's original state * fix typos, improve code * improve Install & TenantList commands * php-cs-fixer * type GitHub properly Co-authored-by: Abrar Ahmad <abrar.dev99@gmail.com> Co-authored-by: Samuel Štancl <samuel@archte.ch> Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
This commit is contained in:
parent
05f1b2d6f5
commit
e4f5b92485
15 changed files with 217 additions and 96 deletions
|
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
|||
namespace Stancl\Tenancy\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Stancl\Tenancy\Contracts\Tenant;
|
||||
|
||||
|
|
@ -14,19 +15,35 @@ class TenantList extends Command
|
|||
|
||||
protected $description = 'List tenants.';
|
||||
|
||||
public function handle(): void
|
||||
public function handle(): int
|
||||
{
|
||||
$this->info('Listing all tenants.');
|
||||
|
||||
$tenants = tenancy()->query()->cursor();
|
||||
|
||||
$this->components->info("Listing {$tenants->count()} tenants.");
|
||||
|
||||
foreach ($tenants as $tenant) {
|
||||
/** @var Model&Tenant $tenant */
|
||||
if ($tenant->domains) {
|
||||
$this->line("[Tenant] {$tenant->getTenantKeyName()}: {$tenant->getTenantKey()} @ " . implode('; ', $tenant->domains->pluck('domain')->toArray() ?? []));
|
||||
} else {
|
||||
$this->line("[Tenant] {$tenant->getTenantKeyName()}: {$tenant->getTenantKey()}");
|
||||
}
|
||||
$this->components->twoColumnDetail($this->tenantCLI($tenant), $this->domainsCLI($tenant->domains));
|
||||
}
|
||||
|
||||
$this->newLine();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Generate the visual CLI output for the tenant name. */
|
||||
protected function tenantCLI(Model&Tenant $tenant): string
|
||||
{
|
||||
return "<fg=yellow>{$tenant->getTenantKeyName()}: {$tenant->getTenantKey()}</>";
|
||||
}
|
||||
|
||||
/** Generate the visual CLI output for the domain names. */
|
||||
protected function domainsCLI(?Collection $domains): ?string
|
||||
{
|
||||
if (! $domains) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return "<fg=blue;options=bold>{$domains->pluck('domain')->implode(' / ')}</>";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue