|
|
|
@ -11,6 +11,7 @@ const topics = require('../topics');
|
|
|
|
|
const user = require('../user');
|
|
|
|
|
const notifications = require('../notifications');
|
|
|
|
|
const utils = require('../utils');
|
|
|
|
|
const events = require('../events');
|
|
|
|
|
|
|
|
|
|
const SocketPosts = module.exports;
|
|
|
|
|
|
|
|
|
@ -108,6 +109,7 @@ SocketPosts.accept = async function (socket, data) {
|
|
|
|
|
if (result && socket.uid !== parseInt(result.uid, 10)) {
|
|
|
|
|
await sendQueueNotification('post-queue-accepted', result.uid, `/post/${result.pid}`);
|
|
|
|
|
}
|
|
|
|
|
await logQueueEvent(socket, result, 'accept');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
SocketPosts.reject = async function (socket, data) {
|
|
|
|
@ -116,8 +118,28 @@ SocketPosts.reject = async function (socket, data) {
|
|
|
|
|
if (result && socket.uid !== parseInt(result.uid, 10)) {
|
|
|
|
|
await sendQueueNotification('post-queue-rejected', result.uid, '/');
|
|
|
|
|
}
|
|
|
|
|
await logQueueEvent(socket, result, 'reject');
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
async function logQueueEvent(socket, result, type) {
|
|
|
|
|
await events.log({
|
|
|
|
|
type: `post-queue-${result.type}-${type}`,
|
|
|
|
|
uid: socket.uid,
|
|
|
|
|
ip: socket.ip,
|
|
|
|
|
content: result.data.content,
|
|
|
|
|
targetUid: result.uid,
|
|
|
|
|
...(result.type === 'topic' ?
|
|
|
|
|
{
|
|
|
|
|
cid: result.data.cid,
|
|
|
|
|
title: result.data.title,
|
|
|
|
|
} :
|
|
|
|
|
{
|
|
|
|
|
tid: result.data.tid,
|
|
|
|
|
}),
|
|
|
|
|
...(result.pid ? { pid: result.pid } : {}),
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SocketPosts.notify = async function (socket, data) {
|
|
|
|
|
await canEditQueue(socket, data, 'notify');
|
|
|
|
|
const result = await posts.getFromQueue(data.id);
|
|
|
|
|