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 @belongsTo(() => Keyword) declare keyword: BelongsTo }