core: 修复系统设置中键值多出空格的问题

pull/56/head
undefined 4 years ago
parent af70df2a5d
commit 9bae058893

@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "2.17.13",
"version": "2.17.14",
"bin": "bin/hydrooj.js",
"main": "dist/loader.js",
"typings": "dist/loader.d.ts",

@ -19,16 +19,14 @@ function set(key: string, value: any) {
if (setting.SYSTEM_SETTINGS_BY_KEY[key]) {
const s = setting.SYSTEM_SETTINGS_BY_KEY[key];
if (s.flag & setting.FLAG_DISABLED) return undefined;
if (s.flag & setting.FLAG_SECRET && !value) return undefined;
if ((s.flag & setting.FLAG_SECRET) && !value) return undefined;
if (s.type === 'boolean') {
if (value === 'on') return true;
return false;
}
if (s.type === 'number') {
if (!Number.isSafeInteger(+value)) {
throw new ValidationError(key);
}
return parseInt(value, 10);
if (!Number.isSafeInteger(+value)) throw new ValidationError(key);
return +value;
}
return value;
}
@ -149,12 +147,11 @@ class SystemSettingHandler extends SystemHandler {
for (const key in args) {
if (typeof args[key] === 'object') {
for (const subkey in args[key]) {
if (typeof set(`${key}.${subkey} `, args[key][subkey]) !== 'undefined') {
tasks.push(system.set(`${key}.${subkey} `, set(`${key}.${subkey} `, args[key][subkey])));
const val = set(`${key}.${subkey}`, args[key][subkey]);
if (val !== undefined) {
tasks.push(system.set(`${key}.${subkey}`, val));
}
}
} else if (typeof set(key, args[key]) !== 'undefined') {
tasks.push(system.set(key, set(key, args[key])));
}
}
tasks.push(bus.parallel('system/setting', args));

Loading…
Cancel
Save