From 41856f7a02e912f3f43eaeecc32d515ca3bf4108 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Wed, 22 Dec 2021 13:42:38 +0700 Subject: [PATCH] feat: add filter on endpoint product by sub category --- src/product/product-sub-categories.service.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/product/product-sub-categories.service.ts b/src/product/product-sub-categories.service.ts index ffc0492..2d87321 100644 --- a/src/product/product-sub-categories.service.ts +++ b/src/product/product-sub-categories.service.ts @@ -1,5 +1,5 @@ import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; -import { EntityNotFoundError, Repository } from 'typeorm'; +import { EntityNotFoundError, In, Repository } from 'typeorm'; import { ProductSubCategories } from './entities/product-sub-category.entity'; import { InjectRepository } from '@nestjs/typeorm'; import { CreateSubCategoriesProductDto } from './dto/sub-categories/create-sub-categories-product.dto'; @@ -45,13 +45,19 @@ export class ProductSubCategoriesService { } async findAll(page, category) { + let filterCategories = []; + + if (category !== 'null') { + filterCategories = category.split(',').map((data) => data.trim()); + } + const baseQuery = this.productSubCategoriesRepository .createQueryBuilder('product_sub_categories') .leftJoinAndSelect('product_sub_categories.category', 'category'); - if (category != 'null' && category) { + if (filterCategories.length > 0) { baseQuery.where({ - category: category, + category: In(filterCategories), }); }