feat: validator decorator

This commit is contained in:
undefined committed 2020-07-08 20:37:06 +08:00
1 parent ba03d7a7bf
commit 4e85b696c0
23 files changed
+313 -180

No files matched your search

-1
View File
@@ -1,4 +1,3 @@
import fs from 'fs';
import {
VerifyPasswordError, UserAlreadyExistError, InvalidTokenError,
NotFoundError,
+1 -1
View File
@@ -347,7 +347,7 @@ class HomeworkCodeHandler extends HomeworkHandler {
}
}
async function apply() {
export async function apply() {
Route('homework_main', '/homework', HomeworkMainHandler, PERM.PERM_VIEW_HOMEWORK);
Route('homework_create', '/homework/create', HomeworkCreateHandler, PERM.PERM_CREATE_HOMEWORK);
Route('homework_detail', '/homework/:tid', HomeworkDetailHandler, PERM.PERM_VIEW_HOMEWORK);
+2 -2
View File
@@ -1,10 +1,10 @@
import fs from 'fs';
import path from 'path';
import os from 'os';
import { ValidationError } from '../error'
import { ValidationError } from '../error';
import * as problem from '../model/problem';
import { PERM } from '../model/builtin';
import { Route, Handler } from '../service/server'
import { Route, Handler } from '../service/server';
class ProblemImportHandler extends Handler {
async prepare() {
+1 -1
View File
@@ -6,7 +6,7 @@ import * as builtin from '../model/builtin';
import * as contest from '../model/contest';
import * as user from '../model/user';
import * as task from '../model/task';
import * as bus from '../service/bus';
import * as bus from '../service/bus';
import {
Route, Handler, Connection, ConnectionHandler,
} from '../service/server';
+4 -1
View File
@@ -8,6 +8,7 @@ import * as record from '../model/record';
import {
Route, Connection, Handler, ConnectionHandler,
} from '../service/server';
import { validate } from '../lib/validator';
import * as hpm from '../lib/hpm';
function set(key, value) {
@@ -103,7 +104,9 @@ class SystemScriptHandler extends SystemHandler {
}
async post({ domainId, id, args = '{}' }) {
if (!global.Hydro.script[id]) throw new ValidationError('id');
args = JSON.parse(args);
validate(global.Hydro.script[id].validate, args);
const rid = await record.add(domainId, {
pid: id,
uid: this.user._id,
@@ -161,7 +164,7 @@ class SystemSettingHandler extends SystemHandler {
}
}
async post(args) {
async post(args: any) {
const tasks = [];
for (const key in args) {
if (typeof args[key] === 'object') {
+2 -2
View File
@@ -1,14 +1,14 @@
import assert from 'assert';
import { ObjectID } from 'mongodb';
import { ValidationError, ProblemNotFoundError } from '../error';
import paginate from '../lib/paginate';
import { PERM, PRIV } from '../model/builtin';
import * as problem from '../model/problem';
import * as builtin from '../model/builtin';
import * as builtin from '../model/builtin';
import * as training from '../model/training';
import * as user from '../model/user';
import * as system from '../model/system';
import { Route, Handler } from '../service/server';
import { ObjectID } from 'mongodb';
async function _parseDagJson(domainId, dag) {
const parsed = [];