38 lines
1013 B
JavaScript
38 lines
1013 B
JavaScript
const mongoose = require('mongoose')
|
|
const timestamp = require('mongoose-timestamp')
|
|
const mongoosePaginate = require('mongoose-paginate-v2')
|
|
|
|
// یک ردیف بهازای هر اعلان همگانی که از پنل ارسال میشه — جدا از میلیونها ردیف
|
|
// NotificationModel که این ارسال بهشون تبدیل میشه، تا لیست پنل همیشه کوچیک و سریع بمونه
|
|
const adminBroadcastSchema = new mongoose.Schema({
|
|
title: {
|
|
type: String,
|
|
required: true,
|
|
trim: true
|
|
},
|
|
body: {
|
|
type: String,
|
|
required: true,
|
|
trim: true
|
|
},
|
|
recipientCount: {
|
|
type: Number,
|
|
default: 0
|
|
},
|
|
image: {
|
|
type: String,
|
|
required: false,
|
|
default: null
|
|
},
|
|
sentBy: {
|
|
type: mongoose.Schema.Types.ObjectId,
|
|
ref: 'Admin',
|
|
required: false
|
|
}
|
|
})
|
|
|
|
adminBroadcastSchema.plugin(timestamp)
|
|
adminBroadcastSchema.plugin(mongoosePaginate)
|
|
|
|
module.exports = mongoose.model('AdminBroadcast', adminBroadcastSchema)
|