This commit is contained in:
syuilo 2017-12-22 07:43:56 +09:00
parent 8b515b4dae
commit f93bc3a8ec
2 changed files with 12 additions and 4 deletions

View file

@ -39,7 +39,7 @@ export default (
deleted_at: { $exists: false } deleted_at: { $exists: false }
}); });
const mutedUserIds = mute.map(m => m.mutee_id.toString()); const mutedUserIds = mute.map(m => m.mutee_id.toString());
if (mutedUserIds.indexOf(notifier.toHexString()) != -1) { if (mutedUserIds.indexOf(notifier.toString()) != -1) {
return; return;
} }
//#endregion //#endregion

View file

@ -8,6 +8,7 @@ import { default as Post, IPost, isValidText } from '../../models/post';
import { default as User, IUser } from '../../models/user'; import { default as User, IUser } from '../../models/user';
import { default as Channel, IChannel } from '../../models/channel'; import { default as Channel, IChannel } from '../../models/channel';
import Following from '../../models/following'; import Following from '../../models/following';
import Mute from '../../models/mute';
import DriveFile from '../../models/drive-file'; import DriveFile from '../../models/drive-file';
import Watching from '../../models/post-watching'; import Watching from '../../models/post-watching';
import ChannelWatching from '../../models/channel-watching'; import ChannelWatching from '../../models/channel-watching';
@ -240,7 +241,7 @@ module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => {
const mentions = []; const mentions = [];
function addMention(mentionee, reason) { async function addMention(mentionee, reason) {
// Reject if already added // Reject if already added
if (mentions.some(x => x.equals(mentionee))) return; if (mentions.some(x => x.equals(mentionee))) return;
@ -249,8 +250,15 @@ module.exports = (params, user: IUser, app) => new Promise(async (res, rej) => {
// Publish event // Publish event
if (!user._id.equals(mentionee)) { if (!user._id.equals(mentionee)) {
event(mentionee, reason, postObj); const mentioneeMutes = await Mute.find({
pushSw(mentionee, reason, postObj); muter_id: mentionee,
deleted_at: { $exists: false }
});
const mentioneesMutedUserIds = mentioneeMutes.map(m => m.mutee_id.toString());
if (mentioneesMutedUserIds.indexOf(user._id.toString()) == -1) {
event(mentionee, reason, postObj);
pushSw(mentionee, reason, postObj);
}
} }
} }