puyoskey/src/api/endpoints/notifications/get_unread_count.ts
2017-12-22 07:38:57 +09:00

33 lines
627 B
TypeScript

/**
* Module dependencies
*/
import Notification from '../../models/notification';
import Mute from '../../models/mute';
/**
* Get count of unread notifications
*
* @param {any} params
* @param {any} user
* @return {Promise<any>}
*/
module.exports = (params, user) => new Promise(async (res, rej) => {
const mute = await Mute.find({
muter_id: user._id,
deleted_at: { $exists: false }
});
const mutedUserIds = mute.map(m => m.mutee_id);
const count = await Notification
.count({
notifiee_id: user._id,
notifier_id: {
$nin: mutedUserIds
},
is_read: false
});
res({
count: count
});
});