mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-02-28 09:31:17 +01:00
refactor: dont store ap pids in posts:pid
new zset postsRemote:pid in topic purge only make 1 db call to reduce counters
This commit is contained in:
@@ -59,10 +59,10 @@ module.exports = function (Posts) {
|
||||
|
||||
const topicData = await topics.getTopicFields(tid, ['cid', 'pinned']);
|
||||
postData.cid = topicData.cid;
|
||||
|
||||
const isRemote = !utils.isNumber(pid);
|
||||
await Promise.all([
|
||||
db.sortedSetAdd('posts:pid', timestamp, postData.pid),
|
||||
utils.isNumber(pid) ? db.incrObjectField('global', 'postCount') : null,
|
||||
db.sortedSetAdd(!isRemote ? 'posts:pid' : 'postsRemote:pid', timestamp, postData.pid),
|
||||
!isRemote ? db.incrObjectField('global', 'postCount') : null,
|
||||
user.onNewPostMade(postData),
|
||||
topics.onNewPostMade(postData),
|
||||
categories.onNewPostMade(topicData.cid, topicData.pinned, postData),
|
||||
|
||||
@@ -79,7 +79,9 @@ module.exports = function (Posts) {
|
||||
deleteFromGroups(pids),
|
||||
deleteDiffs(pids),
|
||||
deleteFromUploads(pids),
|
||||
db.sortedSetsRemove(['posts:pid', 'posts:votes', 'posts:flagged'], pids),
|
||||
db.sortedSetsRemove([
|
||||
'posts:pid', 'posts:votes', 'posts:flagged', 'postsRemote:pid',
|
||||
], pids),
|
||||
Posts.attachments.empty(pids),
|
||||
activitypub.notes.delete(pids),
|
||||
db.deleteAll(pids.map(pid => `pid:${pid}:editors`)),
|
||||
|
||||
@@ -260,7 +260,9 @@ module.exports = function (Posts) {
|
||||
}
|
||||
await Promise.all([
|
||||
updateTopicVoteCount(postData),
|
||||
db.sortedSetAdd('posts:votes', postData.votes, postData.pid),
|
||||
utils.isNumber(postData.pid) ?
|
||||
db.sortedSetAdd('posts:votes', postData.votes, postData.pid) :
|
||||
null,
|
||||
Posts.setPostFields(postData.pid, {
|
||||
upvotes: postData.upvotes,
|
||||
downvotes: postData.downvotes,
|
||||
|
||||
Reference in New Issue
Block a user