diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-10-16 20:10:46 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-10-16 20:10:46 +0900 |
| commit | feef4a933ebf2d353faee27ea276220fb7d5b519 (patch) | |
| tree | 7e9699889b7547b76a6255f6728433990b177960 /src/tools | |
| parent | Improve test (diff) | |
| download | sharkey-feef4a933ebf2d353faee27ea276220fb7d5b519.tar.gz sharkey-feef4a933ebf2d353faee27ea276220fb7d5b519.tar.bz2 sharkey-feef4a933ebf2d353faee27ea276220fb7d5b519.zip | |
Update src/tools/clean-remote-files.ts
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/clean-remote-files.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/tools/clean-remote-files.ts b/src/tools/clean-remote-files.ts new file mode 100644 index 0000000000..28c76345c7 --- /dev/null +++ b/src/tools/clean-remote-files.ts @@ -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); +} |