From 1f4ddfa10bd7c17e147bff7f4012b5fe5e0edb52 Mon Sep 17 00:00:00 2001 From: Suman991 Date: Mon, 13 Apr 2026 16:41:00 +0530 Subject: [PATCH] optimized schema --- src/form/dto/create-field.dto.ts | 2 +- src/form/form.service.ts | 1 - src/form/schemas/field.schema.ts | 11 +++++------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/form/dto/create-field.dto.ts b/src/form/dto/create-field.dto.ts index 7a1c2ed..28d4ead 100644 --- a/src/form/dto/create-field.dto.ts +++ b/src/form/dto/create-field.dto.ts @@ -30,7 +30,7 @@ export class CreateFieldDto { @IsOptional() placeholder?: string; - @ApiPropertyOptional({ type: [String], example: ['Very Satisfied', 'Satisfied'] }) + @ApiPropertyOptional({ type: [String], example: ['Very Satisfied', 'Satisfied']}) @IsArray() @IsString({ each: true }) @IsOptional() diff --git a/src/form/form.service.ts b/src/form/form.service.ts index 72a0e8f..50050aa 100644 --- a/src/form/form.service.ts +++ b/src/form/form.service.ts @@ -14,7 +14,6 @@ import { PaginatedResponse } from 'src/interfaces/paginated-response.interface'; import { LlmService } from 'src/common/services/llm.service'; import { CreateFormDto } from './dto/create-form.dto'; import { CreateFieldDto } from './dto/create-field.dto'; -import { threadCpuUsage } from 'process'; // Reusable projections const LIST_PROJECTION = { diff --git a/src/form/schemas/field.schema.ts b/src/form/schemas/field.schema.ts index 7adf755..8bfcf35 100644 --- a/src/form/schemas/field.schema.ts +++ b/src/form/schemas/field.schema.ts @@ -2,7 +2,6 @@ import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document } from 'mongoose'; import { v4 as uuidv4 } from 'uuid'; - import { PARENT_TYPE_KEYS, INPUT_SUB_TYPE_KEYS } from '../types/field.type'; import type { ParentKeyType, InputSubType } from '../types/field.type'; @@ -10,13 +9,13 @@ export type FieldDocument = Field & Document; @Schema({ timestamps: true }) export class Field { - @Prop({ required: true, unique:true, default:()=>uuidv4()}) + @Prop({ required: true, unique: true, default: () => uuidv4() }) id!: string; - @Prop({ required: true, enum: PARENT_TYPE_KEYS }) + @Prop({ required: true, enum: PARENT_TYPE_KEYS }) keyType!: ParentKeyType; - @Prop({ required: false, enum: INPUT_SUB_TYPE_KEYS }) + @Prop({ required: false, enum: INPUT_SUB_TYPE_KEYS }) keySubType?: InputSubType; @Prop({ required: true }) @@ -28,11 +27,11 @@ export class Field { @Prop({ required: false }) placeholder?: string; - @Prop({ required: false }) + @Prop({ required: false, default: undefined }) options?: string[]; @Prop({ required: true, default: false }) required!: boolean; } -export const FieldSchema = SchemaFactory.createForClass(Field); \ No newline at end of file +export const FieldSchema = SchemaFactory.createForClass(Field);