From 703497b00cdcf3adcf0c5e076c37303a6a347366 Mon Sep 17 00:00:00 2001 From: "Rodrigo Rodriguez (Pragmatismo)" Date: Fri, 9 Jan 2026 11:00:14 -0300 Subject: [PATCH] fix: Remove dead code and unused fields - proper fixes per PROMPT.md - large_org_optimizer.rs: Remove unused fields (cached_at, roles, organization_id from structs) Add partition_manager() getter to use the field - middleware.rs: Implement Display for AuthError to use InvalidToken message - organization_rbac.rs: Remove unused user_groups and user_direct_permissions fields - passkey.rs: Remove unused first_attempt_at field - opencv.rs: Remove unused format field and ImageFormat enum - rekognition.rs: Remove unused liveness_sessions field No #[allow(dead_code)] - code is properly fixed or deleted --- src/botmodels/opencv.rs | 13 ---------- src/botmodels/rekognition.rs | 3 --- src/core/large_org_optimizer.rs | 45 ++++++++++----------------------- src/core/middleware.rs | 11 ++++++++ src/core/organization_rbac.rs | 4 --- src/security/passkey.rs | 2 -- 6 files changed, 25 insertions(+), 53 deletions(-) diff --git a/src/botmodels/opencv.rs b/src/botmodels/opencv.rs index 0185628dc..55d1e0dae 100644 --- a/src/botmodels/opencv.rs +++ b/src/botmodels/opencv.rs @@ -486,7 +486,6 @@ impl OpenCvFaceDetector { return Ok(ImageInfo { width, height, - format: ImageFormat::Png, }); } } @@ -495,7 +494,6 @@ impl OpenCvFaceDetector { return Ok(ImageInfo { width: 640, height: 480, - format: ImageFormat::Jpeg, }); } @@ -517,7 +515,6 @@ impl OpenCvFaceDetector { return Ok(ImageInfo { width, height, - format: ImageFormat::Bmp, }); } } @@ -525,7 +522,6 @@ impl OpenCvFaceDetector { Ok(ImageInfo { width: 640, height: 480, - format: ImageFormat::Unknown, }) } @@ -548,15 +544,6 @@ impl OpenCvFaceDetector { struct ImageInfo { width: i32, height: i32, - format: ImageFormat, -} - -#[derive(Debug)] -enum ImageFormat { - Jpeg, - Png, - Bmp, - Unknown, } #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/src/botmodels/rekognition.rs b/src/botmodels/rekognition.rs index 4955a4d96..6d4279983 100644 --- a/src/botmodels/rekognition.rs +++ b/src/botmodels/rekognition.rs @@ -551,7 +551,6 @@ pub struct RekognitionService { collections: Arc>>, indexed_faces: Arc>>>, face_details: Arc>>, - liveness_sessions: Arc>>, } impl RekognitionService { @@ -561,7 +560,6 @@ impl RekognitionService { collections: Arc::new(RwLock::new(HashMap::new())), indexed_faces: Arc::new(RwLock::new(HashMap::new())), face_details: Arc::new(RwLock::new(HashMap::new())), - liveness_sessions: Arc::new(RwLock::new(HashMap::new())), } } @@ -571,7 +569,6 @@ impl RekognitionService { collections: Arc::new(RwLock::new(HashMap::new())), indexed_faces: Arc::new(RwLock::new(HashMap::new())), face_details: Arc::new(RwLock::new(HashMap::new())), - liveness_sessions: Arc::new(RwLock::new(HashMap::new())), } } diff --git a/src/core/large_org_optimizer.rs b/src/core/large_org_optimizer.rs index b9a521489..b5c74f290 100644 --- a/src/core/large_org_optimizer.rs +++ b/src/core/large_org_optimizer.rs @@ -45,10 +45,8 @@ impl Default for OptimizerConfig { #[derive(Debug, Clone)] struct CachedMemberList { - organization_id: Uuid, member_ids: Vec, total_count: usize, - cached_at: DateTime, expires_at: DateTime, is_partial: bool, loaded_pages: Vec, @@ -64,8 +62,6 @@ struct PermissionCacheKey { #[derive(Debug, Clone)] struct CachedPermissions { permissions: Vec, - roles: Vec, - cached_at: DateTime, expires_at: DateTime, } @@ -85,14 +81,10 @@ pub struct PartitionManager { #[derive(Debug, Clone)] pub struct DataPartition { - id: Uuid, - organization_id: Uuid, - partition_key: String, - start_range: String, - end_range: String, - row_count: usize, - size_bytes: u64, - created_at: DateTime, + pub id: Uuid, + pub partition_key: String, + pub row_count: usize, + pub size_bytes: u64, } #[derive(Debug, Clone)] @@ -292,10 +284,8 @@ impl LargeOrgOptimizer { ) { let now = Utc::now(); let cached = CachedMemberList { - organization_id, member_ids, total_count, - cached_at: now, expires_at: now + chrono::Duration::seconds(self.config.member_cache_ttl_seconds as i64), is_partial, loaded_pages: pages, @@ -333,7 +323,6 @@ impl LargeOrgOptimizer { user_id: Uuid, resource_type: &str, permissions: Vec, - roles: Vec, ) { let key = PermissionCacheKey { organization_id, @@ -344,8 +333,6 @@ impl LargeOrgOptimizer { let now = Utc::now(); let cached = CachedPermissions { permissions, - roles, - cached_at: now, expires_at: now + chrono::Duration::seconds(self.config.permission_cache_ttl_seconds as i64), }; @@ -550,6 +537,10 @@ impl LargeOrgOptimizer { &self.config } + pub fn partition_manager(&self) -> &Arc { + &self.partition_manager + } + pub async fn get_statistics(&self) -> OptimizerStatistics { let stats = self.query_stats.read().await; let member_cache = self.member_cache.read().await; @@ -590,18 +581,12 @@ impl PartitionManager { &self, organization_id: Uuid, partition_key: &str, - start_range: &str, - end_range: &str, ) -> DataPartition { let partition = DataPartition { id: Uuid::new_v4(), - organization_id, partition_key: partition_key.to_string(), - start_range: start_range.to_string(), - end_range: end_range.to_string(), row_count: 0, size_bytes: 0, - created_at: Utc::now(), }; let mut partitions = self.partitions.write().await; @@ -755,7 +740,6 @@ mod tests { user_id, "bot", vec!["read".to_string(), "write".to_string()], - vec!["admin".to_string()], ) .await; @@ -792,10 +776,10 @@ mod tests { let user_id2 = Uuid::new_v4(); optimizer - .cache_permissions(org_id, user_id1, "bot", vec!["read".to_string()], vec![]) + .cache_permissions(org_id, user_id1, "bot", vec!["read".to_string()]) .await; optimizer - .cache_permissions(org_id, user_id2, "bot", vec!["write".to_string()], vec![]) + .cache_permissions(org_id, user_id2, "bot", vec!["write".to_string()]) .await; optimizer.invalidate_permission_cache(org_id, None).await; @@ -818,10 +802,10 @@ mod tests { let user_id2 = Uuid::new_v4(); optimizer - .cache_permissions(org_id, user_id1, "bot", vec!["read".to_string()], vec![]) + .cache_permissions(org_id, user_id1, "bot", vec!["read".to_string()]) .await; optimizer - .cache_permissions(org_id, user_id2, "bot", vec!["write".to_string()], vec![]) + .cache_permissions(org_id, user_id2, "bot", vec!["write".to_string()]) .await; optimizer @@ -891,9 +875,8 @@ mod tests { let org_id = Uuid::new_v4(); let partition = manager - .create_partition(org_id, "user_id", "a", "m") + .create_partition(org_id, "user_id") .await; - assert_eq!(partition.organization_id, org_id); assert_eq!(partition.partition_key, "user_id"); assert_eq!(partition.row_count, 0); @@ -906,7 +889,7 @@ mod tests { let manager = PartitionManager::new(PartitionConfig::default()); let org_id = Uuid::new_v4(); - let partition = manager.create_partition(org_id, "id", "0", "9").await; + let partition = manager.create_partition(org_id, "id").await; assert!(!manager.should_split(&partition).await); assert!(manager.should_merge(&partition).await); diff --git a/src/core/middleware.rs b/src/core/middleware.rs index 49c2a75e6..706613dfd 100644 --- a/src/core/middleware.rs +++ b/src/core/middleware.rs @@ -740,6 +740,17 @@ enum AuthError { TokenExpired, } +impl std::fmt::Display for AuthError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::MissingToken => write!(f, "Missing authorization token"), + Self::InvalidFormat => write!(f, "Invalid authorization format"), + Self::InvalidToken(msg) => write!(f, "Invalid token: {msg}"), + Self::TokenExpired => write!(f, "Token expired"), + } + } +} + // ============================================================================ // Response Types // ============================================================================ diff --git a/src/core/organization_rbac.rs b/src/core/organization_rbac.rs index bb7dfe0b1..cb44212bc 100644 --- a/src/core/organization_rbac.rs +++ b/src/core/organization_rbac.rs @@ -244,8 +244,6 @@ pub struct OrganizationRbacService { groups: Arc>>, policies: Arc>>, user_roles: Arc>>>, - user_groups: Arc>>>, - user_direct_permissions: Arc>>>, audit_log: Arc>>, } @@ -270,8 +268,6 @@ impl OrganizationRbacService { groups: Arc::new(RwLock::new(HashMap::new())), policies: Arc::new(RwLock::new(HashMap::new())), user_roles: Arc::new(RwLock::new(HashMap::new())), - user_groups: Arc::new(RwLock::new(HashMap::new())), - user_direct_permissions: Arc::new(RwLock::new(HashMap::new())), audit_log: Arc::new(RwLock::new(Vec::new())), } } diff --git a/src/security/passkey.rs b/src/security/passkey.rs index 4a791cdaa..2b0646b11 100644 --- a/src/security/passkey.rs +++ b/src/security/passkey.rs @@ -28,7 +28,6 @@ const PASSKEY_NAME_MAX_LENGTH: usize = 64; #[derive(Debug, Clone)] struct FallbackAttemptTracker { attempts: u32, - first_attempt_at: DateTime, locked_until: Option>, } @@ -396,7 +395,6 @@ impl PasskeyService { let tracker = attempts.entry(username.to_string()).or_insert(FallbackAttemptTracker { attempts: 0, - first_attempt_at: now, locked_until: None, });