mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 18:17:13 +08:00 
			
		
		
		
	 c883aa59aa
			
		
	
	c883aa59aa
	
	
	
		
			
			Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com> Co-authored-by: Sandeep Kumar <83278309+tsdk02@users.noreply.github.com>
		
			
				
	
	
		
			25 lines
		
	
	
		
			811 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			811 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| use analytics::errors::AnalyticsError;
 | |
| use api_models::analytics::AnalyticsRequest;
 | |
| use common_utils::errors::CustomResult;
 | |
| use currency_conversion::types::ExchangeRates;
 | |
| use router_env::logger;
 | |
| 
 | |
| use crate::core::currency::get_forex_exchange_rates;
 | |
| 
 | |
| pub async fn request_validator(
 | |
|     req_type: AnalyticsRequest,
 | |
|     state: &crate::routes::SessionState,
 | |
| ) -> CustomResult<Option<ExchangeRates>, AnalyticsError> {
 | |
|     let forex_enabled = state.conf.analytics.get_inner().get_forex_enabled();
 | |
|     let require_forex_functionality = req_type.requires_forex_functionality();
 | |
| 
 | |
|     let ex_rates = if forex_enabled && require_forex_functionality {
 | |
|         logger::info!("Fetching forex exchange rates");
 | |
|         Some(get_forex_exchange_rates(state.clone()).await?)
 | |
|     } else {
 | |
|         None
 | |
|     };
 | |
| 
 | |
|     Ok(ex_rates)
 | |
| }
 |