fix: agents query

This commit is contained in:
Danny Avila 2024-09-03 18:49:15 -04:00
parent 3f694f2e25
commit dd90907a18
No known key found for this signature in database
GPG key ID: 2DD9CC89B9B50364
2 changed files with 9 additions and 10 deletions

View file

@ -71,14 +71,13 @@ const deleteAgent = async (searchParameter) => {
const getListAgents = async (searchParameter) => { const getListAgents = async (searchParameter) => {
const { author, ...otherParams } = searchParameter; const { author, ...otherParams } = searchParameter;
let query = { let query = Object.assign({ author }, otherParams);
$or: [{ author }, { projectIds: { $exists: true, $ne: [], $not: { $size: 0 } } }],
...otherParams,
};
const globalProject = await getProjectByName(GLOBAL_PROJECT_NAME, 'agentIds'); const globalProject = await getProjectByName(GLOBAL_PROJECT_NAME, ['agentIds']);
if (globalProject && globalProject.agentIds.length > 0) { if (globalProject && (globalProject.agentIds?.length ?? 0) > 0) {
query.$or.push({ _id: { $in: globalProject.agentIds } }); const globalQuery = { id: { $in: globalProject.agentIds }, ...otherParams };
delete globalQuery.author;
query = { $or: [globalQuery, query] };
} }
const agents = await Agent.find(query, { const agents = await Agent.find(query, {

View file

@ -131,9 +131,9 @@ const deleteAgentHandler = async (req, res) => {
*/ */
const getListAgentsHandler = async (req, res) => { const getListAgentsHandler = async (req, res) => {
try { try {
const { user } = req.query; const data = await getListAgents({
const filter = user ? { author: user } : {}; author: req.user.id,
const data = await getListAgents(filter); });
return res.json(data); return res.json(data);
} catch (error) { } catch (error) {
logger.error('[/Agents] Error listing Agents', error); logger.error('[/Agents] Error listing Agents', error);