From c1239952356ebb119e16a82a26aa793ba11ff9d3 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 22 Mar 2024 10:42:49 +0800 Subject: [PATCH] core: add contest/list hook --- packages/hydrooj/src/handler/contest.ts | 1 + packages/hydrooj/src/service/bus.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/hydrooj/src/handler/contest.ts b/packages/hydrooj/src/handler/contest.ts index 9ffe4efa9..5b681cb53 100644 --- a/packages/hydrooj/src/handler/contest.ts +++ b/packages/hydrooj/src/handler/contest.ts @@ -81,6 +81,7 @@ export class ContestListHandler extends Handler { ...rule ? { rule } : { rule: { $in: rules } }, ...group ? { assign: { $in: [group] } } : {}, }; + await this.ctx.parallel('contest/list', q, this); const cursor = contest.getMulti(domainId, q).sort({ endAt: -1, beginAt: -1, _id: -1 }); let qs = rule ? `rule=${rule}` : ''; if (group) qs += qs ? `&group=${group}` : `group=${group}`; diff --git a/packages/hydrooj/src/service/bus.ts b/packages/hydrooj/src/service/bus.ts index 888724415..fecf86a30 100644 --- a/packages/hydrooj/src/service/bus.ts +++ b/packages/hydrooj/src/service/bus.ts @@ -94,6 +94,7 @@ export interface EventMap extends LifecycleEvents, HandlerEvents { 'contest/before-add': (payload: Partial) => VoidReturn 'contest/add': (payload: Partial, id: ObjectId) => VoidReturn + 'contest/list': (query: Fileter, handler: any) => VoidReturn 'contest/scoreboard': (tdoc: Tdoc, rows: ScoreboardRow[], udict: BaseUserDict, pdict: ProblemDict) => VoidReturn 'contest/balloon': (domainId: string, tid: ObjectId, bdoc: ContestBalloonDoc) => VoidReturn