30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
const UnitOfWork = require('../../repositories/UnitOfWork');
|
|
const UserSettingsRepository = require('../../repositories/UserSettingsRepository');
|
|
const { logger } = require('../../middleware/logger'); // <-- import logger
|
|
|
|
class UserSettingsController {
|
|
static async getSettings(req, res) {
|
|
const userId = req.user.userId;
|
|
logger.info(`[UserSettingsController] getSettings called for userId: ${userId}`);
|
|
const unitOfWork = new UnitOfWork();
|
|
await unitOfWork.start();
|
|
try {
|
|
const repo = new UserSettingsRepository(unitOfWork);
|
|
const settings = await repo.getSettingsByUserId(userId);
|
|
await unitOfWork.commit();
|
|
if (!settings) {
|
|
logger.warn(`[UserSettingsController] No settings found for userId: ${userId}`);
|
|
return res.status(404).json({ success: false, message: 'Settings not found' });
|
|
}
|
|
logger.info(`[UserSettingsController] getSettings success for userId: ${userId}`);
|
|
res.json({ success: true, settings });
|
|
} catch (error) {
|
|
logger.error(`[UserSettingsController] getSettings error for userId: ${userId}`, { error });
|
|
await unitOfWork.rollback(error);
|
|
res.status(500).json({ success: false, message: error.message });
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = UserSettingsController;
|