Skip to content
Snippets Groups Projects
Commit 8b515b4d authored by syuilo's avatar syuilo
Browse files

wip

parent 6575a6de
No related branches found
No related tags found
No related merge requests found
import * as mongo from 'mongodb';
import Notification from '../models/notification';
import Mute from '../models/mute';
import event from '../event';
import serialize from '../serializers/notification';
......@@ -32,6 +33,17 @@ export default (
setTimeout(async () => {
const fresh = await Notification.findOne({ _id: notification._id }, { is_read: true });
if (!fresh.is_read) {
//#region ただしミュートしているユーザーからの通知なら無視
const mute = await Mute.find({
muter_id: notifiee,
deleted_at: { $exists: false }
});
const mutedUserIds = mute.map(m => m.mutee_id.toString());
if (mutedUserIds.indexOf(notifier.toHexString()) != -1) {
return;
}
//#endregion
event(notifiee, 'unread_notification', await serialize(notification));
}
}, 3000);
......
......@@ -2,6 +2,7 @@
* Module dependencies
*/
import Notification from '../../models/notification';
import Mute from '../../models/mute';
/**
* Get count of unread notifications
......@@ -11,9 +12,18 @@ import Notification from '../../models/notification';
* @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
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment