import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document } from 'mongoose'; import { Field, FieldSchema } from './field.schema'; export enum Status { DRAFT = 'draft', SAVED = 'saved', } export type FormDocument = Form & Document; @Schema({ timestamps: true }) export class Form { @Prop({ required: true, unique: true }) id!: string; @Prop({ required: true }) name!: string; @Prop({ type: [FieldSchema], required: false }) fields?: Field[]; @Prop({ type: String, enum: Status, default: Status.DRAFT, }) status!: Status; @Prop({ default: false }) isDeleted?: boolean; @Prop({ type: Date, default: null }) deletedAt?: Date; } export const FormSchema = SchemaFactory.createForClass(Form);