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;