This commit is contained in:
payacom
2026-09-03 16:06:02 +03:30
parent 3f416a7a60
commit 90c5f94b57
31 changed files with 3968 additions and 4283 deletions

View File

@@ -6,7 +6,6 @@ const { default: mongoose } = require('mongoose')
// دریافت لیست کامنت‌ها با پیجینیشن
const getComments = async (req, res, next) => {
try {
console.log("gg6");
const token = req.header('Authorization').split(' ')[1]
if (!token) return res.status(401).send('Access Denied')
@@ -14,7 +13,8 @@ const getComments = async (req, res, next) => {
page = 1, limit = 10,
startDate,
endDate,
status
status,
creator
} = req.query
const filter = {} // فیلتر بر اساس وضعیت کامنت
@@ -30,10 +30,17 @@ const getComments = async (req, res, next) => {
filter.createdAt.$lte = new Date(endDate) // تاریخ پایان
}
}
console.log("gg8");
if (status) {
filter.status = status
}
// برای تبِ «نظرات» توی جزئیاتِ کاربر (UserComments.jsx پنل) — قبلاً کلِ لیستِ
// صفحه‌بندی‌شده‌ی سراسری گرفته می‌شد و بعدش سمتِ کلاینت فیلتر می‌شد، یعنی totalPages
// و حتی خودِ نتایج بسته به این‌که کاربر توی همون صفحه‌ی فعلی کامنتی داشته باشه یا نه
// درست نبود. فیلترِ creator رو مستقیم به کوئری اضافه می‌کنیم تا هم نتایج هم
// صفحه‌بندی واقعاً مالِ همین کاربر باشه
if (creator && mongoose.Types.ObjectId.isValid(creator)) {
filter.creator = creator
}
const options = {
page: parseInt(page), // تبدیل صفحه به عدد صحیح
limit: parseInt(limit), // تبدیل محدودیت به عدد صحیح