• File: ResetPasswordNotification.php
  • Full Path: /var/www/html/back/app/Notifications/ResetPasswordNotification.php
  • File size: 1.28 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

declare(strict_types=1);

namespace App\Notifications;

use Illuminate\Auth\Notifications\ResetPassword as BaseResetPassword;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;

final class ResetPasswordNotification extends BaseResetPassword
{
    use Queueable;
    use SerializesModels;

    private const DOMAIN = 'http://gitep.dev-top-it.ru';

    public function toMail($notifiable): MailMessage
    {
        $url = $this->createUrl(notifiable: $notifiable);

        return (new \Illuminate\Notifications\Messages\MailMessage())
            ->subject(subject: 'Сброс пароля')
            ->line(line: 'Вы получили это сообщение, потому что мы получили запрос на сброс пароля для вашей учетной записи.')
            ->action(text: 'Сбросить пароль', url: $url)
            ->line(line: 'Если вы не запрашивали сброс пароля, никаких дальнейших действий не требуется.');
    }

    protected function createUrl($notifiable): string
    {
        return self::DOMAIN . '/password/set?token=' . $this->token . '&email=' . urlencode(
            string: $notifiable->getEmailForPasswordReset()
        );
    }
}