diff --git a/backend/src/services/UserServices/ListUserParamiterService.ts b/backend/src/services/UserServices/ListUserParamiterService.ts index e8ff0bd..6c431a5 100644 --- a/backend/src/services/UserServices/ListUserParamiterService.ts +++ b/backend/src/services/UserServices/ListUserParamiterService.ts @@ -1,4 +1,3 @@ - import { Op, Sequelize } from "sequelize"; import Queue from "../../models/Queue"; import User from "../../models/User"; @@ -7,65 +6,54 @@ import UserQueue from "../../models/UserQueue"; interface Request { userId?: string | number; profile?: string; + raw?: boolean; } - -const ListUser = async ({ profile, userId }: Request): Promise => { - - let where_clause = {} +const ListUser = async ({ profile, userId, raw }: Request): Promise => { + let where_clause = {}; if (userId && profile) { where_clause = { - [Op.and]: [ - { userId: userId }, - { profile: profile } - ] - } - } - else if (userId) { + [Op.and]: [{ userId: userId }, { profile: profile }] + }; + } else if (userId) { where_clause = { - [Op.and]: [ - { userId: userId }, - ] - } - } - else if (profile) { + [Op.and]: [{ userId: userId }] + }; + } else if (profile) { where_clause = { profile: profile - } + }; } - - const users = await User.findAll({ + const queryOptions: any = { where: where_clause, - raw: true, - attributes: ['id', 'name', 'email'], - + raw, + attributes: ["id", "name", "email"], + order: [["id", "ASC"]] + }; - // include: [ - // { - // model: UserQueue, - // separate: true, + if (!raw) { + queryOptions.include = [ + { model: Queue, as: "queues", attributes: ["id", "name", "color"] } + ]; + } - // attributes: ['id',], + const users = await User.findAll(queryOptions); - // order: [ - // ['createdAt', 'ASC'] - // ] - // }, - // ], + // const users = await User.findAll({ + // where: where_clause, + // raw, + // attributes: ['id', 'name', 'email'], + // include: [ + // { model: Queue, as: "queues", attributes: ["id", "name", "color"] } + // ], - - order: [["id", "ASC"]], - }) - + // order: [["id", "ASC"]], + // }) return users; }; export default ListUser; - - - -