name = $database->name; $this->frequency = $backup->frequency; } public function via(object $notifiable): array { $channels = []; $isEmailEnabled = isEmailEnabled($notifiable); $isDiscordEnabled = data_get($notifiable, 'discord_enabled'); $isSubscribedToEmailEvent = data_get($notifiable, 'smtp_notifications_database_backups'); $isSubscribedToDiscordEvent = data_get($notifiable, 'discord_notifications_database_backups'); if ($isEmailEnabled && $isSubscribedToEmailEvent) { $channels[] = EmailChannel::class; } if ($isDiscordEnabled && $isSubscribedToDiscordEvent) { $channels[] = DiscordChannel::class; } return $channels; } public function toMail(): MailMessage { $mail = new MailMessage(); $mail->subject("❌ [ACTION REQUIRED] Backup FAILED for {$this->database->name}"); $mail->view('emails.backup-failed', [ 'name' => $this->name, 'frequency' => $this->frequency, 'output' => $this->output, ]); return $mail; } public function toDiscord(): string { return "❌ Database backup for {$this->name} with frequency of {$this->frequency} was FAILED.\n\nReason: {$this->output}"; } }