repair: notification error log created_by

This commit is contained in:
2025-12-23 17:54:14 +07:00
parent 10b7ac5e68
commit a704eb3235
3 changed files with 45 additions and 18 deletions

View File

@@ -55,20 +55,7 @@ class NotificationErrorLogController {
return res.status(400).json(setResponse(error, 'Validation failed', 400));
}
let createdBy, contactPhone;
if (!isNaN(req.user.userId) && Number(req.user.userId) > 0) {
createdBy = Number(req.user.userId);
contactPhone = value.contact_phone || null;
} else {
createdBy = null;
contactPhone = req.user.userId;
}
value.created_by = createdBy;
value.contact_phone = contactPhone;
const results = await NotificationErrorLogService.createNotificationErrorLog(value);
const results = await NotificationErrorLogService.createNotificationErrorLog(value, req.user.user_id);
const response = await setResponse(results, 'Notification Error Log created successfully')
return res.status(response.statusCode).json(response);

View File

@@ -45,7 +45,27 @@ const getNotificationErrorLogByNotificationErrorIdDb = async (notificationErrorI
};
const createNotificationErrorLogDb = async (store) => {
const { query: queryText, values } = pool.buildDynamicInsert("notification_error_log", store);
const queryText = `
INSERT INTO notification_error_log (
notification_error_id,
contact_phone,
notification_error_log_description,
created_by,
updated_by,
created_at,
updated_at
)
VALUES ($1, $2, $3, $4, $4, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
SELECT SCOPE_IDENTITY() as inserted_id;
`;
const values = [
store.notification_error_id,
store.contact_phone,
store.notification_error_log_description,
store.created_by
];
const result = await pool.query(queryText, values);
const insertedId = result.recordset[0]?.inserted_id;
return insertedId ? await getNotificationErrorLogByIdDb(insertedId) : null;

View File

@@ -7,6 +7,7 @@ const {
deleteNotificationErrorLogDb
} = require('../db/notification_error_log.db');
const { getUserByIdDb } = require('../db/user.db');
const { ErrorHandler } = require('../helpers/error');
class NotificationErrorLogService {
@@ -40,15 +41,34 @@ class NotificationErrorLogService {
}
// Create Notification Error Log
static async createNotificationErrorLog(data) {
static async createNotificationErrorLog(data, userId) {
try {
if (!data || typeof data !== 'object') data = {};
let createdBy = null;
let contactPhone = data.contact_phone || null;
if (userId) {
try {
const user = await getUserByIdDb(userId);
if (user && user.user_id) {
createdBy = Number(user.user_id);
} else {
createdBy = null;
contactPhone = userId;
}
} catch (dbError) {
createdBy = null;
contactPhone = userId;
}
}
const store = {
notification_error_id: data.notification_error_id,
contact_phone: data.contact_phone,
contact_phone: contactPhone,
notification_error_log_description: data.notification_error_log_description,
created_by: data.created_by
created_by: createdBy
};
const result = await createNotificationErrorLogDb(store);