File: //home/evaluation-leave/controllers/evaluationMatrixcontroller.js
const Matrix = require("../models/evaluationMatrix");
module.exports = {
matrices: async (req, res) => {
try {
const result = await Matrix.findAllMatrices();
if (!result) {
return res.status(404).json({ message: "Sorry no Matrix has been setup." });
}
console.log(`Matrices, 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" });
}
},
matrixById: async (req, res) => {
const {id} = req.body;
try {
const result = await Matrix.findMatrixById(id);
if (!result) {
return res
.status(404)
.json({ message: "Sorry that Matrix does not exist." });
}
console.log(
`Matrix 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" });
}
},
createMatrix: async (req, res) => {
const { name, description } = req.body;
try {
const serv = await Matrix.findMatrixByName(name);
if (serv) {
return res.status(400).json({
message:
"Sorry there is an existing Matrix with that name. Choose a different name",
});
}
const newMatrix = { name, description };
const result = await Matrix.createMatrix(newMatrix);
console.log(`successfully Created an a new Matrix 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" });
}
},
updateAvailableMatrix: async (req, res) => {
const { id, name, description } = req.body;
try {
const serv = await Matrix.findMatrixById(id);
if (!serv) {
return res.status(400).json({
message:
"Sorry there seems to be a problem. Try again latter",
});
}
const updatedmatrix = {
id,
name,
description,
updated_by: req.userId,
updated_at: new Date(),
};
const result = await Matrix.updateMatrix(updatedmatrix);
console.log(`Successfully Updated Matrix ${updatedmatrix.name} 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" });
}
},
};