core: add score declaration to psdoc

This commit is contained in:
undefined committed 2021-05-06 12:15:10 +08:00
1 parent 9e94ede71f
commit 8779f03d80
2 files changed
+10 -9

No files matched your search

+8 -7
View File
@@ -213,13 +213,14 @@ export interface StatusDoc {
} }
export interface ProblemStatusDoc extends StatusDoc { export interface ProblemStatusDoc extends StatusDoc {
docId: number, docId: number;
docType: 10, docType: 10;
rid?: ObjectID, rid?: ObjectID;
status?: number, score?: number;
nSubmit?: number, status?: number;
nAccept?: number, nSubmit?: number;
star?: boolean, nAccept?: number;
star?: boolean;
} }
export interface TestCase { export interface TestCase {
+2 -2
View File
@@ -1,6 +1,6 @@
/* eslint-disable no-await-in-loop */ /* eslint-disable no-await-in-loop */
import { FilterQuery } from 'mongodb'; import { FilterQuery } from 'mongodb';
import type { DomainDoc, Udoc } from './interface'; import type { DomainDoc, Udoc, ProblemStatusDoc } from './interface';
import domain from './model/domain'; import domain from './model/domain';
import * as document from './model/document'; import * as document from './model/document';
import user from './model/user'; import user from './model/user';
@@ -16,7 +16,7 @@ export async function iterateAllUser(cb: (udoc: Udoc, current?: number, total?:
for (const i in udocs) await cb(udocs[i], +i, udocs.length); for (const i in udocs) await cb(udocs[i], +i, udocs.length);
} }
export async function iterateAllPsdoc(filter: FilterQuery<any>, cb: (psdoc: any) => Promise<any>) { export async function iterateAllPsdoc(filter: FilterQuery<ProblemStatusDoc>, cb: (psdoc: ProblemStatusDoc) => Promise<any>) {
await iterateAllDomain(async ({ _id: domainId }) => { await iterateAllDomain(async ({ _id: domainId }) => {
const cursor = document.getMultiStatus(domainId, document.TYPE_PROBLEM, filter); const cursor = document.getMultiStatus(domainId, document.TYPE_PROBLEM, filter);
while (await cursor.hasNext()) { while (await cursor.hasNext()) {