From 5662486b3b7d6d213e11eeb96688d66a71ef3780 Mon Sep 17 00:00:00 2001 From: Adphi Date: Tue, 7 Jun 2022 12:49:58 +0200 Subject: [PATCH] validation: set errdetails.BadRequest_FieldViolation slice in errdetails.BadRequest as details Signed-off-by: Adphi --- interceptors/validation/validation.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/interceptors/validation/validation.go b/interceptors/validation/validation.go index 2895c71..fcb0901 100644 --- a/interceptors/validation/validation.go +++ b/interceptors/validation/validation.go @@ -5,7 +5,6 @@ import ( "google.golang.org/genproto/googleapis/rpc/errdetails" "google.golang.org/grpc" - "google.golang.org/protobuf/proto" "go.linka.cloud/grpc/errors" "go.linka.cloud/grpc/interceptors" @@ -52,15 +51,15 @@ func errToStatus(err error) error { } switch v := err.(type) { case validatorError: - return errors.InvalidArgumentd(err, validatorErrorToGrpc(v)) + return errors.InvalidArgumentd(err, &errdetails.BadRequest{FieldViolations: []*errdetails.BadRequest_FieldViolation{validatorErrorToGrpc(v)}}) case validatorMultiError: - var details []proto.Message + details := &errdetails.BadRequest{} for _, v := range v.AllErrors() { if d, ok := v.(validatorError); ok { - details = append(details, validatorErrorToGrpc(d)) + details.FieldViolations = append(details.FieldViolations, validatorErrorToGrpc(d)) } } - return errors.InvalidArgumentd(err, details...) + return errors.InvalidArgumentd(err, details) default: return errors.InvalidArgument(err) }