Implements Spec 114 System Console Control Tower pages, widgets, triage actions, directory views, and enterprise polish (badges, repair workspace owners table, health indicator).
54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Support\System;
|
|
|
|
use App\Filament\System\Pages\Directory\Tenants;
|
|
use App\Filament\System\Pages\Directory\ViewTenant;
|
|
use App\Filament\System\Pages\Directory\ViewWorkspace;
|
|
use App\Filament\System\Pages\Directory\Workspaces;
|
|
use App\Models\Tenant;
|
|
use App\Models\Workspace;
|
|
|
|
final class SystemDirectoryLinks
|
|
{
|
|
public static function workspacesIndex(): string
|
|
{
|
|
return Workspaces::getUrl(panel: 'system');
|
|
}
|
|
|
|
public static function workspaceDetail(Workspace|int $workspace): string
|
|
{
|
|
$workspaceId = $workspace instanceof Workspace ? (int) $workspace->getKey() : (int) $workspace;
|
|
|
|
return ViewWorkspace::getUrl(['workspace' => $workspaceId], panel: 'system');
|
|
}
|
|
|
|
public static function tenantsIndex(): string
|
|
{
|
|
return Tenants::getUrl(panel: 'system');
|
|
}
|
|
|
|
public static function tenantDetail(Tenant|int $tenant): string
|
|
{
|
|
$tenantId = $tenant instanceof Tenant ? (int) $tenant->getKey() : (int) $tenant;
|
|
|
|
return ViewTenant::getUrl(['tenant' => $tenantId], panel: 'system');
|
|
}
|
|
|
|
public static function adminWorkspace(Workspace|int $workspace): string
|
|
{
|
|
$workspaceId = $workspace instanceof Workspace ? (int) $workspace->getKey() : (int) $workspace;
|
|
|
|
return route('filament.admin.resources.workspaces.view', ['record' => $workspaceId]);
|
|
}
|
|
|
|
public static function adminTenant(Tenant|int $tenant): string
|
|
{
|
|
$tenantId = $tenant instanceof Tenant ? (int) $tenant->getKey() : (int) $tenant;
|
|
|
|
return route('filament.admin.resources.tenants.view', ['record' => $tenantId]);
|
|
}
|
|
}
|