Skip to content

Commit d2e60a7

Browse files
committed
Fix CoincentoWallet.getEthereumAddress()
1 parent 8c159af commit d2e60a7

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

server/src/main/java/com/exactpro/blockchain/coincento/CoincentoWallet.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,6 @@ public Mono<Void> transfer(
108108
}
109109

110110
private @NonNull Mono<String> getEthereumAddress(@NonNull String bic) {
111-
return bankETHAddressRepository.findByBic(bic)
112-
.singleOrEmpty()
113-
.switchIfEmpty(Mono.error(new Exception(String.format("BIC %s doesn't have associated Ethereum address", bic))))
114-
.map(BankETHAddress::getBic);
111+
return bankETHAddressRepository.getByBic(bic).map(BankETHAddress::getEthAddress);
115112
}
116113
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,24 @@
11
package com.exactpro.blockchain.repository;
22

33
import com.exactpro.blockchain.entity.BankETHAddress;
4+
import com.exactpro.blockchain.entity.Client;
45
import org.springframework.data.repository.reactive.ReactiveCrudRepository;
56
import org.springframework.lang.NonNull;
67
import reactor.core.publisher.Flux;
8+
import reactor.core.publisher.Mono;
9+
10+
import java.util.NoSuchElementException;
711

812
public interface BankETHAddressRepository extends ReactiveCrudRepository<BankETHAddress, String> {
913
@NonNull Flux<BankETHAddress> findByBic(String bic);
14+
15+
default @NonNull Mono<BankETHAddress> getByBic(String bic) {
16+
return
17+
findByBic(bic)
18+
.single()
19+
.onErrorMap(
20+
NoSuchElementException.class,
21+
error -> new Exception(String.format("No Ethereum address is associated with bank %s", bic), error)
22+
);
23+
}
1024
}

0 commit comments

Comments
 (0)