optimized schema

This commit is contained in:
Suman991 2026-04-13 16:41:00 +05:30
parent 5f34171a4a
commit 1f4ddfa10b
3 changed files with 6 additions and 8 deletions

View File

@ -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()

View File

@ -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 = {

View File

@ -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);
export const FieldSchema = SchemaFactory.createForClass(Field);