File: //home/evaluation-leave/controllers/servicesController.js
const Service = require("../models/services");
module.exports = {
servicesEvaluations: async (req, res) => {
try {
const result = await Service.findAllServices();
if (!result) {
return res
.status(404)
.json({ message: "Sorry no data for ServicesEvaluation setup." });
}
console.log(`servicesEvaluation, successfully pulled on ${new Date()} `);
return res.status(200).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
servicesEvaluationById: async (req, res) => {
const { id } = req.body;
try {
const result = await Service.findServiceRecordById(id);
if (!result) {
return res.status(404).json({
message: "Sorry their is no servicesEvaluation with that id.",
});
}
console.log(
`ServicesEvaluation with id ${id}, successfully pulled on ${new Date()} `
);
return res.status(200).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
pendingServiceEvaluation: async (req, res) => {
try {
const result = await Service.findPendingServicesRecord(req.userId);
if (!result) {
return res.status(404).json({
message: "Sorry no Pending ServiceEvaluation for this user.",
});
}
console.log(
`Pending ServiceEvaluation for user with id ${
req.userId
}, successfully pulled on ${new Date()} `
);
return res.status(200).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
actionDvcServiceEvaluation: async (req, res) => {
const { userId, sessionId } = req.body;
try {
const dvcData = {
userId,
sessionId,
};
const result = await Service.findUniversityServiceForEvaluationDvc(
dvcData
);
if (!result) {
return res.status(404).json({
message: "Sorry no ServiceEvaluation recored for this user.",
});
}
console.log(
`Existing ServiceEvaluation for user with id ${
dvcData.userId
}, successfully pulled on ${new Date()} by DVC `
);
return res.status(200).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
createServiceEvaluation: async (req, res) => {
const {
matrixId,
sessionId,
service_university_commitee,
service_student_extra_carricular,
service_personal_engagement,
} = req.body;
try {
const newServiceEvaluation = {
userId: req.userId,
matrixId,
sessionId,
service_university_commitee,
service_student_extra_carricular,
service_personal_engagement,
created_by: req.userId,
self_submite_yn: "Y",
};
const result = await Service.createServiceRecord(newServiceEvaluation);
console.log(
`successfully Created an anew ServiceEvaluation Record on ${new Date()}`
);
return res.status(201).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
updateServiceEvaluation: async (req, res) => {
const {
id,
service_university_commitee_h,
service_student_extra_carricular_h,
service_personal_engagement_h,
} = req.body;
try {
const serv = await Service.findServiceRecordById(id);
if (!serv) {
return res.status(400).json({
message: "Sorry there seems to be a problem. Try again latter",
});
}
const updatedServiceEvaluation = {
id,
service_university_commitee_h,
service_student_extra_carricular_h,
service_personal_engagement_h,
updated_by: req.userId,
updatedAt: new Date(),
hod_submited_yn: "Y",
};
const result = await Service.updateService(updatedServiceEvaluation);
console.log(
`successfully Updated ServiceEvaluation ${
updatedServiceEvaluation.id
} at ${new Date()}`
);
return res.status(201).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
serviceForUserCompilation: async (req, res) => {
const { sessionId } = req.body;
try {
const userData = {
userId: req.userId,
sessionId,
};
const result = await Service.findUserServiceForCompilation(userData);
if (!result) {
return res.status(404).json({
message: "Sorry no ServiceEvaluation recored for this user.",
});
}
console.log(
`Existing User ServiceEvaluation for user with id ${
userData.userId
}, successfully pulled on ${new Date()} `
);
return res.status(200).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
serviceForHodCompilation: async (req, res) => {
const { userId, sessionId } = req.body;
try {
const hodData = {
userId,
sessionId,
};
const result = await Service.findHodServiceForCompilation(hodData);
if (!result) {
return res.status(404).json({
message: "Sorry no ServiceEvaluation recored for this user.",
});
}
console.log(
`Existing HOD ServiceEvaluation for user with id ${
hodData.userId
}, successfully pulled on ${new Date()} by ${req.email} `
);
return res.status(200).json(result);
} catch (error) {
console.error("Error occurred:", error);
res.status(500).json({ error: true, message: "Internal Server Error" });
}
},
};