Files
wticreatorstudio/Modules/JobPortal/Notifications/PrivateChannelServices.php
T
2024-02-12 22:54:20 -05:00

81 lines
1.8 KiB
PHP

<?php
namespace Modules\JobPortal\Notifications;
use Modules\JobPortal\Events\PusherNotificationPrivateEvent;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Auth;
class PrivateChannelServices extends Notification
{
use Queueable;
protected $data;
/**
* PrivateChannelServices constructor.
* @param $data
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['database'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line('The introduction to the notification.')
->action('Notification Action', url('/'))
->line('Thank you for using our application!');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toDatabase($notifiable)
{
event(new PusherNotificationPrivateEvent($this->id, $this->data, $notifiable));
return [
'id' => $this->id,
'for_admin' => 0,
'notification' => $this->data,
];
}
}