From 5e19831e02015047b2fb23592a82439d59b62767 Mon Sep 17 00:00:00 2001 From: mrw1593 Date: Sun, 4 Jun 2023 13:54:02 -0400 Subject: Delete expired tokens --- src/main.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/main.rs') 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( mut res: dev::ServiceResponse, @@ -24,6 +27,23 @@ fn error_content_language( 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() -- cgit v1.2.3