From 48524542f2797f45fd4fec04576c2e7329691643 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sat, 20 Dec 2025 13:01:26 +0330 Subject: [PATCH] populate order with payments --- src/modules/orders/entities/order.entity.ts | 7 +++++++ src/modules/payments/entities/payment.entity.ts | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/orders/entities/order.entity.ts b/src/modules/orders/entities/order.entity.ts index ed48e14..592627b 100644 --- a/src/modules/orders/entities/order.entity.ts +++ b/src/modules/orders/entities/order.entity.ts @@ -19,6 +19,7 @@ import { PaymentMethod } from '../../payments/entities/payment-method.entity'; import { OrderItem } from './order-item.entity'; import { Delivery } from '../../delivery/entities/delivery.entity'; import { OrderUserAddress, OrderCarAddress } from '../interface/order.interface'; +import { Payment } from 'src/modules/payments/entities/payment.entity'; @Entity({ tableName: 'orders' }) @Unique({ properties: ['restaurant', 'orderNumber'] }) @@ -36,6 +37,12 @@ export class Order extends BaseEntity { @ManyToOne(() => Delivery) deliveryMethod!: Delivery; + @OneToMany(() => Payment, payment => payment.order, { + cascade: [Cascade.ALL], + orphanRemoval: true, + }) + payments = new Collection(this); + @OneToMany(() => OrderItem, item => item.order, { cascade: [Cascade.ALL], orphanRemoval: true, diff --git a/src/modules/payments/entities/payment.entity.ts b/src/modules/payments/entities/payment.entity.ts index 1c30e9c..5f2827e 100644 --- a/src/modules/payments/entities/payment.entity.ts +++ b/src/modules/payments/entities/payment.entity.ts @@ -1,4 +1,4 @@ -import { Entity, ManyToOne, Property, Enum } from '@mikro-orm/core'; +import { Entity, ManyToOne, Property, Enum, Index } from '@mikro-orm/core'; import { BaseEntity } from '../../../common/entities/base.entity'; import { Order } from '../../orders/entities/order.entity'; import { PaymentGatewayEnum, PaymentMethodEnum, PaymentStatusEnum } from '../interface/payment'; @@ -6,6 +6,7 @@ import { PaymentGatewayEnum, PaymentMethodEnum, PaymentStatusEnum } from '../int @Entity({ tableName: 'payments' }) export class Payment extends BaseEntity { @ManyToOne(() => Order) + @Index() order!: Order; @Property({ type: 'decimal', precision: 10, scale: 0 })