mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-07 03:16:45 +01:00
API add pending withdraws filter on GET /exits
This commit is contained in:
@@ -22,6 +22,12 @@ func getExits(c *gin.Context) {
|
||||
retBadReq(err, c)
|
||||
return
|
||||
}
|
||||
// OnlyPendingWithdraws
|
||||
onlyPendingWithdraws, err := parseQueryBool("onlyPendingWithdraws", nil, c)
|
||||
if err != nil {
|
||||
retBadReq(err, c)
|
||||
return
|
||||
}
|
||||
// Pagination
|
||||
fromItem, order, limit, err := parsePagination(c)
|
||||
if err != nil {
|
||||
@@ -31,7 +37,7 @@ func getExits(c *gin.Context) {
|
||||
|
||||
// Fetch exits from historyDB
|
||||
exits, pagination, err := h.GetExitsAPI(
|
||||
addr, bjj, tokenID, idx, batchNum, fromItem, limit, order,
|
||||
addr, bjj, tokenID, idx, batchNum, onlyPendingWithdraws, fromItem, limit, order,
|
||||
)
|
||||
if err != nil {
|
||||
retSQLErr(err, c)
|
||||
|
||||
@@ -190,6 +190,22 @@ func TestGetExits(t *testing.T) {
|
||||
}
|
||||
}
|
||||
assertExitAPIs(t, batchNumExits, fetchedExits)
|
||||
// OnlyPendingWithdraws
|
||||
fetchedExits = []testExit{}
|
||||
limit = 7
|
||||
path = fmt.Sprintf(
|
||||
"%s?&onlyPendingWithdraws=%t&limit=%d&fromItem=",
|
||||
endpoint, true, limit,
|
||||
)
|
||||
err = doGoodReqPaginated(path, historydb.OrderAsc, &testExitsResponse{}, appendIter)
|
||||
assert.NoError(t, err)
|
||||
pendingExits := []testExit{}
|
||||
for i := 0; i < len(tc.exits); i++ {
|
||||
if tc.exits[i].InstantWithdrawn == nil && tc.exits[i].DelayedWithdrawn == nil {
|
||||
pendingExits = append(pendingExits, tc.exits[i])
|
||||
}
|
||||
}
|
||||
assertExitAPIs(t, pendingExits, fetchedExits)
|
||||
// Multiple filters
|
||||
fetchedExits = []testExit{}
|
||||
limit = 1
|
||||
|
||||
@@ -286,6 +286,12 @@ paths:
|
||||
required: false
|
||||
schema:
|
||||
$ref: '#/components/schemas/BatchNum'
|
||||
- name: onlyPendingWithdraws
|
||||
in: query
|
||||
description: Get exits with pending withdrawals.
|
||||
required: false
|
||||
schema:
|
||||
type: boolean
|
||||
- name: fromItem
|
||||
in: query
|
||||
required: false
|
||||
|
||||
Reference in New Issue
Block a user