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)
|
public function register(Request $request)
|
||||||
{
|
{
|
||||||
$data = $request->validate([
|
$data = $request->validate([
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
Route::post('verify-email-code','verifyEmailCode');
|
Route::post('verify-email-code','verifyEmailCode');
|
||||||
Route::post('login', 'login');
|
Route::post('login', 'login');
|
||||||
Route::post('register', 'register');
|
Route::post('register', 'register');
|
||||||
|
Route::post('resend-email-verification', [UserController::class, 'resendEmailVerification']);
|
||||||
|
|
||||||
Route::post('/login-google', 'googleLogin');
|
Route::post('/login-google', 'googleLogin');
|
||||||
Route::get('/oauth/callback', 'oauthCallback');
|
Route::get('/oauth/callback', 'oauthCallback');
|
||||||
|
|||||||
Reference in New Issue
Block a user