fix: , don't send move notifications for deleted posts/topics

v1.18.x
Barış Soner Uşaklı
parent d387cc231e
commit d77036dbd1

@ -2,6 +2,7 @@
const privileges = require('../../privileges'); const privileges = require('../../privileges');
const topics = require('../../topics'); const topics = require('../../topics');
const posts = require('../../posts');
const socketHelpers = require('../helpers'); const socketHelpers = require('../helpers');
module.exports = function (SocketPosts) { module.exports = function (SocketPosts) {
@ -25,7 +26,15 @@ module.exports = function (SocketPosts) {
throw new Error('[[error:no-privileges]]'); throw new Error('[[error:no-privileges]]');
} }
await topics.movePostToTopic(socket.uid, pid, data.tid); await topics.movePostToTopic(socket.uid, pid, data.tid);
socketHelpers.sendNotificationToPostOwner(pid, socket.uid, 'move', 'notifications:moved_your_post');
const [postDeleted, topicDeleted] = await Promise.all([
posts.getPostField(pid, 'deleted'),
topics.getTopicField(data.tid, 'deleted'),
]);
if (!postDeleted && !topicDeleted) {
socketHelpers.sendNotificationToPostOwner(pid, socket.uid, 'move', 'notifications:moved_your_post');
}
} }
}; };
}; };

@ -17,13 +17,14 @@ module.exports = function (SocketTopics) {
if (!canMove) { if (!canMove) {
throw new Error('[[error:no-privileges]]'); throw new Error('[[error:no-privileges]]');
} }
const topicData = await topics.getTopicFields(tid, ['tid', 'cid', 'slug']); const topicData = await topics.getTopicFields(tid, ['tid', 'cid', 'slug', 'deleted']);
data.uid = socket.uid; data.uid = socket.uid;
await topics.tools.move(tid, data); await topics.tools.move(tid, data);
socketHelpers.emitToTopicAndCategory('event:topic_moved', topicData); socketHelpers.emitToTopicAndCategory('event:topic_moved', topicData);
if (!topicData.deleted) {
socketHelpers.sendNotificationToTopicOwner(tid, socket.uid, 'move', 'notifications:moved_your_topic'); socketHelpers.sendNotificationToTopicOwner(tid, socket.uid, 'move', 'notifications:moved_your_topic');
}
}); });
}; };

Loading…
Cancel
Save