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:
Torsten Schulz (local)
2026-02-04 11:50:16 +01:00
parent a8470145a0
commit c2dbf0a12d

View File

@@ -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 });
// AktivierungsE-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');