diff options
| author | mrw1593 <botahamec@outlook.com> | 2023-06-04 13:54:02 -0400 |
|---|---|---|
| committer | mrw1593 <botahamec@outlook.com> | 2023-06-04 13:54:02 -0400 |
| commit | 5e19831e02015047b2fb23592a82439d59b62767 (patch) | |
| tree | 56c690d44dfdef08c131eab740932e6b7c61cdd4 /src | |
| parent | 47fb9177c7d9d6d3b4e75aeb55a94ef236c807a6 (diff) | |
Delete expired tokens
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 183dca2..1106dc0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +use std::time::Duration; + use actix_web::http::header::{self, HeaderValue}; use actix_web::middleware::{ErrorHandlerResponse, ErrorHandlers, Logger, NormalizePath}; use actix_web::web::Data; @@ -13,6 +15,7 @@ mod services; use resources::*; use services::*; +use sqlx::MySqlPool; fn error_content_language<B>( mut res: dev::ServiceResponse, @@ -24,6 +27,23 @@ fn error_content_language<B>( Ok(ErrorHandlerResponse::Response(res.map_into_right_body())) } +async fn delete_expired_tokens(db: MySqlPool) { + let db = db.clone(); + let mut interval = actix_rt::time::interval(Duration::from_secs(60 * 10)); + loop { + interval.tick().await; + if let Err(e) = db::delete_expired_auth_codes(&db).await { + log::error!("{}", e); + } + if let Err(e) = db::delete_expired_access_tokens(&db).await { + log::error!("{}", e); + } + if let Err(e) = db::delete_expired_refresh_tokens(&db).await { + log::error!("{}", e); + } + } +} + #[actix_web::main] async fn main() -> Result<(), RawUnexpected> { // load the environment file, but only in debug mode @@ -38,6 +58,8 @@ async fn main() -> Result<(), RawUnexpected> { let translations = languages::initialize()?; + actix_rt::spawn(delete_expired_tokens(sql_pool.clone())); + // start the server HttpServer::new(move || { App::new() |
