From 67a2c807d1ab2e28312e090db89485305490ad7b Mon Sep 17 00:00:00 2001 From: nutcas3 Date: Sat, 25 Apr 2026 01:33:20 +0300 Subject: [PATCH] feat: Remove unused imports and suppress dead_code warnings across charging engine modules - Remove unused AsyncCommands/error/ChargingSession/ErrorContext imports from credit_management - Remove unused ErrorContext/ChargingError imports from engine - Remove unused ErrorContext import from rating_billing and prefix unused variables with underscore - Remove unused ErrorContext import from rating_plans_repo - Remove unused Context import from errors/helpers - Remove unused info/debug/SystemTime imports from monitoring - Remove unused sleep --- apps/charging-engine/src/charging/credit_management.rs | 7 +++---- apps/charging-engine/src/charging/engine.rs | 2 +- apps/charging-engine/src/charging/rating_billing.rs | 7 ++++--- apps/charging-engine/src/charging/rating_plans_repo.rs | 2 +- apps/charging-engine/src/charging/types.rs | 5 +++++ apps/charging-engine/src/errors/helpers.rs | 1 - apps/charging-engine/src/errors/types.rs | 2 ++ apps/charging-engine/src/models.rs | 1 + apps/charging-engine/src/monitoring/monitoring.rs | 5 +---- apps/charging-engine/src/monitoring/sync.rs | 5 ++--- apps/charging-engine/src/monitoring/types.rs | 2 ++ 11 files changed, 22 insertions(+), 17 deletions(-) diff --git a/apps/charging-engine/src/charging/credit_management.rs b/apps/charging-engine/src/charging/credit_management.rs index 5a467f9..fba05a2 100644 --- a/apps/charging-engine/src/charging/credit_management.rs +++ b/apps/charging-engine/src/charging/credit_management.rs @@ -1,8 +1,7 @@ -use redis::AsyncCommands; -use tracing::{info, warn, error, debug}; +use tracing::{info, warn, debug}; -use super::types::{SubscriberAccount, UsageEvent, ChargingSession}; -use crate::errors::{ChargingError, ChargingResult, ErrorContext, validate_imsi, validate_session_id, validate_bytes}; +use super::types::{SubscriberAccount, UsageEvent}; +use crate::errors::{ChargingError, ChargingResult, validate_imsi, validate_session_id}; impl crate::charging::ChargingEngine { pub async fn get_balance(&self, ip: &str) -> ChargingResult { diff --git a/apps/charging-engine/src/charging/engine.rs b/apps/charging-engine/src/charging/engine.rs index 1f3c165..87de1f9 100644 --- a/apps/charging-engine/src/charging/engine.rs +++ b/apps/charging-engine/src/charging/engine.rs @@ -4,7 +4,7 @@ use tracing::info; use super::rating_plans_repo::RatingPlansRepo; use super::types::RatingPlan; -use crate::errors::{ChargingResult, ErrorContext, ChargingError}; +use crate::errors::ChargingResult; /// ChargingEngine coordinates Redis-backed hot-path state (balances, sessions) /// and Postgres-backed configuration (rating plans) via `RatingPlansRepo`. diff --git a/apps/charging-engine/src/charging/rating_billing.rs b/apps/charging-engine/src/charging/rating_billing.rs index a697071..f94a309 100644 --- a/apps/charging-engine/src/charging/rating_billing.rs +++ b/apps/charging-engine/src/charging/rating_billing.rs @@ -2,13 +2,14 @@ use chrono::Utc; use tracing::{info, debug, warn}; use super::types::{UsageEvent, UsageType}; -use crate::errors::{ChargingError, ChargingResult, ErrorContext, validate_amount}; +use crate::errors::{ChargingError, ChargingResult, validate_amount}; +#[allow(dead_code)] impl super::ChargingEngine { pub async fn calculate_usage_cost(&self, event: &UsageEvent) -> ChargingResult { // Get subscriber account to determine rating plan let account = self.get_subscriber_account(&event.imsi).await?; - let account = account.ok_or_else(|| ChargingError::SubscriberNotFound(event.imsi.clone()))?; + let _account = account.ok_or_else(|| ChargingError::SubscriberNotFound(event.imsi.clone()))?; // Get rating plan from Postgres (simplified - defaults to basic). let plan = self @@ -128,7 +129,7 @@ impl super::ChargingEngine { Ok(()) } - pub async fn generate_invoice(&self, imsi: &str, billing_period: &str) -> ChargingResult { + pub async fn generate_invoice(&self, imsi: &str, _billing_period: &str) -> ChargingResult { // Get all usage events for the billing period let mut conn = self.redis_client.get_multiplexed_async_connection().await .map_err(|e| crate::errors::ChargingError::RedisConnection(e.to_string()))?; diff --git a/apps/charging-engine/src/charging/rating_plans_repo.rs b/apps/charging-engine/src/charging/rating_plans_repo.rs index bbe7f8a..7141d3c 100644 --- a/apps/charging-engine/src/charging/rating_plans_repo.rs +++ b/apps/charging-engine/src/charging/rating_plans_repo.rs @@ -9,7 +9,7 @@ use sqlx::postgres::{PgPool, PgPoolOptions}; use sqlx::Row; use super::types::RatingPlan; -use crate::errors::{ChargingError, ChargingResult, ErrorContext}; +use crate::errors::ChargingResult; /// Repository for rating plans backed by Postgres. #[derive(Clone)] diff --git a/apps/charging-engine/src/charging/types.rs b/apps/charging-engine/src/charging/types.rs index 803d6b5..3c8db2b 100644 --- a/apps/charging-engine/src/charging/types.rs +++ b/apps/charging-engine/src/charging/types.rs @@ -56,6 +56,7 @@ pub struct RatingPlan { } #[derive(Debug, Clone, Serialize, Deserialize)] +#[allow(dead_code)] pub struct ChargingSession { pub session_id: String, pub imsi: String, @@ -69,6 +70,7 @@ pub struct ChargingSession { } #[derive(Debug, Clone, Serialize, Deserialize)] +#[allow(dead_code)] pub enum SessionStatus { Active, Completed, @@ -76,6 +78,7 @@ pub enum SessionStatus { } #[derive(Debug, Clone, Serialize, Deserialize)] +#[allow(dead_code)] pub struct ChargingRule { pub rule_id: String, pub name: String, @@ -85,6 +88,7 @@ pub struct ChargingRule { } #[derive(Debug, Clone, Serialize, Deserialize)] +#[allow(dead_code)] pub struct Condition { pub field: String, pub operator: String, @@ -92,6 +96,7 @@ pub struct Condition { } #[derive(Debug, Clone, Serialize, Deserialize)] +#[allow(dead_code)] pub struct Action { pub action_type: String, pub parameters: std::collections::HashMap, diff --git a/apps/charging-engine/src/errors/helpers.rs b/apps/charging-engine/src/errors/helpers.rs index caa3fe1..c29980b 100644 --- a/apps/charging-engine/src/errors/helpers.rs +++ b/apps/charging-engine/src/errors/helpers.rs @@ -1,4 +1,3 @@ -use anyhow::Context; use super::types::ChargingError; diff --git a/apps/charging-engine/src/errors/types.rs b/apps/charging-engine/src/errors/types.rs index cd7ac80..76f5d92 100644 --- a/apps/charging-engine/src/errors/types.rs +++ b/apps/charging-engine/src/errors/types.rs @@ -10,9 +10,11 @@ pub enum ChargingError { SubscriberNotFound(String), RatingPlanNotFound(String), InsufficientCredit { available: u64, requested: u64 }, + #[allow(dead_code)] UsageBlocked(String), InvalidInput(String), SerializationError(String), + #[allow(dead_code)] ConfigurationError(String), InternalError(String), } diff --git a/apps/charging-engine/src/models.rs b/apps/charging-engine/src/models.rs index 5850436..54672cb 100644 --- a/apps/charging-engine/src/models.rs +++ b/apps/charging-engine/src/models.rs @@ -1,6 +1,7 @@ use serde::{Deserialize, Serialize}; #[derive(Clone)] +#[allow(dead_code)] pub struct AppState { pub charging_engine: std::sync::Arc, } diff --git a/apps/charging-engine/src/monitoring/monitoring.rs b/apps/charging-engine/src/monitoring/monitoring.rs index 02f9b57..48475d6 100644 --- a/apps/charging-engine/src/monitoring/monitoring.rs +++ b/apps/charging-engine/src/monitoring/monitoring.rs @@ -1,8 +1,5 @@ -use tracing::{info, debug}; -use std::time::SystemTime; -use crate::errors::{ChargingError, ChargingResult, ErrorContext}; -use super::types::{SystemStats, HealthStatus}; +use crate::errors::ChargingResult; impl crate::charging::ChargingEngine { pub async fn get_performance_metrics(&self) -> ChargingResult { diff --git a/apps/charging-engine/src/monitoring/sync.rs b/apps/charging-engine/src/monitoring/sync.rs index d47882b..9df7572 100644 --- a/apps/charging-engine/src/monitoring/sync.rs +++ b/apps/charging-engine/src/monitoring/sync.rs @@ -1,9 +1,8 @@ -use tokio::time::{interval, sleep}; +use tokio::time::interval; use tracing::{info, warn, error, debug}; -use std::time::Duration; use chrono::Datelike; -use crate::errors::{ChargingError, ChargingResult, ErrorContext, log_error}; +use crate::errors::{ChargingResult, log_error}; use crate::monitoring::types::{SystemStats, HealthStatus}; impl crate::charging::ChargingEngine { diff --git a/apps/charging-engine/src/monitoring/types.rs b/apps/charging-engine/src/monitoring/types.rs index b67c0a4..1b0069c 100644 --- a/apps/charging-engine/src/monitoring/types.rs +++ b/apps/charging-engine/src/monitoring/types.rs @@ -16,6 +16,7 @@ pub struct HealthStatus { } #[derive(Debug, Clone)] +#[allow(dead_code)] pub struct PerformanceMetrics { pub connected_clients: u64, pub used_memory: u64, @@ -25,6 +26,7 @@ pub struct PerformanceMetrics { } #[derive(Debug, Clone)] +#[allow(dead_code)] pub struct ErrorStats { pub total_errors: u64, pub error_types: std::collections::HashMap,