mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 21:47:32 +00:00
feat: iam members in admin api (#272)
* feat: iam members in admin api * feat: add error id in translate error * fix: resolve merge conflicts
This commit is contained in:
@@ -12,40 +12,41 @@ func CaosToGRPCError(err error, ctx context.Context, translator *i18n.Translator
|
||||
if err == nil {
|
||||
return nil
|
||||
}
|
||||
code, msg, ok := Extract(err)
|
||||
code, msg, id, ok := Extract(err)
|
||||
if !ok {
|
||||
return status.Convert(err).Err()
|
||||
}
|
||||
if translator != nil {
|
||||
msg = translator.LocalizeFromCtx(ctx, msg, nil)
|
||||
|
||||
msg = msg + "(" + id + ")"
|
||||
}
|
||||
return status.Error(code, msg)
|
||||
}
|
||||
|
||||
func Extract(err error) (c codes.Code, msg string, ok bool) {
|
||||
func Extract(err error) (c codes.Code, msg, id string, ok bool) {
|
||||
switch caosErr := err.(type) {
|
||||
case *caos_errs.AlreadyExistsError:
|
||||
return codes.AlreadyExists, caosErr.GetMessage(), true
|
||||
|
||||
return codes.AlreadyExists, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.DeadlineExceededError:
|
||||
return codes.DeadlineExceeded, caosErr.GetMessage(), true
|
||||
return codes.DeadlineExceeded, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case caos_errs.InternalError:
|
||||
return codes.Internal, caosErr.GetMessage(), true
|
||||
return codes.Internal, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.InvalidArgumentError:
|
||||
return codes.InvalidArgument, caosErr.GetMessage(), true
|
||||
return codes.InvalidArgument, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.NotFoundError:
|
||||
return codes.NotFound, caosErr.GetMessage(), true
|
||||
return codes.NotFound, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.PermissionDeniedError:
|
||||
return codes.PermissionDenied, caosErr.GetMessage(), true
|
||||
return codes.PermissionDenied, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.PreconditionFailedError:
|
||||
return codes.FailedPrecondition, caosErr.GetMessage(), true
|
||||
return codes.FailedPrecondition, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.UnauthenticatedError:
|
||||
return codes.Unauthenticated, caosErr.GetMessage(), true
|
||||
return codes.Unauthenticated, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.UnavailableError:
|
||||
return codes.Unavailable, caosErr.GetMessage(), true
|
||||
return codes.Unavailable, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
case *caos_errs.UnimplementedError:
|
||||
return codes.Unimplemented, caosErr.GetMessage(), true
|
||||
return codes.Unimplemented, caosErr.GetMessage(), caosErr.GetID(), true
|
||||
default:
|
||||
return codes.Unknown, err.Error(), false
|
||||
return codes.Unknown, err.Error(), "", false
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user