F1-F10: audit fixes (dimension normalize, passingScore scale, DB defaults, onDelete, item status filter, timeout event type, userId privacy) + generator.node.ts strict prompt rules (anti-hallucination)

This commit is contained in:
Developer
2026-05-20 11:13:37 +08:00
parent 29bac74b58
commit 83483d8117
13 changed files with 205 additions and 202 deletions
@@ -56,6 +56,7 @@ export class QuestionBankItem {
@Column({
type: 'simple-enum',
enum: QuestionType,
default: QuestionType.SHORT_ANSWER,
})
questionType: QuestionType;
@@ -71,12 +72,14 @@ export class QuestionBankItem {
@Column({
type: 'simple-enum',
enum: QuestionDifficulty,
default: QuestionDifficulty.STANDARD,
})
difficulty: QuestionDifficulty;
@Column({
type: 'simple-enum',
enum: QuestionDimension,
default: QuestionDimension.PROMPT,
})
dimension: QuestionDimension;
@@ -89,6 +92,7 @@ export class QuestionBankItem {
@Column({
type: 'simple-enum',
enum: QuestionBankItemStatus,
default: QuestionBankItemStatus.PENDING_REVIEW,
})
status: QuestionBankItemStatus;
@@ -37,7 +37,7 @@ export class QuestionBank {
@Column({ name: 'template_id', nullable: true })
templateId: string | null;
@OneToOne(() => AssessmentTemplate, { nullable: true })
@OneToOne(() => AssessmentTemplate, { nullable: true, onDelete: 'SET NULL' })
@JoinColumn({ name: 'template_id' })
template: AssessmentTemplate;