summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-05-27 16:54:47 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-05-27 16:54:47 +0900
commit72fb23f4d51db1b999a10b7d8bb50293a81af163 (patch)
tree07a7fa62cb7a822ce3759db5b2035368cd4e8e29 /src/server
parentImprove post form (diff)
downloadsharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.tar.gz
sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.tar.bz2
sharkey-72fb23f4d51db1b999a10b7d8bb50293a81af163.zip
Improve drive management
Diffstat (limited to 'src/server')
-rw-r--r--src/server/api/endpoints/admin/delete-all-files-of-a-user.ts4
-rw-r--r--src/server/api/endpoints/admin/drive/clean-remote-files.ts21
-rw-r--r--src/server/api/endpoints/admin/drive/cleanup.ts21
-rw-r--r--src/server/api/endpoints/admin/federation/delete-all-files.ts4
-rw-r--r--src/server/api/endpoints/drive/files/delete.ts4
5 files changed, 48 insertions, 6 deletions
diff --git a/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts b/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
index 84e9c363e1..276d1f37bd 100644
--- a/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
+++ b/src/server/api/endpoints/admin/delete-all-files-of-a-user.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../define';
-import del from '../../../../services/drive/delete-file';
+import { deleteFile } from '../../../../services/drive/delete-file';
import { DriveFiles } from '../../../../models';
import { ID } from '../../../../misc/cafy-id';
@@ -27,6 +27,6 @@ export default define(meta, async (ps, me) => {
});
for (const file of files) {
- del(file);
+ deleteFile(file);
}
});
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);
+ }
+});
diff --git a/src/server/api/endpoints/admin/federation/delete-all-files.ts b/src/server/api/endpoints/admin/federation/delete-all-files.ts
index befb362264..24ad9ce808 100644
--- a/src/server/api/endpoints/admin/federation/delete-all-files.ts
+++ b/src/server/api/endpoints/admin/federation/delete-all-files.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import define from '../../../define';
-import del from '../../../../../services/drive/delete-file';
+import { deleteFile } from '../../../../../services/drive/delete-file';
import { DriveFiles } from '../../../../../models';
export const meta = {
@@ -22,6 +22,6 @@ export default define(meta, async (ps, me) => {
});
for (const file of files) {
- del(file);
+ deleteFile(file);
}
});
diff --git a/src/server/api/endpoints/drive/files/delete.ts b/src/server/api/endpoints/drive/files/delete.ts
index d8cc5ec0a1..d6a20f352e 100644
--- a/src/server/api/endpoints/drive/files/delete.ts
+++ b/src/server/api/endpoints/drive/files/delete.ts
@@ -1,6 +1,6 @@
import $ from 'cafy';
import { ID } from '../../../../../misc/cafy-id';
-import del from '../../../../../services/drive/delete-file';
+import { deleteFile } from '../../../../../services/drive/delete-file';
import { publishDriveStream } from '../../../../../services/stream';
import define from '../../../define';
import { ApiError } from '../../../error';
@@ -57,7 +57,7 @@ export default define(meta, async (ps, user) => {
}
// Delete
- await del(file);
+ await deleteFile(file);
// Publish fileDeleted event
publishDriveStream(user.id, 'fileDeleted', file.id);