test: fix restore test

isekai-main
Barış Soner Uşaklı
parent e6a46ef6ce
commit 0d9ec9d30e

@ -11,14 +11,12 @@ const batch = require('../batch');
module.exports = function (Topics) { module.exports = function (Topics) {
Topics.delete = async function (tid, uid) { Topics.delete = async function (tid, uid) {
await Promise.all([ await removeTopicPidsFromCid(tid);
Topics.setTopicFields(tid, { await Topics.setTopicFields(tid, {
deleted: 1, deleted: 1,
deleterUid: uid, deleterUid: uid,
deletedTimestamp: Date.now(), deletedTimestamp: Date.now(),
}), });
removeTopicPidsFromCid(tid),
]);
}; };
async function removeTopicPidsFromCid(tid) { async function removeTopicPidsFromCid(tid) {
@ -37,24 +35,20 @@ module.exports = function (Topics) {
]); ]);
let postData = await posts.getPostsFields(pids, ['pid', 'timestamp', 'deleted']); let postData = await posts.getPostsFields(pids, ['pid', 'timestamp', 'deleted']);
postData = postData.filter(post => post && !post.deleted); postData = postData.filter(post => post && !post.deleted);
const pidsToAdd = []; const pidsToAdd = postData.map(post => post.pid);
const scores = []; const scores = postData.map(post => post.timestamp);
postData.forEach((post) => {
pidsToAdd.push(post.pid);
scores.push(post.timestamp);
});
await db.sortedSetAdd(`cid:${cid}:pids`, scores, pidsToAdd); await db.sortedSetAdd(`cid:${cid}:pids`, scores, pidsToAdd);
await categories.updateRecentTidForCid(cid); await categories.updateRecentTidForCid(cid);
} }
Topics.restore = async function (tid) { Topics.restore = async function (tid) {
await Topics.deleteTopicFields(tid, [
'deleterUid', 'deletedTimestamp',
]);
await Promise.all([ await Promise.all([
Topics.setTopicField(tid, 'deleted', 0), Topics.deleteTopicFields(tid, [
'deleterUid', 'deletedTimestamp',
]),
addTopicPidsToCid(tid), addTopicPidsToCid(tid),
]); ]);
await Topics.setTopicField(tid, 'deleted', 0);
}; };
Topics.purgePostsAndTopic = async function (tid, uid) { Topics.purgePostsAndTopic = async function (tid, uid) {

Loading…
Cancel
Save