Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
rcmadhankumar committed Sep 22, 2023
1 parent 35f251a commit 5fa6921
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions pkg/apiserver/registry/datapackaging/package_storage_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
"context"
"encoding/base32"
"fmt"
"regexp"
"strings"

internalpkgingv1alpha1 "github.com/vmware-tanzu/carvel-kapp-controller/pkg/apis/internalpackaging/v1alpha1"
Expand Down Expand Up @@ -153,23 +152,22 @@ func (t PackageTranslator) ToExternalWatcher(intObjWatcher watch.Interface, fiel
}

func (t PackageTranslator) ToExternalError(err error) error {
if errors.IsNotFound(err) {
errStr := err.Error()
regEx := `^internalpackages\.internal\.packaging\.carvel\.dev "(?P<internalPackageName>[a-z0-9]*)" not found$`
re := regexp.MustCompile(regEx)
match := re.FindStringSubmatch(errStr)
internalPackageName := ""
for i, name := range re.SubexpNames() {
if i != 0 && name == "internalPackageName" {
internalPackageName = match[i]
}
}
statusErr := err.(*errors.StatusError)

packageName, err := t.ToExternalName(internalPackageName)
if statusErr.ErrStatus.Details.Kind == "internalpackages" && statusErr.ErrStatus.Details.Group == internalpkgingv1alpha1.SchemeGroupVersion.Group {
packageName, err := t.ToExternalName(statusErr.ErrStatus.Details.Name)
if err != nil {
return err
}
return errors.NewNotFound(datapkgingv1alpha1.Resource("package"), packageName)

switch statusErr.ErrStatus.Reason {
case metav1.StatusReasonNotFound:
return errors.NewNotFound(datapkgingv1alpha1.Resource("package"), packageName)
case metav1.StatusReasonAlreadyExists:
return errors.NewAlreadyExists(datapkgingv1alpha1.Resource("package"), packageName)
default:
return err
}
}

return err
Expand Down

0 comments on commit 5fa6921

Please sign in to comment.