summaryrefslogtreecommitdiff
path: root/src/tools/clean-remote-files.ts
blob: f64affea978b3d57e89d3cf6c0e47a8e946f9e8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import * as promiseLimit from 'promise-limit';
import del from '../services/drive/delete-file';
import { DriveFiles } from '../models';
import { Not } from 'typeorm';
import { DriveFile } from '../models/entities/drive-file';

const limit = promiseLimit(16);

DriveFiles.find({
	userHost: Not(null)
}).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);

	await del(file, true);

	console.log('done', file.id);
}