import { Column, Entity, OneToMany } from 'typeorm'; import { AbstractEntity } from '../../common/abstract.entity'; import { RoleType } from '../../constants'; import { UseDto } from '../../decorators'; import { AuditLogEntity } from '../audit-log/audit-log.entity'; import { UserDto } from './dtos/user.dto'; @Entity({ name: 'users' }) @UseDto(UserDto) export class UserEntity extends AbstractEntity<UserDto> { @Column({ unique: true, type: 'varchar' }) name!: string; @Column({ type: 'enum', enum: RoleType, default: RoleType.USER }) role!: RoleType; @Column({ unique: true, type: 'varchar' }) username!: string; @Column({ type: 'varchar' }) password!: string; @OneToMany(() => AuditLogEntity, (auditLog) => auditLog.user) auditLog!: AuditLogEntity[]; }