const UnitOfWork = require('../../database/UnitOfWork'); const PersonalProfileService = require('../../services/profile/personal/PersonalProfileService'); const PersonalUserRepository = require('../../repositories/user/personal/PersonalUserRepository'); const { logger } = require('../../middleware/logger'); class PersonalProfileController { static async completeProfile(req, res) { const userId = req.user.userId; const profileData = req.body; const unitOfWork = new UnitOfWork(); await unitOfWork.start(); logger.info('PersonalProfileController:completeProfile:start', { userId, profileData }); try { const repo = new PersonalUserRepository(unitOfWork); await repo.updateProfileAndMarkCompleted(userId, profileData); // Correct method name await unitOfWork.commit(); logger.info('PersonalProfileController:completeProfile:success', { userId }); res.json({ success: true, message: 'Personal profile completed successfully' }); } catch (error) { await unitOfWork.rollback(error); logger.error('PersonalProfileController:completeProfile:error', { userId, error }); res.status(400).json({ success: false, message: error.message }); } } } module.exports = PersonalProfileController;