import mongoose, { Document, Schema } from 'mongoose';

export interface IQuizDocument extends Document {
  title: string;
  questions: mongoose.Types.ObjectId[];
  start_datetime: Date;
  end_datetime: Date;
  status: 'draft' | 'active' | 'inactive';
  createdAt: Date;
  updatedAt: Date;
}

const quizSchema = new Schema<IQuizDocument>(
  {
    title: { type: String, required: true, unique: true, trim: true },
    questions: [{ type: Schema.Types.ObjectId, ref: 'Question' }],
    start_datetime: { type: Date, required: true },
    end_datetime: { type: Date, required: true },
    status: { type: String, enum: ['draft', 'active', 'inactive'], default: 'draft' },
  },
  { timestamps: true },
);

export default mongoose.model<IQuizDocument>('Quiz', quizSchema);
