import { Entity, Enum, ManyToOne, Property } from '@mikro-orm/core'; import { BaseEntity } from '../../../common/entities/base.entity'; import { Order } from './order.entity'; import { Variant } from '../../products/entities/variant.entity'; import { OrderItemStatus } from '../enum/order-item.enum'; @Entity({ tableName: 'order_items' }) export class OrderItem extends BaseEntity { @ManyToOne(() => Order) order!: Order; @ManyToOne(() => Variant) variant!: Variant; @Property({ type: 'int' }) quantity!: number; @Property({ type: 'decimal', precision: 10, scale: 0 }) unitPrice!: number; @Property({ type: 'decimal', precision: 10, scale: 0, default: 0 }) discount: number = 0; @Property({ type: 'decimal', precision: 10, scale: 0 }) totalPrice!: number; @Enum(() => OrderItemStatus) status: OrderItemStatus = OrderItemStatus.normal; }