import { Column, Entity, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, VersionColumn, OneToMany, } from 'typeorm'; import { PasswordResetToken } from './password-reset-token.entity'; export enum UserRole { standard = 'standard', advanced = 'advanced', super = 'super', } @Entity() export class User { @PrimaryGeneratedColumn() id: number; @Column({ unique: true }) email: string; @Column({ unique: true }) username: string; @Column() role: UserRole; @OneToMany( type => PasswordResetToken, token => token.user, ) passwordResetTokens: PasswordResetToken[]; @Column() passwordHash: string; @CreateDateColumn() createdAt: Date; @UpdateDateColumn() updatedAt: Date; @DeleteDateColumn() deletedAt: Date; @VersionColumn() version: number; }