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

28 lines
1.2 KiB
JavaScript

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;