const mongoose = require('mongoose'); const adminAlertSchema = new mongoose.Schema( { type: { type: String, required: true, enum: ['stuck_order', 'failed_payment', 'low_stock', 'unassigned_consultation', 'custom'], }, severity: { type: String, required: true, enum: ['critical', 'warning', 'info'], }, title: { type: String, required: true }, message: { type: String }, market: { type: mongoose.Schema.Types.ObjectId, ref: 'Market' }, // Reference to source entity referenceType: { type: String }, referenceId: { type: mongoose.Schema.Types.ObjectId }, // Lifecycle status: { type: String, enum: ['active', 'dismissed', 'auto_resolved'], default: 'active', }, dismissedBy: { type: mongoose.Schema.Types.ObjectId, ref: 'Admin' }, dismissedAt: { type: Date }, isAutoGenerated: { type: Boolean, default: true }, }, { timestamps: true } ); adminAlertSchema.index({ status: 1, severity: 1 }); adminAlertSchema.index({ type: 1, status: 1 }); module.exports = mongoose.model('AdminAlert', adminAlertSchema);