diff --git a/src/products/dto/product.dto.ts b/src/products/dto/product.dto.ts index 940bf17..deb1532 100644 --- a/src/products/dto/product.dto.ts +++ b/src/products/dto/product.dto.ts @@ -12,6 +12,7 @@ import { CategoryResponseDTO } from 'src/category/dto/category.dto'; import { ResponsePresentationDTO } from './presentation.dto'; import { PaginationQueryDTO } from 'src/utils/dto/pagination.dto'; import { Expose, Transform, Type } from 'class-transformer'; +import { ResponsePromoDTO } from 'src/discount/dto/promo.dto'; export class AddCategoryDTO { @IsString() @@ -83,6 +84,11 @@ export class ProductPresentationDTO extends BaseDTO { @Type(() => ProductDTO) product: ProductDTO; + @Expose() + @Type(() => ResponsePromoDTO) + @ApiProperty({ type: ResponsePromoDTO }) + promo: ResponsePromoDTO; + @Expose() @ApiProperty({ description: 'Stock quantity in all branches' }) stock: number; diff --git a/src/products/products.service.ts b/src/products/products.service.ts index d01381e..2281a8c 100644 --- a/src/products/products.service.ts +++ b/src/products/products.service.ts @@ -113,6 +113,15 @@ export class ProductsService { categories: 'product.categories', presentation: 'product_presentation.presentation', }, + leftJoinAndSelect: { + promo: 'product_presentation.promo', + }, + }, + order: { + createdAt: 'DESC', + product: { + priority: 'ASC', + }, }, where, skip: (page - 1) * limit,