daton/app/models/User.model.ts

31 lines
854 B
TypeScript
Raw Normal View History

import {Model} from '../../orm/src/model/Model.ts'
import {Type} from '../../orm/src/db/types.ts'
import {Field} from '../../orm/src/model/Field.ts'
import LoginAttemptModel from './LoginAttempt.model.ts'
import {Relation} from '../../orm/src/model/relation/decorators.ts'
export default class UserModel extends Model<UserModel> {
protected static table = 'daton_users'
protected static key = 'user_id'
protected static readonly CREATED_AT = 'created_at'
protected static readonly UPDATED_AT = 'updated_at'
@Field(Type.int)
protected user_id?: number
@Field(Type.varchar)
protected first_name!: String
@Field(Type.varchar)
protected last_name!: String
@Field(Type.bool)
protected active!: Boolean
@Relation()
public login_attempts() {
return this.has_many(LoginAttemptModel)
}
}