import { Column, Entity, ManyToOne, OneToMany, PrimaryGeneratedColumn, } from 'typeorm'; import { Timestamp } from './timestamp'; import { BidHistory } from './bid-history.entity'; import { WebBid } from './wed-bid.entity'; import { SendMessageHistory } from './send-message-histories.entity'; import { BidMetadata } from './bid-metadata.entity'; @Entity('bids') export class Bid extends Timestamp { @PrimaryGeneratedColumn('increment') id: number; @Column() max_price: number; @Column({ default: 1 }) quantity: number; @Column() url: string; @Column({ unique: true, default: null, nullable: true }) model: string | null; @Column({ default: null, nullable: true }) lot_id: string; @Column({ default: 0 }) plus_price: number; @Column({ default: 0 }) reserve_price: number; @Column({ default: null, nullable: true }) name: string; @Column({ default: 0 }) current_price: number; @Column({ default: null, nullable: true }) close_time: string; @Column({ default: null, nullable: true }) close_time_ts: Date | null; @Column({ default: null, nullable: true }) start_bid_time: string; @Column({ default: true }) first_bid: boolean; @Column({ default: 'biding' }) status: 'biding' | 'out-bid' | 'win-bid'; @OneToMany(() => BidHistory, (bidHistory) => bidHistory.bid, { cascade: true, }) histories: BidHistory[]; @OneToMany(() => SendMessageHistory, (sendMessage) => sendMessage.bid, { cascade: true, }) sendMessageHistories: SendMessageHistory[]; @ManyToOne(() => WebBid, (web) => web.children, { onDelete: 'CASCADE' }) web_bid: WebBid; @OneToMany(() => BidMetadata, (metadata) => metadata.bid, { cascade: true }) metadata: BidMetadata[]; }