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