core: fix ci

This commit is contained in:
undefined committed 2025-03-07 12:37:12 +08:00
1 parent 31b4ed73f4
commit bb4c1ac74f
3 files changed
+32 -24

No files matched your search

+1 -1
View File
@@ -111,7 +111,7 @@ export async function load(ctx: Context) {
require('../service/bus').apply(ctx);
const pending = global.addons;
const fail = [];
await ctx.plugin(MongoService, loadOptions());
await ctx.plugin(MongoService, loadOptions() || {});
await ctx.plugin(ConfigService);
await require('../model/system').runConfig();
ctx = await new Promise((resolve) => {
+1 -1
View File
@@ -34,7 +34,7 @@ export async function apply(ctx: Context) {
locale(pending, fail),
template(pending, fail),
]);
await ctx.plugin(MongoService, load());
await ctx.plugin(MongoService, load() || {});
await ctx.plugin(ConfigService);
const modelSystem = require('../model/system');
await modelSystem.runConfig();
+30 -22
View File
@@ -286,30 +286,38 @@ const ignoreUA = [
'YandexBot',
].join('\n');
// This is a showcase of how to use Schema to define settings.
SystemSetting(Schema.object({
smtp: Schema.object({
user: Schema.string().default('').description('SMTP Username'),
pass: Schema.string().default('').description('SMTP Password').role('password'),
host: Schema.string().default('').description('SMTP Server Host'),
port: Schema.number().step(1).min(1).max(65535).default(465).description('SMTP Server Port'),
from: Schema.string().default('').description('Mail From'),
secure: Schema.boolean().default(false).description('SSL'),
verify: Schema.boolean().default(true).description('Verify register email'),
}).extra('family', 'setting_smtp'),
server: Schema.object({
center: Schema.string().default('https://hydro.ac/center').description('Server Center').role('url').hidden(),
name: Schema.string().default('Hydro').description('Server Name'),
url: Schema.string().default('/').description('Server BaseURL'),
upload: Schema.string().default('256m').description('Max upload file size'),
cdn: Schema.string().default('/').description('CDN Prefix'),
ws: Schema.string().default('/').description('WebSocket Prefix'),
host: Schema.string().default('127.0.0.1').description('Listen host'),
port: Schema.number().step(1).min(1).max(65535).default(8888).description('Server Port'),
xff: Schema.string().default('').description('IP Header'),
xhost: Schema.string().default('').description('Hostname Header'),
xproxy: Schema.boolean().default(false).description('Use reverse_proxy'),
cors: Schema.string().default('').description('CORS domains'),
login: Schema.boolean().default(true).description('Allow builtin-login').hidden(),
checkUpdate: Schema.boolean().default(true).description('Daily update check'),
ignoreUA: Schema.string().default(ignoreUA).description('ignoredUA').role('textarea'),
}).extra('family', 'setting_server'),
}));
// We will keep the old settings as-is until new setting ui is ready.
SystemSetting(
Setting('setting_smtp', 'smtp.user', null, 'text', 'smtp.user', 'SMTP Username'),
Setting('setting_smtp', 'smtp.pass', null, 'password', 'smtp.pass', 'SMTP Password', FLAG_SECRET),
Setting('setting_smtp', 'smtp.host', null, 'text', 'smtp.host', 'SMTP Server Host'),
Setting('setting_smtp', 'smtp.port', 465, 'number', 'smtp.port', 'SMTP Server Port'),
Setting('setting_smtp', 'smtp.from', null, 'text', 'smtp.from', 'Mail From'),
Setting('setting_smtp', 'smtp.secure', false, 'boolean', 'smtp.secure', 'SSL'),
Setting('setting_smtp', 'smtp.verify', true, 'boolean', 'smtp.verify', 'Verify register email'),
Setting('setting_server', 'server.center', 'https://hydro.ac/center', 'text', 'server.center', '', FLAG_HIDDEN),
Setting('setting_server', 'server.name', 'Hydro', 'text', 'server.name', 'Server Name'),
Setting('setting_server', 'server.url', '/', 'text', 'server.url', 'Server BaseURL'),
Setting('setting_server', 'server.upload', '256m', 'text', 'server.upload', 'Max upload file size'),
Setting('setting_server', 'server.cdn', '/', 'text', 'server.cdn', 'CDN Prefix'),
Setting('setting_server', 'server.ws', '/', 'text', 'server.ws', 'WebSocket Prefix'),
Setting('setting_server', 'server.host', '127.0.0.1', 'text', 'server.host', 'Listen host'),
Setting('setting_server', 'server.port', 8888, 'number', 'server.port', 'Server Port'),
Setting('setting_server', 'server.xff', null, 'text', 'server.xff', 'IP Header'),
Setting('setting_server', 'server.xhost', null, 'text', 'server.xhost', 'Hostname Header'),
Setting('setting_server', 'server.xproxy', false, 'boolean', 'server.xproxy', 'Use reverse_proxy'),
Setting('setting_server', 'server.cors', '', 'text', 'server.cors', 'CORS domains'),
Setting('setting_server', 'server.language', 'zh_CN', langRange, 'server.language', 'Default display language'),
Setting('setting_server', 'server.login', true, 'boolean', 'server.login', 'Allow builtin-login', FLAG_PRO),
Setting('setting_server', 'server.checkUpdate', true, 'boolean', 'server.checkUpdate', 'Daily update check'),
Setting('setting_server', 'server.ignoreUA', ignoreUA, 'textarea', 'server.ignoreUA', 'ignoredUA'),
ServerLangSettingNode,
Setting('setting_limits', 'limit.by_user', false, 'boolean', 'limit.by_user', 'Use per-user limits instead of per ip limits'),
Setting('setting_limits', 'limit.problem_files_max', 100, 'number', 'limit.problem_files_max', 'Max files per problem'),