dss-server / src /models /AlertLog.js
yeshwanth-kr's picture
Upload 43 files
8c7b7ca verified
raw
history blame contribute delete
890 Bytes
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);