测试数据上传时自动读取config

This commit is contained in:
undefined committed 2020-06-13 22:38:22 +08:00
1 parent 0d7d6ea12a
commit 4b3c10b4eb
14 files changed
+89 -42

No files matched your search

+11 -1
View File
@@ -1,3 +1,6 @@
const fs = require('fs');
const path = require('path');
const os = require('os');
const problem = require('../model/problem');
const { Route, Handler } = require('../service/server');
const { PERM_CREATE_PROBLEM } = require('../permission');
@@ -29,7 +32,14 @@ class ProblemImportHandler extends Handler {
if (pid) pdoc.pid = pid;
if (hidden) pdoc.hidden = true;
const docId = await problem.add(domainId, pdoc.title, pdoc.content, this.user._id, pdoc);
await problem.setTestdata(docId, testdata);
const file = path.resolve(os.tmpdir(), 'hydro', `import_${domainId}_${pid}.zip`);
const w = fs.createWriteStream(file);
await new Promise((resolve, reject) => {
w.on('finish', resolve);
w.on('error', reject);
testdata.pipe(w);
});
await problem.setTestdata(domainId, docId, file);
this.response.body = { pid: pid || docId };
this.response.redirect = `/p/${pid || docId}/settings`;
}