mirror of
https://github.com/planetmint/planetmint-go.git
synced 2025-05-31 19:26:38 +00:00

* aggregating error messages * removed duplicate err msgs * removed obsolete test (two times equal behaviour ) * added global error msg module * refactored test utils to have sample types and sample objects by keepers separated * excluded auto-generated code from sonarcube analysis Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
33 lines
905 B
Go
33 lines
905 B
Go
package keeper
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/planetmint/planetmint-go/errormsg"
|
|
"github.com/planetmint/planetmint-go/x/machine/types"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
func (k Keeper) GetMachineByAddress(goCtx context.Context, req *types.QueryGetMachineByAddressRequest) (*types.QueryGetMachineByAddressResponse, error) {
|
|
if req == nil {
|
|
return nil, status.Error(codes.InvalidArgument, errormsg.InvalidRequest)
|
|
}
|
|
|
|
ctx := sdk.UnwrapSDKContext(goCtx)
|
|
|
|
machineIndex, found := k.GetMachineIndexByAddress(ctx, req.Address)
|
|
if !found {
|
|
return nil, status.Error(codes.NotFound, "machine not found")
|
|
}
|
|
|
|
machine, found := k.GetMachine(ctx, machineIndex)
|
|
if !found {
|
|
return nil, status.Error(codes.Internal, "error while fetching machine")
|
|
}
|
|
|
|
return &types.QueryGetMachineByAddressResponse{Machine: &machine}, nil
|
|
}
|