From e4425e057d8978992afa8a2cc944b8310aecec24 Mon Sep 17 00:00:00 2001 From: Vitor Hideyoshi Nakazone Batista Date: Mon, 26 Feb 2024 01:06:24 -0300 Subject: [PATCH] Re-formats Code and Minor Fixes --- src/config/config_limits.rs | 12 ++++++---- src/config/config_redis.rs | 2 +- src/config/config_server.rs | 2 +- src/config/mod.rs | 4 ++-- src/depends/depends_auth_service.rs | 9 ++------ src/depends/depends_email_service.rs | 7 ++---- src/depends/mod.rs | 2 +- src/handler/message.rs | 9 ++++---- src/main.rs | 2 +- src/route.rs | 10 ++++---- src/service/auth_service.rs | 34 +++++++++++++++------------- src/service/email_service.rs | 22 ++++++++---------- 12 files changed, 55 insertions(+), 60 deletions(-) diff --git a/src/config/config_limits.rs b/src/config/config_limits.rs index 9bc2cfc..b2f7014 100644 --- a/src/config/config_limits.rs +++ b/src/config/config_limits.rs @@ -11,10 +11,14 @@ pub struct ConfigLimits { pub fn get_config_limits() -> ConfigLimits { dotenv::dotenv().ok(); - let max_requests = env::var("MAX_REQUESTS").unwrap_or("10".to_string()) - .parse::().unwrap(); - let expiration_time = env::var("EXPIRATION_TIME").unwrap_or("604800".to_string()) - .parse::().unwrap(); + let max_requests = env::var("MAX_REQUESTS") + .unwrap_or("10".to_string()) + .parse::() + .unwrap(); + let expiration_time = env::var("EXPIRATION_TIME") + .unwrap_or("604800".to_string()) + .parse::() + .unwrap(); ConfigLimits { max_requests, diff --git a/src/config/config_redis.rs b/src/config/config_redis.rs index 4a183fe..2c921fb 100644 --- a/src/config/config_redis.rs +++ b/src/config/config_redis.rs @@ -19,6 +19,6 @@ pub fn get_config_redis() -> ConfigRedis { ConfigRedis { redis_url: url, redis_port: port.parse::().unwrap(), - redis_password: password + redis_password: password, } } diff --git a/src/config/config_server.rs b/src/config/config_server.rs index e0798c8..690aec8 100644 --- a/src/config/config_server.rs +++ b/src/config/config_server.rs @@ -1,5 +1,5 @@ use cached::proc_macro::cached; -use std::env; + #[derive(Clone)] pub struct ConfigServer { diff --git a/src/config/mod.rs b/src/config/mod.rs index 50630ae..bc5cf87 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -1,5 +1,5 @@ pub mod config_auth; pub mod config_email; -pub mod config_server; -pub mod config_redis; pub mod config_limits; +pub mod config_redis; +pub mod config_server; diff --git a/src/depends/depends_auth_service.rs b/src/depends/depends_auth_service.rs index 772d411..cae7b21 100644 --- a/src/depends/depends_auth_service.rs +++ b/src/depends/depends_auth_service.rs @@ -1,15 +1,10 @@ -use cached::proc_macro::cached; use crate::config::config_auth::get_config_auth; use crate::config::config_limits::get_config_limits; use crate::config::config_redis::get_config_redis; use crate::service::auth_service::AuthService; - +use cached::proc_macro::cached; #[cached] pub fn get_depends_auth_service() -> AuthService { - AuthService::new( - get_config_auth(), - get_config_redis(), - get_config_limits(), - ) + AuthService::new(get_config_auth(), get_config_redis(), get_config_limits()) } diff --git a/src/depends/depends_email_service.rs b/src/depends/depends_email_service.rs index 86a412d..be42167 100644 --- a/src/depends/depends_email_service.rs +++ b/src/depends/depends_email_service.rs @@ -1,11 +1,8 @@ -use cached::proc_macro::cached; use crate::config::config_email::get_config_email; use crate::service::email_service::EmailService; - +use cached::proc_macro::cached; #[cached] pub fn get_depends_email_service() -> EmailService { - EmailService::new( - get_config_email() - ) + EmailService::new(get_config_email()) } diff --git a/src/depends/mod.rs b/src/depends/mod.rs index 1bba9bd..e30f7f9 100644 --- a/src/depends/mod.rs +++ b/src/depends/mod.rs @@ -1,2 +1,2 @@ pub mod depends_auth_service; -pub mod depends_email_service; \ No newline at end of file +pub mod depends_email_service; diff --git a/src/handler/message.rs b/src/handler/message.rs index 7ebc1bd..0467309 100644 --- a/src/handler/message.rs +++ b/src/handler/message.rs @@ -1,9 +1,8 @@ use crate::model::generic_response::GenericResponse; use crate::model::send_message::{MessageAuthor, SendMessage}; +use crate::service::auth_service::AuthService; use crate::service::email_service::EmailService; use axum::{http::StatusCode, response::IntoResponse, Extension, Json}; -use crate::service::auth_service::AuthService; - pub async fn send_message( Extension(auth_service): Extension, @@ -25,7 +24,7 @@ pub async fn send_message( } match email_service.send_email_smtp(package).await { - Ok(_) => {}, + Ok(_) => {} Err(e) => { return ( StatusCode::INTERNAL_SERVER_ERROR, @@ -34,7 +33,7 @@ pub async fn send_message( message: e.to_string(), }), ) - }, + } }; auth_service.increase_user_request(&author).await; @@ -46,4 +45,4 @@ pub async fn send_message( message: "Message sent".to_string(), }), ); -} \ No newline at end of file +} diff --git a/src/main.rs b/src/main.rs index 7585b24..7eb0304 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,11 +1,11 @@ mod config; +mod depends; mod handler; mod middleware; mod model; mod route; mod service; mod utils; -mod depends; use crate::config::config_server; diff --git a/src/route.rs b/src/route.rs index 69a3c5a..d5c89e7 100644 --- a/src/route.rs +++ b/src/route.rs @@ -1,17 +1,17 @@ -use crate::config::{config_auth, config_email}; + +use crate::depends::depends_auth_service::get_depends_auth_service; +use crate::depends::depends_email_service::get_depends_email_service; use crate::handler::health::health_check; use crate::handler::message::send_message; use crate::middleware::auth_middleware::auth_middleware; -use crate::service::auth_service::AuthService; -use crate::service::email_service::EmailService; + + use crate::utils::router_builder::RouterBuilder; use axum::{ middleware, routing::{get, post}, Extension, Router, }; -use crate::depends::depends_auth_service::get_depends_auth_service; -use crate::depends::depends_email_service::get_depends_email_service; fn configure_message_endpoint(router: Router) -> Router { router diff --git a/src/service/auth_service.rs b/src/service/auth_service.rs index 114b279..3a1fc9e 100644 --- a/src/service/auth_service.rs +++ b/src/service/auth_service.rs @@ -1,10 +1,10 @@ -use std::collections::BTreeMap; -use redis::{AsyncCommands, ExistenceCheck, SetExpiry, SetOptions}; use crate::config::config_auth::ConfigAuth; -use crate::model::send_message::MessageAuthor; -use reqwest::header::AUTHORIZATION; use crate::config::config_limits::ConfigLimits; use crate::config::config_redis::ConfigRedis; +use crate::model::send_message::MessageAuthor; +use redis::{AsyncCommands, ExistenceCheck, SetExpiry, SetOptions}; +use reqwest::header::AUTHORIZATION; + #[derive(Clone)] pub struct AuthService { @@ -17,8 +17,13 @@ pub struct AuthService { impl AuthService { pub fn new(config_auth: ConfigAuth, config_redis: ConfigRedis, limits: ConfigLimits) -> Self { let client = redis::Client::open( - format!("redis://{}:{}", config_redis.redis_url, config_redis.redis_port).as_str() - ).unwrap(); + format!( + "redis://{}:{}", + config_redis.redis_url, config_redis.redis_port + ) + .as_str(), + ) + .unwrap(); AuthService { auth_url: config_auth.auth_url, @@ -56,7 +61,7 @@ impl AuthService { pub async fn increase_user_request(&self, user: &MessageAuthor) -> bool { let mut con = self.redis.get_async_connection().await.unwrap(); - let current_request_key= format!( + let current_request_key = format!( "user-message:{}:requests:{}", user.email, chrono::Utc::now().timestamp() @@ -67,12 +72,10 @@ impl AuthService { .conditional_set(ExistenceCheck::NX) .get(false); - return con.set_options( - ¤t_request_key, - 1, - set_options - ).await.expect("Error setting key"); - + return con + .set_options(¤t_request_key, 1, set_options) + .await + .expect("Error setting key"); } async fn count_user_requests(&self, user: &MessageAuthor) -> u32 { @@ -83,11 +86,10 @@ impl AuthService { match con.keys(query_user_requests).await { Ok(r) => { results = r; - }, - Err(e) => { + } + Err(_e) => { return 0; } - }; return results.len() as u32; diff --git a/src/service/email_service.rs b/src/service/email_service.rs index f16e056..9ff54c7 100644 --- a/src/service/email_service.rs +++ b/src/service/email_service.rs @@ -1,7 +1,10 @@ use crate::config::config_email::ConfigEmail; -use crate::model::send_message::{MessageAuthor, SendMessage}; -use lettre::{transport::smtp::authentication::Credentials, AsyncSmtpTransport, AsyncTransport, Message, Tokio1Executor, Address}; +use crate::model::send_message::{SendMessage}; use lettre::message::Mailbox; +use lettre::{ + transport::smtp::authentication::Credentials, Address, AsyncSmtpTransport, AsyncTransport, + Message, Tokio1Executor, +}; #[derive(Clone)] pub struct EmailService { @@ -28,12 +31,12 @@ impl EmailService { pub async fn send_email_smtp(&self, m: SendMessage) -> Result<(), Box> { let sender = m.author.clone().unwrap(); - let sender_mailbox = Mailbox::new( - Some(sender.name), sender.email.parse::
().unwrap() - ); + let sender_mailbox = + Mailbox::new(Some(sender.name), sender.email.parse::
().unwrap()); let recipient_mailbox = Mailbox::new( - Some(self.name.clone()), self.email.parse::
().unwrap() + Some(self.name.clone()), + self.email.parse::
().unwrap(), ); let body = self.create_email_body(&m); @@ -54,12 +57,7 @@ impl EmailService { format!( "From: {} <{}>\nTo: {} <{}>\nSubject: {}\n\n{}", - sender.name, - sender.email, - self.name, - self.email, - m.subject, - m.message + sender.name, sender.email, self.name, self.email, m.subject, m.message ) } }