Files
artdanj-api/app/Models/User.ts
2022-07-14 16:03:01 +02:00

39 lines
814 B
TypeScript
Executable File

import type { DateTime } from 'luxon'
import Hash from '@ioc:Adonis/Core/Hash'
import { BaseModel, beforeSave, column } from '@ioc:Adonis/Lucid/Orm'
export default class User extends BaseModel {
@column({ isPrimary: true })
public id: number
@column()
public username: string
@column()
public email: string
@column()
public password: string
@column()
public confirmationToken: string
@column()
public isConfirmed: boolean
@column()
public rememberMeToken?: string
@column.dateTime({ autoCreate: true })
public createdAt: DateTime
@column.dateTime({ autoCreate: true, autoUpdate: true })
public updatedAt: DateTime
@beforeSave()
public static async hashPassword(user: User) {
if (user.$dirty.password)
user.password = await Hash.make(user.password)
}
}