31 lines
822 B
Go
31 lines
822 B
Go
package gapi
|
|
|
|
import (
|
|
"google.golang.org/genproto/googleapis/rpc/errdetails"
|
|
"google.golang.org/grpc/codes"
|
|
"google.golang.org/grpc/status"
|
|
)
|
|
|
|
func fieldViolation(field string, err error) *errdetails.BadRequest_FieldViolation {
|
|
return &errdetails.BadRequest_FieldViolation{
|
|
Field: field,
|
|
Description: err.Error(),
|
|
}
|
|
}
|
|
|
|
func invalidArgumentError(violations []*errdetails.BadRequest_FieldViolation) error {
|
|
badRequest := &errdetails.BadRequest{FieldViolations: violations}
|
|
statusInvalid := status.New(codes.InvalidArgument, "invalid parameters")
|
|
|
|
statusDetails, err := statusInvalid.WithDetails(badRequest)
|
|
if err != nil {
|
|
return statusInvalid.Err()
|
|
}
|
|
|
|
return statusDetails.Err()
|
|
}
|
|
|
|
func unauthenticatedError(err error) error {
|
|
return status.Errorf(codes.Unauthenticated, "unauthorized: %s", err)
|
|
}
|