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

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