38 lines
910 B
TypeScript
38 lines
910 B
TypeScript
import { DateTime } from 'luxon'
|
|
import { BaseModel, column, belongsTo } from '@adonisjs/lucid/orm'
|
|
import type { BelongsTo } from '@adonisjs/lucid/types/relations'
|
|
import Auction from '#models/auction'
|
|
import Keyword from '#models/keyword'
|
|
|
|
export default class Notification extends BaseModel {
|
|
@column({ isPrimary: true })
|
|
declare id: number
|
|
|
|
@column()
|
|
declare auctionId: number
|
|
|
|
@column()
|
|
declare keywordId: number
|
|
|
|
@column()
|
|
declare status: 'pending' | 'sent' | 'failed'
|
|
|
|
@column()
|
|
declare errorMessage: string | null
|
|
|
|
@column.dateTime()
|
|
declare sentAt: DateTime | null
|
|
|
|
@column.dateTime({ autoCreate: true })
|
|
declare createdAt: DateTime
|
|
|
|
@column.dateTime({ autoCreate: true, autoUpdate: true })
|
|
declare updatedAt: DateTime
|
|
|
|
@belongsTo(() => Auction)
|
|
declare auction: BelongsTo<typeof Auction>
|
|
|
|
@belongsTo(() => Keyword)
|
|
declare keyword: BelongsTo<typeof Keyword>
|
|
}
|