diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 26e063cb1..de171414c 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "4.8.0", + "version": "4.8.1", "bin": "bin/hydrooj.js", "main": "src/plugin-api", "module": "src/plugin-api", diff --git a/packages/hydrooj/src/model/contest.ts b/packages/hydrooj/src/model/contest.ts index 19b2a4af3..5a7119de7 100644 --- a/packages/hydrooj/src/model/contest.ts +++ b/packages/hydrooj/src/model/contest.ts @@ -785,6 +785,10 @@ export function count(domainId: string, query: any) { return document.count(domainId, document.TYPE_CONTEST, query); } +export function countStatus(domainId: string, query: any) { + return document.countStatus(domainId, document.TYPE_CONTEST, query); +} + export function getMulti( domainId: string, query: Filter = {}, ) { @@ -900,6 +904,7 @@ global.Hydro.model.contest = { updateStatus, getStatus, count, + countStatus, getMulti, setStatus, getAndListStatus, diff --git a/packages/hydrooj/src/model/document.ts b/packages/hydrooj/src/model/document.ts index 9987308e1..ae5c68039 100644 --- a/packages/hydrooj/src/model/document.ts +++ b/packages/hydrooj/src/model/document.ts @@ -173,6 +173,12 @@ export function count( return coll.countDocuments({ ...query, docType, domainId }); } +export function countStatus( + domainId: string, docType: K, query?: Filter, +) { + return collStatus.countDocuments({ ...query, docType, domainId }); +} + export async function push( domainId: string, docType: K, docId: DocType[K]['docId'], key: ArrayKeys, value: DocType[K][0], @@ -463,6 +469,7 @@ global.Hydro.model.document = { addToSet, cappedIncStatus, count, + countStatus, deleteMulti, deleteMultiStatus, deleteOne, diff --git a/packages/hydrooj/src/script/rating.ts b/packages/hydrooj/src/script/rating.ts index 2fc860728..ba8ba0be1 100644 --- a/packages/hydrooj/src/script/rating.ts +++ b/packages/hydrooj/src/script/rating.ts @@ -64,7 +64,7 @@ export const RpTypes: Record = { docId: tdoc.docId, journal: { $ne: null }, }; - if (!await contest.count(tdoc.domainId, query)) continue; + if (!await contest.countStatus(tdoc.domainId, query)) continue; const cursor = contest.getMultiStatus(tdoc.domainId, query).sort(contest.RULES[tdoc.rule].statusSort); const rankedTsdocs = await contest.RULES[tdoc.rule].ranked(tdoc, cursor); const users = rankedTsdocs.map((i) => ({ uid: i[1].uid, rank: i[0], old: udict[i[1].uid] })); diff --git a/packages/ui-default/components/scratchpad/index.tsx b/packages/ui-default/components/scratchpad/index.tsx index c88ecdfdc..535982c59 100644 --- a/packages/ui-default/components/scratchpad/index.tsx +++ b/packages/ui-default/components/scratchpad/index.tsx @@ -85,7 +85,11 @@ export default function ScratchpadContainer() { {Object.keys(pages).map((key) => { const Component = pages[key].icon; return ( -
switchToPage(key)}> +
switchToPage(key)} + >
); diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 6b91c0df6..b42508a61 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.47.7", + "version": "4.47.8", "author": "undefined ", "license": "AGPL-3.0", "main": "index.ts", diff --git a/packages/ui-default/templates/domain_role.html b/packages/ui-default/templates/domain_role.html index 633c5d8d2..62a08d085 100644 --- a/packages/ui-default/templates/domain_role.html +++ b/packages/ui-default/templates/domain_role.html @@ -31,7 +31,6 @@ -