From e18346a474c74009ae478333d2a7964eaebc2c4c Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 26 Dec 2025 12:44:50 +0530 Subject: [PATCH] ERROR log capture --- app/controllers/auth.controller.js | 5 +++- app/controllers/config.controller.js | 1 + app/controllers/dashboard.controller.js | 2 ++ app/controllers/deployment.controller.js | 2 ++ app/controllers/establishment.controller.js | 30 +++++++++++++------ .../establishment_products.controller.js | 5 ++++ .../establishment_user.controller.js | 11 +++++-- .../establishment_users_auth.controller.js | 2 ++ .../notificationTemplate.controller.js | 5 ++++ app/controllers/products.controller.js | 13 ++++++-- ...uarterlyWindowsConfiguration.controller.js | 10 ++++++- app/controllers/submission.controller.js | 13 ++++++++ app/controllers/unitMasterController.js | 11 ++++++- app/controllers/user.controller.js | 6 ++++ .../variationReasonMaster.controller.js | 5 ++++ .../zeroTargetReasonMaster.controller.js | 5 ++++ 16 files changed, 110 insertions(+), 16 deletions(-) diff --git a/app/controllers/auth.controller.js b/app/controllers/auth.controller.js index ef70e58..e14e914 100644 --- a/app/controllers/auth.controller.js +++ b/app/controllers/auth.controller.js @@ -97,6 +97,7 @@ exports.login = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status: "failed", message: "Internal server error", @@ -173,7 +174,9 @@ exports.register = async (req, res) => { const ERROR_STATUS = "error"; const ERROR_CODE = "SERVER_ERROR"; const ERROR_MESSAGE = "An unexpected error occurred"; - + logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); + return res.status(500).send({ status: ERROR_STATUS, code: ERROR_CODE, diff --git a/app/controllers/config.controller.js b/app/controllers/config.controller.js index b96eede..bea9434 100644 --- a/app/controllers/config.controller.js +++ b/app/controllers/config.controller.js @@ -48,6 +48,7 @@ exports.updateDeadlineData = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).json({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/dashboard.controller.js b/app/controllers/dashboard.controller.js index 2fed341..e144b88 100644 --- a/app/controllers/dashboard.controller.js +++ b/app/controllers/dashboard.controller.js @@ -181,6 +181,7 @@ exports.getEstablishmentDashboard = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).json({ status: "failed", message: "Internal server error" }); } }; @@ -282,6 +283,7 @@ exports.adminDashboard = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/deployment.controller.js b/app/controllers/deployment.controller.js index 57c7088..a2e844a 100644 --- a/app/controllers/deployment.controller.js +++ b/app/controllers/deployment.controller.js @@ -121,6 +121,8 @@ exports.deployment = async (req, res) => { } catch (err) { + logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; \ No newline at end of file diff --git a/app/controllers/establishment.controller.js b/app/controllers/establishment.controller.js index 6dc3952..0972b6e 100644 --- a/app/controllers/establishment.controller.js +++ b/app/controllers/establishment.controller.js @@ -277,7 +277,8 @@ exports.createEstablishment = async (req, res) => { message: `${field} already exists` }); } - logger.error('Error creating establishment', { error: err.message }); + logger.error(`Error creating establishment: ${err.message }`); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({status: "failed",message: "Internal server error" }); } }; @@ -439,7 +440,8 @@ exports.getAllEstablishments = async (req, res) => { }); } catch (err) { - logger.error('Error on get all establishment', { error: err.message }); + logger.error(`Error on get all establishment: ${err.message }`); + logger.error(`Stack trace: ${err.stack}`); res.setHeader('X-Frame-Options', 'DENY'); res.setHeader('X-Content-Type-Options', 'nosniff'); @@ -527,7 +529,8 @@ exports.getEstablishmentById = async (req, res) => { return res.status(200).send({'status':"success",'message':"Fetched successfully",'data': data }); } catch (err) { - logger.error('Error on get establishment by Id', { error: err.message }); + logger.error(`Error on get establishment by Id: ${ err.message }`); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -698,7 +701,8 @@ exports.updateEstablishment = async (req, res) => { const field = err.errors[0].path; return res.status(400).json({ status:"failed", message:`${field} already exists` }); } - logger.error('Error updating establishment', { error: err.message }); + logger.error(`Error updating establishment: ${ err.message }`); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status:"failed", message: "Internal server error" }); } }; @@ -714,7 +718,7 @@ exports.deleteEstablishment = async (req, res) => { return res.status(200).send({'status':"success",'message':"Deleted successfully",'data': "" }); } catch (err) { - logger.error('Error deleting establishment', { error: err.message }); + logger.error(`Error deleting establishment: ${ err.message }`); return res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -729,7 +733,8 @@ exports.getAllEmirates = async (req, res) => { return res.status(200).send({status: "success", message: "Emirates fetched successfully", data: emirates,}); } catch (err) { - logger.error('Error on get all emirates', { error: err.message }); + logger.error(`Error on get all emirates: ${ err.message }`); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({status: "failed",message: "Internal server error", }); } }; @@ -779,7 +784,8 @@ exports.getAllCityTowns = async (req, res) => { return res.status(200).send({status: "success", message: "City/Town fetched successfully", data: sanitizedCities, }); } catch (err) { - logger.error('Error getting all city towns', { error: err.message }); + logger.error(`Error getting all city towns: ${ err.message }`); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -795,7 +801,8 @@ exports.getAllRequests = async (req, res) => { data: requests, }); } catch (err) { - logger.error('Error on getall request', { error: err.message }); + logger.error(`Error on getall request: ${ err.message }`); + logger.error(`Stack trace: ${err.stack}`); res.status(500).json({ status: "failed", message: "Internal server error" }); } }; @@ -874,7 +881,8 @@ exports.createRequest = async (req, res) => { }); } catch (err) { console.error(err); - logger.error('Error on create request', { error: err.message }); + logger.error(`Error on create request: ${ err.message }`); + logger.error(`Stack trace: ${err.stack}`); res.status(500).json({ status: "failed", message: "Internal server error"}); } }; @@ -959,6 +967,7 @@ exports.forgotPasswordRequestOTP = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status: "failed", message: "Internal server error" }); } }; @@ -1035,6 +1044,7 @@ exports.forgotPasswordVerifyOTP = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status: "failed", message: "Internal server error" }); } }; @@ -1086,6 +1096,7 @@ function deleteFileSecure(filePath) { } catch (err) { if (logger && logger.error) { logger.error('File deletion error: ' + err.message); + logger.error(`Stack trace: ${err.stack}`); } } } @@ -1637,6 +1648,7 @@ exports.downloadCompanyProfileSample = async (req, res) => { return res.download(safeFilePath, "company_profile_upload_sample.csv"); } catch (error) { logger.error('Error on downloading company profile sample file' + error.message ); + logger.error(`Stack trace: ${error.stack}`); return res.status(500).send({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/establishment_products.controller.js b/app/controllers/establishment_products.controller.js index 1c72785..f982170 100644 --- a/app/controllers/establishment_products.controller.js +++ b/app/controllers/establishment_products.controller.js @@ -75,6 +75,7 @@ exports.createEstablishmentProduct = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -118,6 +119,7 @@ exports.getAllEstablishmentProducts = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -133,6 +135,7 @@ exports.getEstablishmentProductById = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -158,6 +161,7 @@ exports.updateEstablishmentProduct = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -173,6 +177,7 @@ exports.deleteEstablishmentProduct = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; diff --git a/app/controllers/establishment_user.controller.js b/app/controllers/establishment_user.controller.js index eb14202..45c6afc 100644 --- a/app/controllers/establishment_user.controller.js +++ b/app/controllers/establishment_user.controller.js @@ -107,7 +107,8 @@ exports.createUser = async (req, res) => { message: "Establishment User created successfully.", }); } catch (error) { - logger.error(err.message); + logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); return res.status(500).json({ status: "error", message: "Internal server error" }); } }; @@ -133,6 +134,7 @@ exports.getAllUsers = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -149,6 +151,7 @@ exports.getUserById = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -178,6 +181,7 @@ exports.updateUser = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -235,6 +239,7 @@ exports.changeUserPassword = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({ status: "failed", message: "An unexpected error occurred" @@ -255,6 +260,7 @@ exports.deleteUser = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -335,7 +341,8 @@ exports.triggerEstablishmentUsersWelcomeEmail = async (req, res) => { } catch (error) { console.error(error); - logger.error(err.message); + logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); return res.status(500).json({ status: "error", message: "Internal server error" }); } }; diff --git a/app/controllers/establishment_users_auth.controller.js b/app/controllers/establishment_users_auth.controller.js index efc8fd2..2ab8f05 100644 --- a/app/controllers/establishment_users_auth.controller.js +++ b/app/controllers/establishment_users_auth.controller.js @@ -40,6 +40,7 @@ exports.login = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -53,6 +54,7 @@ exports.logout = async (req, res) => { res.status(200).json({ message: "Logout successful (client should discard token)" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; diff --git a/app/controllers/notificationTemplate.controller.js b/app/controllers/notificationTemplate.controller.js index 2dedca9..ae338d2 100644 --- a/app/controllers/notificationTemplate.controller.js +++ b/app/controllers/notificationTemplate.controller.js @@ -40,6 +40,7 @@ exports.createTemplate = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).json({ status: "failed", message: "Internal server error" }); } }; @@ -81,6 +82,7 @@ exports.updateTemplate = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status: "failed", message: "Internal server error" @@ -99,6 +101,7 @@ exports.getAllTemplates = async (req, res) => { }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -119,6 +122,7 @@ exports.getTemplateById = async (req, res) => { }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -140,6 +144,7 @@ exports.deleteTemplate = async (req, res) => { .send({ status: "success", message: "Deleted successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/products.controller.js b/app/controllers/products.controller.js index 7e59582..50f609d 100644 --- a/app/controllers/products.controller.js +++ b/app/controllers/products.controller.js @@ -72,7 +72,8 @@ exports.createProduct = async (req, res) => { res.status(201).send({'status':"success",'message':"created successfully." }); } catch (error) { - logger.error(err.message); + logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -119,6 +120,7 @@ exports.getAllProducts = async (req, res) => { } catch (error) { logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -134,6 +136,7 @@ exports.getProductById = async (req, res) => { } catch (error) { logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -154,7 +157,8 @@ exports.updateProduct = async (req, res) => { res.status(200).send({'status':"success",'message':"Updated successfully",'data': "" }); } catch (error) { - logger.error(err.message); + logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -171,6 +175,7 @@ exports.deleteProduct = async (req, res) => { } catch (error) { logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -182,6 +187,7 @@ exports.downloadProductSample = async (req, res) => { return res.download(filePath, "products_upload_sample.csv"); } catch (error) { logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -228,6 +234,7 @@ function deleteFileSecure(filePath) { } catch (err) { if (logger && logger.error) { logger.error('File deletion error: ' + err.message); + logger.error(`Stack trace: ${err.stack}`); } } } @@ -592,6 +599,7 @@ exports.uploadProductsFromCSV = async (req, res) => { deleteFileSecure(sanitizedPath); if (logger && logger.error) { logger.error("CSV processing error: " + processingError.message); + logger.error(`Stack trace: ${processingError.stack}`); } return res.status(500).send({ status: "failed", @@ -614,6 +622,7 @@ exports.uploadProductsFromCSV = async (req, res) => { deleteFileSecure(sanitizedPath); if (logger && logger.error) { logger.error("Upload error: " + error.message); + logger.error(`Stack trace: ${error.stack}`); } return res.status(500).send({ status: "failed", diff --git a/app/controllers/quarterlyWindowsConfiguration.controller.js b/app/controllers/quarterlyWindowsConfiguration.controller.js index ec25a3f..49853c0 100644 --- a/app/controllers/quarterlyWindowsConfiguration.controller.js +++ b/app/controllers/quarterlyWindowsConfiguration.controller.js @@ -70,6 +70,7 @@ exports.createConfig = async (req, res) => { sendEmailsToEstablishments(placeholder); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -86,12 +87,15 @@ async function sendEmailsToEstablishments(placeholder) { await new Promise(resolve => setTimeout(resolve, 1000)); } catch (emailErr) { - console.error("Email failed:", user.email, emailErr.message); + logger.error(emailErr.message); + logger.error(`Stack trace: ${emailErr.stack}`); + console.error("Email failed:", emailErr.message); } } } catch (err) { console.error("Email background job failed:", err.message); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } } @@ -118,6 +122,7 @@ exports.getAllConfigs = async (req, res) => { .send({ status: "success", message: "Fetched successfully", quarter_count: data.length, data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -136,6 +141,7 @@ exports.getConfigById = async (req, res) => { .send({ status: "success", message: "Fetched successfully", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -158,6 +164,7 @@ exports.updateConfig = async (req, res) => { .send({ status: "success", message: "Updated successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -178,6 +185,7 @@ exports.deleteConfig = async (req, res) => { .send({ status: "success", message: "Deleted successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/submission.controller.js b/app/controllers/submission.controller.js index 2634ced..5c7d2d5 100644 --- a/app/controllers/submission.controller.js +++ b/app/controllers/submission.controller.js @@ -196,6 +196,7 @@ exports.createSubmission = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -295,6 +296,7 @@ exports.updateSubmission = async (req, res) => { }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).json({ status: "failed", message: "Internal server error" }); } }; @@ -329,6 +331,7 @@ exports.submissionHistory = async (req, res) => { res.status(200).json({ status: "success", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -481,6 +484,7 @@ exports.submissionList = async (req, res) => { } catch (err) { console.error(err); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -556,6 +560,7 @@ exports.viewSubmissionDetails = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -656,6 +661,7 @@ exports.getSubmissionHistory = async (req, res) => { } catch (err) { console.log(err); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } } @@ -683,6 +689,7 @@ exports.submissionEditRequest = async (req, res) => { } catch (err) { console.error(err); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -710,6 +717,7 @@ exports.enableOrDisableSubmissionEditAccess = async (req, res) => { } catch (err) { console.error(err); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -783,6 +791,7 @@ exports.approveOrRejectSubmission = async (req, res) => { } catch (err) { console.error(err); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } @@ -804,6 +813,7 @@ exports.getQuarterPeriods = async (req, res) => { return res.status(200).json({ status: "success", data: quarter_periods }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -854,6 +864,7 @@ exports.getPreviousForecastData = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -937,6 +948,7 @@ exports.getBeforePreviousData = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -1009,6 +1021,7 @@ exports.getProductSubmissionHistory = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/unitMasterController.js b/app/controllers/unitMasterController.js index 59fe9c8..549f963 100644 --- a/app/controllers/unitMasterController.js +++ b/app/controllers/unitMasterController.js @@ -135,6 +135,7 @@ exports.createUnit = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -170,6 +171,7 @@ exports.getAllUnits = async (req, res) => { res.status(200).json({ status: "success",unit_count : units.length, data: units }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -183,6 +185,7 @@ exports.getUnitById = async (req, res) => { res.status(200).json({ status: "success", data: unit }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -200,6 +203,7 @@ exports.updateUnit = async (req, res) => { res.status(200).json({ status: "success" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -214,6 +218,7 @@ exports.deleteUnit = async (req, res) => { res.status(200).json({ status: "success", message: "Unit deleted successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -269,6 +274,8 @@ function deleteFileSecure(filePath) { } return false; } catch (err) { + logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); console.error("File delete error:", err.message); return false; } @@ -589,6 +596,7 @@ exports.uploadUnitMasterFromCSV = async (req, res) => { } catch (err) { deleteFileSecure(sanitizedPath); logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -608,7 +616,8 @@ exports.downloadUnitMasterFile = async (req, res) => { return res.download(safeFilePath, "unit_master_sample.csv"); } catch (error) { - logger.error(err.message); + logger.error(error.message); + logger.error(`Stack trace: ${error.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/user.controller.js b/app/controllers/user.controller.js index daf61bd..c66098c 100644 --- a/app/controllers/user.controller.js +++ b/app/controllers/user.controller.js @@ -21,6 +21,7 @@ exports.createUser = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -35,6 +36,7 @@ exports.getAllUsers = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -51,6 +53,7 @@ exports.getUserById = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': "Internal server error" }); } }; @@ -77,6 +80,7 @@ exports.updateUser = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message':"Internal server error" }); } }; @@ -95,6 +99,7 @@ exports.deleteUser = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({'status':"failed",'message': 'Internal server error' }); } }; @@ -137,6 +142,7 @@ exports.changeAdminUserPassword = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).send({ status: "failed", message: "Internal server error" }); } }; diff --git a/app/controllers/variationReasonMaster.controller.js b/app/controllers/variationReasonMaster.controller.js index 1f80128..0c8b8d1 100644 --- a/app/controllers/variationReasonMaster.controller.js +++ b/app/controllers/variationReasonMaster.controller.js @@ -40,6 +40,7 @@ exports.createReason = async (req, res) => { } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); return res.status(500).json({ status: "failed", message: "Internal server error" @@ -54,6 +55,7 @@ exports.getAllReasons = async (req, res) => { res.status(200).send({ status: "success", message: "Fetched successfully", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error"}); } }; @@ -66,6 +68,7 @@ exports.getReasonById = async (req, res) => { res.status(200).send({ status: "success", message: "Fetched successfully", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -83,6 +86,7 @@ exports.updateReason = async (req, res) => { res.status(200).send({ status: "success", message: "Updated successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -95,6 +99,7 @@ exports.deleteReason = async (req, res) => { res.status(200).send({ status: "success", message: "Deleted successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message:"Internal server error" }); } }; diff --git a/app/controllers/zeroTargetReasonMaster.controller.js b/app/controllers/zeroTargetReasonMaster.controller.js index 3c6a212..3a22af0 100644 --- a/app/controllers/zeroTargetReasonMaster.controller.js +++ b/app/controllers/zeroTargetReasonMaster.controller.js @@ -21,6 +21,7 @@ exports.create = async (req, res) => { res.status(201).send({ status: "success", message: "Record created successfully",}); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -32,6 +33,7 @@ exports.getAll = async (req, res) => { res.status(200).send({ status: "success", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -45,6 +47,7 @@ exports.getById = async (req, res) => { res.status(200).send({ status: "success", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } }; @@ -61,6 +64,7 @@ exports.update = async (req, res) => { res.status(200).send({ status: "success", data }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error"}); } }; @@ -74,6 +78,7 @@ exports.delete = async (req, res) => { res.status(200).send({ status: "success", message: "Deleted successfully" }); } catch (err) { logger.error(err.message); + logger.error(`Stack trace: ${err.stack}`); res.status(500).send({ status: "failed", message: "Internal server error" }); } };