feat: add resend email verification
This commit is contained in:
@@ -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([
|
||||
|
||||
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user