diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 7bcdefb86..5fa1260a4 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.30.6", + "version": "2.30.7", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/model/domain.ts b/packages/hydrooj/src/model/domain.ts index c3bb903b9..648be46e0 100644 --- a/packages/hydrooj/src/model/domain.ts +++ b/packages/hydrooj/src/model/domain.ts @@ -154,7 +154,7 @@ class DomainModel { return roles; } - static async setRoles(domainId: string, roles: Dictionary) { + static async setRoles(domainId: string, roles: Dictionary) { deleteUserCache(domainId); const current = await DomainModel.get(domainId); for (const role in roles) { diff --git a/packages/hydrooj/src/upgrade.ts b/packages/hydrooj/src/upgrade.ts index 3764ce49f..59b82852c 100644 --- a/packages/hydrooj/src/upgrade.ts +++ b/packages/hydrooj/src/upgrade.ts @@ -427,6 +427,14 @@ const scripts: UpgradeScript[] = [ }); return true; }, + async function _38_39() { + const _FRESH_INSTALL_IGNORE = 1; + await iterateAllDomain(async (ddoc) => { + ddoc.roles.root = '-1'; + await domain.setRoles(ddoc._id, ddoc.roles); + }); + return true; + }, ]; export default scripts; diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index c74db4497..ce0da9b5b 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.14.5", + "version": "4.14.6", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js", diff --git a/packages/ui-default/templates/domain_permission.html b/packages/ui-default/templates/domain_permission.html index 39a2ecb94..80762c3d2 100644 --- a/packages/ui-default/templates/domain_permission.html +++ b/packages/ui-default/templates/domain_permission.html @@ -45,7 +45,7 @@ {%- for role in roles -%} {%- endfor -%}