user()?->hasPermission('serp_operations.view') ?? false; } public function mount(SerpOperationsMetrics $metrics): void { $this->summary = $metrics->summary(); } public function emergencyStop(KillSwitch $kill): void { $this->authorizeManage(); $kill->activate('manual_emergency_stop', auth()->user()); $this->summary = app(SerpOperationsMetrics::class)->summary(); Notification::make()->title(__('operations.stopped'))->warning()->send(); } public function clearEmergencyStop(KillSwitch $kill): void { $this->authorizeManage(); $kill->clear(auth()->user(), 'manual_clear'); $this->summary = app(SerpOperationsMetrics::class)->summary(); Notification::make()->title(__('operations.resumed'))->success()->send(); } private function authorizeManage(): void { abort_unless(auth()->user()?->hasRole('super_admin') && auth()->user()?->hasPermission('serp_operations.emergency_stop'), 403); } }