mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 08:36:12 +01:00
fix: #7487
This commit is contained in:
45
src/upgrades/1.12.1/clear_username_email_history.js
Normal file
45
src/upgrades/1.12.1/clear_username_email_history.js
Normal file
@@ -0,0 +1,45 @@
|
||||
'use strict';
|
||||
|
||||
const async = require('async');
|
||||
const db = require('../../database');
|
||||
const user = require('../../user');
|
||||
|
||||
module.exports = {
|
||||
name: 'Delete username email history for deleted users',
|
||||
timestamp: Date.UTC(2019, 2, 25),
|
||||
method: async function (callback) {
|
||||
const progress = this.progress;
|
||||
var currentUid = 1;
|
||||
db.getObjectField('global', 'nextUid', function (err, nextUid) {
|
||||
if (err) {
|
||||
return callback(err);
|
||||
}
|
||||
progress.total = nextUid;
|
||||
async.whilst(function () {
|
||||
return currentUid < nextUid;
|
||||
},
|
||||
function (next) {
|
||||
progress.incr();
|
||||
user.exists(currentUid, function (err, exists) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
if (exists) {
|
||||
currentUid += 1;
|
||||
return next();
|
||||
}
|
||||
db.deleteAll(['user:' + currentUid + ':usernames', 'user:' + currentUid + ':emails'], function (err) {
|
||||
if (err) {
|
||||
return next(err);
|
||||
}
|
||||
currentUid += 1;
|
||||
next();
|
||||
});
|
||||
});
|
||||
},
|
||||
function (err) {
|
||||
callback(err);
|
||||
});
|
||||
});
|
||||
},
|
||||
};
|
||||
@@ -156,6 +156,8 @@ module.exports = function (User) {
|
||||
'uid:' + uid + ':followed_tids',
|
||||
'uid:' + uid + ':ignored_tids',
|
||||
'user:' + uid + ':settings',
|
||||
'user:' + uid + ':usernames',
|
||||
'user:' + uid + ':emails',
|
||||
'uid:' + uid + ':topics', 'uid:' + uid + ':posts',
|
||||
'uid:' + uid + ':chats', 'uid:' + uid + ':chats:unread',
|
||||
'uid:' + uid + ':chat:rooms', 'uid:' + uid + ':chat:rooms:unread',
|
||||
|
||||
Reference in New Issue
Block a user