fix(api): enhance getCriteriaIds function

This commit is contained in:
yassinedorbozgithub 2025-06-12 16:25:49 +01:00
parent 7a7a70cbf2
commit 3fe1cc4f28
2 changed files with 12 additions and 13 deletions

View File

@ -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<Category>,
) {
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({

View File

@ -8,12 +8,14 @@
import { FilterQuery } from 'mongoose';
export const getCriteriaIds = <T extends { _id: string }>(
criteria: FilterQuery<T>,
) => {
return Array.isArray(criteria._id.$in)
? criteria._id.$in
: Array.isArray(criteria._id)
? criteria._id
: [criteria._id];
export const getCriteriaIds = <T extends { _id: string }>({
_id,
}: FilterQuery<T>) => {
return Array.isArray(_id?.$in)
? _id.$in
: Array.isArray(_id)
? _id
: _id
? [_id]
: [];
};