github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/api/fiat/update.go (about)

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