diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 43a893097..a7c015210 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.13.50", + "version": "2.13.51", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/entry/master.ts b/packages/hydrooj/src/entry/master.ts index c6fb595f4..41132e17c 100644 --- a/packages/hydrooj/src/entry/master.ts +++ b/packages/hydrooj/src/entry/master.ts @@ -59,7 +59,7 @@ export async function load(call: Entry) { for (const i of builtinModel) require(`../model/${i}`); const modelSystem = require('../model/system'); const scripts = require('../upgrade'); - let dbVer = (await modelSystem.get('db.ver')) || 0; + let dbVer = (await modelSystem.get('db.ver')) ?? 0; const expected = scripts.length; while (dbVer < expected) { logger.info('Upgrading database: from %d to %d', dbVer, expected); diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index 6940997ae..134d8080d 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -241,7 +241,7 @@ class ContestProblemHandler extends ContestHandler { ]); this.attended = this.tsdoc && this.tsdoc.attend === 1; this.response.template = 'problem_detail.html'; - if (contest.isDone(this.tdoc)) { + if (!contest.isDone(this.tdoc)) { if (!this.attended) throw new ContestNotAttendedError(this.tdoc.docId); if (contest.isNotStarted(this.tdoc)) throw new ContestNotLiveError(this.tdoc.docId); } @@ -272,6 +272,7 @@ class ContestProblemSubmitHandler extends ContestProblemHandler { @param('tid', Types.ObjectID) @param('pid', Types.UnsignedInt) async prepare(domainId: string, tid: ObjectID, pid: number) { + if (contest.isOngoing(this.tdoc)) throw new ContestNotLiveError(this.tdoc.docId); let rdocs = []; if (this.canShowRecord(this.tdoc)) { rdocs = await record.getUserInProblemMulti( diff --git a/packages/hydrooj/src/model/setting.ts b/packages/hydrooj/src/model/setting.ts index 05daae503..0cf40c9ee 100644 --- a/packages/hydrooj/src/model/setting.ts +++ b/packages/hydrooj/src/model/setting.ts @@ -138,7 +138,7 @@ SystemSetting( Setting('setting_session', 'session.secure', null, false, 'boolean', 'session.secure'), Setting('setting_session', 'session.saved_expire_seconds', null, 3600 * 24 * 30, 'number', 'Saved session expire seconds'), Setting('setting_session', 'session.unsaved_expire_seconds', null, 3600 * 3, 'number', 'Unsaved session expire seconds'), - Setting('setting_storage', 'db.ver', null, 1, 'number', 'Database version', null, FLAG_DISABLED | FLAG_HIDDEN), + Setting('setting_storage', 'db.ver', null, 0, 'number', 'Database version', null, FLAG_DISABLED | FLAG_HIDDEN), Setting('setting_storage', 'user', null, 1, 'number', 'User Counter', null, FLAG_DISABLED | FLAG_HIDDEN), );