28 lines
1.2 KiB
JavaScript
28 lines
1.2 KiB
JavaScript
const UnitOfWork = require('../../repositories/UnitOfWork');
|
|
const PersonalProfileService = require('../../services/PersonalProfileService');
|
|
const PersonalUserRepository = require('../../repositories/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;
|