File: //home/evaluation-leave/controllers/scholarController.js
const Scholar = require("../models/scholar");
module.exports = {
scholarEvaluations: async (req, res) => {
try {
const result = await Scholar.findAllScholars();
if (!result) {
return res
.status(404)
.json({ message: "Sorry no data for ScholarEvaluation setup." });
}
console.log(`scholarEvaluation, 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" });
}
},
scholarEvaluationById: async (req, res) => {
const { id } = req.body;
try {
const result = await Scholar.findScholarRecordById(id);
if (!result) {
return res.status(404).json({
message: "Sorry their is no scholarEvaluation with that id.",
});
}
console.log(
`ScholarEvaluation 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" });
}
},
pendingScholarEvaluation: async (req, res) => {
try {
const result = await Scholar.findPendingScholarRecord(req.userId);
if (!result) {
return res.status(404).json({
message: "Sorry no Pending ScholarEvaluation for this user.",
});
}
console.log(
`Pending ScholarEvaluation 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" });
}
},
actionDvcScholarEvaluation: async (req, res) => {
const { userId, sessionId } = req.body;
try {
const dvcData = {
userId,
sessionId,
};
const result = await Scholar.findSholarlyForEvaluationDvc(dvcData);
if (!result) {
return res.status(404).json({
message: "Sorry no ScholarEvaluation recored for this user.",
});
}
console.log(
`Existing ScholarEvaluation 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" });
}
},
createScholarEvaluation: async (req, res) => {
const {
matrixId,
sessionId,
schoolar_onepeer_review,
schoolar_decumented_research,
schoolar_attended_nonru,
schoolar_presented_paper,
schoolar_served_facilitator,
} = req.body;
try {
const newScholarEvaluation = {
userId: req.userId,
matrixId,
sessionId,
schoolar_onepeer_review,
schoolar_decumented_research,
schoolar_attended_nonru,
schoolar_presented_paper,
schoolar_served_facilitator,
created_by: req.userId,
self_submite_yn: "Y",
};
const result = await Scholar.createScholarRecord(newScholarEvaluation);
console.log(
`successfully Created an anew ScholarEvaluation 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" });
}
},
updateGrantEvaluation: async (req, res) => {
const {
id,
schoolar_onepeer_review_h,
schoolar_decumented_research_h,
schoolar_attended_nonru_h,
schoolar_presented_paper_h,
schoolar_served_facilitator_h,
} = req.body;
try {
const serv = await Scholar.findScholarRecordById(id);
if (!serv) {
return res.status(400).json({
message: "Sorry there seems to be a problem. Try again latter",
});
}
const updatedScholarEvaluation = {
id,
schoolar_onepeer_review_h,
schoolar_decumented_research_h,
schoolar_attended_nonru_h,
schoolar_presented_paper_h,
schoolar_served_facilitator_h,
updated_by: req.userId,
updatedAt: new Date(),
hod_submited_yn: "Y",
};
const result = await Scholar.updateScholarEvalutaionRecord(
updatedScholarEvaluation
);
console.log(
`successfully Updated ScholarEvaluation ${
updatedScholarEvaluation.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" });
}
},
scholarForUserCompilation: async (req, res) => {
const { sessionId } = req.body;
try {
const userData = {
userId: req.userId,
sessionId,
};
const result = await Scholar.findUserSScholarForCompilation(userData);
if (!result) {
return res.status(404).json({
message: "Sorry no ScholarEvaluation recored for this user.",
});
}
console.log(
`Existing User ScholarEvaluation 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" });
}
},
scholarForHodCompilation: async (req, res) => {
const { userId, sessionId } = req.body;
try {
const hodData = {
userId,
sessionId,
};
const result = await Scholar.findHodScholarForCompilation(hodData);
if (!result) {
return res.status(404).json({
message: "Sorry no scholarEvaluation recored for this user.",
});
}
console.log(
`Existing HOD scholarEvaluation 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" });
}
},
};