File: //home/evaluation-leave/controllers/rolecontroller.js
const Role = require("../models/roles");
module.exports = {
roles: async (req, res) => {
try {
const result = await Role.findAllRoles();
if (!result) {
return res.status(404).json({ message: "Sorry no Roles has been setup." });
}
console.log(`Roles, 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" });
}
},
roleById: async (req, res) => {
const {id} = req.body;
try {
const result = await Role.findRoleById(id);
if (!result) {
return res
.status(404)
.json({ message: "Sorry that Role does not exist." });
}
console.log(
`Role 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" });
}
},
createRole: async (req, res) => {
const { name } = req.body;
try {
const serv = await Role.findRoleByName(name);
if (serv) {
return res.status(400).json({
message:
"Sorry there is an existing Role with that name. Choose a different name",
});
}
const newRole = { name };
const result = await Role.createRole(newRole);
console.log(`successfully Created an a new Role 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" });
}
},
updateAvailableRole: async (req, res) => {
const { id, name } = req.body;
try {
const serv = await Role.findRoleById(id);
if (!serv) {
return res.status(400).json({
message:
"Sorry there seems to be a problem. Try again latter",
});
}
const updatedRole = {
id,
name,
updated_by: req.userId,
updated_at: new Date(),
};
const result = await Role.updateRole(updatedRole);
console.log(`Successfully Updated Role ${updatedRole.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" });
}
},
};