한글뷰어 기능수정 Ver.01

This commit is contained in:
koj729
2026-06-19 17:58:47 +09:00
parent 9268e4e6bc
commit 83b6e891ab
49 changed files with 8741 additions and 446 deletions

View File

@@ -0,0 +1,70 @@
const { addActivityLogJob } = require('../queue');
exports.activityLogger = (defaultAction) => {
return (req, res, next) => {
res.on('finish', () => {
if (res.statusCode >= 200 && res.statusCode < 300) {
try {
const params = req.body?.params || {};
const projectId = params.projectId || req.baseUrl.split('/')[1] || '-';
const activity = params.activity || defaultAction || '-';
let userId = 'system';
if (params.userInfoString) {
try {
const userInfo = JSON.parse(params.userInfoString);
userId = userInfo.user_id || 'system';
} catch (e) {}
} else if (req.user?.user_id) {
userId = req.user.user_id;
}
const userIp = req.ip || req.headers['x-forwarded-for'] || req.socket.remoteAddress;
let targetPath = '-';
if (params.resourcePath) {
targetPath = params.resourcePath;
} else if (Array.isArray(params.resourcePathArr) && params.resourcePathArr.length > 0) {
targetPath = params.resourcePathArr[0];
} else if (Array.isArray(params.fromPathArr) && params.fromPathArr.length > 0) {
targetPath = params.fromPathArr[0];
}
let dataId = null;
if (params.dataId) {
dataId = params.dataId;
} else if (Array.isArray(params.dataIdArr) && params.dataIdArr.length > 0) {
dataId = params.dataIdArr[0];
}
const logData = {
projectId,
activity,
userId,
userIp,
targetPath,
status: 'SUCCESS',
logDate: new Date(),
metaData: {
method: req.method,
url: req.originalUrl,
dataIdArr: params.dataIdArr || (dataId ? [dataId] : []),
dataType: params.dataType || '-',
newName: params.newName || '-',
oldName: params.oldName || '-'
}
};
addActivityLogJob(logData).catch(err => {
console.error("[ActivityLogger Middleware] Queue Error:", err);
});
} catch (err) {
console.error("[ActivityLogger Middleware] Intercept Error:", err);
}
}
});
next();
};
};