summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin/update-meta.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/admin/update-meta.ts')
-rw-r--r--src/server/api/endpoints/admin/update-meta.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/server/api/endpoints/admin/update-meta.ts b/src/server/api/endpoints/admin/update-meta.ts
new file mode 100644
index 0000000000..bfcab9d6a6
--- /dev/null
+++ b/src/server/api/endpoints/admin/update-meta.ts
@@ -0,0 +1,37 @@
+import $ from 'cafy';
+import Meta from '../../../../models/meta';
+import getParams from '../../get-params';
+
+export const meta = {
+ desc: {
+ ja: 'インスタンスの設定を更新します。'
+ },
+
+ requireCredential: true,
+ requireAdmin: true,
+
+ params: {
+ disableRegistration: $.bool.optional.nullable.note({
+ desc: {
+ ja: '招待制か否か'
+ }
+ }),
+ }
+};
+
+export default (params: any) => new Promise(async (res, rej) => {
+ const [ps, psErr] = getParams(meta, params);
+ if (psErr) return rej(psErr);
+
+ const set = {} as any;
+
+ if (ps.disableRegistration === true || ps.disableRegistration === false) {
+ set.disableRegistration = ps.disableRegistration;
+ }
+
+ await Meta.update({}, {
+ $set: set
+ }, { upsert: true });
+
+ res();
+});