them valkue populate
This commit is contained in:
@@ -4,6 +4,7 @@ import { OrderItemDTO } from "./order.dto";
|
|||||||
import { OrdersStatus } from "../../../common/enums/order.enum";
|
import { OrdersStatus } from "../../../common/enums/order.enum";
|
||||||
import { TimeService } from "../../../utils/time.service";
|
import { TimeService } from "../../../utils/time.service";
|
||||||
import { PaymentDTO } from "../../payment/DTO/payment.dto";
|
import { PaymentDTO } from "../../payment/DTO/payment.dto";
|
||||||
|
import { ThemeValueDTO } from "../../product/DTO/product.dto";
|
||||||
import { UserDTO } from "../../user/DTO/user.dto";
|
import { UserDTO } from "../../user/DTO/user.dto";
|
||||||
import { IOrder } from "../models/Abstraction/IOrder";
|
import { IOrder } from "../models/Abstraction/IOrder";
|
||||||
|
|
||||||
@@ -54,6 +55,10 @@ export class UserOrderDTO {
|
|||||||
@Transform(({ value }) => TimeService.convertGregorianToPersian(new Date(value), true))
|
@Transform(({ value }) => TimeService.convertGregorianToPersian(new Date(value), true))
|
||||||
createdAt: string;
|
createdAt: string;
|
||||||
|
|
||||||
|
@Expose()
|
||||||
|
@Type(() => ThemeValueDTO)
|
||||||
|
themeValue: ThemeValueDTO;
|
||||||
|
|
||||||
public static transformOrder(data: IOrder): UserOrderDTO {
|
public static transformOrder(data: IOrder): UserOrderDTO {
|
||||||
const OrderDTO = plainToClass(UserOrderDTO, data, {
|
const OrderDTO = plainToClass(UserOrderDTO, data, {
|
||||||
excludeExtraneousValues: true,
|
excludeExtraneousValues: true,
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ class OrderRepository extends BaseRepository<IOrder> {
|
|||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return this.model.aggregate([
|
const orders = await this.model.aggregate([
|
||||||
{
|
{
|
||||||
$match: matchQuery,
|
$match: matchQuery,
|
||||||
},
|
},
|
||||||
@@ -207,6 +207,20 @@ class OrderRepository extends BaseRepository<IOrder> {
|
|||||||
{
|
{
|
||||||
$unwind: "$shipmentItemVariant",
|
$unwind: "$shipmentItemVariant",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
$lookup: {
|
||||||
|
from: "themevalues",
|
||||||
|
localField: "shipmentItemVariant.themeValue",
|
||||||
|
foreignField: "_id",
|
||||||
|
as: "shipmentItemVariant.themeValue",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$unwind: {
|
||||||
|
path: "$shipmentItemVariant.themeValue",
|
||||||
|
preserveNullAndEmptyArrays: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
$group: {
|
$group: {
|
||||||
_id: "$orderItems._id",
|
_id: "$orderItems._id",
|
||||||
@@ -274,6 +288,7 @@ class OrderRepository extends BaseRepository<IOrder> {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
return orders;
|
||||||
}
|
}
|
||||||
|
|
||||||
async getUserOrderDetail(orderId: number, userId: string) {
|
async getUserOrderDetail(orderId: number, userId: string) {
|
||||||
|
|||||||
Reference in New Issue
Block a user