const { mongoose, baseSchemaOptions } = require('./base'); const AlertLogSchema = new mongoose.Schema({ alert_type: { type: String, enum: ['SAFETY_BADGE_30_DAYS', 'SAFETY_BADGE_7_DAYS', 'SAFETY_BADGE_EXPIRED', 'GATE_PASS_30_DAYS', 'GATE_PASS_7_DAYS', 'GATE_PASS_EXPIRED'], required: true }, reference_table: { type: String, enum: ['safety_badges', 'gate_passes'], required: true }, reference_id: { type: String, required: true }, recipient_email: { type: String, required: true }, channel: { type: String, enum: ['Email', 'WhatsApp'], required: true }, message: { type: String, required: true }, sent_at: { type: Date, default: Date.now } }, baseSchemaOptions()); AlertLogSchema.index( { alert_type: 1, reference_table: 1, reference_id: 1, recipient_email: 1, channel: 1 }, { unique: true } ); module.exports = mongoose.model('AlertLog', AlertLogSchema);