translation = $translation; $this->file_name = $file_name; $this->download_url = $download_url; $this->onQueue('notifications'); } /** * Get the notification's channels. * * @param mixed $notifiable * @return array|string */ public function via($notifiable) { return ['mail', 'database']; } /** * Build the mail representation of the notification. * * @param mixed $notifiable * @return \Illuminate\Notifications\Messages\MailMessage */ public function toMail($notifiable) { return (new MailMessage) ->subject(trans('notifications.export.completed.title')) ->line(trans('notifications.export.completed.description')) ->action(trans('general.download'), $this->download_url); } /** * Get the array representation of the notification. * * @param mixed $notifiable * @return array */ public function toArray($notifiable) { return [ 'title' => trans('notifications.menu.export_completed.title'), 'description' => trans('notifications.menu.export_completed.description', [ 'type' => $this->translation, 'url' => $this->download_url, ]), 'translation' => $this->translation, 'file_name' => $this->file_name, 'download_url' => $this->download_url, ]; } }