summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-08-23 03:19:57 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-08-23 03:19:57 +0900
commit8ba178f795c771fd84739f4ff5ce65f135ca69ca (patch)
tree4976df1d0dd755021bb44e7943c595c13d1b10b9 /src/server
parentAdd control panel link in nav (diff)
downloadsharkey-8ba178f795c771fd84739f4ff5ce65f135ca69ca.tar.gz
sharkey-8ba178f795c771fd84739f4ff5ce65f135ca69ca.tar.bz2
sharkey-8ba178f795c771fd84739f4ff5ce65f135ca69ca.zip
コントロールパネルから招待制のオンオフを切り替えられるように
Diffstat (limited to 'src/server')
-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();
+});