import { Column, Entity, ManyToOne } from 'typeorm'; import { AbstractEntity } from '../../common/abstract.entity'; import { OperateType } from '../../constants'; import { UseDto } from '../../decorators'; import { UserEntity } from '../user/user.entity'; import { AuditLogDto } from './dtos/audit-log.dto'; @Entity({ name: 'audit_logs' }) @UseDto(AuditLogDto) export class AuditLogEntity extends AbstractEntity<AuditLogDto> { @Column({ type: 'enum', enum: OperateType }) operateType!: OperateType; @Column() tableName!: string; @Column({ nullable: true }) itemId!: Uuid; @Column({ type: 'text' }) summaryChanges!: string; @Column({ type: 'text', nullable: true }) oldValue!: string | null; @Column({ type: 'text', nullable: true }) newValue!: string | null; @ManyToOne(() => UserEntity, (user) => user.auditLog) user!: UserEntity; }