mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
test: fix restore test
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user