فهرست منبع

add stock history endpoint

Daniel Bohry 7 ماه پیش
والد
کامیت
86576da1da

+ 2 - 2
src/main/java/com/danielbohry/stocks/api/portfolio/PortfolioHistoryController.java

@@ -1,7 +1,7 @@
 package com.danielbohry.stocks.api.portfolio;
 
 import com.danielbohry.stocks.domain.PortfolioHistory;
-import com.danielbohry.stocks.service.SnapshotService;
+import com.danielbohry.stocks.service.PortfolioHistoryService;
 import lombok.AllArgsConstructor;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -15,7 +15,7 @@ import java.util.List;
 @CrossOrigin
 public class PortfolioHistoryController {
 
-    private final SnapshotService service;
+    private final PortfolioHistoryService service;
 
     @GetMapping("history")
     public ResponseEntity<?> getPortfolioHistory(@PathVariable String portfolioId) {

+ 9 - 0
src/main/java/com/danielbohry/stocks/api/stock/StockController.java

@@ -2,7 +2,9 @@ package com.danielbohry.stocks.api.stock;
 
 import com.danielbohry.stocks.context.UserContextHolder;
 import com.danielbohry.stocks.domain.Stock;
+import com.danielbohry.stocks.domain.StockHistory;
 import com.danielbohry.stocks.domain.StockInfo;
+import com.danielbohry.stocks.service.StockHistoryService;
 import com.danielbohry.stocks.service.StockInfoService;
 import com.danielbohry.stocks.service.StockService;
 import io.swagger.v3.oas.annotations.Hidden;
@@ -30,6 +32,7 @@ public class StockController {
 
     private final StockService service;
     private final StockInfoService infoService;
+    private final StockHistoryService historyService;
 
     @GetMapping
     public ResponseEntity<List<Stock>> find(@RequestParam(value = "q", required = false) String query) {
@@ -52,6 +55,12 @@ public class StockController {
         return ResponseEntity.ok(response);
     }
 
+    @GetMapping("{code}/history")
+    public ResponseEntity<?> getStockHistory(@PathVariable String code) {
+        List<StockHistory> response = historyService.get(code);
+        return ResponseEntity.ok(response);
+    }
+
     @Hidden
     @PostMapping("/upload-csv")
     public ResponseEntity<StockUploadCSVResponse> uploadCsvFile(@RequestParam("file") MultipartFile file, @RequestParam("currency") String currency) {

+ 1 - 1
src/main/java/com/danielbohry/stocks/repository/stock/StockHistory.java → src/main/java/com/danielbohry/stocks/domain/StockHistory.java

@@ -1,4 +1,4 @@
-package com.danielbohry.stocks.repository.stock;
+package com.danielbohry.stocks.domain;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 6 - 0
src/main/java/com/danielbohry/stocks/repository/stock/StockHistoryRepository.java

@@ -1,8 +1,14 @@
 package com.danielbohry.stocks.repository.stock;
 
+import com.danielbohry.stocks.domain.StockHistory;
 import org.springframework.data.mongodb.repository.MongoRepository;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface StockHistoryRepository extends MongoRepository<StockHistory, String> {
+
+    List<StockHistory> findAllByCode(String code);
+
 }

+ 1 - 1
src/main/java/com/danielbohry/stocks/service/SnapshotService.java → src/main/java/com/danielbohry/stocks/service/PortfolioHistoryService.java

@@ -17,7 +17,7 @@ import static java.time.Instant.now;
 @Slf4j
 @Service
 @AllArgsConstructor
-public class SnapshotService {
+public class PortfolioHistoryService {
 
     private final PortfolioService service;
     private final PortfolioHistoryRepository repository;

+ 20 - 0
src/main/java/com/danielbohry/stocks/service/StockHistoryService.java

@@ -0,0 +1,20 @@
+package com.danielbohry.stocks.service;
+
+import com.danielbohry.stocks.domain.StockHistory;
+import com.danielbohry.stocks.repository.stock.StockHistoryRepository;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+@AllArgsConstructor
+public class StockHistoryService {
+
+    private final StockHistoryRepository repository;
+
+    public List<StockHistory> get(String code) {
+        return repository.findAllByCode(code);
+    }
+
+}

+ 1 - 1
src/main/java/com/danielbohry/stocks/service/StockQuoteService.java

@@ -1,6 +1,6 @@
 package com.danielbohry.stocks.service;
 
-import com.danielbohry.stocks.repository.stock.StockHistory;
+import com.danielbohry.stocks.domain.StockHistory;
 import com.danielbohry.stocks.repository.stock.StockHistoryRepository;
 import lombok.AllArgsConstructor;
 import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;