summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-07-05 02:13:02 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-07-05 02:13:02 +0900
commitd078f786028c066d536990c280091f9c43b67ec9 (patch)
tree4892e2dd4d94cb5d8dd3ce81d4c7ba6b190f7960 /src/server/api/endpoints/admin
parentMerge branch 'develop' (diff)
parent11.24.0 (diff)
downloadsharkey-d078f786028c066d536990c280091f9c43b67ec9.tar.gz
sharkey-d078f786028c066d536990c280091f9c43b67ec9.tar.bz2
sharkey-d078f786028c066d536990c280091f9c43b67ec9.zip
Merge branch 'develop'
Diffstat (limited to 'src/server/api/endpoints/admin')
-rw-r--r--src/server/api/endpoints/admin/drive/clean-remote-files.ts13
-rw-r--r--src/server/api/endpoints/admin/send-email.ts26
-rw-r--r--src/server/api/endpoints/admin/vacuum.ts33
3 files changed, 61 insertions, 11 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
index 69cfe0db94..e837ae1bb6 100644
--- a/src/server/api/endpoints/admin/drive/clean-remote-files.ts
+++ b/src/server/api/endpoints/admin/drive/clean-remote-files.ts
@@ -1,7 +1,5 @@
-import { Not, IsNull } from 'typeorm';
import define from '../../../define';
-import { deleteFile } from '../../../../../services/drive/delete-file';
-import { DriveFiles } from '../../../../../models';
+import { createCleanRemoteFilesJob } from '../../../../../queue';
export const meta = {
tags: ['admin'],
@@ -11,12 +9,5 @@ export const meta = {
};
export default define(meta, async (ps, me) => {
- const files = await DriveFiles.find({
- userHost: Not(IsNull()),
- isLink: false,
- });
-
- for (const file of files) {
- deleteFile(file, true);
- }
+ createCleanRemoteFilesJob();
});
diff --git a/src/server/api/endpoints/admin/send-email.ts b/src/server/api/endpoints/admin/send-email.ts
new file mode 100644
index 0000000000..fed4f2df14
--- /dev/null
+++ b/src/server/api/endpoints/admin/send-email.ts
@@ -0,0 +1,26 @@
+import $ from 'cafy';
+import define from '../../define';
+import { sendEmail } from '../../../../services/send-email';
+
+export const meta = {
+ tags: ['admin'],
+
+ requireCredential: true,
+ requireModerator: true,
+
+ params: {
+ to: {
+ validator: $.str,
+ },
+ subject: {
+ validator: $.str,
+ },
+ text: {
+ validator: $.str,
+ },
+ }
+};
+
+export default define(meta, async (ps) => {
+ await sendEmail(ps.to, ps.subject, ps.text);
+});
diff --git a/src/server/api/endpoints/admin/vacuum.ts b/src/server/api/endpoints/admin/vacuum.ts
new file mode 100644
index 0000000000..6990706282
--- /dev/null
+++ b/src/server/api/endpoints/admin/vacuum.ts
@@ -0,0 +1,33 @@
+import $ from 'cafy';
+import define from '../../define';
+import { getConnection } from 'typeorm';
+
+export const meta = {
+ tags: ['admin'],
+
+ requireCredential: true,
+ requireModerator: true,
+
+ params: {
+ full: {
+ validator: $.bool,
+ },
+ analyze: {
+ validator: $.bool,
+ },
+ }
+};
+
+export default define(meta, async (ps) => {
+ const params: string[] = [];
+
+ if (ps.full) {
+ params.push('FULL');
+ }
+
+ if (ps.analyze) {
+ params.push('ANALYZE');
+ }
+
+ getConnection().query('VACUUM ' + params.join(' '));
+});