public function sendVerifyLink($user)
    {

        if (is_null($user)) {
            return static::INVALID_USER;
        }

        $expiration = Carbon::now()->addMinutes($this->expiration)->timestamp;

        // Once we have the reset token, we are ready to send the message out to this
        // user with a link to reset their password. We will then redirect back to
        // the current URI having nothing set in the session to indicate errors.
        $user->sendEmailVerificationNotification(
            $this->createToken($user, $expiration),
            $expiration
        );
        $this->events->dispatch(new EmailVerificationSent($user));

        return static::VERIFY_LINK_SENT;
    }