diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 0ea8389..c6fa12c 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -66,6 +66,46 @@ public function login(Request $request) ]); } +public function resendEmailVerification(Request $request) +{ + $request->validate([ + 'email' => 'required|email', + ]); + + $user = User::where('email', $request->email)->first(); + + if (!$user) { + return response()->json(['message' => 'User not found'], 404); + } + + if ($user->email_verified_at) { + return response()->json(['message' => 'Email is already verified'], 400); + } + + // Generate new code + $code = rand(1000, 9999); + + // Delete previous codes + \DB::table('email_verifications')->where('user_id', $user->id)->delete(); + + // Insert new verification code + \DB::table('email_verifications')->insert([ + 'user_id' => $user->id, + 'code' => $code, + 'expires_at' => now()->addMinutes(15), + 'created_at' => now(), + 'updated_at' => now(), + ]); + + // Send email + \Mail::to($user->email)->send(new \App\Mail\VerifyEmailCodeMail($code)); + + return response()->json([ + 'message' => 'Verification email resent successfully' + ]); +} + + public function register(Request $request) { $data = $request->validate([ diff --git a/routes/api.php b/routes/api.php index 00ed769..1f68ad3 100644 --- a/routes/api.php +++ b/routes/api.php @@ -31,6 +31,7 @@ Route::post('verify-email-code','verifyEmailCode'); Route::post('login', 'login'); Route::post('register', 'register'); + Route::post('resend-email-verification', [UserController::class, 'resendEmailVerification']); Route::post('/login-google', 'googleLogin'); Route::get('/oauth/callback', 'oauthCallback');