import-qduoj: add pid validity check

This commit is contained in:
undefined committed 2023-07-09 22:03:12 +08:00
1 parent 40e86dc174
commit f8f4038547
2 files changed
+7 -3

No files matched your search

+6 -2
View File
@@ -77,8 +77,12 @@ class ImportQduojHandler extends Handler {
});
}
if (+pdoc.display_id) pdoc.display_id = `P${pdoc.display_id}`;
const n = await ProblemModel.get(domainId, pdoc.display_id);
if (n) pdoc.display_id = null;
const isValidPid = async (id: string) => {
if (!(/^[A-Za-z]+[0-9A-Za-z]*$/.test(id))) return false;
if (await ProblemModel.get(domainId, id)) return false;
return true;
};
if (!await isValidPid(pdoc.display_id)) pdoc.display_id = null;
const pid = await ProblemModel.add(
domainId, pdoc.display_id, pdoc.title, buildContent(content, 'html'),
this.user._id, pdoc.tags || [],