mirror of
https://iceshrimp.dev/crimekillz/iceshrimp-161sh.git
synced 2024-11-22 20:23:49 +01:00
Update src/tools/clean-remote-files.ts
This commit is contained in:
parent
8d674dce21
commit
0f38215b5e
30
src/tools/clean-remote-files.ts
Normal file
30
src/tools/clean-remote-files.ts
Normal file
@ -0,0 +1,30 @@
|
||||
import * as promiseLimit from 'promise-limit';
|
||||
import DriveFile, { IDriveFile } from '../models/drive-file';
|
||||
import del from '../services/drive/delete-file';
|
||||
|
||||
const limit = promiseLimit(16);
|
||||
|
||||
DriveFile.find({
|
||||
'metadata._user.host': {
|
||||
$ne: null
|
||||
},
|
||||
'metadata.deletedAt': { $exists: false }
|
||||
}, {
|
||||
fields: {
|
||||
_id: true
|
||||
}
|
||||
}).then(async files => {
|
||||
console.log(`there is ${files.length} files`);
|
||||
|
||||
await Promise.all(files.map(file => limit(() => job(file))));
|
||||
|
||||
console.log('ALL DONE');
|
||||
});
|
||||
|
||||
async function job(file: IDriveFile): Promise<any> {
|
||||
file = await DriveFile.findOne({ _id: file._id });
|
||||
|
||||
await del(file, true);
|
||||
|
||||
console.log('done', file._id);
|
||||
}
|
Loading…
Reference in New Issue
Block a user