diff --git a/src/flags.js b/src/flags.js index ddea5bf08c..a2f55eb307 100644 --- a/src/flags.js +++ b/src/flags.js @@ -318,43 +318,43 @@ Flags.create = async function (type, id, uid, reason, timestamp) { const batched = []; batched.push( - db.setObject.bind(db, 'flag:' + flagId, { + db.setObject('flag:' + flagId, { flagId: flagId, type: type, targetId: id, datetime: timestamp, }), - Flags.addReport.bind(Flags, flagId, uid, reason, timestamp), - db.sortedSetAdd.bind(db, 'flags:datetime', timestamp, flagId), // by time, the default - db.sortedSetAdd.bind(db, 'flags:byType:' + type, timestamp, flagId), // by flag type - db.sortedSetAdd.bind(db, 'flags:hash', flagId, [type, id, uid].join(':')), // save zset for duplicate checking - db.sortedSetIncrBy.bind(db, 'flags:byTarget', 1, [type, id].join(':')), // by flag target (score is count) - analytics.increment.bind(analytics, 'flags') // some fancy analytics + Flags.addReport(flagId, uid, reason, timestamp), + db.sortedSetAdd('flags:datetime', timestamp, flagId), // by time, the default + db.sortedSetAdd('flags:byType:' + type, timestamp, flagId), // by flag type + db.sortedSetAdd('flags:hash', flagId, [type, id, uid].join(':')), // save zset for duplicate checking + db.sortedSetIncrBy('flags:byTarget', 1, [type, id].join(':')), // by flag target (score is count) + analytics.increment('flags') // some fancy analytics ); if (targetUid) { - batched.push(db.sortedSetAdd.bind(db, 'flags:byTargetUid:' + targetUid, timestamp, flagId)); // by target uid + batched.push(db.sortedSetAdd('flags:byTargetUid:' + targetUid, timestamp, flagId)); // by target uid } if (targetCid) { - batched.push(db.sortedSetAdd.bind(db, 'flags:byCid:' + targetCid, timestamp, flagId)); // by target cid + batched.push(db.sortedSetAdd('flags:byCid:' + targetCid, timestamp, flagId)); // by target cid } if (type === 'post') { batched.push( - db.sortedSetAdd.bind(db, 'flags:byPid:' + id, timestamp, flagId), // by target pid - posts.setPostField.bind(posts, id, 'flagId', flagId) + db.sortedSetAdd('flags:byPid:' + id, timestamp, flagId), // by target pid + posts.setPostField(id, 'flagId', flagId) ); if (targetUid) { - batched.push(user.incrementUserFlagsBy.bind(user, targetUid, 1)); + batched.push(user.incrementUserFlagsBy(targetUid, 1)); } } else if (type === 'user') { - batched.push(user.setUserField.bind(user, id, 'flagId', flagId)); + batched.push(user.setUserField(id, 'flagId', flagId)); } // Run all the database calls in one single batched call... - await Promise.all(batched.map(async method => await method())); + await Promise.all(batched); if (doHistoryAppend) { Flags.update(flagId, uid, { state: 'open' });