2025-03-31 09:42:30 +02:00
|
|
|
const handleError = require("../middleware/errors");
|
|
|
|
const user_service = require("../services/userService")
|
2025-05-04 19:31:03 +02:00
|
|
|
const { authorizeUserModification } = require("../middleware/auth");
|
2025-03-31 09:42:30 +02:00
|
|
|
|
2025-05-04 19:31:03 +02:00
|
|
|
|
|
|
|
async function listUsers(req, res) {
|
2025-03-31 09:42:30 +02:00
|
|
|
try {
|
2025-05-04 19:31:03 +02:00
|
|
|
// Query
|
2025-03-31 09:42:30 +02:00
|
|
|
const query_result = await user_service.getAllUsers();
|
|
|
|
res.json(query_result);
|
|
|
|
} catch (error) {
|
2025-05-04 19:31:03 +02:00
|
|
|
handleError(error, res);
|
2025-03-31 09:42:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async function getUserByName(req, res) {
|
|
|
|
try {
|
2025-05-04 19:31:03 +02:00
|
|
|
// Query
|
2025-03-31 09:42:30 +02:00
|
|
|
const query_result = await user_service.getUserByName(req.params.name);
|
|
|
|
res.json(query_result);
|
|
|
|
} catch (error) {
|
2025-05-04 19:31:03 +02:00
|
|
|
handleError(error, res);
|
2025-03-31 09:42:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async function createUser(req, res) {
|
|
|
|
try {
|
2025-05-04 19:31:03 +02:00
|
|
|
// Query
|
|
|
|
const query_result = await user_service.createUser(req.body);
|
|
|
|
res.json(query_result);
|
|
|
|
} catch (error) {
|
|
|
|
handleError(error, res);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async function modifyUser(req, res) {
|
|
|
|
try {
|
|
|
|
// Query
|
|
|
|
const diff_data = req.body;
|
|
|
|
const query_result = await user_service.modifyUser(diff_data);
|
|
|
|
res.json(query_result);
|
2025-03-31 09:42:30 +02:00
|
|
|
} catch (error) {
|
2025-05-04 19:31:03 +02:00
|
|
|
handleError(error, res);
|
2025-03-31 09:42:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
async function deleteUser(req, res) {
|
|
|
|
try {
|
2025-05-04 19:31:03 +02:00
|
|
|
// Authenticate
|
|
|
|
await authorizeUserModification(req);
|
|
|
|
// Query
|
|
|
|
const user = req.params.name;
|
|
|
|
const token_user = req.token_infos
|
|
|
|
const query_result = await user_service.deleteUser(user, token_user);
|
|
|
|
return res.json(query_result);
|
2025-03-31 09:42:30 +02:00
|
|
|
} catch (error) {
|
2025-05-04 19:31:03 +02:00
|
|
|
handleError(error, res);
|
2025-03-31 09:42:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-05-04 19:31:03 +02:00
|
|
|
module.exports = { listUsers, getUserByName, createUser, modifyUser, deleteUser };
|