use lemmy_api_common::{
context::LemmyContext,
person::{VerifyEmail, VerifyEmailResponse},
- utils::send_email_verification_success,
};
use lemmy_db_schema::{
source::{
},
traits::Crud,
};
-use lemmy_db_views::structs::LocalUserView;
use lemmy_utils::error::LemmyError;
#[async_trait::async_trait(?Send)]
LocalUser::update(context.pool(), local_user_id, &form).await?;
- let local_user_view = LocalUserView::read(context.pool(), local_user_id).await?;
-
- send_email_verification_success(&local_user_view, context.settings())?;
-
EmailVerification::delete_old_tokens_for_local_user(context.pool(), local_user_id).await?;
Ok(VerifyEmailResponse {})
Ok(())
}
-pub fn send_email_verification_success(
- user: &LocalUserView,
- settings: &Settings,
-) -> Result<(), LemmyError> {
- let email = &user.local_user.email.clone().expect("email");
- let lang = get_interface_language(user);
- let subject = &lang.email_verified_subject(&user.person.actor_id);
- let body = &lang.email_verified_body();
- send_email(subject, email, &user.person.name, body, settings)
-}
-
pub fn get_interface_language(user: &LocalUserView) -> Lang {
lang_str_to_lang(&user.local_user.interface_language)
}