import { DateTime } from 'luxon' import { BaseModel, beforeSave, column } from '@ioc:Adonis/Lucid/Orm' import Hash from '@ioc:Adonis/Core/Hash' export default class User extends BaseModel { @beforeSave() public static async hashPassword(user: User) { if (user.$dirty.password) { user.password = await Hash.make(user.password!) } } @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 phone?: string @column() public email?: string @column({ serializeAs: null }) public password?: string @column() public avatar?: string }