优化结构

This commit is contained in:
undefined committed 2020-04-30 18:07:35 +08:00
1 parent 75ebc1a746
commit 2554cf660a
34 files changed
+401 -150

No files matched your search

+39 -16
View File
@@ -71,7 +71,9 @@ class ProblemDetailHandler extends ProblemHandler {
this.uid = this.user._id;
this.pid = pid;
if (pid) this.pdoc = await problem.get(pid, this.uid);
if (this.pdoc.hidden && this.pdoc.owner !== this.uid) this.checkPerm(PERM_VIEW_PROBLEM_HIDDEN);
if (this.pdoc.hidden && this.pdoc.owner !== this.uid) {
this.checkPerm(PERM_VIEW_PROBLEM_HIDDEN);
}
if (this.pdoc) this.udoc = await user.getById(this.pdoc.owner);
this.response.body = {
pdoc: this.pdoc,
@@ -376,18 +378,39 @@ class ProblemCreateHandler extends Handler {
}
}
Route('/p', ProblemHandler);
Route('/problem/random', ProblemRandomHandler);
Route('/p/:pid', ProblemDetailHandler);
Route('/p/:pid/submit', ProblemSubmitHandler);
Route('/p/:pid/pretest', ProblemPretestHandler);
Route('/p/:pid/settings', ProblemSettingsHandler);
Route('/p/:pid/statistics', ProblemStatisticsHandler);
Route('/p/:pid/edit', ProblemEditHandler);
Route('/p/:pid/upload', ProblemDataUploadHandler);
Route('/p/:pid/data', ProblemDataDownloadHandler);
Route('/p/:pid/solution', ProblemSolutionHandler);
Route('/p/:pid/solution/:psid/raw', ProblemSolutionRawHandler);
Route('/p/:pid/solution/:psid/:psrid/raw', ProblemSolutionReplyRawHandler);
Route('/problem/create', ProblemCreateHandler);
Connection('/p/:pid/pretest-conn', ProblemPretestConnectionHandler);
async function apply() {
Route('/p', module.exports.ProblemHandler);
Route('/problem/random', module.exports.ProblemRandomHandler);
Route('/p/:pid', module.exports.ProblemDetailHandler);
Route('/p/:pid/submit', module.exports.ProblemSubmitHandler);
Route('/p/:pid/pretest', module.exports.ProblemPretestHandler);
Route('/p/:pid/settings', module.exports.ProblemSettingsHandler);
Route('/p/:pid/statistics', module.exports.ProblemStatisticsHandler);
Route('/p/:pid/edit', module.exports.ProblemEditHandler);
Route('/p/:pid/upload', module.exports.ProblemDataUploadHandler);
Route('/p/:pid/data', module.exports.ProblemDataDownloadHandler);
Route('/p/:pid/solution', module.exports.ProblemSolutionHandler);
Route('/p/:pid/solution/:psid/raw', module.exports.ProblemSolutionRawHandler);
Route('/p/:pid/solution/:psid/:psrid/raw', module.exports.ProblemSolutionReplyRawHandler);
Route('/problem/create', module.exports.ProblemCreateHandler);
Connection('/p/:pid/pretest-conn', module.exports.ProblemPretestConnectionHandler);
}
global.Hydro.handler.problem = module.exports = {
ProblemHandler,
ProblemRandomHandler,
ProblemDetailHandler,
ProblemSubmitHandler,
ProblemPretestHandler,
ProblemSettingsHandler,
ProblemStatisticsHandler,
ProblemEditHandler,
ProblemDataUploadHandler,
ProblemDataDownloadHandler,
ProblemSolutionHandler,
ProblemSolutionRawHandler,
ProblemSolutionReplyRawHandler,
ProblemCreateHandler,
ProblemPretestConnectionHandler,
apply,
};