fix: #7921, dont create wrong entries in db for flag

upgrade script to remove wrong entries
v1.18.x
Baris Usakli 5 years ago
parent bd3d3f2e39
commit a651d154ce

@ -445,7 +445,7 @@ Flags.getTargetCid = async function (type, id) {
if (type === 'post') {
return await posts.getCidByPid(id);
}
return id;
return null;
};
Flags.update = function (flagId, uid, changeset, callback) {

@ -0,0 +1,28 @@
'use strict';
const db = require('../../database');
const batch = require('../../batch');
module.exports = {
name: 'Clean flag byCid zsets',
timestamp: Date.UTC(2019, 8, 24),
method: async function (callback) {
const progress = this.progress;
await batch.processSortedSet('flags:datetime', async function (flagIds) {
progress.incr(flagIds.length);
const flagData = await db.getObjects(flagIds.map(id => 'flag:' + id));
const bulkRemove = [];
for (const flagObj of flagData) {
if (flagObj && flagObj.type === 'user' && flagObj.targetId && flagObj.flagId) {
bulkRemove.push(['flags:byCid:' + flagObj.targetId, flagObj.flagId]);
}
}
await db.sortedSetRemoveBulk(bulkRemove);
}, {
progress: progress,
});
callback();
},
};
Loading…
Cancel
Save