Merge pull request 'wisdom' (#20) from wisdom into main
Reviewed-on: #20
This commit is contained in:
@@ -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'
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -4,48 +4,48 @@ 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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,16 +55,18 @@ 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)) || [];
|
||||||
|
|
||||||
// Get error code details if error_code_id exists
|
// Get error code details if error_code_id exists
|
||||||
if (notification.error_code_id) {
|
if (notification.error_code_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);
|
||||||
|
|||||||
Reference in New Issue
Block a user