mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
refactor: remove log, topics.exists
This commit is contained in:
@@ -22,15 +22,15 @@ module.exports = function (Topics) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
async function toggleDelete(tid, uid, isDelete) {
|
async function toggleDelete(tid, uid, isDelete) {
|
||||||
const exists = await Topics.exists(tid);
|
const topicData = await Topics.getTopicData(tid);
|
||||||
if (!exists) {
|
if (!topicData) {
|
||||||
throw new Error('[[error:no-topic]]');
|
throw new Error('[[error:no-topic]]');
|
||||||
}
|
}
|
||||||
const canDelete = await privileges.topics.canDelete(tid, uid);
|
const canDelete = await privileges.topics.canDelete(tid, uid);
|
||||||
if (!canDelete) {
|
if (!canDelete) {
|
||||||
throw new Error('[[error:no-privileges]]');
|
throw new Error('[[error:no-privileges]]');
|
||||||
}
|
}
|
||||||
const topicData = await Topics.getTopicFields(tid, ['tid', 'cid', 'uid', 'deleted', 'title', 'mainPid']);
|
|
||||||
if (topicData.deleted && isDelete) {
|
if (topicData.deleted && isDelete) {
|
||||||
throw new Error('[[error:topic-already-deleted]]');
|
throw new Error('[[error:topic-already-deleted]]');
|
||||||
} else if (!topicData.deleted && !isDelete) {
|
} else if (!topicData.deleted && !isDelete) {
|
||||||
@@ -61,17 +61,17 @@ module.exports = function (Topics) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
topicTools.purge = async function (tid, uid) {
|
topicTools.purge = async function (tid, uid) {
|
||||||
const exists = await Topics.exists(tid);
|
const topicData = await Topics.getTopicData(tid);
|
||||||
if (!exists) {
|
if (!topicData) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const canPurge = await privileges.topics.canPurge(tid, uid);
|
const canPurge = await privileges.topics.canPurge(tid, uid);
|
||||||
if (!canPurge) {
|
if (!canPurge) {
|
||||||
throw new Error('[[error:no-privileges]]');
|
throw new Error('[[error:no-privileges]]');
|
||||||
}
|
}
|
||||||
const cid = await Topics.getTopicField(tid, 'cid');
|
|
||||||
await Topics.purgePostsAndTopic(tid, uid);
|
await Topics.purgePostsAndTopic(tid, uid);
|
||||||
return { tid: tid, cid: cid, uid: uid };
|
return { tid: tid, cid: topicData.cid, uid: uid };
|
||||||
};
|
};
|
||||||
|
|
||||||
topicTools.lock = async function (tid, uid) {
|
topicTools.lock = async function (tid, uid) {
|
||||||
@@ -148,7 +148,7 @@ module.exports = function (Topics) {
|
|||||||
const tids = data.map(topic => topic && topic.tid);
|
const tids = data.map(topic => topic && topic.tid);
|
||||||
const topicData = await Topics.getTopicsFields(tids, ['cid']);
|
const topicData = await Topics.getTopicsFields(tids, ['cid']);
|
||||||
|
|
||||||
var uniqueCids = _.uniq(topicData.map(topicData => topicData && topicData.cid));
|
const uniqueCids = _.uniq(topicData.map(topicData => topicData && topicData.cid));
|
||||||
if (uniqueCids.length > 1 || !uniqueCids.length || !uniqueCids[0]) {
|
if (uniqueCids.length > 1 || !uniqueCids.length || !uniqueCids[0]) {
|
||||||
throw new Error('[[error:invalid-data]]');
|
throw new Error('[[error:invalid-data]]');
|
||||||
}
|
}
|
||||||
@@ -214,7 +214,7 @@ module.exports = function (Topics) {
|
|||||||
oldCid: oldCid,
|
oldCid: oldCid,
|
||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
var hookData = _.clone(data);
|
const hookData = _.clone(data);
|
||||||
hookData.fromCid = oldCid;
|
hookData.fromCid = oldCid;
|
||||||
hookData.toCid = cid;
|
hookData.toCid = cid;
|
||||||
hookData.tid = tid;
|
hookData.tid = tid;
|
||||||
|
|||||||
@@ -134,12 +134,10 @@ module.exports = function (User) {
|
|||||||
const sessionUUIDKeys = uids.map(uid => 'uid:' + uid + ':sessionUUID:sessionId');
|
const sessionUUIDKeys = uids.map(uid => 'uid:' + uid + ':sessionUUID:sessionId');
|
||||||
const sids = _.flatten(await db.getSortedSetRange(sessionKeys, 0, -1));
|
const sids = _.flatten(await db.getSortedSetRange(sessionKeys, 0, -1));
|
||||||
|
|
||||||
const promises = [
|
await Promise.all([
|
||||||
db.deleteAll(sessionKeys.concat(sessionUUIDKeys)),
|
db.deleteAll(sessionKeys.concat(sessionUUIDKeys)),
|
||||||
...sids.map(sid => sessionStoreDestroy(sid)),
|
...sids.map(sid => sessionStoreDestroy(sid)),
|
||||||
];
|
]);
|
||||||
console.log('epic', promises);
|
|
||||||
await Promise.all(promises);
|
|
||||||
}, { batch: 1000 });
|
}, { batch: 1000 });
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user