diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-08-23 03:19:57 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-08-23 03:19:57 +0900 |
| commit | 8ba178f795c771fd84739f4ff5ce65f135ca69ca (patch) | |
| tree | 4976df1d0dd755021bb44e7943c595c13d1b10b9 /src/server | |
| parent | Add control panel link in nav (diff) | |
| download | sharkey-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.ts | 37 |
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(); +}); |