User.ts 830 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { DateTime } from 'luxon'
  2. import { BaseModel, beforeSave, column } from '@ioc:Adonis/Lucid/Orm'
  3. import Hash from '@ioc:Adonis/Core/Hash'
  4. export default class User extends BaseModel {
  5. @beforeSave()
  6. public static async hashPassword(user: User) {
  7. if (user.$dirty.password) {
  8. user.password = await Hash.make(user.password!)
  9. }
  10. }
  11. @column({ isPrimary: true })
  12. public id: number
  13. @column.dateTime({ autoCreate: true })
  14. public createdAt: DateTime
  15. @column.dateTime({ autoCreate: true, autoUpdate: true })
  16. public updatedAt: DateTime
  17. @column()
  18. public username: string
  19. @column()
  20. public phone?: string
  21. @column()
  22. public email?: string
  23. @column({ serializeAs: null })
  24. public password?: string
  25. @column()
  26. public avatar?: string
  27. }