core: allow manager filter all groups (#604)

This commit is contained in:
panda authored and GitHub committed 2023-07-03 02:26:40 +08:00
1 parent d3f9a64b9b
commit b8e34ddfcd
2 files changed
+4 -2

No files matched your search

+2 -1
View File
@@ -77,7 +77,8 @@ export class ContestListHandler extends Handler {
@param('page', Types.PositiveInt, true)
async get(domainId: string, rule = '', group = '', page = 1) {
if (rule && contest.RULES[rule].hidden) throw new BadRequestError();
const groups = (await user.listGroup(domainId, this.user._id)).map((i) => i.name).filter((i) => !Number.isSafeInteger(+i));
const groups = (await user.listGroup(domainId, this.user.hasPerm(PERM.PERM_VIEW_HIDDEN_CONTEST) ? undefined : this.user._id))
.map((i) => i.name).filter((i) => !Number.isSafeInteger(+i));
if (group && !groups.includes(group)) throw new NotAssignedError(group);
const rules = Object.keys(contest.RULES).filter((i) => !contest.RULES[i].hidden);
const q = {
+2 -1
View File
@@ -24,7 +24,8 @@ class HomeworkMainHandler extends Handler {
@param('group', Types.Name, true)
@param('page', Types.PositiveInt, true)
async get(domainId: string, group = '', page = 1) {
const groups = (await user.listGroup(domainId, this.user._id)).map((i) => i.name).filter((i) => !Number.isSafeInteger(+i));
const groups = (await user.listGroup(domainId, this.user.hasPerm(PERM.PERM_VIEW_HIDDEN_CONTEST) ? undefined : this.user._id))
.map((i) => i.name).filter((i) => !Number.isSafeInteger(+i));
if (group && !groups.includes(group)) throw new NotAssignedError(group);
const cursor = contest.getMulti(domainId, {
rule: 'homework',