import { DateTime } from 'luxon' import { BaseModel, beforeSave, column, hasOne, HasOne } from '@ioc:Adonis/Lucid/Orm' import Hash from '@ioc:Adonis/Core/Hash' import Employee from 'App/Models/Employee' export default class User extends BaseModel { @column({ isPrimary: true }) public id: number @column.dateTime({ autoCreate: true }) public createdAt: DateTime @column.dateTime({ autoCreate: true, autoUpdate: true }) public updatedAt: DateTime @column() public username: string @column() public email: string @column({serializeAs: null}) public password : string @hasOne(() => Employee) public employeeProfile : HasOne @beforeSave() public static async hashPassword(user: User) { if(user.$dirty.password){ user.password = await Hash.make(user.password) } } }