Files
graphs/backend/routes/userRoutes.js
Cauê Faleiros c8d475808b
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 2m46s
Add super admin user management
2026-06-16 15:46:04 -03:00

54 lines
1.4 KiB
JavaScript

const express = require('express');
const { verifySuperAdmin } = require('../auth');
const { createUser, deleteUser, listUsers, updateUser } = require('../services/userService');
const router = express.Router();
router.get('/users', verifySuperAdmin, async (req, res, next) => {
try {
const users = await listUsers();
res.json({ users });
} catch (error) {
next(error);
}
});
router.post('/users', verifySuperAdmin, async (req, res, next) => {
try {
const { name, email, password } = req.body || {};
const { user, password: userPassword, generatedPassword } = await createUser({ name, email, password });
const responsePayload = {
user
};
if (generatedPassword) {
responsePayload.temporaryPassword = userPassword;
}
res.status(201).json(responsePayload);
} catch (error) {
next(error);
}
});
router.patch('/users/:id', verifySuperAdmin, async (req, res, next) => {
try {
const user = await updateUser(req.params.id, req.body || {});
res.json({ user });
} catch (error) {
next(error);
}
});
router.delete('/users/:id', verifySuperAdmin, async (req, res, next) => {
try {
await deleteUser(req.params.id);
res.status(204).send();
} catch (error) {
next(error);
}
});
module.exports = router;