iceshrimp-legacy/src/tools/clean-remote-files.ts
syuilo e7dd5e155d
Fix bugs
Use Not(IsNull())
2019-05-20 21:44:16 +09:00

27 lines
691 B
TypeScript

import * as promiseLimit from 'promise-limit';
import del from '../services/drive/delete-file';
import { DriveFiles } from '../models';
import { Not, IsNull } from 'typeorm';
import { DriveFile } from '../models/entities/drive-file';
import { ensure } from '../prelude/ensure';
const limit = promiseLimit(16);
DriveFiles.find({
userHost: Not(IsNull())
}).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: DriveFile): Promise<any> {
file = await DriveFiles.findOne(file.id).then(ensure);
await del(file, true);
console.log('done', file.id);
}