From 5e2a3ea6ec752cc89c2a121e3a1b5a9d158a3578 Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Tue, 6 Oct 2020 14:14:57 -0400 Subject: [PATCH] refactor(writeapi): post.tools.purge no longer a method --- src/controllers/write/posts.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/controllers/write/posts.js b/src/controllers/write/posts.js index fe4e582879..abe49a2be0 100644 --- a/src/controllers/write/posts.js +++ b/src/controllers/write/posts.js @@ -4,6 +4,7 @@ const validator = require('validator'); const _ = require('lodash'); const meta = require('../../meta'); +const privileges = require('../../privileges'); const groups = require('../../groups'); const posts = require('../../posts'); const topics = require('../../topics'); @@ -91,7 +92,13 @@ Posts.purge = async (req, res) => { const isMainAndLast = results.isMain && results.isLast; const postData = await posts.getPostFields(req.params.pid, ['pid', 'toPid', 'tid']); - await posts.tools.purge(req.user.uid, req.params.pid); + const canPurge = await privileges.posts.canPurge(req.params.pid, req.user.uid); + if (!canPurge) { + throw new Error('[[error:no-privileges]]'); + } + require('../../posts/cache').del(req.params.pid); + + await posts.purge(req.params.pid, req.user.uid); helpers.formatApiResponse(200, res); sockets.in('topic_' + postData.tid).emit('event:post_purged', postData);