import {
  Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn, Index,
} from 'typeorm';
import { AuditReport } from './audit-report.entity';

@Entity({ name: 'audit_report_attendance' })
export class AuditReportAttendance {
  @PrimaryGeneratedColumn() id: number;

  @Index() @Column({ type: 'int' }) report_id: number;
  @ManyToOne(() => AuditReport, (r) => r.attendance, { onDelete: 'CASCADE' })
  @JoinColumn({ name: 'report_id' })
  report: AuditReport;

  @Column({ type: 'varchar', length: 200 }) name: string;
  @Column({ type: 'varchar', length: 200, nullable: true }) designation: string | null;
  /** Optional scanned / drawn signature image path (under the report storage root). */
  @Column({ type: 'varchar', length: 500, nullable: true }) signature_path: string | null;
  @Column({ type: 'int', default: 0 }) sort_order: number;

  @CreateDateColumn() created_at: Date;
  @UpdateDateColumn() updated_at: Date;
}
