Check that the email isn't used during the registration process
This commit is contained in:
@@ -25,7 +25,7 @@ use mas_policy::Policy;
|
||||
use mas_router::UrlBuilder;
|
||||
use mas_storage::{
|
||||
queue::{QueueJobRepositoryExt as _, SendEmailAuthenticationCodeJob},
|
||||
user::{UserEmailRepository, UserRepository},
|
||||
user::{UserEmailFilter, UserEmailRepository, UserRepository},
|
||||
BoxClock, BoxRepository, BoxRng, RepositoryAccess,
|
||||
};
|
||||
use mas_templates::{
|
||||
@@ -194,6 +194,13 @@ pub(crate) async fn post(
|
||||
state.add_error_on_field(RegisterFormField::Email, FieldError::Required);
|
||||
} else if Address::from_str(&form.email).is_err() {
|
||||
state.add_error_on_field(RegisterFormField::Email, FieldError::Invalid);
|
||||
} else if repo
|
||||
.user_email()
|
||||
.count(UserEmailFilter::new().for_email(&form.email))
|
||||
.await?
|
||||
> 0
|
||||
{
|
||||
state.add_error_on_field(RegisterFormField::Email, FieldError::Exists);
|
||||
}
|
||||
|
||||
if form.password.is_empty() {
|
||||
|
||||
Reference in New Issue
Block a user