diff --git a/package.json b/package.json index ed1db91d0..bd54e6177 100644 --- a/package.json +++ b/package.json @@ -33,12 +33,12 @@ "@types/jest": "^26.0.24", "@types/node": "^15.14.2", "@types/semver": "^7.3.7", - "@typescript-eslint/eslint-plugin": "^4.28.3", - "@typescript-eslint/parser": "^4.28.3", + "@typescript-eslint/eslint-plugin": "^4.28.4", + "@typescript-eslint/parser": "^4.28.4", "cac": "^6.7.3", "cross-env": "^7.0.3", "cross-spawn": "^7.0.3", - "eslint": "^7.30.0", + "eslint": "^7.31.0", "eslint-config-airbnb-typescript": "^12.3.1", "eslint-import-resolver-typescript": "^2.4.0", "eslint-plugin-import": "^2.23.4", diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index d4120c782..d6ea35abb 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -24,7 +24,7 @@ "@types/js-yaml": "^4.0.2", "@types/lodash": "^4.14.171", "@types/shell-quote": "^1.7.1", - "@types/ws": "^7.4.6" + "@types/ws": "^7.4.7" }, "peerDependencies": { "hydrooj": "*" diff --git a/packages/hydrooj/src/handler/manage.ts b/packages/hydrooj/src/handler/manage.ts index eb0492b4c..a240c2173 100644 --- a/packages/hydrooj/src/handler/manage.ts +++ b/packages/hydrooj/src/handler/manage.ts @@ -203,7 +203,13 @@ class SystemUserImportHandler extends SystemHandler { if (!isEmail(email)) messages.push(`Line ${+i + 1}: Invalid email.`); else if (!isUname(username)) messages.push(`Line ${+i + 1}: Invalid username`); else if (!isPassword(password)) messages.push(`Line ${+i + 1}: Invalid password`); - else { + // eslint-disable-next-line no-await-in-loop + else if (await user.getByEmail('system', email)) { + messages.push(`Line ${+i + 1}: Email ${email} already exists.`); + // eslint-disable-next-line no-await-in-loop + } else if (await user.getByUname('system', username)) { + messages.push(`Line ${+i + 1}: Username ${username} already exists.`); + } else { udocs.push({ email, username, password, displayName, }); @@ -215,10 +221,14 @@ class SystemUserImportHandler extends SystemHandler { for (const { email, username, password, displayName, } of udocs) { - // eslint-disable-next-line no-await-in-loop - const uid = await user.create(email, username, password); - // eslint-disable-next-line no-await-in-loop - if (displayName) await domain.setUserInDomain(domainId, uid, { displayName }); + try { + // eslint-disable-next-line no-await-in-loop + const uid = await user.create(email, username, password); + // eslint-disable-next-line no-await-in-loop + if (displayName) await domain.setUserInDomain(domainId, uid, { displayName }); + } catch (e) { + messages.push(e.message); + } } } this.response.body.path.push(['manage_user_import']); diff --git a/packages/login-with-qq/package.json b/packages/login-with-qq/package.json index 98aed5c01..84507cd3e 100644 --- a/packages/login-with-qq/package.json +++ b/packages/login-with-qq/package.json @@ -10,6 +10,6 @@ "ws": "^7.5.3" }, "devDependencies": { - "@types/ws": "^7.4.6" + "@types/ws": "^7.4.7" } } diff --git a/packages/ui-default/package.json b/packages/ui-default/package.json index 85494ce9b..26a393008 100644 --- a/packages/ui-default/package.json +++ b/packages/ui-default/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/ui-default", - "version": "4.12.26", + "version": "4.12.27", "author": "undefined ", "license": "AGPL-3.0", "main": "hydro.js", @@ -44,7 +44,7 @@ "diff-dom": "^4.2.2", "echarts": "^5.1.2", "emojify.js": "^1.1.0", - "eslint": "^7.30.0", + "eslint": "^7.31.0", "eslint-config-airbnb": "^18.2.1", "eslint-import-resolver-webpack": "^0.13.1", "eslint-plugin-babel": "^5.3.1", @@ -68,7 +68,7 @@ "jquery.transit": "^0.9.12", "mini-css-extract-plugin": "^1.6.2", "moment": "^2.29.1", - "monaco-editor": "^0.26.0", + "monaco-editor": "^0.26.1", "monaco-editor-webpack-plugin": "^4.1.1", "nanoid": "^3.1.23", "normalize.css": "^8.0.1", @@ -77,7 +77,7 @@ "pickadate": "^3.6.4", "plugin-error": "^1.0.1", "postcss-loader": "^3.0.0", - "prism-themes": "^1.7.0", + "prism-themes": "^1.8.0", "prismjs": "^1.24.1", "prop-types": "^15.7.2", "react": "^17.0.2", diff --git a/packages/utils/package.json b/packages/utils/package.json index 12f3edbec..a6bf98581 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -12,7 +12,7 @@ "js-yaml": "^4.1.0", "moment": "^2.29.1", "mongodb": "^3.6.10", - "systeminformation": "^5.7.7" + "systeminformation": "^5.7.8" }, "devDependencies": { "@types/fs-extra": "^9.0.12", diff --git a/packages/vjudge/package.json b/packages/vjudge/package.json index 66bf81f64..a0a8ef3e1 100644 --- a/packages/vjudge/package.json +++ b/packages/vjudge/package.json @@ -11,10 +11,12 @@ "@hydrooj/utils": "workspace:*", "jsdom": "^16.6.0", "superagent": "^6.1.0", - "superagent-proxy": "^2.1.0" + "superagent-proxy": "^2.1.0", + "turndown": "^7.1.1" }, "devDependencies": { "@types/jsdom": "^16.2.13", + "@types/superagent": "^4.1.12", "@types/superagent-proxy": "^2.0.0" } }