feat: seperate single and multi choice questions

This commit is contained in:
2026-08-17 09:43:56 +03:30
parent f6a57454f4
commit ca8d02c531
27 changed files with 347 additions and 28 deletions
@@ -0,0 +1,26 @@
import { UNIQUE_QUESTION_MULTI_CHOICE } from '@/modules/questions/constants';
import { QuestionTransitionType } from '@/modules/questions/enums/question-transition-type.enum';
import { MigrationInterface, QueryRunner } from 'typeorm';
export class MultiChoiceTransitionUniqueIndex1786856474000 implements MigrationInterface {
name = 'AddMultiChoiceTransitionUniqueIndex1750000000000';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
CREATE UNIQUE INDEX ${UNIQUE_QUESTION_MULTI_CHOICE}
ON "question_transition" (
"fromQuestionId",
"type",
(("condition" ->> 'operator')),
(("condition" -> 'choiceIds'))
)
WHERE "type" = '${QuestionTransitionType.MULTI_CHOICE}'
`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`
DROP INDEX ${UNIQUE_QUESTION_MULTI_CHOICE}
`);
}
}