Skip to content
This repository has been archived by the owner on Oct 19, 2024. It is now read-only.

Commit

Permalink
Pause subscription renewals (#968)
Browse files Browse the repository at this point in the history
  • Loading branch information
Geometrically authored Sep 24, 2024
1 parent edb7e5f commit f7d1cd2
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 9 deletions.
18 changes: 9 additions & 9 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -259,15 +259,15 @@ pub fn app_setup(
}

let stripe_client = stripe::Client::new(dotenvy::var("STRIPE_API_KEY").unwrap());
{
let pool_ref = pool.clone();
let redis_ref = redis_pool.clone();
let stripe_client_ref = stripe_client.clone();

actix_rt::spawn(async move {
routes::internal::billing::task(stripe_client_ref, pool_ref, redis_ref).await;
});
}
// {
// let pool_ref = pool.clone();
// let redis_ref = redis_pool.clone();
// let stripe_client_ref = stripe_client.clone();
//
// actix_rt::spawn(async move {
// routes::internal::billing::task(stripe_client_ref, pool_ref, redis_ref).await;
// });
// }

let ip_salt = Pepper {
pepper: models::ids::Base62Id(models::ids::random_base62(11)).to_string(),
Expand Down
21 changes: 21 additions & 0 deletions src/routes/internal/flows.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1628,7 +1628,28 @@ async fn validate_2fa_code(
.generate_current()
.map_err(|_| AuthenticationError::InvalidCredentials)?;

const TOTP_NAMESPACE: &str = "used_totp";
let mut conn = redis.connect().await?;

// Check if TOTP has already been used
if conn
.get(TOTP_NAMESPACE, &format!("{}-{}", token, user_id.0))
.await?
.is_some()
{
return Err(AuthenticationError::InvalidCredentials);
}

if input == token {
conn
.set(
TOTP_NAMESPACE,
&format!("{}-{}", token, user_id.0),
"",
Some(60),
)
.await?;

Ok(true)
} else if allow_backup {
let backup_codes = crate::database::models::User::get_backup_codes(user_id, pool).await?;
Expand Down

0 comments on commit f7d1cd2

Please sign in to comment.