diff --git a/packages/hydrooj/src/model/problem.ts b/packages/hydrooj/src/model/problem.ts index 3b9dda5cf..730f3e2a7 100644 --- a/packages/hydrooj/src/model/problem.ts +++ b/packages/hydrooj/src/model/problem.ts @@ -467,6 +467,7 @@ export class ProblemModel { try { const problems = await fs.readdir(tmpdir, { withFileTypes: true }); for (const p of problems) { + if (process.env.HYDRO_CLI) logger.info(`Importing problem ${p.name}`); const i = p.name; if (!p.isDirectory()) continue; const files = await fs.readdir(path.join(tmpdir, i)); @@ -491,6 +492,7 @@ export class ProblemModel { } const overrideContent = findOverrideContent(path.join(tmpdir, i)); if (pdoc.difficulty && !Number.isSafeInteger(pdoc.difficulty)) delete pdoc.difficulty; + if (typeof pdoc.title !== 'string') throw new ValidationError('title', null, 'Invalid title'); const docId = await ProblemModel.add( domainId, pid, pdoc.title.trim(), overrideContent || pdoc.content || 'No content', operator || pdoc.owner, pdoc.tag || [], { hidden: pdoc.hidden, difficulty: pdoc.difficulty },