30 lines
872 B
TypeScript
30 lines
872 B
TypeScript
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;
|
|
}
|