You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.1 KiB
59 lines
1.1 KiB
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<Order> { |
|
@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; |
|
}
|
|
|