refactor: flag sanity checks, +feat: flag limits
- Added new config flag:limitPerTarget, to disallow flags after an item has already been flagged x times (default 0, or infinite) - New zset flags:byTarget, score is the number of times a flag has been made against that item - "already-flagged" translation key removed, now "post-already-flagged" or "user-already-flagged" -- this fixed bug where flagging a user you've already flagged would tell you you've already flagged this post already. - Refactored Flags.canFlag to throw errors only, instead of returning boolean - Updated ACP form inputs for reputation settings page to be more bootstrappy - +1 upgrade scriptv1.18.x
parent
cd94c24a86
commit
e3e55f25d0
@ -0,0 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
const db = require('../../database');
|
||||
|
||||
module.exports = {
|
||||
name: 'New sorted set for tracking flags by target',
|
||||
timestamp: Date.UTC(2020, 6, 15),
|
||||
method: async () => {
|
||||
const flags = await db.getSortedSetRange('flags:hash', 0, -1);
|
||||
await Promise.all(flags.map(async (flag) => {
|
||||
flag = flag.split(':').slice(0, 2);
|
||||
await db.sortedSetIncrBy('flags:byTarget', 1, flag.join(':'));
|
||||
}));
|
||||
},
|
||||
};
|
Loading…
Reference in New Issue