questionnaire-answer-status.ts 983 B

12345678910111213141516171819
  1. import type { Model, Document } from 'mongoose';
  2. import { Schema } from 'mongoose';
  3. import { getOrCreateModel } from '~/server/util/mongoose-utils';
  4. import type { IQuestionnaireAnswerStatus } from '../../interfaces/questionnaire-answer-status';
  5. import { StatusType } from '../../interfaces/questionnaire-answer-status';
  6. export interface QuestionnaireAnswerStatusDocument extends IQuestionnaireAnswerStatus, Document {}
  7. export type QuestionnaireAnswerStatusModel = Model<QuestionnaireAnswerStatusDocument>
  8. const questionnaireOrderSchema = new Schema<QuestionnaireAnswerStatusDocument>({
  9. user: { type: Schema.Types.ObjectId, required: true },
  10. questionnaireOrderId: { type: String, required: true },
  11. status: { type: String, enum: Object.values(StatusType), default: StatusType.not_answered },
  12. }, { timestamps: true });
  13. export default getOrCreateModel<QuestionnaireAnswerStatusDocument, QuestionnaireAnswerStatusModel>('QuestionnaireAnswerStatus', questionnaireOrderSchema);