From 72fb23f4d51db1b999a10b7d8bb50293a81af163 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 27 May 2019 16:54:47 +0900 Subject: Improve drive management --- .../endpoints/admin/delete-all-files-of-a-user.ts | 4 ++-- .../api/endpoints/admin/drive/clean-remote-files.ts | 21 +++++++++++++++++++++ src/server/api/endpoints/admin/drive/cleanup.ts | 21 +++++++++++++++++++++ .../endpoints/admin/federation/delete-all-files.ts | 4 ++-- src/server/api/endpoints/drive/files/delete.ts | 4 ++-- 5 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 src/server/api/endpoints/admin/drive/clean-remote-files.ts create mode 100644 src/server/api/endpoints/admin/drive/cleanup.ts (limited to 'src/server/api/endpoints') 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); -- cgit v1.2.3-freya From 5dbe1d448b9406fbe5a79e62b6826c31df7f9cb0 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 27 May 2019 17:44:51 +0900 Subject: Improve job queue view --- locales/ja-JP.yml | 7 ++++- src/client/app/admin/views/queue.chart.vue | 2 +- src/client/app/admin/views/queue.vue | 30 +++++++++++++++++----- .../app/common/views/components/ui/input.vue | 26 ++++++++++++------- src/server/api/endpoints/admin/queue/stats.ts | 8 ++++-- 5 files changed, 54 insertions(+), 19 deletions(-) (limited to 'src/server/api/endpoints') diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 493875af6e..52f1e2901c 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1245,10 +1245,15 @@ admin/views/queue.vue: domains: deliver: "配送" inbox: "受信" + db: "データベース" + objectStorage: "オブジェクトストレージ" state: "状態" states: - delayed: "遅延" + active: "処理中" + delayed: "予約済み" + waiting: "順番待ち" result-is-truncated: "結果は省略されています" + other-queues: "その他のキュー" admin/views/logs.vue: logs: "ログ" diff --git a/src/client/app/admin/views/queue.chart.vue b/src/client/app/admin/views/queue.chart.vue index c3d68d75af..ff29aa8392 100644 --- a/src/client/app/admin/views/queue.chart.vue +++ b/src/client/app/admin/views/queue.chart.vue @@ -176,6 +176,6 @@ export default Vue.extend({ diff --git a/src/client/app/admin/views/queue.vue b/src/client/app/admin/views/queue.vue index 358ed6cf74..43a41ffbe8 100644 --- a/src/client/app/admin/views/queue.vue +++ b/src/client/app/admin/views/queue.vue @@ -2,14 +2,28 @@
-
-
Deliver
+
+
{{ $t('domains.deliver') }}
-
-
Inbox
+
+
{{ $t('domains.inbox') }}
+
+
+ {{ $t('other-queues') }} +
+
{{ $t('domains.db') }}
+ +
+ +
+
{{ $t('domains.objectStorage') }}
+ +
+
+
{{ $t('remove-all-jobs') }}
@@ -23,9 +37,13 @@ + + + + @@ -48,7 +66,7 @@