github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/api/coin/usedfor/delete.go (about)

     1  package coinusedfor
     2  
     3  import (
     4  	"context"
     5  
     6  	coinusedfor1 "github.com/NpoolPlatform/chain-middleware/pkg/mw/coin/usedfor"
     7  	"github.com/NpoolPlatform/go-service-framework/pkg/logger"
     8  	npool "github.com/NpoolPlatform/message/npool/chain/mw/v1/coin/usedfor"
     9  
    10  	"google.golang.org/grpc/codes"
    11  	"google.golang.org/grpc/status"
    12  )
    13  
    14  func (s *Server) DeleteCoinUsedFor(ctx context.Context, in *npool.DeleteCoinUsedForRequest) (*npool.DeleteCoinUsedForResponse, error) {
    15  	req := in.GetInfo()
    16  	if req == nil {
    17  		logger.Sugar().Errorw(
    18  			"DeleteCoinUsedFor",
    19  			"In", in,
    20  		)
    21  		return &npool.DeleteCoinUsedForResponse{}, status.Error(codes.InvalidArgument, "invalid info")
    22  	}
    23  	handler, err := coinusedfor1.NewHandler(
    24  		ctx,
    25  		coinusedfor1.WithID(req.ID, false),
    26  		coinusedfor1.WithEntID(req.EntID, false),
    27  	)
    28  	if err != nil {
    29  		logger.Sugar().Errorw(
    30  			"DeleteCoinUsedFor",
    31  			"In", in,
    32  			"Error", err,
    33  		)
    34  		return &npool.DeleteCoinUsedForResponse{}, status.Error(codes.InvalidArgument, err.Error())
    35  	}
    36  
    37  	info, err := handler.DeleteCoinUsedFor(ctx)
    38  	if err != nil {
    39  		logger.Sugar().Errorw(
    40  			"DeleteCoinUsedFor",
    41  			"In", in,
    42  			"Error", err,
    43  		)
    44  		return &npool.DeleteCoinUsedForResponse{}, status.Error(codes.Internal, err.Error())
    45  	}
    46  
    47  	return &npool.DeleteCoinUsedForResponse{
    48  		Info: info,
    49  	}, nil
    50  }