CentralBackend/controller/register/PersonalRegisterController.js
2025-09-08 16:05:37 +02:00

100 lines
3.2 KiB
JavaScript

const PersonalUserService = require('../../services/user/personal/PersonalUserService');
const { logger } = require('../../middleware/logger'); // add logger import
class PersonalRegisterController {
static async register(req, res) {
logger.info('PersonalRegisterController.register:start');
try {
console.log('📝 Personal registration attempt started');
console.log('📋 Request body:', JSON.stringify(req.body, null, 2));
const {
firstName,
lastName,
email,
confirmEmail,
phone,
password,
confirmPassword,
referralEmail
} = req.body;
console.log('🔍 Extracting user data:', {
firstName,
lastName,
email,
phone,
hasReferral: !!referralEmail
});
// Validate email match
if (email !== confirmEmail) {
logger.warn('PersonalRegisterController.register:email_mismatch', { email, confirmEmail });
console.log('❌ Email confirmation mismatch');
return res.status(400).json({
success: false,
message: 'Email and confirm email do not match'
});
}
// Validate password match
if (password !== confirmPassword) {
logger.warn('PersonalRegisterController.register:password_mismatch');
console.log('❌ Password confirmation mismatch');
return res.status(400).json({
success: false,
message: 'Password and confirm password do not match'
});
}
// Check if user already exists
console.log('🔍 Checking if user already exists:', email);
const existingUser = await PersonalUserService.findPersonalUserByEmail(email);
if (existingUser) {
logger.warn('PersonalRegisterController.register:user_exists', { email });
console.log('❌ Personal registration failed: User already exists');
return res.status(400).json({
success: false,
message: 'User already exists'
});
}
// Create new personal user
console.log('📝 Creating new personal user...');
const newUser = await PersonalUserService.createPersonalUser({
firstName,
lastName,
email,
phone,
password,
referralEmail
});
logger.info('PersonalRegisterController.register:success', { userId: newUser.id });
console.log('✅ Personal user created successfully:', {
userId: newUser.id,
email: newUser.email,
firstName: newUser.firstName,
lastName: newUser.lastName
});
res.status(201).json({
success: true,
message: 'Personal user registered successfully',
userId: newUser.id
});
} catch (error) {
logger.error('PersonalRegisterController.register:error', { error: error.message });
console.error('💥 Personal registration error:', error);
res.status(500).json({
success: false,
message: 'Internal server error'
});
}
logger.info('PersonalRegisterController.register:end');
}
}
module.exports = PersonalRegisterController;