diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 9a5fb1500..5f42d6817 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.29.13", + "version": "2.29.14", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/training.ts b/packages/hydrooj/src/handler/training.ts index aedf6ce95..07f2c43f7 100644 --- a/packages/hydrooj/src/handler/training.ts +++ b/packages/hydrooj/src/handler/training.ts @@ -237,7 +237,7 @@ class TrainingEditHandler extends Handler { title: string, content: string, _dag: string, pin = false, description: string, ) { - if (this.tdoc.pin !== pin) this.checkPerm(PERM.PERM_PIN_TRAINING); + if ((!!this.tdoc.pin) !== pin) this.checkPerm(PERM.PERM_PIN_TRAINING); const dag = await _parseDagJson(domainId, _dag); const pids = training.getPids(dag); assert(pids.length, new ValidationError('dag')); diff --git a/packages/hydrooj/src/model/builtin.ts b/packages/hydrooj/src/model/builtin.ts index 20d4d642a..fcd1efe28 100644 --- a/packages/hydrooj/src/model/builtin.ts +++ b/packages/hydrooj/src/model/builtin.ts @@ -158,6 +158,7 @@ export const PERMS = [ Permission('perm_training', PERM.PERM_VIEW_TRAINING, 'View training plans'), Permission('perm_training', PERM.PERM_CREATE_TRAINING, 'Create training plans'), Permission('perm_training', PERM.PERM_EDIT_TRAINING, 'Edit training plans'), + Permission('perm_training', PERM.PERM_PIN_TRAINING, 'Pin training plans'), Permission('perm_training', PERM.PERM_EDIT_TRAINING_SELF, 'Edit own training plans'), Permission('perm_ranking', PERM.PERM_VIEW_RANKING, 'View ranking'), ];