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

30 lines
1.3 KiB
JavaScript

const UnitOfWork = require('../../database/UnitOfWork');
const UserSettingsRepository = require('../../repositories/settings/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;