wf-radio/src/controllers/users.js

63 lines
1.6 KiB
JavaScript

const handleError = require("../middleware/errors");
const user_service = require("../services/userService")
const { authorizeUserModification } = require("../middleware/auth");
async function listUsers(req, res) {
try {
// Query
const query_result = await user_service.getAllUsers();
res.json(query_result);
} catch (error) {
handleError(error, res);
}
}
async function getUserByName(req, res) {
try {
// Query
const query_result = await user_service.getUserByName(req.params.name);
res.json(query_result);
} catch (error) {
handleError(error, res);
}
}
async function createUser(req, res) {
try {
// 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);
} catch (error) {
handleError(error, res);
}
}
async function deleteUser(req, res) {
try {
// 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);
} catch (error) {
handleError(error, res);
}
}
module.exports = { listUsers, getUserByName, createUser, modifyUser, deleteUser };