From 0fb961ea20d53e6864108e42f1d0dd68befb3e78 Mon Sep 17 00:00:00 2001 From: radmehr Date: Sun, 26 Jul 2026 09:27:42 +0330 Subject: [PATCH] feat: add test status field --- src/modules/tests/dtos/update-test.dto.ts | 8 +++++++- src/modules/tests/entities/test.entity.ts | 8 ++++++++ src/modules/tests/enums/test-status.enum.ts | 4 ++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/modules/tests/enums/test-status.enum.ts diff --git a/src/modules/tests/dtos/update-test.dto.ts b/src/modules/tests/dtos/update-test.dto.ts index dbc9a30..38a3e6c 100644 --- a/src/modules/tests/dtos/update-test.dto.ts +++ b/src/modules/tests/dtos/update-test.dto.ts @@ -1,4 +1,10 @@ import { PartialType } from '@nestjs/swagger'; import { CreateTestDTO } from './create-test.dto'; +import { TestStatus } from '../enums/test-status.enum'; +import { IsEnum, IsOptional } from 'class-validator'; -export class UpdateTestDTO extends PartialType(CreateTestDTO) {} +export class UpdateTestDTO extends PartialType(CreateTestDTO) { + @IsEnum(TestStatus) + @IsOptional() + status?: TestStatus; +} diff --git a/src/modules/tests/entities/test.entity.ts b/src/modules/tests/entities/test.entity.ts index 2efa916..14845e4 100644 --- a/src/modules/tests/entities/test.entity.ts +++ b/src/modules/tests/entities/test.entity.ts @@ -9,6 +9,7 @@ import { import { AccessType } from '../enums/access-types.enum'; import { Question } from '@/modules/questions/entities/question.entity'; import { ResultRange } from '@/modules/scoring/entities/result-range.entity'; +import { TestStatus } from '../enums/test-status.enum'; @Entity() @Check(` @@ -34,6 +35,13 @@ export class Test { }) description!: string; + @Column({ + type: 'enum', + enum: TestStatus, + default: TestStatus.IN_PROGRESS, + }) + status!: TestStatus; + @Column({ type: 'enum', enum: AccessType, diff --git a/src/modules/tests/enums/test-status.enum.ts b/src/modules/tests/enums/test-status.enum.ts new file mode 100644 index 0000000..237f828 --- /dev/null +++ b/src/modules/tests/enums/test-status.enum.ts @@ -0,0 +1,4 @@ +export enum TestStatus { + IN_PROGRESS = 'in-progress', + PUBLISHED = 'published', +}