core: rp: fix wrong contest status count (#530)

This commit is contained in:
panda authored and GitHub committed 2023-03-06 23:10:45 +08:00
1 parent 2731d4ba3a
commit 4df9527eac
7 files changed
+20 -5

No files matched your search

+1 -1
View File
@@ -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",
+5
View File
@@ -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<document.DocType['30']> = {},
) {
@@ -900,6 +904,7 @@ global.Hydro.model.contest = {
updateStatus,
getStatus,
count,
countStatus,
getMulti,
setStatus,
getAndListStatus,
+7
View File
@@ -173,6 +173,12 @@ export function count<K extends keyof DocType>(
return coll.countDocuments({ ...query, docType, domainId });
}
export function countStatus<K extends keyof DocStatusType>(
domainId: string, docType: K, query?: Filter<DocStatusType[K]>,
) {
return collStatus.countDocuments({ ...query, docType, domainId });
}
export async function push<K extends keyof DocType>(
domainId: string, docType: K, docId: DocType[K]['docId'],
key: ArrayKeys<DocType[K]>, value: DocType[K][0],
@@ -463,6 +469,7 @@ global.Hydro.model.document = {
addToSet,
cappedIncStatus,
count,
countStatus,
deleteMulti,
deleteMultiStatus,
deleteOne,
+1 -1
View File
@@ -64,7 +64,7 @@ export const RpTypes: Record<string, RpDef> = {
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] }));
@@ -85,7 +85,11 @@ export default function ScratchpadContainer() {
{Object.keys(pages).map((key) => {
const Component = pages[key].icon;
return (
<div key={key} className={key === ui.activePage ? 'scratchpad__tab-active' : ''} onClick={() => switchToPage(key)}>
<div
key={key}
className={`scratchpad__tabicon-${key}${key === ui.activePage ? ' scratchpad__tab-active' : ''}`}
onClick={() => switchToPage(key)}
>
<Component />
</div>
);
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@hydrooj/ui-default",
"version": "4.47.7",
"version": "4.47.8",
"author": "undefined <i@undefined.moe>",
"license": "AGPL-3.0",
"main": "index.ts",
@@ -31,7 +31,6 @@
<colgroup>
<col class="col--checkbox">
<col class="col--id">
<col class="col--description">
<col class="col--users">
</colgroup>
<thead>