mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-17 09:36:08 +08:00
fix types
This commit is contained in:
1 parent
af0649f471
commit
5fc04328ad
5 files changed
+13
-11
No files matched your search
@@ -110,8 +110,11 @@ export type Udict = Record<number, User>;
|
||||
export interface BaseUser {
|
||||
_id: number;
|
||||
uname: string;
|
||||
mail: string;
|
||||
avatar: string;
|
||||
displayName: string;
|
||||
school?: string;
|
||||
displayName?: string;
|
||||
studentId?: string;
|
||||
}
|
||||
export type BaseUserDict = Record<number, BaseUser>;
|
||||
|
||||
@@ -509,7 +512,7 @@ export interface ContestRule<T = any> {
|
||||
) => Promise<ScoreboardRow>;
|
||||
scoreboardRow: (
|
||||
this: ContestRule<T>, isExport: boolean, _: (s: string) => string,
|
||||
tdoc: Tdoc<30>, pdict: ProblemDict, udoc: Udoc | User, rank: number, tsdoc: ContestStat & T,
|
||||
tdoc: Tdoc<30>, pdict: ProblemDict, udoc: BaseUser, rank: number, tsdoc: ContestStat & T,
|
||||
meta?: any,
|
||||
) => Promise<ScoreboardRow>;
|
||||
scoreboard: (
|
||||
|
||||
@@ -6,8 +6,8 @@ import {
|
||||
ContestScoreboardHiddenError, ValidationError,
|
||||
} from '../error';
|
||||
import {
|
||||
ContestRule, ContestRules, ProblemDict,
|
||||
ScoreboardNode, ScoreboardRow, Tdoc, Udict,
|
||||
BaseUserDict, ContestRule, ContestRules, ProblemDict,
|
||||
ScoreboardNode, ScoreboardRow, Tdoc,
|
||||
} from '../interface';
|
||||
import ranked from '../lib/rank';
|
||||
import * as bus from '../service/bus';
|
||||
@@ -722,7 +722,7 @@ export function canShowScoreboard(tdoc: Tdoc<30>, allowPermOverride = true) {
|
||||
|
||||
export async function getScoreboard(
|
||||
this: Handler, domainId: string, tid: ObjectID, isExport = false,
|
||||
): Promise<[Tdoc<30>, ScoreboardRow[], Udict, ProblemDict]> {
|
||||
): Promise<[Tdoc<30>, ScoreboardRow[], BaseUserDict, ProblemDict]> {
|
||||
const tdoc = await get(domainId, tid);
|
||||
if (!canShowScoreboard.call(this, tdoc)) throw new ContestScoreboardHiddenError(tid);
|
||||
const tsdocsCursor = getMultiStatus(domainId, { docId: tid }).sort(RULES[tdoc.rule].statusSort);
|
||||
|
||||
@@ -347,7 +347,7 @@ class UserModel {
|
||||
|
||||
static async getListForRender(domainId: string, uids: number[]) {
|
||||
const [udocs, dudocs] = await Promise.all([
|
||||
UserModel.getMulti({ _id: { $in: uids } }, ['_id', 'uname', 'avatar']).toArray(),
|
||||
UserModel.getMulti({ _id: { $in: uids } }, ['_id', 'uname', 'avatar', 'school', 'studentId']).toArray(),
|
||||
domain.getDomainUserMulti(domainId, uids).project({ uid: 1, displayName: 1 }).toArray(),
|
||||
]);
|
||||
const udict = {};
|
||||
|
||||
@@ -6,9 +6,9 @@ import pm2 from '@hydrooj/utils/lib/locate-pm2';
|
||||
import type { ProblemSolutionHandler } from '../handler/problem';
|
||||
import type { UserRegisterHandler } from '../handler/user';
|
||||
import type {
|
||||
DiscussionDoc, DomainDoc, FileInfo,
|
||||
BaseUserDict, DiscussionDoc, DomainDoc, FileInfo,
|
||||
MessageDoc, ProblemDict, ProblemDoc, RecordDoc,
|
||||
ScoreboardRow, Tdoc, TrainingDoc, Udict, User,
|
||||
ScoreboardRow, Tdoc, TrainingDoc, User,
|
||||
} from '../interface';
|
||||
import type { DocType } from '../model/document';
|
||||
import type { ConnectionHandler, Handler } from './server';
|
||||
@@ -89,7 +89,7 @@ export interface EventMap extends LifecycleEvents, HandlerEvents {
|
||||
|
||||
'contest/before-add': (payload: Partial<Tdoc<30>>) => VoidReturn
|
||||
'contest/add': (payload: Partial<Tdoc<30>>, id: ObjectID) => VoidReturn
|
||||
'contest/scoreboard': (tdoc: Tdoc<30>, rows: ScoreboardRow[], udict: Udict, pdict: ProblemDict) => VoidReturn
|
||||
'contest/scoreboard': (tdoc: Tdoc<30>, rows: ScoreboardRow[], udict: BaseUserDict, pdict: ProblemDict) => VoidReturn
|
||||
|
||||
'oplog/log': (type: string, handler: Handler, args: any, data: any) => VoidReturn;
|
||||
|
||||
|
||||
@@ -4,8 +4,7 @@ import crypto from 'crypto';
|
||||
import esbuild from 'esbuild';
|
||||
import {
|
||||
ContestModel, Context, fs, Handler, Logger, ObjectID, PERM, PRIV, ProblemModel, Schema,
|
||||
SettingModel, SystemModel, SystemSettings, UiContextBase,
|
||||
UserModel,
|
||||
SettingModel, SystemModel, SystemSettings, UiContextBase, UserModel,
|
||||
} from 'hydrooj';
|
||||
import { debounce } from 'lodash';
|
||||
import { tmpdir } from 'os';
|
||||
|
||||
Reference in new issue
Block a user