Spaces:
Sleeping
Sleeping
File size: 1,175 Bytes
0f8617c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | const Notification = require('../models/Notification');
const getNotifications = async (req, res) => {
try {
const notifications = await Notification.find({ recipient: req.user._id })
.sort({ createdAt: -1 })
.limit(20);
res.json(notifications);
} catch (error) {
res.status(500).json({ message: error.message });
}
};
const markAsRead = async (req, res) => {
try {
await Notification.updateMany(
{ recipient: req.user._id, isRead: false },
{ $set: { isRead: true } }
);
res.json({ message: 'Notifications marked as read' });
} catch (error) {
res.status(500).json({ message: error.message });
}
};
const createNotification = async (recipientId, type, content, link = '') => {
try {
const notification = await Notification.create({
recipient: recipientId,
type,
content,
link
});
return notification;
} catch (error) {
console.error('Failed to create notification:', error);
}
};
module.exports = { getNotifications, markAsRead, createNotification };
|