Metar overhaul, added footer, updated schemas

This commit is contained in:
2025-05-19 16:09:02 -04:00
parent 2ecb82ae63
commit ed98140d22
54 changed files with 1084 additions and 4924 deletions

View File

@@ -1,4 +1,4 @@
use crate::account::hash;
use crate::account::{csprng, hash};
use crate::db::redis_async_connection;
use crate::error::{ApiResult, Error};
use crate::smtp;
@@ -66,7 +66,7 @@ pub struct SimpleEmailCtx {
pub year: i32,
}
pub fn send_password_reset_email(
pub async fn send_password_reset_email(
email: &str,
email_token: &EmailToken,
ip_address: &str,
@@ -99,7 +99,7 @@ pub fn send_password_reset_email(
.render_template(&template_html, &ctx)
.unwrap();
match smtp::send_email(&email, subject, plain, html) {
match smtp::send_email(&email, subject, plain, html).await {
Ok(_) => Ok(()),
Err(err) => {
log::error!(
@@ -113,11 +113,11 @@ pub fn send_password_reset_email(
}
}
pub fn send_confirm_email(
email: &str,
email_token: &EmailToken,
ip_address: &str,
) -> ApiResult<()> {
pub async fn send_confirm_email(email: &str, ip_address: &str) -> ApiResult<()> {
let token = csprng(128);
let email_token = EmailToken::new(email.to_string(), token, &ip_address);
email_token.store(86400).await?;
let base_url = env::var("EXTERNAL_URL")?;
let link = format!("{base_url}/profile/confirm?token={}", email_token.token);
let subject = "Confirm your email address";
@@ -146,16 +146,16 @@ pub fn send_confirm_email(
.render_template(&template_html, &ctx)
.unwrap();
match smtp::send_email(&email, subject, plain, html) {
Ok(_) => Ok(()),
Err(err) => {
log::error!(
"Invalid email confirmation attempt [Email: {}] [IP Address: {}]: {}",
email,
ip_address,
err
);
Err(err.into())
}
if let Err(err) = smtp::send_email(&email, subject, plain, html).await {
log::error!(
"Invalid email confirmation attempt [Email: {}] [IP Address: {}]: {}",
email,
ip_address,
err
);
let _ = EmailToken::delete(&email_token.token);
return Err(err);
}
Ok(())
}