From 3fe1cc4f289cec5508ed2aedf96edbe4d9b2f504 Mon Sep 17 00:00:00 2001 From: yassinedorbozgithub Date: Thu, 12 Jun 2025 16:25:49 +0100 Subject: [PATCH] fix(api): enhance getCriteriaIds function --- .../chat/repositories/category.repository.ts | 7 ++----- api/src/utils/helpers/criteria.ts | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/api/src/chat/repositories/category.repository.ts b/api/src/chat/repositories/category.repository.ts index 69a9974c..6f24dd87 100644 --- a/api/src/chat/repositories/category.repository.ts +++ b/api/src/chat/repositories/category.repository.ts @@ -11,6 +11,7 @@ import { InjectModel } from '@nestjs/mongoose'; import { Document, Model, Query } from 'mongoose'; import { BaseRepository, DeleteResult } from '@/utils/generics/base-repository'; +import { getCriteriaIds } from '@/utils/helpers/criteria'; import { TFilterQuery } from '@/utils/types/filter.types'; import { CategoryDto } from '../dto/category.dto'; @@ -52,11 +53,7 @@ export class CategoryRepository extends BaseRepository< criteria: TFilterQuery, ) { criteria = query.getQuery(); - const ids = Array.isArray(criteria._id?.$in) - ? criteria._id.$in - : Array.isArray(criteria._id) - ? criteria._id - : [criteria._id]; + const ids = getCriteriaIds(criteria); for (const id of ids) { const associatedBlocks = await this.blockService.findOne({ diff --git a/api/src/utils/helpers/criteria.ts b/api/src/utils/helpers/criteria.ts index 140cfb8c..7744654c 100644 --- a/api/src/utils/helpers/criteria.ts +++ b/api/src/utils/helpers/criteria.ts @@ -8,12 +8,14 @@ import { FilterQuery } from 'mongoose'; -export const getCriteriaIds = ( - criteria: FilterQuery, -) => { - return Array.isArray(criteria._id.$in) - ? criteria._id.$in - : Array.isArray(criteria._id) - ? criteria._id - : [criteria._id]; +export const getCriteriaIds = ({ + _id, +}: FilterQuery) => { + return Array.isArray(_id?.$in) + ? _id.$in + : Array.isArray(_id) + ? _id + : _id + ? [_id] + : []; };