mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: #8949, faster upgrade script
This commit is contained in:
@@ -7,7 +7,7 @@ const user = require('../../user');
|
|||||||
const groups = require('../../groups');
|
const groups = require('../../groups');
|
||||||
const meta = require('../../meta');
|
const meta = require('../../meta');
|
||||||
const privileges = require('../../privileges');
|
const privileges = require('../../privileges');
|
||||||
|
const now = Date.now();
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'Create verified/unverified user groups',
|
name: 'Create verified/unverified user groups',
|
||||||
timestamp: Date.UTC(2020, 9, 13),
|
timestamp: Date.UTC(2020, 9, 13),
|
||||||
@@ -46,14 +46,17 @@ module.exports = {
|
|||||||
const verified = userData.filter(u => parseInt(u['email:confirmed'], 10) === 1);
|
const verified = userData.filter(u => parseInt(u['email:confirmed'], 10) === 1);
|
||||||
const unverified = userData.filter(u => parseInt(u['email:confirmed'], 10) !== 1);
|
const unverified = userData.filter(u => parseInt(u['email:confirmed'], 10) !== 1);
|
||||||
|
|
||||||
for (const user of verified) {
|
await db.sortedSetAdd(
|
||||||
// eslint-disable-next-line no-await-in-loop
|
'group:verified-users:members',
|
||||||
await groups.join('verified-users', user.uid);
|
verified.map(() => now),
|
||||||
}
|
verified.map(u => u.uid)
|
||||||
for (const user of unverified) {
|
);
|
||||||
// eslint-disable-next-line no-await-in-loop
|
|
||||||
await groups.join('unverified-users', user.uid);
|
await db.sortedSetAdd(
|
||||||
}
|
'group:unverified-users:members',
|
||||||
|
verified.map(() => now),
|
||||||
|
unverified.map(u => u.uid)
|
||||||
|
);
|
||||||
}, {
|
}, {
|
||||||
batch: 500,
|
batch: 500,
|
||||||
progress: this.progress,
|
progress: this.progress,
|
||||||
@@ -61,6 +64,11 @@ module.exports = {
|
|||||||
|
|
||||||
await db.delete('users:notvalidated');
|
await db.delete('users:notvalidated');
|
||||||
await updatePrivilges();
|
await updatePrivilges();
|
||||||
|
|
||||||
|
const verifiedCount = await db.sortedSetCard('group:verified-users:members');
|
||||||
|
const unverifiedCount = await db.sortedSetCard('group:unverified-users:members');
|
||||||
|
await db.setObjectField('group:verified-users', 'memberCount', verifiedCount);
|
||||||
|
await db.setObjectField('group:unverified-users', 'memberCount', unverifiedCount);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user