feat: add endpoint get product history price
This commit is contained in:
		| @@ -1,7 +1,6 @@ | ||||
| import { HttpException, HttpStatus, Injectable } from '@nestjs/common'; | ||||
| import { EntityNotFoundError, IsNull, Repository } from 'typeorm'; | ||||
| import { InjectRepository } from '@nestjs/typeorm'; | ||||
| import { ProductCategories } from '../entities/product-category.entity'; | ||||
| import { ProductHistoryPrice } from '../entities/product-history-price.entity'; | ||||
|  | ||||
| @Injectable() | ||||
| @@ -34,4 +33,49 @@ export class ProductHistoryPriceService { | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   async findOneByProductId( | ||||
|     page: number, | ||||
|     productId: string, | ||||
|     supplierId: string, | ||||
|   ) { | ||||
|     try { | ||||
|       const query = this.productHistoryPriceService | ||||
|         .createQueryBuilder('product_history_price') | ||||
|         .leftJoin('product_history_price.product', 'product') | ||||
|         .where({ product: productId }) | ||||
|         .andWhere('product_history_price.endDate IS NULL'); | ||||
|  | ||||
|       if (supplierId !== 'null' && supplierId) { | ||||
|         query.andWhere('product.supplier = :supplierId', { | ||||
|           supplierId: supplierId, | ||||
|         }); | ||||
|       } | ||||
|  | ||||
|       const data = await query | ||||
|         .orderBy('product_history_price.createdAt', 'DESC') | ||||
|         .skip(page * 10) | ||||
|         .take(10) | ||||
|         .getMany(); | ||||
|  | ||||
|       const totalData = await query.getCount(); | ||||
|  | ||||
|       return { | ||||
|         data, | ||||
|         count: totalData, | ||||
|       }; | ||||
|     } catch (e) { | ||||
|       if (e instanceof EntityNotFoundError) { | ||||
|         throw new HttpException( | ||||
|           { | ||||
|             statusCode: HttpStatus.NOT_FOUND, | ||||
|             error: 'Product History Price not found', | ||||
|           }, | ||||
|           HttpStatus.NOT_FOUND, | ||||
|         ); | ||||
|       } else { | ||||
|         throw e; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user