@@ -641,25 +641,28 @@ where
641641 }
642642
643643 pub ( crate ) fn remove ( & self , id : & PaymentId ) -> Result < ( ) , Error > {
644- let store_key = hex_utils:: to_string ( & id. 0 ) ;
645- self . kv_store
646- . remove (
647- PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
648- PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
649- & store_key,
650- false ,
651- )
652- . map_err ( |e| {
653- log_error ! (
654- self . logger,
655- "Removing payment data for key {}/{}/{} failed due to: {}" ,
644+ if self . payments . lock ( ) . unwrap ( ) . remove ( id) . is_some ( ) {
645+ let store_key = hex_utils:: to_string ( & id. 0 ) ;
646+ self . kv_store
647+ . remove (
656648 PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
657649 PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
658- store_key,
659- e
660- ) ;
661- Error :: PersistenceFailed
662- } )
650+ & store_key,
651+ false ,
652+ )
653+ . map_err ( |e| {
654+ log_error ! (
655+ self . logger,
656+ "Removing payment data for key {}/{}/{} failed due to: {}" ,
657+ PAYMENT_INFO_PERSISTENCE_PRIMARY_NAMESPACE ,
658+ PAYMENT_INFO_PERSISTENCE_SECONDARY_NAMESPACE ,
659+ store_key,
660+ e
661+ ) ;
662+ Error :: PersistenceFailed
663+ } ) ?;
664+ }
665+ Ok ( ( ) )
663666 }
664667
665668 pub ( crate ) fn get ( & self , id : & PaymentId ) -> Option < PaymentDetails > {
@@ -682,14 +685,7 @@ where
682685 pub ( crate ) fn list_filter < F : FnMut ( & & PaymentDetails ) -> bool > (
683686 & self , f : F ,
684687 ) -> Vec < PaymentDetails > {
685- self . payments
686- . lock ( )
687- . unwrap ( )
688- . iter ( )
689- . map ( |( _, p) | p)
690- . filter ( f)
691- . cloned ( )
692- . collect :: < Vec < PaymentDetails > > ( )
688+ self . payments . lock ( ) . unwrap ( ) . values ( ) . filter ( f) . cloned ( ) . collect ( )
693689 }
694690
695691 fn persist_info ( & self , id : & PaymentId , payment : & PaymentDetails ) -> Result < ( ) , Error > {
@@ -712,8 +708,7 @@ where
712708 e
713709 ) ;
714710 Error :: PersistenceFailed
715- } ) ?;
716- Ok ( ( ) )
711+ } )
717712 }
718713}
719714
0 commit comments