feat(admin): add AdminAlertDismissal model

This commit is contained in:
Jennie Robinson Faber 2026-04-08 11:00:31 +01:00
parent 4271ed0c6f
commit 0c3bfc3030
2 changed files with 82 additions and 0 deletions

View file

@ -0,0 +1,39 @@
import mongoose from 'mongoose'
export const ADMIN_ALERT_TYPES = [
'slack_invite_failed',
'no_slack_handle_week',
'stuck_pending_payment',
'member_suspended',
'preregistrant_selected_not_invited',
'preregistrant_expired',
'event_draft_imminent',
'event_near_capacity',
'tag_suggestions_pending'
]
const adminAlertDismissalSchema = new mongoose.Schema({
adminId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Member',
required: true
},
alertType: {
type: String,
enum: ADMIN_ALERT_TYPES,
required: true
},
signature: {
type: String,
required: true
},
dismissedAt: {
type: Date,
default: Date.now
}
})
adminAlertDismissalSchema.index({ adminId: 1, alertType: 1 }, { unique: true })
export default mongoose.models.AdminAlertDismissal ||
mongoose.model('AdminAlertDismissal', adminAlertDismissalSchema)