const mongoose = require('mongoose'); const menuItemSchema = new mongoose.Schema( { name: { type: String, required: [true, 'Menu item name is required'], trim: true }, description: { type: String, trim: true }, price: { type: Number, required: [true, 'Price is required'], min: 0 }, category: { type: mongoose.Schema.Types.ObjectId, ref: 'Category', required: [true, 'Category is required'] }, image: { type: String }, ingredients: { type: [String], default: [] }, available: { type: Boolean, default: true }, vegetarian: { type: Boolean, default: false }, vegan: { type: Boolean, default: false }, glutenFree: { type: Boolean, default: false }, spiceLevel: { type: Number, min: 0, max: 5, default: 0 }, preparationTime: { type: Number, min: 0, default: 15 }, featuredItem: { type: Boolean, default: false } }, { timestamps: true } ); // Create text index for search functionality menuItemSchema.index({ name: 'text', description: 'text', ingredients: 'text' }); const MenuItem = mongoose.model('MenuItem', menuItemSchema); module.exports = MenuItem;