Skip to content
Snippets Groups Projects
Commit 031bd21b authored by Renzo Beux's avatar Renzo Beux
Browse files

Merge branch 'feature/audit' into develop

parents e00975a4 d9c0d460
No related branches found
No related tags found
No related merge requests found
......@@ -143,12 +143,12 @@ const login = async (req: Request, res: Response): Promise<Response> => {
const validate = async (req: Request, res: Response): Promise<Response> => {
const { token } = req.body;
if (token) {
jwt.verify(token, secret.auth, (error: Error, decoded: {id: number; type: number}) => {
jwt.verify(token, secret.auth, (error: Error, decoded: {user: number; role: number}) => {
if (error) {
const message = 'Invalid token';
return res.status(401).send({ message });
}
const userId = decoded.id;
const userId = decoded.user;
return res.status(200).send({ userId });
});
} else {
......@@ -157,6 +157,17 @@ const validate = async (req: Request, res: Response): Promise<Response> => {
return res.status(500).send();
};
const listUsersById = async (req: Request, res: Response): Promise<Response> => {
try {
const { userIds } = req.body;
const users = await UserService.listUsersById(userIds);
return res.status(200).send(users);
} catch (error) {
const e = error as Error;
return res.status(400).json({ error: e.message });
}
};
router.route('/login')
.post(login);
......@@ -192,4 +203,7 @@ router.route('/:id/admin')
router.route('/:id/client')
.put(removeAdminPermission);
router.route('/usersById')
.post(listUsersById);
export default router;
import bcrypt from 'bcrypt';
import { Op } from 'sequelize';
import { Op, where } from 'sequelize';
import { profiles, status } from '../enums/index.enum';
import Paginator from '../interfaces/paginator.interface';
import { User } from '../models/users.model';
......@@ -418,6 +418,16 @@ const login = async (userDTO: UserLoginDTO): Promise<User> => User.findOne({
throw new Error('find user error');
});
const listUsersById = async (ids: number[]): Promise<User[]> => {
const users = User.findAll({
attributes: [
'id', 'name', 'email', 'organization', 'type',
],
where: { id: { [Op.in]: ids } },
});
return users;
};
export default {
listAll,
listPending,
......@@ -433,4 +443,5 @@ export default {
giveAdminPermission,
removeAdminPermission,
login,
listUsersById,
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment