mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-11 00:15:46 +01:00
delete users uploads on account delete
store uid:<uid>:uploads
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
var async = require('async');
|
||||
var _ = require('lodash');
|
||||
var path = require('path');
|
||||
var nconf = require('nconf');
|
||||
|
||||
var db = require('../database');
|
||||
var posts = require('../posts');
|
||||
@@ -10,6 +12,7 @@ var groups = require('../groups');
|
||||
var messaging = require('../messaging');
|
||||
var plugins = require('../plugins');
|
||||
var batch = require('../batch');
|
||||
var file = require('../file');
|
||||
|
||||
module.exports = function (User) {
|
||||
User.delete = function (callerUid, uid, callback) {
|
||||
@@ -24,6 +27,9 @@ module.exports = function (User) {
|
||||
function (next) {
|
||||
deleteTopics(callerUid, uid, next);
|
||||
},
|
||||
function (next) {
|
||||
deleteUploads(uid, next);
|
||||
},
|
||||
function (next) {
|
||||
User.deleteAccount(uid, next);
|
||||
},
|
||||
@@ -46,6 +52,22 @@ module.exports = function (User) {
|
||||
}, { alwaysStartAt: 0 }, callback);
|
||||
}
|
||||
|
||||
function deleteUploads(uid, callback) {
|
||||
batch.processSortedSet('uid:' + uid + ':uploads', function (urls, next) {
|
||||
async.waterfall([
|
||||
function (next) {
|
||||
async.each(urls, function (url, next) {
|
||||
var filePath = path.join(nconf.get('upload_path'), url.replace(nconf.get('upload_url'), ''));
|
||||
file.delete(filePath, next);
|
||||
}, next);
|
||||
},
|
||||
function (next) {
|
||||
db.sortedSetRemove('uid:' + uid + ':uploads', urls, next);
|
||||
},
|
||||
], next);
|
||||
}, { alwaysStartAt: 0 }, callback);
|
||||
}
|
||||
|
||||
User.deleteAccount = function (uid, callback) {
|
||||
var userData;
|
||||
async.waterfall([
|
||||
|
||||
Reference in New Issue
Block a user