100 lines
3.2 KiB
JavaScript
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;
|