diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-05-27 16:54:47 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-05-27 16:54:47 +0900 |
| commit | 72fb23f4d51db1b999a10b7d8bb50293a81af163 (patch) | |
| tree | 07a7fa62cb7a822ce3759db5b2035368cd4e8e29 /src/server/api/endpoints/admin/drive | |
| parent | Improve post form (diff) | |
| download | sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.tar.gz sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.tar.bz2 sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.zip | |
Improve drive management
Diffstat (limited to 'src/server/api/endpoints/admin/drive')
| -rw-r--r-- | src/server/api/endpoints/admin/drive/clean-remote-files.ts | 21 | ||||
| -rw-r--r-- | src/server/api/endpoints/admin/drive/cleanup.ts | 21 |
2 files changed, 42 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/drive/clean-remote-files.ts b/src/server/api/endpoints/admin/drive/clean-remote-files.ts new file mode 100644 index 0000000000..a861052bbe --- /dev/null +++ b/src/server/api/endpoints/admin/drive/clean-remote-files.ts @@ -0,0 +1,21 @@ +import { Not, IsNull } from 'typeorm'; +import define from '../../../define'; +import { deleteFile } from '../../../../../services/drive/delete-file'; +import { DriveFiles } from '../../../../../models'; + +export const meta = { + tags: ['admin'], + + requireCredential: true, + requireModerator: true, +}; + +export default define(meta, async (ps, me) => { + const files = await DriveFiles.find({ + userHost: Not(IsNull()) + }); + + for (const file of files) { + deleteFile(file, true); + } +}); diff --git a/src/server/api/endpoints/admin/drive/cleanup.ts b/src/server/api/endpoints/admin/drive/cleanup.ts new file mode 100644 index 0000000000..272416dee8 --- /dev/null +++ b/src/server/api/endpoints/admin/drive/cleanup.ts @@ -0,0 +1,21 @@ +import { IsNull } from 'typeorm'; +import define from '../../../define'; +import { deleteFile } from '../../../../../services/drive/delete-file'; +import { DriveFiles } from '../../../../../models'; + +export const meta = { + tags: ['admin'], + + requireCredential: true, + requireModerator: true, +}; + +export default define(meta, async (ps, me) => { + const files = await DriveFiles.find({ + userId: IsNull() + }); + + for (const file of files) { + deleteFile(file); + } +}); |