refactor: remove log, topics.exists

v1.18.x
Barış Soner Uşaklı 6 years ago
parent cffbb32585
commit f8c8038a06

@ -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 });
}; };
}; };

Loading…
Cancel
Save