feat(admin): add AdminAlertDismissal model
This commit is contained in:
parent
4271ed0c6f
commit
0c3bfc3030
2 changed files with 82 additions and 0 deletions
39
server/models/adminAlertDismissal.js
Normal file
39
server/models/adminAlertDismissal.js
Normal 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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue