import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, ManyToOne, JoinColumn, } from 'typeorm'; import { Student } from './student.entity'; import { Department } from './department.entity'; @Entity('student_reports') export class StudentReport { @PrimaryGeneratedColumn() id: number; @Column({ name: 'student_id', type: 'integer' }) studentId: number; @ManyToOne(() => Student, { eager: true }) @JoinColumn({ name: 'student_id' }) student: Student; @Column({ name: 'snapshot_data', type: 'simple-json', nullable: true }) snapshotData: Record; @Column({ name: 'html_content', type: 'text', nullable: true }) htmlContent: string; @Column({ name: 'pdf_path', length: 500, nullable: true }) pdfPath: string; @Column({ name: 'generated_at', type: 'datetime', nullable: true }) generatedAt: Date; @Column({ name: 'department_id', type: 'integer', nullable: true }) departmentId: number; @ManyToOne(() => Department, { nullable: true }) @JoinColumn({ name: 'department_id' }) department: Department; @CreateDateColumn({ name: 'created_at' }) createdAt: Date; @UpdateDateColumn({ name: 'updated_at' }) updatedAt: Date; }