projeto-hit/backend/src/services/UserServices/ListUserParamiterService.ts

72 lines
1.1 KiB
TypeScript
Raw Normal View History

import { Op, Sequelize } from "sequelize";
import Queue from "../../models/Queue";
import User from "../../models/User";
import UserQueue from "../../models/UserQueue";
interface Request {
userId?: string | number;
profile?: string;
}
const ListUser = async ({ profile, userId }: Request): Promise<User[]> => {
let where_clause = {}
if (userId && profile) {
where_clause = {
[Op.and]: [
{ userId: userId },
{ profile: profile }
]
}
}
else if (userId) {
where_clause = {
[Op.and]: [
{ userId: userId },
]
}
}
else if (profile) {
where_clause = {
profile: profile
}
}
const users = await User.findAll({
where: where_clause,
raw: true,
attributes: ['id', 'name', 'email'],
// include: [
// {
// model: UserQueue,
// separate: true,
// attributes: ['id',],
// order: [
// ['createdAt', 'ASC']
// ]
// },
// ],
order: [["id", "ASC"]],
})
return users;
};
export default ListUser;