auction-scrapper/app/models/notification.ts
Vakula Uladimir 12f005e335 init
2025-10-17 11:27:52 +03:00

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>
}