| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { DateTime } from 'luxon'
- import { beforeSave, column } from '@ioc:Adonis/Lucid/Orm'
- import Hash from '@ioc:Adonis/Core/Hash'
- import AppBaseModel from './AppBaseModel'
- export enum UserRoles {
- Admin = 'admin',
- Operator = 'operator',
- Api = 'api',
- User = 'user',
- Card = 'card'
- }
- export default class User extends AppBaseModel {
- @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 role: UserRoles = UserRoles.User
- @column()
- public username: string
- @column()
- public phone?: string
- @column()
- public email?: string
- @column({ serializeAs: null })
- public password?: string
- @column()
- public avatar?: string
- @column()
- public referrer?: number
- @column()
- public visitor: boolean
- }
|