diff --git a/api/handler/transactionHandler.go b/api/handler/transactionHandler.go index c45f5187c..acd8d325d 100644 --- a/api/handler/transactionHandler.go +++ b/api/handler/transactionHandler.go @@ -5,7 +5,10 @@ import ( "github.com/zoobc/zoobc-core/api/service" "github.com/zoobc/zoobc-core/common/chaintype" + "github.com/zoobc/zoobc-core/common/constant" "github.com/zoobc/zoobc-core/common/model" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" ) // TransactionHandler handles requests related to transactions @@ -41,6 +44,19 @@ func (th *TransactionHandler) GetTransactions( err error ) + pagination := req.GetPagination() + if pagination == nil { + pagination = &model.Pagination{ + OrderField: "timestamp", + OrderBy: model.OrderBy_DESC, + Page: 0, + Limit: constant.MaxAPILimitPerPage, + } + } + if pagination.GetLimit() > constant.MaxAPILimitPerPage { + return nil, status.Errorf(codes.OutOfRange, "Limit exceeded, max. %d", constant.MaxAPILimitPerPage) + } + chainType := chaintype.GetChainType(0) response, err = th.Service.GetTransactions(chainType, req) if err != nil {