Merge pull request #70 from Danakcorp/mrtz

them valkue populate
This commit is contained in:
morteza-mortezai
2025-11-30 08:43:08 +03:30
committed by GitHub
2 changed files with 21 additions and 1 deletions
+5
View File
@@ -4,6 +4,7 @@ import { OrderItemDTO } from "./order.dto";
import { OrdersStatus } from "../../../common/enums/order.enum";
import { TimeService } from "../../../utils/time.service";
import { PaymentDTO } from "../../payment/DTO/payment.dto";
import { ThemeValueDTO } from "../../product/DTO/product.dto";
import { UserDTO } from "../../user/DTO/user.dto";
import { IOrder } from "../models/Abstraction/IOrder";
@@ -54,6 +55,10 @@ export class UserOrderDTO {
@Transform(({ value }) => TimeService.convertGregorianToPersian(new Date(value), true))
createdAt: string;
@Expose()
@Type(() => ThemeValueDTO)
themeValue: ThemeValueDTO;
public static transformOrder(data: IOrder): UserOrderDTO {
const OrderDTO = plainToClass(UserOrderDTO, data, {
excludeExtraneousValues: true,
+16 -1
View File
@@ -120,7 +120,7 @@ class OrderRepository extends BaseRepository<IOrder> {
default:
break;
}
return this.model.aggregate([
const orders = await this.model.aggregate([
{
$match: matchQuery,
},
@@ -207,6 +207,20 @@ class OrderRepository extends BaseRepository<IOrder> {
{
$unwind: "$shipmentItemVariant",
},
{
$lookup: {
from: "themevalues",
localField: "shipmentItemVariant.themeValue",
foreignField: "_id",
as: "shipmentItemVariant.themeValue",
},
},
{
$unwind: {
path: "$shipmentItemVariant.themeValue",
preserveNullAndEmptyArrays: true,
},
},
{
$group: {
_id: "$orderItems._id",
@@ -274,6 +288,7 @@ class OrderRepository extends BaseRepository<IOrder> {
},
},
]);
return orders;
}
async getUserOrderDetail(orderId: number, userId: string) {