summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/drive
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/admin/drive')
-rw-r--r--src/server/api/endpoints/admin/drive/clean-remote-files.ts21
-rw-r--r--src/server/api/endpoints/admin/drive/cleanup.ts21
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);
+ }
+});