refactor(auth): simplify user registration process by removing rollback logic
- Eliminated the rollback logic for user creation in the registration process, streamlining the function and reducing complexity. - Maintained error handling for existing email addresses while ensuring activation emails are sent without exposing user details.
This commit is contained in:
@@ -7,10 +7,9 @@ import { sendActivationEmail } from './emailService.js';
|
||||
import { devLog, errorLog } from '../utils/logger.js';
|
||||
|
||||
const register = async (email, password) => {
|
||||
let createdUser = null;
|
||||
try {
|
||||
const activationCode = Math.random().toString(36).substring(2, 15);
|
||||
createdUser = await User.create({ email, password, activationCode });
|
||||
await User.create({ email, password, activationCode });
|
||||
|
||||
// Aktivierungs‑E-Mail versenden
|
||||
await sendActivationEmail(email, activationCode);
|
||||
@@ -29,16 +28,6 @@ const register = async (email, password) => {
|
||||
// Optional zusätzlich ausführlich im Dev-Log
|
||||
devLog('[authService.register] Stacktrace:', error?.stack);
|
||||
|
||||
// 2) Falls User bereits angelegt wurde, wieder löschen (Rollback)
|
||||
if (createdUser) {
|
||||
try {
|
||||
await createdUser.destroy();
|
||||
devLog(`[authService.register] Angelegten User (id=${createdUser.id}, email=${createdUser.email}) wegen Fehler wieder gelöscht`);
|
||||
} catch (cleanupError) {
|
||||
devLog('[authService.register] Konnte angelegten User nach Fehler nicht löschen', cleanupError);
|
||||
}
|
||||
}
|
||||
|
||||
// E-Mail existiert bereits
|
||||
if (error.name === 'SequelizeUniqueConstraintError') {
|
||||
const err = new Error('E-Mail-Adresse wird bereits verwendet');
|
||||
|
||||
Reference in New Issue
Block a user