Files
modstagram-back/models/AdminBroadcastModel.js
2026-09-24 21:03:27 +03:30

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)