import { Table, Column, Model, DataType, ForeignKey, BelongsTo, } from 'sequelize-typescript'; import { User } from 'src/modules/users/entities/user.entity'; import { OrderStatuses } from 'src/modules/orders/entities/order-status.entity'; import { Product } from 'src/modules/products/entities/product.entity'; @Table({ tableName: 'orders' }) export class Order extends Model { @Column({ type: DataType.DATE, allowNull: true, defaultValue: new Date(), }) orderDate: Date; @Column({ type: DataType.ARRAY(DataType.INTEGER), allowNull: false, }) products: number[]; @ForeignKey(() => OrderStatuses) @Column status: number; @Column({ type: DataType.STRING, allowNull: true, }) comments: string; @Column({ type: DataType.DATE, allowNull: true, }) shippedDate: Date; @Column({ type: DataType.STRING, allowNull: true, }) shipperName: string; @ForeignKey(() => User) @Column userId: number; @BelongsTo(() => User) user: User; @BelongsTo(() => OrderStatuses) orderStatuses: OrderStatuses; }