<?php

namespace App\Packages\v4\User\Mail;

use App\Packages\v4\Core\Service\DeepLinkService;
use App\Packages\User\Models\UserEmailToken;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use yedincisenol\DynamicLinks\Exception\ApikeyException;
use yedincisenol\DynamicLinks\Exception\ConfigException;
use yedincisenol\DynamicLinks\Exception\InvalidArgumentException;

class VerifyEmailMail extends Mailable
{
    use Queueable, SerializesModels;

    public $emailToken;
    public $verifyUrl;

    public function __construct(UserEmailToken $emailToken)
    {
        $this->emailToken = $emailToken;
    }

    /**
     * @return VerifyEmailMail
     */
    public function build()
    {
        $this->verifyUrl = DeepLinkService::createBasicLink('verify?token=' . $this->emailToken->token);

        return $this->view('_mail.application.verify-email');
    }
}