fix: local deleteUploads() method in `src/user/delete.js` to call `User.deleteUpload()`

isekai-main
Julian Lam 3 years ago
parent 7ef9c7d220
commit b9edee143e

@ -15,7 +15,6 @@ const groups = require('../groups');
const messaging = require('../messaging'); const messaging = require('../messaging');
const plugins = require('../plugins'); const plugins = require('../plugins');
const batch = require('../batch'); const batch = require('../batch');
const file = require('../file');
module.exports = function (User) { module.exports = function (User) {
const deletesInProgress = {}; const deletesInProgress = {};
@ -35,7 +34,7 @@ module.exports = function (User) {
deletesInProgress[uid] = 'user.delete'; deletesInProgress[uid] = 'user.delete';
await deletePosts(callerUid, uid); await deletePosts(callerUid, uid);
await deleteTopics(callerUid, uid); await deleteTopics(callerUid, uid);
await deleteUploads(uid); await deleteUploads(callerUid, uid);
await deleteQueued(uid); await deleteQueued(uid);
delete deletesInProgress[uid]; delete deletesInProgress[uid];
}; };
@ -56,13 +55,9 @@ module.exports = function (User) {
}, { alwaysStartAt: 0 }); }, { alwaysStartAt: 0 });
} }
async function deleteUploads(uid) { async function deleteUploads(callerUid, uid) {
await batch.processSortedSet(`uid:${uid}:uploads`, async (uploadNames) => { const uploads = await db.getSortedSetMembers(`uid:${uid}:uploads`);
await async.each(uploadNames, async (uploadName) => { await User.deleteUpload(callerUid, uid, uploads);
await file.delete(path.join(nconf.get('upload_path'), uploadName));
});
await db.sortedSetRemove(`uid:${uid}:uploads`, uploadNames);
}, { alwaysStartAt: 0 });
} }
async function deleteQueued(uid) { async function deleteQueued(uid) {

@ -130,7 +130,7 @@ describe('Upload Controllers', () => {
assert(body && body.status && body.response && body.response.images); assert(body && body.status && body.response && body.response.images);
assert(Array.isArray(body.response.images)); assert(Array.isArray(body.response.images));
assert(body.response.images[0].url); assert(body.response.images[0].url);
const name = body.response.images[0].url.replace(nconf.get('relative_path') + nconf.get('upload_url'), ''); const name = body.response.images[0].url.replace(`${nconf.get('relative_path') + nconf.get('upload_url')}/`, '');
socketUser.deleteUpload({ uid: regularUid }, { uid: regularUid, name: name }, (err) => { socketUser.deleteUpload({ uid: regularUid }, { uid: regularUid, name: name }, (err) => {
assert.ifError(err); assert.ifError(err);
db.getSortedSetRange(`uid:${regularUid}:uploads`, 0, -1, (err, uploads) => { db.getSortedSetRange(`uid:${regularUid}:uploads`, 0, -1, (err, uploads) => {

Loading…
Cancel
Save