mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 10:06:32 +08:00 
			
		
		
		
	fix(payments): filter total count by card-network value (#6397)
This commit is contained in:
		| @ -4734,6 +4734,7 @@ impl PaymentListFilterConstraints { | |||||||
|             && self.payment_method_type.is_none() |             && self.payment_method_type.is_none() | ||||||
|             && self.authentication_type.is_none() |             && self.authentication_type.is_none() | ||||||
|             && self.merchant_connector_id.is_none() |             && self.merchant_connector_id.is_none() | ||||||
|  |             && self.card_network.is_none() | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | |||||||
| @ -378,6 +378,7 @@ impl PaymentAttempt { | |||||||
|         payment_method_type: Option<Vec<enums::PaymentMethodType>>, |         payment_method_type: Option<Vec<enums::PaymentMethodType>>, | ||||||
|         authentication_type: Option<Vec<enums::AuthenticationType>>, |         authentication_type: Option<Vec<enums::AuthenticationType>>, | ||||||
|         merchant_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, |         merchant_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, | ||||||
|  |         card_network: Option<Vec<enums::CardNetwork>>, | ||||||
|     ) -> StorageResult<i64> { |     ) -> StorageResult<i64> { | ||||||
|         let mut filter = <Self as HasTable>::table() |         let mut filter = <Self as HasTable>::table() | ||||||
|             .count() |             .count() | ||||||
| @ -401,6 +402,9 @@ impl PaymentAttempt { | |||||||
|         if let Some(merchant_connector_id) = merchant_connector_id { |         if let Some(merchant_connector_id) = merchant_connector_id { | ||||||
|             filter = filter.filter(dsl::merchant_connector_id.eq_any(merchant_connector_id)) |             filter = filter.filter(dsl::merchant_connector_id.eq_any(merchant_connector_id)) | ||||||
|         } |         } | ||||||
|  |         if let Some(card_network) = card_network { | ||||||
|  |             filter = filter.filter(dsl::card_network.eq_any(card_network)) | ||||||
|  |         } | ||||||
|  |  | ||||||
|         router_env::logger::debug!(query = %debug_query::<Pg, _>(&filter).to_string()); |         router_env::logger::debug!(query = %debug_query::<Pg, _>(&filter).to_string()); | ||||||
|  |  | ||||||
|  | |||||||
| @ -161,6 +161,7 @@ pub trait PaymentAttemptInterface { | |||||||
|         payment_method_type: Option<Vec<storage_enums::PaymentMethodType>>, |         payment_method_type: Option<Vec<storage_enums::PaymentMethodType>>, | ||||||
|         authentication_type: Option<Vec<storage_enums::AuthenticationType>>, |         authentication_type: Option<Vec<storage_enums::AuthenticationType>>, | ||||||
|         merchant_connector_id: Option<Vec<id_type::MerchantConnectorAccountId>>, |         merchant_connector_id: Option<Vec<id_type::MerchantConnectorAccountId>>, | ||||||
|  |         card_network: Option<Vec<storage_enums::CardNetwork>>, | ||||||
|         storage_scheme: storage_enums::MerchantStorageScheme, |         storage_scheme: storage_enums::MerchantStorageScheme, | ||||||
|     ) -> error_stack::Result<i64, errors::StorageError>; |     ) -> error_stack::Result<i64, errors::StorageError>; | ||||||
| } | } | ||||||
|  | |||||||
| @ -4051,6 +4051,7 @@ pub async fn apply_filters_on_payments( | |||||||
|                     constraints.payment_method_type, |                     constraints.payment_method_type, | ||||||
|                     constraints.authentication_type, |                     constraints.authentication_type, | ||||||
|                     constraints.merchant_connector_id, |                     constraints.merchant_connector_id, | ||||||
|  |                     constraints.card_network, | ||||||
|                     merchant.storage_scheme, |                     merchant.storage_scheme, | ||||||
|                 ) |                 ) | ||||||
|                 .await |                 .await | ||||||
|  | |||||||
| @ -1601,6 +1601,7 @@ impl PaymentAttemptInterface for KafkaStore { | |||||||
|         payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, |         payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, | ||||||
|         authentication_type: Option<Vec<common_enums::AuthenticationType>>, |         authentication_type: Option<Vec<common_enums::AuthenticationType>>, | ||||||
|         merchant_connector_id: Option<Vec<id_type::MerchantConnectorAccountId>>, |         merchant_connector_id: Option<Vec<id_type::MerchantConnectorAccountId>>, | ||||||
|  |         card_network: Option<Vec<common_enums::CardNetwork>>, | ||||||
|         storage_scheme: MerchantStorageScheme, |         storage_scheme: MerchantStorageScheme, | ||||||
|     ) -> CustomResult<i64, errors::DataStorageError> { |     ) -> CustomResult<i64, errors::DataStorageError> { | ||||||
|         self.diesel_store |         self.diesel_store | ||||||
| @ -1612,6 +1613,7 @@ impl PaymentAttemptInterface for KafkaStore { | |||||||
|                 payment_method_type, |                 payment_method_type, | ||||||
|                 authentication_type, |                 authentication_type, | ||||||
|                 merchant_connector_id, |                 merchant_connector_id, | ||||||
|  |                 card_network, | ||||||
|                 storage_scheme, |                 storage_scheme, | ||||||
|             ) |             ) | ||||||
|             .await |             .await | ||||||
|  | |||||||
| @ -52,6 +52,7 @@ impl PaymentAttemptInterface for MockDb { | |||||||
|         _payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, |         _payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, | ||||||
|         _authentication_type: Option<Vec<common_enums::AuthenticationType>>, |         _authentication_type: Option<Vec<common_enums::AuthenticationType>>, | ||||||
|         _merchanat_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, |         _merchanat_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, | ||||||
|  |         _card_network: Option<Vec<storage_enums::CardNetwork>>, | ||||||
|         _storage_scheme: storage_enums::MerchantStorageScheme, |         _storage_scheme: storage_enums::MerchantStorageScheme, | ||||||
|     ) -> CustomResult<i64, StorageError> { |     ) -> CustomResult<i64, StorageError> { | ||||||
|         Err(StorageError::MockDbError)? |         Err(StorageError::MockDbError)? | ||||||
|  | |||||||
| @ -406,6 +406,7 @@ impl<T: DatabaseStore> PaymentAttemptInterface for RouterStore<T> { | |||||||
|         payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, |         payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, | ||||||
|         authentication_type: Option<Vec<common_enums::AuthenticationType>>, |         authentication_type: Option<Vec<common_enums::AuthenticationType>>, | ||||||
|         merchant_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, |         merchant_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, | ||||||
|  |         card_network: Option<Vec<common_enums::CardNetwork>>, | ||||||
|         _storage_scheme: MerchantStorageScheme, |         _storage_scheme: MerchantStorageScheme, | ||||||
|     ) -> CustomResult<i64, errors::StorageError> { |     ) -> CustomResult<i64, errors::StorageError> { | ||||||
|         let conn = self |         let conn = self | ||||||
| @ -429,6 +430,7 @@ impl<T: DatabaseStore> PaymentAttemptInterface for RouterStore<T> { | |||||||
|             payment_method_type, |             payment_method_type, | ||||||
|             authentication_type, |             authentication_type, | ||||||
|             merchant_connector_id, |             merchant_connector_id, | ||||||
|  |             card_network, | ||||||
|         ) |         ) | ||||||
|         .await |         .await | ||||||
|         .map_err(|er| { |         .map_err(|er| { | ||||||
| @ -1291,6 +1293,7 @@ impl<T: DatabaseStore> PaymentAttemptInterface for KVRouterStore<T> { | |||||||
|         payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, |         payment_method_type: Option<Vec<common_enums::PaymentMethodType>>, | ||||||
|         authentication_type: Option<Vec<common_enums::AuthenticationType>>, |         authentication_type: Option<Vec<common_enums::AuthenticationType>>, | ||||||
|         merchant_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, |         merchant_connector_id: Option<Vec<common_utils::id_type::MerchantConnectorAccountId>>, | ||||||
|  |         card_network: Option<Vec<common_enums::CardNetwork>>, | ||||||
|         storage_scheme: MerchantStorageScheme, |         storage_scheme: MerchantStorageScheme, | ||||||
|     ) -> CustomResult<i64, errors::StorageError> { |     ) -> CustomResult<i64, errors::StorageError> { | ||||||
|         self.router_store |         self.router_store | ||||||
| @ -1302,6 +1305,7 @@ impl<T: DatabaseStore> PaymentAttemptInterface for KVRouterStore<T> { | |||||||
|                 payment_method_type, |                 payment_method_type, | ||||||
|                 authentication_type, |                 authentication_type, | ||||||
|                 merchant_connector_id, |                 merchant_connector_id, | ||||||
|  |                 card_network, | ||||||
|                 storage_scheme, |                 storage_scheme, | ||||||
|             ) |             ) | ||||||
|             .await |             .await | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Riddhiagrawal001
					Riddhiagrawal001