From addda1b7890adb850d32ee2d71779580c9dd1acf Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 17 Nov 2020 12:19:05 +0800 Subject: [PATCH] =?UTF-8?q?core:=20RecordDetail=E9=A1=B5=E9=9D=A2=E6=A3=80?= =?UTF-8?q?=E6=9F=A5pdoc.hidden=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/handler/record.ts | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 1fcc5301c..4c7dfeeb3 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.13.51", + "version": "2.13.52", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/record.ts b/packages/hydrooj/src/handler/record.ts index 5df3b214e..573e00bf0 100644 --- a/packages/hydrooj/src/handler/record.ts +++ b/packages/hydrooj/src/handler/record.ts @@ -78,10 +78,16 @@ class RecordDetailHandler extends RecordHandler { if (rdoc.uid !== this.user.uid && !this.user.hasPerm(PERM.PERM_READ_RECORD_CODE)) { rdoc.code = null; } - const [pdoc, udoc] = await Promise.all([ + // eslint-disable-next-line prefer-const + let [pdoc, udoc] = await Promise.all([ problem.get(domainId, rdoc.pid), user.getById(domainId, rdoc.uid), ]); + if (!rdoc.contest && pdoc.hidden && pdoc.owner !== this.user._id) { + if (this.user.hasPerm(PERM.PERM_VIEW_PROBLEM_HIDDEN)) { + pdoc = problem.Pdoc.create(pdoc.docId, pdoc.pid); + } + } this.response.body = { path: [ ['Hydro', 'homepage'],