This commit is contained in:
undefined committed 2020-07-26 12:14:51 +08:00
1 parent ee78271a84
commit d3deeaeb96
10 files changed
+60 -87

No files matched your search

+2 -2
View File
@@ -199,7 +199,7 @@ class ContestEditHandler extends ContestHandler {
@param('content', Types.String, isContent)
@param('rule', Types.String)
@param('pids', Types.String)
@param('rated', Types.Boolean, true)
@param('rated', Types.Boolean)
async post(
domainId: string, beginAtDate: string, beginAtTime: string, duration: number,
title: string, content: string, rule: string, _pids: string, rated = false,
@@ -381,7 +381,7 @@ class ContestCreateHandler extends ContestHandler {
@param('content', Types.String, isContent)
@param('rule', Types.String)
@param('pids', Types.String)
@param('rated', Types.Boolean, true)
@param('rated', Types.Boolean)
async post(
domainId: string, beginAtDate: string, beginAtTime: string, duration: number,
title: string, content: string, rule: string, _pids: string, rated = false,
+2 -2
View File
@@ -152,7 +152,7 @@ class DiscussionCreateHandler extends DiscussionHandler {
@param('name', Types.String)
@param('title', Types.String, isTitle)
@param('content', Types.String, isContent)
@param('highlight', Types.Boolean, true)
@param('highlight', Types.Boolean)
async post(
domainId: string, type: string, _name: string,
title: string, content: string, highlight = false,
@@ -317,7 +317,7 @@ class DiscussionEditHandler extends DiscussionHandler {
@param('did', Types.ObjectID)
@param('title', Types.String, isTitle)
@param('content', Types.String, isContent)
@param('highlight', Types.Boolean, true)
@param('highlight', Types.Boolean)
async postUpdate(
domainId: string, did: ObjectID, title: string, content: string, highlight = false,
) {
+2 -2
View File
@@ -229,7 +229,7 @@ class HomeworkCreateHandler extends HomeworkHandler {
@param('title', Types.String, isTitle)
@param('content', Types.String, isContent)
@param('pids', Types.String)
@param('rated', Types.Boolean, true)
@param('rated', Types.Boolean)
async post(
domainId: string, beginAtDate: string, beginAtTime: string,
penaltySinceDate: string, penaltySinceTime: string, extensionDays: number,
@@ -296,7 +296,7 @@ class HomeworkEditHandler extends HomeworkHandler {
@param('title', Types.String, isTitle)
@param('content', Types.String, isContent)
@param('pids', Types.String)
@param('rated', Types.Boolean, true)
@param('rated', Types.Boolean)
async post(
domainId: string, tid: ObjectID, beginAtDate: string, beginAtTime: string,
penaltySinceDate: string, penaltySinceTime: string, extensionDays: number,
+6 -10
View File
@@ -1,6 +1,12 @@
import { isSafeInteger, flatten } from 'lodash';
import yaml from 'js-yaml';
import { ObjectID } from 'mongodb';
import {
NoProblemError, ProblemDataNotFoundError, BadRequestError,
SolutionNotFoundError, ProblemNotFoundError, ValidationError,
PermissionError,
} from '../error';
import { Pdoc, User, Rdoc } from '../interface';
import paginate from '../lib/paginate';
import {
checkPid, isTitle, isContent, isPid,
@@ -17,16 +23,6 @@ import * as bus from '../service/bus';
import {
Route, Connection, Handler, ConnectionHandler, Types, param, multipart,
} from '../service/server';
import {
NoProblemError, ProblemDataNotFoundError, BadRequestError,
SolutionNotFoundError,
ProblemNotFoundError,
ValidationError,
PermissionError,
} from '../error';
import {
Pdoc, User, Rdoc, ProblemConfig,
} from '../interface';
const parseCategory = (value: string) => {
if (!value) return [];
+4 -1
View File
@@ -91,7 +91,10 @@ class RecordRejudgeHandler extends Handler {
async post(domainId: string, rid: ObjectID) {
this.checkPerm(PERM.PERM_REJUDGE);
const rdoc = await record.get(domainId, rid);
if (rdoc) await record.rejudge(domainId, rid);
if (rdoc) {
await record.reset(domainId, rid, true);
await record.judge(domainId, rid);
}
this.back();
}
}
+3 -3
View File
@@ -32,7 +32,7 @@ class UserLoginHandler extends Handler {
@param('uname', Types.String)
@param('password', Types.String)
@param('rememberme', Types.Boolean, true)
@param('rememberme', Types.Boolean)
async post(domainId: string, uname: string, password: string, rememberme = false) {
const udoc = await user.getByUname(domainId, uname);
if (!udoc) throw new UserNotFoundError(uname);
@@ -197,7 +197,7 @@ class UserDeleteHandler extends Handler {
class UserSearchHandler extends Handler {
@param('q', Types.String)
@param('exectMatch', Types.Boolean, true)
@param('exectMatch', Types.Boolean)
async get(domainId: string, q: string, exactMatch = false) {
let udoc = await user.getById(domainId, parseInt(q, 10));
const udocs = udoc ? [udoc] : [];
@@ -353,7 +353,7 @@ export async function apply() {
Route('user_logout', '/logout', UserLogoutHandler, PRIV.PRIV_USER_PROFILE);
Route('user_lostpass', '/lostpass', UserLostPassHandler);
Route('user_lostpass_with_code', '/lostpass/:code', UserLostPassWithCodeHandler);
Route('user_search', '/user/search', UserSearchHandler);
Route('user_search', '/user/search', UserSearchHandler, PRIV.PRIV_USER_PROFILE);
Route('user_delete', '/user/delete', UserDeleteHandler, PRIV.PRIV_USER_PROFILE);
Route('user_detail', '/user/:uid', UserDetailHandler);
}