validate([ 'email' => 'required|email', ]); // Buscar el usuario por su dirección de correo electrónico $user = User::where('email', $request->email)->first(); if ($user && $user->email_verified_at != NULL) { // Si el usuario ya existe y su campo "verification_code" es verdadero, no enviar nuevamente return response()->json(['message' => 'La cuenta ya existe'], 400); } if (!$user) { // Si el usuario no existe, generar un código de verificación aleatorio de 6 dígitos numéricos $verificationCode = rand(10000, 99999); // Crear un nuevo usuario con el correo electrónico y el código de verificación $user = User::create([ 'email' => $request->email, 'verification_code' => $verificationCode, ]); // Guardar el correo en sesión session(['registered_email' => $request->email]); } else { // Si el usuario ya existe pero no se ha enviado el código, generar un nuevo código $verificationCode = rand(10000, 99999); // Actualizar el código de verificación y el campo "verification_code" $user->verification_code = $verificationCode; $user->save(); } // Enviar la notificación al correo del usuario con el código de verificación $user->notify(new EmailVerificationNotification($verificationCode)); // Devolver una respuesta (opcional) return response()->json(['message' => 'Usuario creado correctamente'], 201); } /* // Validar los datos recibidos en la solicitud $request->validate([ 'email' => 'required|email', ]); // Buscar el usuario por su dirección de correo electrónico $user = User::where('email', $request->email)->first(); // Si el usuario ya existe, reenviar el código de verificación existente if ($user) { $verificationCode = $user->verification_code; } else { // Generar un código de verificación aleatorio de 6 dígitos numéricos $verificationCode = rand(100000, 999999); // Crear un nuevo usuario con el correo electrónico y el código de verificación $user = User::create([ 'email' => $request->email, 'verification_code' => $verificationCode, ]); } // Enviar la notificación al correo del usuario con el código de verificación $user->notify(new EmailVerificationNotification($verificationCode)); // Devolver una respuesta (opcional) return response()->json(['message' => 'Usuario creado correctamente'], 201); */ public function verify_code(Request $request) { // Validar el correo electrónico $request->validate([ 'email' => 'required|email', 'codes' => 'required' ]); // Verificar si el correo electrónico coincide con el almacenado en la sesión /* if ($request->email !== session('registered_email')) { return response()->json(['message' => 'Correo no coincide'], 400); } */ // Buscar el usuario por su dirección de correo electrónico $user = User::where('email', $request->email)->first(); // Verificar si el usuario y el código coinciden if ($user && $user->verification_code === $request->codes) { // Cambiar la lógica aquí para redireccionar o retornar otro mensaje $user->email_verified_at = now(); $temporaryPassword = Str::random(8); $user->password = Hash::make($temporaryPassword); if ($request->account_type == "seller") { $user->user_type = "seller"; } $user->save(); // Enviar la notificación con las credenciales $user->notify(new UserCredentialsNotification($temporaryPassword)); return response()->json(['message' => 'Código verificado correctamente']); } else { return response()->json(['message' => 'Código no coincide'], 400); } } } /* public function register_email(Request $request) { dd("si"); // Validar los datos recibidos en la solicitud $request->validate([ 'email' => 'required|email', ]); // Buscar el usuario por su dirección de correo electrónico $user = User::where('email', $request->email)->first(); if ($user && $user->verification_code == "true") { // Si el usuario ya existe y su campo "verification_code" es verdadero, no enviar nuevamente return response()->json(['message' => 'La cuenta ya existe'], 400); } if (!$user) { // Si el usuario no existe, generar un código de verificación aleatorio de 6 dígitos numéricos $verificationCode = rand(100000, 999999); // Crear un nuevo usuario con el correo electrónico y el código de verificación $user = User::create([ 'email' => $request->email, 'verification_code' => $verificationCode, ]); } else ($user && !$user->verification_code) { // Si el usuario ya existe pero no se ha enviado el código, generar un nuevo código $verificationCode = rand(100000, 999999); // Actualizar el código de verificación y el campo "verification_code" $user->verification_code = $verificationCode; $user->save(); } // Enviar la notificación al correo del usuario con el código de verificación $user->notify(new EmailVerificationNotification($verificationCode)); // Devolver una respuesta (opcional) return response()->json(['message' => 'Usuario creado correctamente'], 201); } */