import { DateTime } from 'luxon'
import { BaseModel, column } from '@adonisjs/lucid/orm'
import { StaffActivityType } from '../../types/enum.js'

export default class StaffActivityLog extends BaseModel {
  @column({ isPrimary: true })
  declare id: number

  @column()
  declare staff_id: number

  @column({
    serialize: (value) => {
      return { id: value, name: StaffActivityType[value as keyof typeof StaffActivityType] }
    },
  })
  declare activity_type: StaffActivityType

  @column()
  declare description: string

  @column.dateTime({ autoCreate: true })
  declare created_at: DateTime

  @column.dateTime({ autoCreate: true, autoUpdate: true })
  declare updated_at: DateTime
}
