Files
eventmaster/software/backend/models/ordering/order.model.ts

46 lines
867 B
TypeScript

import { Table, Column, Model, BelongsTo, ForeignKey, HasMany, BelongsToMany, Default } from 'sequelize-typescript';
import { Account } from '../user/account.model';
import { Ticket } from './ticket.model';
import { Address } from '../user/address.model';
import { Payment } from '../user/payment.model';
@Table({
updatedAt: false,
createdAt: 'orderedAt'
})
export class Order extends Model {
@Column
@ForeignKey(() => Account)
accountId: number
@Column
orderedAt: Date
@Default(1)
@Column
shippingProgress: number
@ForeignKey(() => Address)
@Column
addressId: number
@ForeignKey(() => Payment)
@Column
paymentId: number
// Relations
@BelongsTo(() => Account)
account: Account
@BelongsTo(() => Address)
address: Address
@BelongsTo(() => Payment)
payment: Payment
@HasMany(() => Ticket)
tickets: Ticket[]
}