import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, Index } from 'typeorm';

/** One row each time an approved PDF is produced (approval, or re-issue after a correction). */
@Entity({ name: 'audit_report_versions' })
export class AuditReportVersion {
  @PrimaryGeneratedColumn() id: number;
  @Index() @Column({ type: 'int' }) report_id: number;
  @Column({ type: 'int' }) version: number;
  @Column({ type: 'longtext', nullable: true }) snapshot_json: string | null;
  @Column({ type: 'varchar', length: 500, nullable: true }) pdf_path: string | null;
  @Column({ type: 'varchar', length: 255, nullable: true }) note: string | null;
  @Column({ type: 'int', nullable: true }) generated_by: number | null;
  @CreateDateColumn({ name: 'generated_at' }) generated_at: Date;
}
