diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 44ec9cb32..20839dc43 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.11.18", + "version": "3.11.19", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/model/builtin.ts b/packages/hydrooj/src/model/builtin.ts index aadb716dc..1612dc915 100644 --- a/packages/hydrooj/src/model/builtin.ts +++ b/packages/hydrooj/src/model/builtin.ts @@ -263,7 +263,6 @@ export const PRIV = { }; PRIV.PRIV_DEFAULT = PRIV.PRIV_USER_PROFILE - + PRIV.PRIV_REGISTER_USER + PRIV.PRIV_READ_PRETEST_DATA_SELF + PRIV.PRIV_CREATE_FILE + PRIV.PRIV_DELETE_FILE_SELF diff --git a/packages/hydrooj/src/upgrade.ts b/packages/hydrooj/src/upgrade.ts index 55490cb91..19e0adfdc 100644 --- a/packages/hydrooj/src/upgrade.ts +++ b/packages/hydrooj/src/upgrade.ts @@ -703,6 +703,18 @@ const scripts: UpgradeScript[] = [ } return true; }, + async function _61_62() { + const _FRESH_INSTALL_IGNORE = 1; + const priv = +system.get('default.priv'); + if (priv & PRIV.PRIV_REGISTER_USER) { + const udocs = await user.getMulti({ priv }).project({ _id: 1 }).toArray(); + for (const udoc of udocs) { + await user.setById(udoc._id, { priv: priv - PRIV.PRIV_REGISTER_USER }); + } + await system.set('default.priv', priv - PRIV.PRIV_REGISTER_USER); + } + return true; + }, ]; export default scripts;