wisdom #20

Merged
bragaz_rexita merged 2 commits from wisdom into main 2025-12-23 05:19:45 +00:00
3 changed files with 46 additions and 35 deletions

View File

@@ -125,7 +125,8 @@ class AuthController {
const response = await setResponse( const response = await setResponse(
{ {
accessToken: tokens.accessToken accessToken: tokens.accessToken,
idData
}, },
'Verify successful' 'Verify successful'
); );

View File

@@ -15,7 +15,7 @@ router
router router
.route('/:id') .route('/:id')
.get(verifyToken.verifyAccessToken, verifyAccess(), NotificationErrorController.getById) .get(verifyToken.verifyAccessToken, NotificationErrorController.getById)
.put(verifyToken.verifyAccessToken, verifyAccess(), NotificationErrorController.update) .put(verifyToken.verifyAccessToken, verifyAccess(), NotificationErrorController.update)
module.exports = router; module.exports = router;

View File

@@ -4,39 +4,39 @@ const {
InsertNotificationErrorDb, InsertNotificationErrorDb,
getUsersNotificationErrorDb, getUsersNotificationErrorDb,
updateNotificationErrorDb, updateNotificationErrorDb,
} = require('../db/notification_error.db'); } = require("../db/notification_error.db");
const { const { getErrorCodeByIdDb } = require("../db/brand_code.db");
getErrorCodeByIdDb,
} = require('../db/brand_code.db');
const {
getSolutionsByErrorCodeIdDb,
} = require('../db/brand_code_solution.db');
const { getSolutionsByErrorCodeIdDb } = require("../db/brand_code_solution.db");
const { const {
getAllNotificationErrorLogDb, getAllNotificationErrorLogDb,
getNotificationErrorLogByNotificationErrorIdDb, getNotificationErrorLogByNotificationErrorIdDb,
} = require('../db/notification_error_log.db'); } = require("../db/notification_error_log.db");
const { const { getSparepartsByErrorCodeIdDb } = require("../db/brand_sparepart.db");
getSparepartsByErrorCodeIdDb,
} = require('../db/brand_sparepart.db');
const { getFileUploadByPathDb } = require('../db/file_uploads.db'); const { getFileUploadByPathDb } = require("../db/file_uploads.db");
const { ErrorHandler } = require('../helpers/error'); const { ErrorHandler } = require("../helpers/error");
class NotificationService { class NotificationService {
// Get all Notifications
static async getAllNotification(param) { static async getAllNotification(param) {
try { try {
const results = await getAllNotificationDb(param); const results = await getAllNotificationDb(param);
results.data.map(element => { if (results && Array.isArray(results.data)) {
}); results.data = await Promise.all(
results.data.map(async (notification) => {
const usersNotification = (await getUsersNotificationErrorDb(notification.notification_error_id)) || [];
return {
...notification,
users: usersNotification,
};
})
);
}
return results; return results;
} catch (error) { } catch (error) {
throw new ErrorHandler(error.statusCode, error.message); throw new ErrorHandler(error.statusCode, error.message);
@@ -45,7 +45,7 @@ class NotificationService {
static async createNotificationError(data) { static async createNotificationError(data) {
try { try {
if (!data || typeof data !== 'object') data = {}; if (!data || typeof data !== "object") data = {};
const result = await InsertNotificationErrorDb(data); const result = await InsertNotificationErrorDb(data);
@@ -55,13 +55,15 @@ class NotificationService {
} }
} }
// Get notification by ID
static async getNotificationById(id) { static async getNotificationById(id) {
try { try {
const notification = await getNotificationByIdDb(id); const notification = await getNotificationByIdDb(id);
if (!notification || (Array.isArray(notification) && notification.length < 1)) { if (
throw new ErrorHandler(404, 'Notification not found'); !notification ||
(Array.isArray(notification) && notification.length < 1)
) {
throw new ErrorHandler(404, "Notification not found");
} }
const usersNotification = (await getUsersNotificationErrorDb(id)) || []; const usersNotification = (await getUsersNotificationErrorDb(id)) || [];
@@ -72,16 +74,24 @@ class NotificationService {
if (errorCode) { if (errorCode) {
// Get solutions for this error code // Get solutions for this error code
const solutions = (await getSolutionsByErrorCodeIdDb(errorCode.error_code_id)) || []; const solutions =
(await getSolutionsByErrorCodeIdDb(errorCode.error_code_id)) || [];
const spareparts = (await getSparepartsByErrorCodeIdDb(errorCode.error_code_id)) || []; const spareparts =
(await getSparepartsByErrorCodeIdDb(errorCode.error_code_id)) || [];
const solutionsWithDetails = await Promise.all( const solutionsWithDetails = await Promise.all(
solutions.map(async (solution) => { solutions.map(async (solution) => {
let fileData = null; let fileData = null;
if (solution.path_solution && solution.type_solution && solution.type_solution !== 'text') { if (
solution.path_solution &&
solution.type_solution &&
solution.type_solution !== "text"
) {
try { try {
fileData = await getFileUploadByPathDb(solution.path_solution); fileData = await getFileUploadByPathDb(
solution.path_solution
);
} catch (e) { } catch (e) {
fileData = null; fileData = null;
} }
@@ -89,12 +99,11 @@ class NotificationService {
return { return {
...solution, ...solution,
file_upload_name: fileData?.file_upload_name || null, file_upload_name: fileData?.file_upload_name || null,
path_document: fileData?.path_document || null path_document: fileData?.path_document || null,
}; };
}) })
); );
notification.error_code = { notification.error_code = {
...errorCode, ...errorCode,
solution: solutionsWithDetails, solution: solutionsWithDetails,
@@ -104,7 +113,8 @@ class NotificationService {
} }
// Get activity logs for this notification // Get activity logs for this notification
const notificationLogs = (await getNotificationErrorLogByNotificationErrorIdDb(id)) || []; const notificationLogs =
(await getNotificationErrorLogByNotificationErrorIdDb(id)) || [];
notification.users = usersNotification; notification.users = usersNotification;
@@ -118,12 +128,12 @@ class NotificationService {
static async updateNotificationError(id, data) { static async updateNotificationError(id, data) {
try { try {
if (!data || typeof data !== 'object') data = {}; if (!data || typeof data !== "object") data = {};
const dataExist = await getNotificationByIdDb(id); const dataExist = await getNotificationByIdDb(id);
if (dataExist.length < 1) { if (dataExist.length < 1) {
throw new ErrorHandler(404, 'NotificationErrorUser not found'); throw new ErrorHandler(404, "NotificationErrorUser not found");
} }
const result = await updateNotificationErrorDb(id, data); const result = await updateNotificationErrorDb(id, data);