Prechádzať zdrojové kódy

new gets for orderbook (filtered by is_token (sell or buy))

EduLascala 1 mesiac pred
rodič
commit
8b2c307c90

+ 6 - 3
routes.md

@@ -106,6 +106,9 @@ Notes:
 - GET {{baseUrl}}/api/orderbook
   - List all orderbook entries.
 
+- GET {{baseUrl}}/api/orderbook?isToken=0|1
+  - Query params: `isToken` (0 or 1). Filters by `orderbook_is_token` (1=true, 0=false).
+
 - GET {{baseUrl}}/api/orderbook/{id}
   - Path params: id (Long)
 
@@ -270,11 +273,11 @@ Notes:
   - Body — entity `TxToken` (`domain/model/TxToken.java`):
 ```json
 {
-  "id": "0xTXTOKEN123",
+  "id": "1",
   "flag": "ACTIVE",
   "ts": 1696200000,
-  "fromAddress": "0xFROM",
-  "toAddress": "0xTO",
+  "fromAddress": "",
+  "toAddress": "",
   "tokenId": 1,
   "chainId": 1
 }

+ 2 - 0
src/main/java/com/platform2easy/genesis/domain/repository/OrderbookRepository.java

@@ -2,6 +2,8 @@ package com.platform2easy.genesis.domain.repository;
 
 import com.platform2easy.genesis.domain.model.Orderbook;
 import org.springframework.data.jpa.repository.JpaRepository;
+import java.util.List;
 
 public interface OrderbookRepository extends JpaRepository<Orderbook, Long> {
+    List<Orderbook> findByIsToken(Boolean isToken);
 }

+ 4 - 0
src/main/java/com/platform2easy/genesis/domain/service/OrderbookService.java

@@ -31,4 +31,8 @@ public class OrderbookService {
     public void deletarPorId(Long id) {
         repository.deleteById(id);
     }
+
+    public List<Orderbook> listarPorIsToken(Boolean isToken) {
+        return repository.findByIsToken(isToken);
+    }
 }

+ 11 - 0
src/main/java/com/platform2easy/genesis/web/controller/OrderbookController.java

@@ -5,6 +5,7 @@ import com.platform2easy.genesis.domain.service.OrderbookService;
 import lombok.AllArgsConstructor;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.server.ResponseStatusException;
 
 import java.util.List;
 
@@ -51,4 +52,14 @@ public class OrderbookController {
     public void delete(@PathVariable Long id) {
         service.deletarPorId(id);
     }
+
+    @GetMapping(params = "isToken")
+    @ResponseStatus(HttpStatus.OK)
+    public List<Orderbook> listByIsToken(@RequestParam("isToken") Integer isToken) {
+        if (isToken == null || (isToken != 0 && isToken != 1)) {
+            throw new ResponseStatusException(HttpStatus.BAD_REQUEST, "isToken must be 0 or 1");
+        }
+        return service.listarPorIsToken(isToken == 1);
+    }
 }
+