@@ -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,
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user