mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 01:38:19 +08:00
core: user_import: check existance
This commit is contained in:
1 parent
b4d38089c3
commit
42d48cc3d6
7 files changed
+28
-16
No files matched your search
@@ -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']);
|
||||
|
||||
Reference in new issue
Block a user