diff options
| author | Max Isom <[email protected]> | 2021-11-19 12:22:27 -0500 |
|---|---|---|
| committer | Max Isom <[email protected]> | 2021-11-19 12:22:27 -0500 |
| commit | 34e45d6273463e232168c2f5e273728d594e4d77 (patch) | |
| tree | 4db9517b3bed9b07bbde16ed6e08aa6b50d93c5d /src/services | |
| parent | f5149dfaba64c62f0a9ea6deab600b3d4d9b0f39 (diff) | |
| download | muse-34e45d6273463e232168c2f5e273728d594e4d77.tar.xz muse-34e45d6273463e232168c2f5e273728d594e4d77.zip | |
Add .removeOrphans()
Diffstat (limited to 'src/services')
| -rw-r--r-- | src/services/file-cache.ts | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/services/file-cache.ts b/src/services/file-cache.ts index 0ecf279..6d9c23f 100644 --- a/src/services/file-cache.ts +++ b/src/services/file-cache.ts @@ -1,10 +1,10 @@ +import {promises as fs, createWriteStream} from 'fs'; +import path from 'path'; import {inject, injectable} from 'inversify'; import sequelize from 'sequelize'; import {FileCache} from '../models/index.js'; import {TYPES} from '../types.js'; import Config from './config.js'; -import {promises as fs, createWriteStream} from 'fs'; -import path from 'path'; @injectable() export default class FileCacheProvider { @@ -104,6 +104,14 @@ export default class FileCacheProvider { } private async removeOrphans() { - // TODO + for await (const dirent of await fs.opendir(this.config.CACHE_DIR)) { + if (dirent.isFile()) { + const model = await FileCache.findByPk(dirent.name); + + if (!model) { + await fs.unlink(path.join(this.config.CACHE_DIR, dirent.name)); + } + } + } } } |
