From 4c669e0194d35fbce6879e69a23e0882779b869c Mon Sep 17 00:00:00 2001 From: panda Date: Thu, 6 Oct 2022 13:29:07 +0800 Subject: [PATCH] core: fix bugs (#435) --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/entry/cli.ts | 9 +++------ packages/hydrooj/src/handler/import.ts | 5 +++-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index f5a323d7a..2276d21ec 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "4.0.3", + "version": "4.0.4", "bin": "bin/hydrooj.js", "main": "src/plugin-api", "module": "src/plugin-api", diff --git a/packages/hydrooj/src/entry/cli.ts b/packages/hydrooj/src/entry/cli.ts index 4fa2f891b..f3c781f72 100644 --- a/packages/hydrooj/src/entry/cli.ts +++ b/packages/hydrooj/src/entry/cli.ts @@ -7,7 +7,7 @@ import { ObjectID } from 'mongodb'; import { Context } from '../context'; import db from '../service/db'; import { - addon, lib, model, script, service, setting, + addon, builtinModel, lib, script, service, setting, } from './common'; const argv = cac().parse(); @@ -96,11 +96,8 @@ export async function load(ctx: Context) { lib(pending, fail, ctx), service(pending, fail, ctx), ]); - require('../model/index'); - await Promise.all([ - model(pending, fail, ctx), - setting(pending, fail, require('../model/setting')), - ]); + await builtinModel(ctx); + await setting(pending, fail, require('../model/setting')); ctx.plugin(require('../service/server')); await addon(pending, fail, ctx); const scriptDir = path.resolve(__dirname, '..', 'script'); diff --git a/packages/hydrooj/src/handler/import.ts b/packages/hydrooj/src/handler/import.ts index ac74f687f..3e08dd083 100644 --- a/packages/hydrooj/src/handler/import.ts +++ b/packages/hydrooj/src/handler/import.ts @@ -51,8 +51,9 @@ class ProblemImportHydroHandler extends Handler { }); try { const problems = await fs.readdir(tmpdir, { withFileTypes: true }); - for (const { name: i, isDirectory } of problems) { - if (!isDirectory()) continue; + for (const p of problems) { + const i = p.name; + if (!p.isDirectory()) continue; const files = await fs.readdir(path.join(tmpdir, i)); if (!files.includes('problem.yaml')) continue; const content = fs.readFileSync(path.join(tmpdir, i, 'problem.yaml'), 'utf-8');