github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/api/fiat/create.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) CreateFiat(ctx context.Context, in *npool.CreateFiatRequest) (*npool.CreateFiatResponse, error) { 15 req := in.GetInfo() 16 handler, err := fiat1.NewHandler( 17 ctx, 18 fiat1.WithID(req.ID, false), 19 fiat1.WithEntID(req.EntID, false), 20 fiat1.WithName(req.Name, true), 21 fiat1.WithLogo(req.Logo, true), 22 fiat1.WithUnit(req.Unit, true), 23 ) 24 if err != nil { 25 logger.Sugar().Errorw( 26 "CreateFiat", 27 "In", in, 28 "Error", err, 29 ) 30 return &npool.CreateFiatResponse{}, status.Error(codes.InvalidArgument, err.Error()) 31 } 32 33 info, err := handler.CreateFiat(ctx) 34 if err != nil { 35 logger.Sugar().Errorw( 36 "CreateFiat", 37 "In", in, 38 "Error", err, 39 ) 40 return &npool.CreateFiatResponse{}, status.Error(codes.Internal, err.Error()) 41 } 42 43 return &npool.CreateFiatResponse{ 44 Info: info, 45 }, nil 46 }