From ef5125fb0dcef4c3c7b06a011658b611d1836dd8 Mon Sep 17 00:00:00 2001 From: Piotr Dec Date: Thu, 23 May 2024 18:54:53 +0200 Subject: [PATCH] feat: NBP service outline --- .../eu/ztsh/wymiana/service/NbpService.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/main/java/eu/ztsh/wymiana/service/NbpService.java diff --git a/src/main/java/eu/ztsh/wymiana/service/NbpService.java b/src/main/java/eu/ztsh/wymiana/service/NbpService.java new file mode 100644 index 0000000..a838d38 --- /dev/null +++ b/src/main/java/eu/ztsh/wymiana/service/NbpService.java @@ -0,0 +1,44 @@ +package eu.ztsh.wymiana.service; + +import eu.ztsh.wymiana.model.Rates; +import org.assertj.core.util.VisibleForTesting; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; + +/** + * NBP exchange rates service + */ +@Service +public class NbpService { + + public double getSellRate(String currency) { + throw new UnsupportedOperationException("Not implemented yet"); + } + + public double getBuyRate(String currency) { + throw new UnsupportedOperationException("Not implemented yet"); + } + + /** + * Calculates date for data fetch. + *

+ * Usually this would be today, but as rates are set only Mon-Fri, during weekends it is needed to fetch last friday rates. + * + * @return date for data fetch + */ + @VisibleForTesting + LocalDate getFetchDate() { + throw new UnsupportedOperationException("Not implemented yet"); + } + + @VisibleForTesting + Rates fetchData(String date) { + throw new UnsupportedOperationException("Not implemented yet"); + } + + private record RatesCache(LocalDate date, double buy, double sell) { + + } + +}