From 076e87695d76820ddc30963e7ca02f8d41d5cbdf Mon Sep 17 00:00:00 2001 From: GW_MC <72297530+GWMCwing@users.noreply.github.com> Date: Sat, 18 Jul 2026 04:59:42 +0000 Subject: [PATCH] refactor: clean up unused code and improve conditionals in various modules --- apps/nxmesh-agent/src/config/settings/auth.rs | 28 ---------------- apps/nxmesh-agent/src/connector/master/mod.rs | 6 ---- .../src/service/master_handler/handlers.rs | 6 ++-- .../service/nginx_handler/command_handler.rs | 33 +++++++------------ .../src/service/nginx_handler/fs_handler.rs | 14 ++++---- apps/nxmesh-master/src/connector/agent/mod.rs | 1 - .../src/routes/api/agents/update_agent.rs | 8 ++--- .../src/routes/api/proxy/configs.rs | 2 +- .../src/service/certificate/mod.rs | 2 +- .../proxy/nginx/config/proxy_setting.rs | 8 ++--- .../proxy/nginx/config/server_block.rs | 8 ++--- 11 files changed, 35 insertions(+), 81 deletions(-) diff --git a/apps/nxmesh-agent/src/config/settings/auth.rs b/apps/nxmesh-agent/src/config/settings/auth.rs index fe9206c..1e6cf67 100644 --- a/apps/nxmesh-agent/src/config/settings/auth.rs +++ b/apps/nxmesh-agent/src/config/settings/auth.rs @@ -80,34 +80,6 @@ mod tests { assert!(result.is_ok()); } - fn create_exec_file(path: &Path) { - write_file(path); - let metadata = fs::metadata(path); - assert!(metadata.is_ok()); - let metadata = metadata.ok(); - assert!(metadata.is_some()); - let metadata = metadata.unwrap_or_else(|| unreachable!()); - - let mut perms = metadata.permissions(); - perms.set_mode(0o755); - let result = fs::set_permissions(path, perms); - assert!(result.is_ok()); - } - - fn create_non_exec_file(path: &Path) { - write_file(path); - let metadata = fs::metadata(path); - assert!(metadata.is_ok()); - let metadata = metadata.ok(); - assert!(metadata.is_some()); - let metadata = metadata.unwrap_or_else(|| unreachable!()); - - let mut perms = metadata.permissions(); - perms.set_mode(0o644); - let result = fs::set_permissions(path, perms); - assert!(result.is_ok()); - } - fn valid_tls_raw_paths(temp_dir: &TempDir) -> (PathBuf, PathBuf, PathBuf) { let ca_path = temp_dir.path().join("ca.pem"); let cert_path = temp_dir.path().join("cert.pem"); diff --git a/apps/nxmesh-agent/src/connector/master/mod.rs b/apps/nxmesh-agent/src/connector/master/mod.rs index 544d48f..392abe9 100644 --- a/apps/nxmesh-agent/src/connector/master/mod.rs +++ b/apps/nxmesh-agent/src/connector/master/mod.rs @@ -1,7 +1,3 @@ -use std::sync::Arc; - -use tokio::sync::Mutex; - pub mod ssh; pub type AgentClient = @@ -47,8 +43,6 @@ mod tests { atomic::{AtomicBool, Ordering}, }; - use tokio::sync::Mutex; - use crate::config::settings::{ GrpcSettings, LogSettings, MAuthSettings, Settings, TLSSettings, }; diff --git a/apps/nxmesh-agent/src/service/master_handler/handlers.rs b/apps/nxmesh-agent/src/service/master_handler/handlers.rs index 9f96cf3..be8c501 100644 --- a/apps/nxmesh-agent/src/service/master_handler/handlers.rs +++ b/apps/nxmesh-agent/src/service/master_handler/handlers.rs @@ -1,8 +1,6 @@ -use std::sync::{Arc, Weak}; +use std::sync::Weak; -use nxmesh_proto::{ - AgentMessage, ConfigUpdate, MasterMessage, command::Command, master_message::Payload, -}; +use nxmesh_proto::{ConfigUpdate, MasterMessage, command::Command, master_message::Payload}; use crate::service::master_handler::{MasterHandlerError, MessageResult}; diff --git a/apps/nxmesh-agent/src/service/nginx_handler/command_handler.rs b/apps/nxmesh-agent/src/service/nginx_handler/command_handler.rs index 6c45f14..2bcd4b6 100644 --- a/apps/nxmesh-agent/src/service/nginx_handler/command_handler.rs +++ b/apps/nxmesh-agent/src/service/nginx_handler/command_handler.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use thiserror::Error; use tokio::process::Command; -use tracing::{debug, warn}; +use tracing::debug; use crate::{config::settings::NginxSettings, service::master_handler::MasterHandlerError}; @@ -120,10 +120,7 @@ impl CommandHandler for CommandHandlerImpl { if !output.status.success() { let error_info = String::from_utf8_lossy(&output.stderr); return Err(CommandHandlerError::CommandExecutionError( - std::io::Error::new( - std::io::ErrorKind::Other, - format!("Failed to reload nginx: {}", error_info.trim()), - ), + std::io::Error::other(format!("Failed to reload nginx: {}", error_info.trim())), )); } let success_info = String::from_utf8_lossy(&output.stdout); @@ -142,10 +139,7 @@ impl CommandHandler for CommandHandlerImpl { if !output.status.success() { let error_info = String::from_utf8_lossy(&output.stderr); return Err(CommandHandlerError::CommandExecutionError( - std::io::Error::new( - std::io::ErrorKind::Other, - format!("Failed to stop nginx: {}", error_info.trim()), - ), + std::io::Error::other(format!("Failed to stop nginx: {}", error_info.trim())), )); } let success_info = String::from_utf8_lossy(&output.stdout); @@ -171,10 +165,10 @@ impl CommandHandler for CommandHandlerImpl { if !output.status.success() { let error_info = String::from_utf8_lossy(&output.stderr); return Err(CommandHandlerError::CommandExecutionError( - std::io::Error::new( - std::io::ErrorKind::Other, - format!("Failed to validate nginx config: {}", error_info.trim()), - ), + std::io::Error::other(format!( + "Failed to validate nginx config: {}", + error_info.trim() + )), )); } let success_info = String::from_utf8_lossy(&output.stdout); @@ -191,10 +185,10 @@ impl CommandHandler for CommandHandlerImpl { if !output.status.success() { let error_info = String::from_utf8_lossy(&output.stderr); return Err(CommandHandlerError::CommandExecutionError( - std::io::Error::new( - std::io::ErrorKind::Other, - format!("Failed to get nginx version: {}", error_info.trim()), - ), + std::io::Error::other(format!( + "Failed to get nginx version: {}", + error_info.trim() + )), )); } @@ -211,10 +205,7 @@ impl CommandHandler for CommandHandlerImpl { if !output.status.success() { let error_info = String::from_utf8_lossy(&output.stderr); return Err(CommandHandlerError::CommandExecutionError( - std::io::Error::new( - std::io::ErrorKind::Other, - format!("Failed to get nginx status: {}", error_info.trim()), - ), + std::io::Error::other(format!("Failed to get nginx status: {}", error_info.trim())), )); } diff --git a/apps/nxmesh-agent/src/service/nginx_handler/fs_handler.rs b/apps/nxmesh-agent/src/service/nginx_handler/fs_handler.rs index b9ca2f2..73a987a 100644 --- a/apps/nxmesh-agent/src/service/nginx_handler/fs_handler.rs +++ b/apps/nxmesh-agent/src/service/nginx_handler/fs_handler.rs @@ -2,7 +2,7 @@ use std::sync::Arc; use fs4::tokio::AsyncFileExt; use thiserror::Error; -use tokio::{io::AsyncWriteExt, process::Command}; +use tokio::io::AsyncWriteExt; use tracing::warn; use crate::{config::settings::NginxSettings, service::master_handler::MasterHandlerError}; @@ -222,19 +222,19 @@ impl FsHandler for FsHandlerImpl { let mut entries = tokio::fs::read_dir(&deployment_dir).await?; let mut candidates: Vec<(std::path::PathBuf, std::time::SystemTime)> = Vec::new(); while let Some(entry) = entries.next_entry().await? { - if entry.file_type().await.map_or(false, |t| t.is_dir()) { - if let Ok(mtime) = entry.metadata().await.and_then(|m| m.modified()) { - candidates.push((entry.path(), mtime)); - } + if entry.file_type().await.is_ok_and(|t| t.is_dir()) + && let Ok(mtime) = entry.metadata().await.and_then(|m| m.modified()) + { + candidates.push((entry.path(), mtime)); } } // sort descending by mtime (newest first) - candidates.sort_by(|a, b| b.1.cmp(&a.1)); + candidates.sort_by_key(|b| std::cmp::Reverse(b.1)); for (dir, _) in &candidates { let mut dir_entries = tokio::fs::read_dir(dir).await?; while let Some(file) = dir_entries.next_entry().await? { - if file.file_type().await.map_or(false, |t| t.is_file()) { + if file.file_type().await.is_ok_and(|t| t.is_file()) { let name = file.file_name().to_string_lossy().to_string(); if name == "nginx.conf" || name.ends_with(".conf") { let path = file.path().to_string_lossy().to_string(); diff --git a/apps/nxmesh-master/src/connector/agent/mod.rs b/apps/nxmesh-master/src/connector/agent/mod.rs index dbeba2a..bd02726 100644 --- a/apps/nxmesh-master/src/connector/agent/mod.rs +++ b/apps/nxmesh-master/src/connector/agent/mod.rs @@ -1,7 +1,6 @@ use std::sync::Arc; use sea_orm::DatabaseConnection; -use tonic::transport::Server; pub mod ssh; diff --git a/apps/nxmesh-master/src/routes/api/agents/update_agent.rs b/apps/nxmesh-master/src/routes/api/agents/update_agent.rs index e4383f2..5128b45 100644 --- a/apps/nxmesh-master/src/routes/api/agents/update_agent.rs +++ b/apps/nxmesh-master/src/routes/api/agents/update_agent.rs @@ -33,10 +33,10 @@ pub async fn update_agent_handler( Path(id): Path, Json(body): Json, ) -> Result { - if let Some(ref name) = body.name { - if name.trim().is_empty() { - return Err(AppError::BadRequest("name must not be empty".to_string())); - } + if let Some(ref name) = body.name + && name.trim().is_empty() + { + return Err(AppError::BadRequest("name must not be empty".to_string())); } let rec = UpdateAgentRecord { diff --git a/apps/nxmesh-master/src/routes/api/proxy/configs.rs b/apps/nxmesh-master/src/routes/api/proxy/configs.rs index 3e09c4c..03e5e2e 100644 --- a/apps/nxmesh-master/src/routes/api/proxy/configs.rs +++ b/apps/nxmesh-master/src/routes/api/proxy/configs.rs @@ -93,7 +93,7 @@ async fn get_config( Path(id): Path, ) -> Result, AppError> { let config = svc.get_proxy_config(id).await?; - Ok(Json(serde_json::to_value(&config.id).unwrap_or_default())) + Ok(Json(serde_json::to_value(config.id).unwrap_or_default())) } async fn update_config( diff --git a/apps/nxmesh-master/src/service/certificate/mod.rs b/apps/nxmesh-master/src/service/certificate/mod.rs index 952ac5f..8d976c0 100644 --- a/apps/nxmesh-master/src/service/certificate/mod.rs +++ b/apps/nxmesh-master/src/service/certificate/mod.rs @@ -131,7 +131,7 @@ impl CertificateService for CertificateServiceImpl { .collect::>(), san_dns .into_iter() - .map(|dns| SanType::DnsName(dns)) + .map(SanType::DnsName) .collect::>(), ] .concat(); diff --git a/apps/nxmesh-master/src/service/proxy/nginx/config/proxy_setting.rs b/apps/nxmesh-master/src/service/proxy/nginx/config/proxy_setting.rs index 1aa896d..18d4440 100644 --- a/apps/nxmesh-master/src/service/proxy/nginx/config/proxy_setting.rs +++ b/apps/nxmesh-master/src/service/proxy/nginx/config/proxy_setting.rs @@ -16,10 +16,10 @@ impl std::fmt::Display for ProxySettingRender<'_> { if let Some(buffer) = self.setting.buffer_size { writeln!(f, " proxy_buffer_size {};", buffer)?; } - if self.setting.cache_enabled.unwrap_or(false) { - if let Some(zone_name) = self.cache_zone_name { - writeln!(f, " proxy_cache {};", zone_name)?; - } + if self.setting.cache_enabled.unwrap_or(false) + && let Some(zone_name) = self.cache_zone_name + { + writeln!(f, " proxy_cache {};", zone_name)?; } Ok(()) } diff --git a/apps/nxmesh-master/src/service/proxy/nginx/config/server_block.rs b/apps/nxmesh-master/src/service/proxy/nginx/config/server_block.rs index 5419cb3..3661126 100644 --- a/apps/nxmesh-master/src/service/proxy/nginx/config/server_block.rs +++ b/apps/nxmesh-master/src/service/proxy/nginx/config/server_block.rs @@ -18,10 +18,10 @@ impl std::fmt::Display for ServerBlockRender<'_> { writeln!(f, " listen {};", self.block.listen_port)?; } - if let Some(ref names) = self.block.server_name { - if !names.is_empty() { - writeln!(f, " server_name {};", names.join(" "))?; - } + if let Some(ref names) = self.block.server_name + && !names.is_empty() + { + writeln!(f, " server_name {};", names.join(" "))?; } if let Some(cert) = self.ssl_cert {