*/ protected function getStats(): array { $tenant = Filament::getTenant(); if (! $tenant instanceof Tenant) { return [ Stat::make('Open drift findings', 0), Stat::make('High severity drift', 0), Stat::make('Active operations', 0), Stat::make('Inventory active', 0), ]; } $tenantId = (int) $tenant->getKey(); $openDriftFindings = (int) Finding::query() ->where('tenant_id', $tenantId) ->where('finding_type', Finding::FINDING_TYPE_DRIFT) ->where('status', Finding::STATUS_NEW) ->count(); $highSeverityDriftFindings = (int) Finding::query() ->where('tenant_id', $tenantId) ->where('finding_type', Finding::FINDING_TYPE_DRIFT) ->where('status', Finding::STATUS_NEW) ->where('severity', Finding::SEVERITY_HIGH) ->count(); $activeRuns = (int) OperationRun::query() ->where('tenant_id', $tenantId) ->active() ->count(); $inventoryActiveRuns = (int) OperationRun::query() ->where('tenant_id', $tenantId) ->where('type', 'inventory.sync') ->active() ->count(); return [ Stat::make('Open drift findings', $openDriftFindings) ->url(FindingResource::getUrl('index', tenant: $tenant)), Stat::make('High severity drift', $highSeverityDriftFindings) ->color($highSeverityDriftFindings > 0 ? 'danger' : 'gray') ->url(FindingResource::getUrl('index', tenant: $tenant)), Stat::make('Active operations', $activeRuns) ->color($activeRuns > 0 ? 'warning' : 'gray') ->url(OperationRunResource::getUrl('index', tenant: $tenant)), Stat::make('Inventory active', $inventoryActiveRuns) ->color($inventoryActiveRuns > 0 ? 'warning' : 'gray') ->url(OperationRunResource::getUrl('index', tenant: $tenant)), ]; } }