import { DateTime } from 'luxon' import { BaseModel, column, hasMany } from '@adonisjs/lucid/orm' import type { HasMany } from '@adonisjs/lucid/types/relations' import Notification from '#models/notification' export default class Auction extends BaseModel { @column({ isPrimary: true }) declare id: number @column() declare auctionNum: string @column() declare title: string @column() declare description: string | null @column() declare organization: string | null @column() declare status: string | null @column() declare price: number | null @column.dateTime() declare deadline: DateTime | null @column() declare url: string | null @column({ prepare: (value: Record | null) => (value ? JSON.stringify(value) : null), consume: (value: string | null) => (value ? JSON.parse(value) : null), }) declare rawData: Record | null @column.dateTime({ autoCreate: true }) declare createdAt: DateTime @column.dateTime({ autoCreate: true, autoUpdate: true }) declare updatedAt: DateTime @hasMany(() => Notification) declare notifications: HasMany }