From bbc8781506cf219f491e70162ecf2fb749b1020b Mon Sep 17 00:00:00 2001 From: Geoffrey Ragot Date: Wed, 17 May 2023 13:23:46 +0200 Subject: [PATCH] fix: transactions count using metadata --- pkg/api/controllers/transaction_controller.go | 3 ++- pkg/api/controllers/transaction_controller_test.go | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/api/controllers/transaction_controller.go b/pkg/api/controllers/transaction_controller.go index 44e2d565a..674368739 100644 --- a/pkg/api/controllers/transaction_controller.go +++ b/pkg/api/controllers/transaction_controller.go @@ -64,7 +64,8 @@ func (ctl *TransactionController) CountTransactions(c *gin.Context) { WithSourceFilter(c.Query("source")). WithDestinationFilter(c.Query("destination")). WithStartTimeFilter(startTimeParsed). - WithEndTimeFilter(endTimeParsed) + WithEndTimeFilter(endTimeParsed). + WithMetadataFilter(c.QueryMap("metadata")) count, err := l.(*ledger.Ledger).CountTransactions(c.Request.Context(), *txQuery) if err != nil { diff --git a/pkg/api/controllers/transaction_controller_test.go b/pkg/api/controllers/transaction_controller_test.go index b54b5349b..5a29db639 100644 --- a/pkg/api/controllers/transaction_controller_test.go +++ b/pkg/api/controllers/transaction_controller_test.go @@ -1199,7 +1199,12 @@ func TestTransactions(t *testing.T) { require.Len(t, cursor.Data, 1) require.Equal(t, cursor.Data[0].ID, tx3.ID) + rsp = internal.CountTransactions(api, url.Values{ + "metadata[priority]": []string{"high"}, }) + require.Equal(t, http.StatusOK, rsp.Result().StatusCode) + require.Equal(t, "1", rsp.Header().Get("Count")) + }) t.Run("after", func(t *testing.T) { rsp := internal.GetTransactions(api, url.Values{