mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: add score declaration to psdoc
This commit is contained in:
1 parent
9e94ede71f
commit
8779f03d80
2 files changed
+10
-9
No files matched your search
@@ -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 {
|
||||||
|
|||||||
@@ -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()) {
|
||||||
|
|||||||
Reference in new issue
Block a user