From f194809f06258a616efd5e41a50c68e97f048edb Mon Sep 17 00:00:00 2001 From: Julian Lam <julian@nodebb.org> Date: Tue, 21 Sep 2021 13:00:45 -0400 Subject: [PATCH] feat: move filter:topic.post hook to top of method --- src/topics/create.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/topics/create.js b/src/topics/create.js index 92a9229ed7..61d5599de1 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -76,7 +76,8 @@ module.exports = function (Topics) { }; Topics.post = async function (data) { - let { uid } = data; + data = await plugins.hooks.fire('filter:topic.post', data); + data.title = String(data.title).trim(); data.tags = data.tags || []; if (data.content) { @@ -89,8 +90,8 @@ module.exports = function (Topics) { const [categoryExists, canCreate, canTag] = await Promise.all([ categories.exists(data.cid), - privileges.categories.can('topics:create', data.cid, data.uid), - privileges.categories.can('topics:tag', data.cid, data.uid), + privileges.categories.can('topics:create', data.cid, uid), + privileges.categories.can('topics:tag', data.cid, uid), ]); if (!categoryExists) { @@ -103,11 +104,9 @@ module.exports = function (Topics) { await guestHandleValid(data); if (!data.fromQueue) { - await user.isReadyToPost(data.uid, data.cid); + await user.isReadyToPost(uid, data.cid); } - data = await plugins.hooks.fire('filter:topic.post', data); - ({ uid } = data); // uid was explicitly destructured at top, so update if changed const tid = await Topics.create(data); let postData = data;