mountInteractsWithTable(); } protected function getHeaderWidgets(): array { return [ OperationsKpiHeader::class, ]; } public function updatedActiveTab(): void { $this->resetPage(); } public function table(Table $table): Table { return OperationRunResource::table($table) ->query(function (): Builder { $workspaceId = app(WorkspaceContext::class)->currentWorkspaceId(request()); $query = OperationRun::query() ->with('user') ->latest('id') ->when( $workspaceId, fn (Builder $query): Builder => $query->where('workspace_id', (int) $workspaceId), ) ->when( ! $workspaceId, fn (Builder $query): Builder => $query->whereRaw('1 = 0'), ); return $this->applyActiveTab($query); }); } private function applyActiveTab(Builder $query): Builder { return match ($this->activeTab) { 'active' => $query->whereIn('status', [ OperationRunStatus::Queued->value, OperationRunStatus::Running->value, ]), 'succeeded' => $query ->where('status', OperationRunStatus::Completed->value) ->where('outcome', OperationRunOutcome::Succeeded->value), 'partial' => $query ->where('status', OperationRunStatus::Completed->value) ->where('outcome', OperationRunOutcome::PartiallySucceeded->value), 'failed' => $query ->where('status', OperationRunStatus::Completed->value) ->where('outcome', OperationRunOutcome::Failed->value), default => $query, }; } }