const mongoose = require("mongoose"); const EventSchema = new mongoose.Schema( { title: { type: String, required: true, }, description: { type: String, required: true, }, date: { type: Date, required: true, index: true, }, location: { type: String, required: true, }, participants: [ { type: mongoose.Schema.Types.ObjectId, ref: "User", }, ], status: { type: String, enum: ["upcoming", "ongoing", "completed", "cancelled"], default: "upcoming", index: true, }, }, { timestamps: true, }, ); // Index for querying upcoming events EventSchema.index({ date: 1, status: 1 }); module.exports = mongoose.model("Event", EventSchema);