mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-27 17:11:14 +01:00
feat: #8349, remove user posts from queue if user is deleted
This commit is contained in:
@@ -29,6 +29,7 @@ module.exports = function (User) {
|
|||||||
await deletePosts(callerUid, uid);
|
await deletePosts(callerUid, uid);
|
||||||
await deleteTopics(callerUid, uid);
|
await deleteTopics(callerUid, uid);
|
||||||
await deleteUploads(uid);
|
await deleteUploads(uid);
|
||||||
|
await deleteQueued(uid);
|
||||||
const userData = await User.deleteAccount(uid);
|
const userData = await User.deleteAccount(uid);
|
||||||
return userData;
|
return userData;
|
||||||
};
|
};
|
||||||
@@ -58,6 +59,14 @@ module.exports = function (User) {
|
|||||||
}, { alwaysStartAt: 0 });
|
}, { alwaysStartAt: 0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function deleteQueued(uid) {
|
||||||
|
await batch.processSortedSet('post:queue', async function (ids) {
|
||||||
|
const data = await db.getObjects(ids.map(id => 'post:queue:' + id));
|
||||||
|
const deleteIds = data.filter(d => parseInt(d.uid, 10) === parseInt(uid, 10)).map(d => d.id);
|
||||||
|
await async.eachSeries(deleteIds, posts.removeFromQueue);
|
||||||
|
}, { alwaysStartAt: 0 });
|
||||||
|
}
|
||||||
|
|
||||||
async function removeFromSortedSets(uid) {
|
async function removeFromSortedSets(uid) {
|
||||||
await db.sortedSetsRemove([
|
await db.sortedSetsRemove([
|
||||||
'users:joindate',
|
'users:joindate',
|
||||||
|
|||||||
Reference in New Issue
Block a user