36 lines
834 B
TypeScript
36 lines
834 B
TypeScript
import { DateTime } from 'luxon'
|
|
import { BaseModel, column } from '@adonisjs/lucid/orm'
|
|
import { DbRememberMeTokensProvider } from '@adonisjs/auth/session'
|
|
|
|
export default class User extends BaseModel {
|
|
static rememberMeTokens = DbRememberMeTokensProvider.forModel(User)
|
|
|
|
@column({ isPrimary: true })
|
|
declare id: number
|
|
|
|
@column({ serializeAs: 'class', serialize: serializeClass })
|
|
declare classId: number
|
|
|
|
@column()
|
|
declare firstName: string
|
|
|
|
@column()
|
|
declare lastName: string
|
|
|
|
@column()
|
|
declare email: string
|
|
|
|
@column()
|
|
declare avatar: string
|
|
|
|
@column.dateTime({ autoCreate: true })
|
|
declare createdAt: DateTime
|
|
|
|
@column.dateTime({ autoCreate: true, autoUpdate: true })
|
|
declare updatedAt: DateTime | null
|
|
}
|
|
|
|
// TODO
|
|
function serializeClass(classId: number): string {
|
|
return 'class_' + classId
|
|
}
|