mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 17:36:08 +08:00
core: 修复系统设置中键值多出空格的问题
This commit is contained in:
1 parent
af70df2a5d
commit
9bae058893
2 files changed
+7
-10
No files matched your search
@@ -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));
|
||||
|
||||
Reference in new issue
Block a user