Rename proto Req/Res to Pagination (#6796)

* Rename proto Req to Pagination

* Change Res to Pagination

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
Amaury Martiny
2020-07-20 16:51:16 +00:00
committed by GitHub
co-authored by Alexander Bezobchuk mergify[bot]
parent 515b25b94e
commit 69bbb8b327
51 changed files with 1564 additions and 1562 deletions
+7 -7
View File
@@ -16,19 +16,19 @@ import (
// to the client.
func FilteredPaginate(
prefixStore types.KVStore,
req *PageRequest,
pageRequest *PageRequest,
onResult func(key []byte, value []byte, accumulate bool) (bool, error),
) (*PageResponse, error) {
// if the PageRequest is nil, use default PageRequest
if req == nil {
req = &PageRequest{}
if pageRequest == nil {
pageRequest = &PageRequest{}
}
offset := req.Offset
key := req.Key
limit := req.Limit
countTotal := req.CountTotal
offset := pageRequest.Offset
key := pageRequest.Key
limit := pageRequest.Limit
countTotal := pageRequest.CountTotal
if offset > 0 && key != nil {
return nil, fmt.Errorf("invalid request, either offset or key is expected, got both")
+3 -3
View File
@@ -117,7 +117,7 @@ func ExampleFilteredPaginate() {
accountStore := prefix.NewStore(balancesStore, addr1.Bytes())
var balResult sdk.Coins
res, err := query.FilteredPaginate(accountStore, pageReq, func(key []byte, value []byte, accumulate bool) (bool, error) {
pageRes, err := query.FilteredPaginate(accountStore, pageReq, func(key []byte, value []byte, accumulate bool) (bool, error) {
var bal sdk.Coin
err := appCodec.UnmarshalBinaryBare(value, &bal)
if err != nil {
@@ -139,9 +139,9 @@ func ExampleFilteredPaginate() {
if err != nil { // should return no error
fmt.Println(err)
}
fmt.Println(&types.QueryAllBalancesResponse{Balances: balResult, Res: res})
fmt.Println(&types.QueryAllBalancesResponse{Balances: balResult, Pagination: pageRes})
// Output:
// balances:<denom:"test0denom" amount:"250" > res:<next_key:"test1denom" total:5 >
// balances:<denom:"test0denom" amount:"250" > pagination:<next_key:"test1denom" total:5 >
}
func execFilterPaginate(store sdk.KVStore, pageReq *query.PageRequest, appCodec codec.Marshaler) (balances sdk.Coins, res *query.PageResponse, err error) {
+7 -7
View File
@@ -14,19 +14,19 @@ const defaultLimit = 100
// provided PageRequest. onResult should be used to do actual unmarshaling.
func Paginate(
prefixStore types.KVStore,
req *PageRequest,
pageRequest *PageRequest,
onResult func(key []byte, value []byte) error,
) (*PageResponse, error) {
// if the PageRequest is nil, use default PageRequest
if req == nil {
req = &PageRequest{}
if pageRequest == nil {
pageRequest = &PageRequest{}
}
offset := req.Offset
key := req.Key
limit := req.Limit
countTotal := req.CountTotal
offset := pageRequest.Offset
key := pageRequest.Key
limit := pageRequest.Limit
countTotal := pageRequest.CountTotal
if offset > 0 && key != nil {
return nil, fmt.Errorf("invalid request, either offset or key is expected, got both")
+1 -1
View File
@@ -27,7 +27,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
//
// message SomeRequest {
// Foo some_parameter = 1;
// PageRequest page = 2;
// PageRequest pagination = 2;
// }
type PageRequest struct {
// key is a value returned in PageResponse.next_key to begin
+23 -23
View File
@@ -59,8 +59,8 @@ func TestPagination(t *testing.T) {
request := types.NewQueryAllBalancesRequest(addr1, pageReq)
res, err := queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.Equal(t, res.Res.Total, uint64(numBalances))
require.NotNil(t, res.Res.NextKey)
require.Equal(t, res.Pagination.Total, uint64(numBalances))
require.NotNil(t, res.Pagination.NextKey)
require.LessOrEqual(t, res.Balances.Len(), defaultLimit)
t.Log("verify page request with limit > defaultLimit, returns less or equal to `limit` records")
@@ -68,8 +68,8 @@ func TestPagination(t *testing.T) {
request = types.NewQueryAllBalancesRequest(addr1, pageReq)
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.Equal(t, res.Res.Total, uint64(0))
require.NotNil(t, res.Res.NextKey)
require.Equal(t, res.Pagination.Total, uint64(0))
require.NotNil(t, res.Pagination.NextKey)
require.LessOrEqual(t, res.Balances.Len(), overLimit)
t.Log("verify paginate with custom limit and countTotal true")
@@ -78,8 +78,8 @@ func TestPagination(t *testing.T) {
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.Equal(t, res.Balances.Len(), underLimit)
require.NotNil(t, res.Res.NextKey)
require.Equal(t, res.Res.Total, uint64(numBalances))
require.NotNil(t, res.Pagination.NextKey)
require.Equal(t, res.Pagination.Total, uint64(numBalances))
t.Log("verify paginate with custom limit and countTotal false")
pageReq = &query.PageRequest{Limit: defaultLimit, CountTotal: false}
@@ -87,27 +87,27 @@ func TestPagination(t *testing.T) {
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.Equal(t, res.Balances.Len(), defaultLimit)
require.NotNil(t, res.Res.NextKey)
require.Equal(t, res.Res.Total, uint64(0))
require.NotNil(t, res.Pagination.NextKey)
require.Equal(t, res.Pagination.Total, uint64(0))
t.Log("verify paginate with custom limit, key and countTotal false")
pageReq = &query.PageRequest{Key: res.Res.NextKey, Limit: defaultLimit, CountTotal: false}
pageReq = &query.PageRequest{Key: res.Pagination.NextKey, Limit: defaultLimit, CountTotal: false}
request = types.NewQueryAllBalancesRequest(addr1, pageReq)
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.Equal(t, res.Balances.Len(), defaultLimit)
require.NotNil(t, res.Res.NextKey)
require.Equal(t, res.Res.Total, uint64(0))
require.NotNil(t, res.Pagination.NextKey)
require.Equal(t, res.Pagination.Total, uint64(0))
t.Log("verify paginate for last page, results in records less than max limit")
pageReq = &query.PageRequest{Key: res.Res.NextKey, Limit: defaultLimit, CountTotal: false}
pageReq = &query.PageRequest{Key: res.Pagination.NextKey, Limit: defaultLimit, CountTotal: false}
request = types.NewQueryAllBalancesRequest(addr1, pageReq)
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.LessOrEqual(t, res.Balances.Len(), defaultLimit)
require.Equal(t, res.Balances.Len(), lastPageRecords)
require.Nil(t, res.Res.NextKey)
require.Equal(t, res.Res.Total, uint64(0))
require.Nil(t, res.Pagination.NextKey)
require.Equal(t, res.Pagination.Total, uint64(0))
t.Log("verify paginate with offset and limit")
pageReq = &query.PageRequest{Offset: 200, Limit: defaultLimit, CountTotal: false}
@@ -116,8 +116,8 @@ func TestPagination(t *testing.T) {
require.NoError(t, err)
require.LessOrEqual(t, res.Balances.Len(), defaultLimit)
require.Equal(t, res.Balances.Len(), lastPageRecords)
require.Nil(t, res.Res.NextKey)
require.Equal(t, res.Res.Total, uint64(0))
require.Nil(t, res.Pagination.NextKey)
require.Equal(t, res.Pagination.Total, uint64(0))
t.Log("verify paginate with offset and limit")
pageReq = &query.PageRequest{Offset: 100, Limit: defaultLimit, CountTotal: false}
@@ -125,11 +125,11 @@ func TestPagination(t *testing.T) {
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.LessOrEqual(t, res.Balances.Len(), defaultLimit)
require.NotNil(t, res.Res.NextKey)
require.Equal(t, res.Res.Total, uint64(0))
require.NotNil(t, res.Pagination.NextKey)
require.Equal(t, res.Pagination.Total, uint64(0))
t.Log("verify paginate with offset and key - error")
pageReq = &query.PageRequest{Key: res.Res.NextKey, Offset: 100, Limit: defaultLimit, CountTotal: false}
pageReq = &query.PageRequest{Key: res.Pagination.NextKey, Offset: 100, Limit: defaultLimit, CountTotal: false}
request = types.NewQueryAllBalancesRequest(addr1, pageReq)
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.Error(t, err)
@@ -141,7 +141,7 @@ func TestPagination(t *testing.T) {
res, err = queryClient.AllBalances(gocontext.Background(), request)
require.NoError(t, err)
require.LessOrEqual(t, res.Balances.Len(), 0)
require.Nil(t, res.Res.NextKey)
require.Nil(t, res.Pagination.NextKey)
}
func ExamplePaginate() {
@@ -168,7 +168,7 @@ func ExamplePaginate() {
authStore := ctx.KVStore(app.GetKey(authtypes.StoreKey))
balancesStore := prefix.NewStore(authStore, types.BalancesPrefix)
accountStore := prefix.NewStore(balancesStore, addr1.Bytes())
res, err := query.Paginate(accountStore, request.Req, func(key []byte, value []byte) error {
pageRes, err := query.Paginate(accountStore, request.Pagination, func(key []byte, value []byte) error {
var tempRes sdk.Coin
err := app.Codec().UnmarshalBinaryBare(value, &tempRes)
if err != nil {
@@ -180,9 +180,9 @@ func ExamplePaginate() {
if err != nil { // should return no error
fmt.Println(err)
}
fmt.Println(&types.QueryAllBalancesResponse{Balances: balResult, Res: res})
fmt.Println(&types.QueryAllBalancesResponse{Balances: balResult, Pagination: pageRes})
// Output:
// balances:<denom:"foo0denom" amount:"100" > res:<next_key:"foo1denom" total:2 >
// balances:<denom:"foo0denom" amount:"100" > pagination:<next_key:"foo1denom" total:2 >
}
func setupTest() (*simapp.SimApp, sdk.Context, codec.Marshaler) {