import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, ManyToOne, JoinColumn, } from 'typeorm'; import { QuestionBank } from './question-bank.entity'; import { AssessmentTemplate } from './assessment-template.entity'; /** * P1: Join table for QuestionBank <-> AssessmentTemplate many-to-many * Allows one question bank to be used across multiple templates. */ @Entity('question_bank_templates') export class QuestionBankTemplate { @PrimaryGeneratedColumn('uuid') id: string; @Column({ name: 'bank_id' }) bankId: string; @ManyToOne(() => QuestionBank, (bank) => bank.id, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'bank_id' }) bank: QuestionBank; @Column({ name: 'template_id' }) templateId: string; @ManyToOne(() => AssessmentTemplate, (tpl) => tpl.id, { onDelete: 'CASCADE' }) @JoinColumn({ name: 'template_id' }) template: AssessmentTemplate; @CreateDateColumn({ name: 'created_at' }) createdAt: Date; }