<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
class TwoFactorCode extends Notification
{
use Queueable;
protected $action_url;
/**
* Create a new notification instance.
*
* @param $action_url
*/
public function __construct($action_url = null)
{
if ($action_url) {
$this->action_url = $action_url;
} else {
$this->action_url = route('verify.index');
}
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
*
* @return array
*/
public function via($notifiable): array
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
*
* @return MailMessage
*/
public function toMail($notifiable): MailMessage
{
return (new MailMessage)
->line('Your two factor code is '.$notifiable->two_factor_code)
->action('Verify Here', $this->action_url)
->line('The code will expire in 10 minutes')
->line('If you have not tried to login, ignore this message.');
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
*
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}