From bdbce26f3be509c366ee7240a0206cbb50a7ffb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E5=9C=A3=E6=9D=B0?= <32413588+dblark@users.noreply.github.com> Date: Mon, 1 Apr 2019 17:28:21 +0800 Subject: [PATCH] Fix import/export no additional file --- modules/problem.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/problem.js b/modules/problem.js index 84df7e2..7c97280 100644 --- a/modules/problem.js +++ b/modules/problem.js @@ -257,6 +257,7 @@ app.get('/problem/:id/export', async (req, res) => { limit_and_hint: problem.limit_and_hint, time_limit: problem.time_limit, memory_limit: problem.memory_limit, + additional_file_id: problem.additional_file_id, file_io: problem.file_io, file_io_input_name: problem.file_io_input_name, file_io_output_name: problem.file_io_output_name, @@ -465,6 +466,11 @@ app.post('/problem/:id/import', async (req, res) => { let data = await download(req.body.url + (req.body.url.endsWith('/') ? 'testdata/download' : '/testdata/download')); await fs.writeFileAsync(tmpFile.path, data); await problem.updateTestdata(tmpFile.path, await res.locals.user.hasPrivilege('manage_problem')); + if (json.obj.additional_file_id != null) { + let additional_file = await download(req.body.url + (req.body.url.endsWith('/') ? 'download/additional_file' : '/download/additional_file')); + await fs.writeFileAsync(tmpFile.path, additional_file); + await problem.updateFile(tmpFile.path, 'additional_file', await res.locals.user.hasPrivilege('manage_problem')); + } } catch (e) { syzoj.log(e); }