@props([ 'settings', 'channel', 'threaded' => false, ]) @php $eventGroups = [ 'Deployments' => [ ['key' => 'deploymentSuccess', 'label' => 'Deployment success'], ['key' => 'deploymentFailure', 'label' => 'Deployment failure'], [ 'key' => 'statusChange', 'label' => 'Container status changes', 'helper' => 'Notify when a container stops or restarts.', ], ], 'Backups' => [ ['key' => 'backupSuccess', 'label' => 'Backup success'], ['key' => 'backupFailure', 'label' => 'Backup failure'], ], 'Scheduled tasks' => [ ['key' => 'scheduledTaskSuccess', 'label' => 'Scheduled task success'], ['key' => 'scheduledTaskFailure', 'label' => 'Scheduled task failure'], ], 'Servers' => [ ['key' => 'dockerCleanupSuccess', 'label' => 'Docker cleanup success'], ['key' => 'dockerCleanupFailure', 'label' => 'Docker cleanup failure'], ['key' => 'serverDiskUsage', 'label' => 'Disk usage warning'], ['key' => 'serverReachable', 'label' => 'Server reachable'], ['key' => 'serverUnreachable', 'label' => 'Server unreachable'], ['key' => 'serverPatch', 'label' => 'Server patching'], ['key' => 'traefikOutdated', 'label' => 'Traefik proxy outdated'], ], ]; $enabledThreadEvents = []; if ($threaded) { foreach ($eventGroups as $group => $events) { foreach ($events as $event) { $enabled = (bool) data_get( $settings, Str::snake($event['key'] . '_' . $channel . '_notifications'), ); if (! $enabled) { continue; } $enabledThreadEvents[] = [ 'group' => $group, 'key' => $event['key'], 'label' => $event['label'], 'threadModel' => Str::camel( Str::studly($channel) . 'Notifications' . Str::studly($event['key']) . 'ThreadId', ), ]; } } $enabledThreadEventsByGroup = collect($enabledThreadEvents)->groupBy('group'); } @endphp
Enable one or more events above to assign forum topic IDs.
@else