From 740de034fa54156aae6b61f0d60d5e05019e59ab Mon Sep 17 00:00:00 2001 From: Opliko <25460763+oplik0@users.noreply.github.com> Date: Wed, 15 Jan 2020 17:05:57 +0100 Subject: [PATCH] #8115 - log post owner changes (#8117) * log post owner changes * log each post separately * use map instad of a loop --- src/events.js | 1 + src/posts/user.js | 1 + src/socket.io/posts/tools.js | 13 ++++++++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/events.js b/src/events.js index 2a05ede75c..2217ca3b51 100644 --- a/src/events.js +++ b/src/events.js @@ -25,6 +25,7 @@ events.types = [ 'post-delete', 'post-restore', 'post-purge', + 'post-change-owner', 'topic-delete', 'topic-restore', 'topic-purge', diff --git a/src/posts/user.js b/src/posts/user.js index 9205bed2f4..02c0c694ea 100644 --- a/src/posts/user.js +++ b/src/posts/user.js @@ -163,6 +163,7 @@ module.exports = function (Posts) { reduceCounters(postsByUser), updateTopicPosters(postData, toUid), ]); + return postData; }; async function reduceCounters(postsByUser) { diff --git a/src/socket.io/posts/tools.js b/src/socket.io/posts/tools.js index 7723320d5a..6c78b80c3e 100644 --- a/src/socket.io/posts/tools.js +++ b/src/socket.io/posts/tools.js @@ -172,6 +172,17 @@ module.exports = function (SocketPosts) { throw new Error('[[error:no-privileges]]'); } - await posts.changeOwner(data.pids, data.toUid); + var postData = await posts.changeOwner(data.pids, data.toUid); + var logs = postData.map(({ pid, uid, cid }) => (events.log({ + type: 'post-change-owner', + uid: socket.uid, + ip: socket.ip, + targetUid: data.toUid, + pid: pid, + originalUid: uid, + cid: cid, + }))); + + await Promise.all(logs); }; };