From e0e6e58bb2dc8b4cdf7853e7a0a7a274fb209098 Mon Sep 17 00:00:00 2001 From: Jim Date: Wed, 14 Apr 2021 15:00:20 -0400 Subject: [PATCH] better api error codes from OIDC auth method update/change-state operations (#1116) --- .../handlers/authmethods/authmethod_service.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/internal/servers/controller/handlers/authmethods/authmethod_service.go b/internal/servers/controller/handlers/authmethods/authmethod_service.go index 7b79cd2bed..9812a6d72b 100644 --- a/internal/servers/controller/handlers/authmethods/authmethod_service.go +++ b/internal/servers/controller/handlers/authmethods/authmethod_service.go @@ -239,7 +239,12 @@ func (s Service) UpdateAuthMethod(ctx context.Context, req *pbs.UpdateAuthMethod } u, err := s.updateInRepo(ctx, authResults.Scope.GetId(), req) if err != nil { - return nil, err + switch { + case errors.Match(errors.T(errors.InvalidParameter), err): + return nil, handlers.ApiErrorWithCodeAndMessage(codes.InvalidArgument, "Unable to update auth method: %v.", err) + default: + return nil, err + } } u.Scope = authResults.Scope u.AuthorizedActions = authResults.FetchActionSetForId(ctx, u.Id, IdActions[auth.SubtypeFromId(u.Id)]).Strings() @@ -260,7 +265,12 @@ func (s Service) ChangeState(ctx context.Context, req *pbs.ChangeStateRequest) ( } am, err := s.changeStateInRepo(ctx, req) if err != nil { - return nil, err + switch { + case errors.Match(errors.T(errors.InvalidParameter), err): + return nil, handlers.ApiErrorWithCodeAndMessage(codes.InvalidArgument, "Unable to change auth method state: %v.", err) + default: + return nil, err + } } am.Scope = authResults.Scope am.AuthorizedActions = authResults.FetchActionSetForId(ctx, am.Id, IdActions[auth.OidcSubtype]).Strings()