| | |
| | | <?php |
| | | namespace JVBase\rest\routes; |
| | | |
| | | use JVBase\Instance; |
| | | use JVBase\managers\Cache; |
| | | use JVBase\managers\Emails; |
| | | use JVBase\registrar\Registrar; |
| | | use JVBase\rest\Rest; |
| | | use JVBase\rest\Route; |
| | |
| | | */ |
| | | class LoginRoutes extends Rest |
| | | { |
| | | use Instance; |
| | | protected ?string $requestId = null; |
| | | protected bool $hasMagicLink = false; |
| | | |
| | |
| | | |
| | | // Send magic link for email verification |
| | | if ($this->hasMagicLink) { |
| | | JVB()->magicLink()->sendMagicLink($email, 'signup', [ |
| | | MagicLinks::getInstance()->sendMagicLink($email, 'signup', [ |
| | | 'name' => $name, |
| | | 'role' => $role, |
| | | ]); |
| | |
| | | |
| | | // Use magic link if available, otherwise standard WP reset |
| | | if ($this->hasMagicLink) { |
| | | $result = JVB()->magicLink()->sendMagicLink($email, 'reset'); |
| | | $result = MagicLinks::getInstance()->sendMagicLink($email, 'reset'); |
| | | |
| | | if (is_wp_error($result)) { |
| | | $this->logError('Magic link send failed', [ |
| | |
| | | 'error' => $key->get_error_message(), |
| | | ]); |
| | | } else { |
| | | $success = JVB()->email()->sendPasswordResetEmail($user, $key); |
| | | $success = Emails::getInstance()->sendPasswordResetEmail($user, $key); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | // Send magic link |
| | | $result = JVB()->magicLink()->sendMagicLink($email, $type, $context); |
| | | $result = MagicLinks::getInstance()->sendMagicLink($email, $type, $context); |
| | | |
| | | if (is_wp_error($result)) { |
| | | $this->logError('Magic link send failed', [ |
| | |
| | | } |
| | | |
| | | try { |
| | | JVB()->referrals()->processReferralCode($user_id, $referral_code); |
| | | Referrals::getInstance()->processReferralCode($user_id, $referral_code); |
| | | } catch (\Exception $e) { |
| | | $this->logError('Referral processing failed', [ |
| | | 'user_id' => $user_id, |