planetmint-go/x/asset/client/cli/query_address.go
Julian Strobl 6ddc07356e
fix(query): unknown flag: --page (#471)
some query commands use pagination when delivering results:
```
pageReq, err := client.ReadPageRequest(cmd.Flags())
if err != nil {
    return err
}
```
to be able to use this feature, we need to add pagination related flags
to the `cmd`.

* chore(lint): exclude query files from `dupl`

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2024-11-14 09:52:06 +01:00

60 lines
1.2 KiB
Go

package cli
import (
"strconv"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/planetmint/planetmint-go/x/asset/types"
"github.com/spf13/cast"
"github.com/spf13/cobra"
)
var _ = strconv.Itoa(0)
func GetCmdByAddress() *cobra.Command {
cmd := &cobra.Command{
Use: "address [address] [num-elements]",
Short: "Query for assets by address",
Args: cobra.ExactArgs(2),
RunE: func(cmd *cobra.Command, args []string) (err error) {
reqAddress := args[0]
reqNumElements, err := cast.ToUint64E(args[1])
if err != nil {
return err
}
clientCtx, err := client.GetClientQueryContext(cmd)
if err != nil {
return err
}
queryClient := types.NewQueryClient(clientCtx)
params := &types.QueryGetCIDsByAddressRequest{
Address: reqAddress,
NumElements: reqNumElements,
}
pageReq, err := client.ReadPageRequest(cmd.Flags())
if err != nil {
return err
}
params.Pagination = pageReq
res, err := queryClient.GetCIDsByAddress(cmd.Context(), params)
if err != nil {
return err
}
return clientCtx.PrintProto(res)
},
}
flags.AddPaginationFlagsToCmd(cmd, cmd.Use)
flags.AddQueryFlagsToCmd(cmd)
return cmd
}