*/ public function via(object $notifiable): array { return ['database']; } /** * @return array */ public function toDatabase(object $notifiable): array { $tenant = $this->run->tenant; $context = is_array($this->run->context) ? $this->run->context : []; $wizard = $context['wizard'] ?? null; $isManagedTenantOnboardingWizardRun = is_array($wizard) && ($wizard['flow'] ?? null) === 'managed_tenant_onboarding'; $operationLabel = OperationCatalog::label((string) $this->run->type); $runUrl = match (true) { $isManagedTenantOnboardingWizardRun => OperationRunLinks::tenantlessView($this->run), $tenant instanceof Tenant => OperationRunLinks::view($this->run, $tenant), default => null, }; return FilamentNotification::make() ->title("{$operationLabel} queued") ->body('Queued. Monitor progress in Monitoring → Operations.') ->warning() ->actions([ \Filament\Actions\Action::make('view_run') ->label('View run') ->url($runUrl), ]) ->getDatabaseMessage(); } }