Skip to content

Commit

Permalink
fix: return nil instead of empty object (#37)
Browse files Browse the repository at this point in the history
Signed-off-by: Vishal Choudhary <[email protected]>
  • Loading branch information
vishal-chdhry authored Jan 25, 2024
1 parent ce14546 commit ff787c8
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 32 deletions.
32 changes: 16 additions & 16 deletions pkg/api/cpolr.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func (c *cpolrStore) List(ctx context.Context, options *metainternalversion.List
}
list, err := c.listCpolr()
if err != nil {
return &v1alpha2.ClusterPolicyReportList{}, errors.NewBadRequest("failed to list resource clusterpolicyreport")
return nil, errors.NewBadRequest("failed to list resource clusterpolicyreport")
}

// if labelSelector.String() == labels.Everything().String() {
Expand All @@ -88,7 +88,7 @@ func (c *cpolrStore) List(ctx context.Context, options *metainternalversion.List
func (c *cpolrStore) Get(ctx context.Context, name string, options *metav1.GetOptions) (runtime.Object, error) {
report, err := c.getCpolr(name)
if err != nil || report == nil {
return &v1alpha2.ClusterPolicyReport{}, errors.NewNotFound(v1alpha2.Resource("clusterpolicyreports"), name)
return nil, errors.NewNotFound(v1alpha2.Resource("clusterpolicyreports"), name)
}
return report, nil
}
Expand All @@ -106,18 +106,18 @@ func (c *cpolrStore) Create(ctx context.Context, obj runtime.Object, createValid
// Warnings: []string{err.Error()},
// }, nil
case "Strict":
return &v1alpha2.ClusterPolicyReport{}, err
return nil, err
}
}

cpolr, ok := obj.(*v1alpha2.ClusterPolicyReport)
if !ok {
return &v1alpha2.ClusterPolicyReport{}, errors.NewBadRequest("failed to validate cluster policy report")
return nil, errors.NewBadRequest("failed to validate cluster policy report")
}

if !isDryRun {
if err := c.createCpolr(cpolr); err != nil {
return &v1alpha2.ClusterPolicyReport{}, errors.NewBadRequest(fmt.Sprintf("cannot create cluster policy report: %s", err.Error()))
return nil, errors.NewBadRequest(fmt.Sprintf("cannot create cluster policy report: %s", err.Error()))
}
if err := c.broadcaster.Action(watch.Added, obj); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand Down Expand Up @@ -145,12 +145,12 @@ func (c *cpolrStore) Update(ctx context.Context, name string, objInfo rest.Updat

oldObj, err := c.getCpolr(name)
if err != nil {
return &v1alpha2.ClusterPolicyReport{}, false, err
return nil, false, err
}

updatedObject, err := objInfo.UpdatedObject(ctx, oldObj)
if err != nil {
return &v1alpha2.ClusterPolicyReport{}, false, err
return nil, false, err
}
err = updateValidation(ctx, updatedObject, oldObj)
if err != nil {
Expand All @@ -162,18 +162,18 @@ func (c *cpolrStore) Update(ctx context.Context, name string, objInfo rest.Updat
// Warnings: []string{err.Error()},
// }, nil
case "Strict":
return &v1alpha2.ClusterPolicyReport{}, false, err
return nil, false, err
}
}

cpolr, ok := updatedObject.(*v1alpha2.ClusterPolicyReport)
if !ok {
return &v1alpha2.ClusterPolicyReport{}, false, errors.NewBadRequest("failed to validate cluster policy report")
return nil, false, errors.NewBadRequest("failed to validate cluster policy report")
}

if !isDryRun {
if err := c.createCpolr(cpolr); err != nil {
return &v1alpha2.ClusterPolicyReport{}, false, errors.NewBadRequest(fmt.Sprintf("cannot create cluster policy report: %s", err.Error()))
return nil, false, errors.NewBadRequest(fmt.Sprintf("cannot create cluster policy report: %s", err.Error()))
}
if err := c.broadcaster.Action(watch.Modified, updatedObject); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand All @@ -189,19 +189,19 @@ func (c *cpolrStore) Delete(ctx context.Context, name string, deleteValidation r
cpolr, err := c.getCpolr(name)
if err != nil {
klog.ErrorS(err, "Failed to find cpolrs", "name", name)
return &v1alpha2.ClusterPolicyReport{}, false, errors.NewNotFound(v1alpha2.Resource("clusterpolicyreports"), name)
return nil, false, errors.NewNotFound(v1alpha2.Resource("clusterpolicyreports"), name)
}

err = deleteValidation(ctx, cpolr)
if err != nil {
klog.ErrorS(err, "invalid resource", "name", name)
return &v1alpha2.ClusterPolicyReport{}, false, errors.NewBadRequest(fmt.Sprintf("invalid resource: %s", err.Error()))
return nil, false, errors.NewBadRequest(fmt.Sprintf("invalid resource: %s", err.Error()))
}

if !isDryRun {
if err = c.deletePolr(cpolr); err != nil {
klog.ErrorS(err, "failed to delete cpolr", "name", name)
return &v1alpha2.ClusterPolicyReport{}, false, errors.NewBadRequest(fmt.Sprintf("failed to delete clusterpolicyreport: %s", err.Error()))
return nil, false, errors.NewBadRequest(fmt.Sprintf("failed to delete clusterpolicyreport: %s", err.Error()))
}
if err := c.broadcaster.Action(watch.Deleted, cpolr); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand All @@ -217,21 +217,21 @@ func (c *cpolrStore) DeleteCollection(ctx context.Context, deleteValidation rest
obj, err := c.List(ctx, listOptions)
if err != nil {
klog.ErrorS(err, "Failed to find cpolrs")
return &v1alpha2.ClusterPolicyReportList{}, errors.NewBadRequest("Failed to find cluster policy reports")
return nil, errors.NewBadRequest("Failed to find cluster policy reports")
}

cpolrList, ok := obj.(*v1alpha2.ClusterPolicyReportList)
if !ok {
klog.ErrorS(err, "Failed to parse cpolrs")
return &v1alpha2.ClusterPolicyReportList{}, errors.NewBadRequest("Failed to parse cluster policy reports")
return nil, errors.NewBadRequest("Failed to parse cluster policy reports")
}

if !isDryRun {
for _, cpolr := range cpolrList.Items {
obj, isDeleted, err := c.Delete(ctx, cpolr.GetName(), deleteValidation, options)
if !isDeleted {
klog.ErrorS(err, "Failed to delete cpolr", "name", cpolr.GetName())
return &v1alpha2.ClusterPolicyReportList{}, errors.NewBadRequest(fmt.Sprintf("Failed to delete cluster policy report: %s", cpolr.GetName()))
return nil, errors.NewBadRequest(fmt.Sprintf("Failed to delete cluster policy report: %s", cpolr.GetName()))
}
if err := c.broadcaster.Action(watch.Deleted, obj); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand Down
32 changes: 16 additions & 16 deletions pkg/api/polr.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ func (p *polrStore) List(ctx context.Context, options *metainternalversion.ListO
namespace := genericapirequest.NamespaceValue(ctx)
list, err := p.listPolr(namespace)
if err != nil {
return &v1alpha2.PolicyReportList{}, errors.NewBadRequest("failed to list resource policyreport")
return nil, errors.NewBadRequest("failed to list resource policyreport")
}

// if labelSelector == labels.Everything() {
Expand All @@ -91,7 +91,7 @@ func (p *polrStore) Get(ctx context.Context, name string, options *metav1.GetOpt
namespace := genericapirequest.NamespaceValue(ctx)
report, err := p.getPolr(name, namespace)
if err != nil || report == nil {
return &v1alpha2.PolicyReport{}, errors.NewNotFound(v1alpha2.Resource("policyreports"), name)
return nil, errors.NewNotFound(v1alpha2.Resource("policyreports"), name)
}
return report, nil
}
Expand All @@ -109,13 +109,13 @@ func (p *polrStore) Create(ctx context.Context, obj runtime.Object, createValida
// Warnings: []string{err.Error()},
// }, nil
case "Strict":
return &v1alpha2.PolicyReport{}, err
return nil, err
}
}

polr, ok := obj.(*v1alpha2.PolicyReport)
if !ok {
return &v1alpha2.PolicyReport{}, errors.NewBadRequest("failed to validate policy report")
return nil, errors.NewBadRequest("failed to validate policy report")
}

namespace := genericapirequest.NamespaceValue(ctx)
Expand All @@ -126,7 +126,7 @@ func (p *polrStore) Create(ctx context.Context, obj runtime.Object, createValida
if !isDryRun {
err := p.createPolr(polr)
if err != nil {
return &v1alpha2.PolicyReport{}, errors.NewBadRequest(fmt.Sprintf("cannot create policy report: %s", err.Error()))
return nil, errors.NewBadRequest(fmt.Sprintf("cannot create policy report: %s", err.Error()))
}
if err := p.broadcaster.Action(watch.Added, obj); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand Down Expand Up @@ -155,12 +155,12 @@ func (p *polrStore) Update(ctx context.Context, name string, objInfo rest.Update

oldObj, err := p.getPolr(name, namespace)
if err != nil {
return &v1alpha2.PolicyReport{}, false, err
return nil, false, err
}

updatedObject, err := objInfo.UpdatedObject(ctx, oldObj)
if err != nil {
return &v1alpha2.PolicyReport{}, false, err
return nil, false, err
}
err = updateValidation(ctx, updatedObject, oldObj)
if err != nil {
Expand All @@ -172,13 +172,13 @@ func (p *polrStore) Update(ctx context.Context, name string, objInfo rest.Update
// Warnings: []string{err.Error()},
// }, nil
case "Strict":
return &v1alpha2.PolicyReport{}, false, err
return nil, false, err
}
}

polr, ok := updatedObject.(*v1alpha2.PolicyReport)
if !ok {
return &v1alpha2.PolicyReport{}, false, errors.NewBadRequest("failed to validate policy report")
return nil, false, errors.NewBadRequest("failed to validate policy report")
}

if len(polr.Namespace) == 0 {
Expand All @@ -188,7 +188,7 @@ func (p *polrStore) Update(ctx context.Context, name string, objInfo rest.Update
if !isDryRun {
err := p.updatePolr(polr, false)
if err != nil {
return &v1alpha2.PolicyReport{}, false, errors.NewBadRequest(fmt.Sprintf("cannot create policy report: %s", err.Error()))
return nil, false, errors.NewBadRequest(fmt.Sprintf("cannot create policy report: %s", err.Error()))
}
if err := p.broadcaster.Action(watch.Modified, updatedObject); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand All @@ -205,20 +205,20 @@ func (p *polrStore) Delete(ctx context.Context, name string, deleteValidation re
polr, err := p.getPolr(name, namespace)
if err != nil {
klog.ErrorS(err, "Failed to find polrs", "name", name, "namespace", klog.KRef("", namespace))
return &v1alpha2.PolicyReport{}, false, errors.NewNotFound(v1alpha2.Resource("policyreports"), name)
return nil, false, errors.NewNotFound(v1alpha2.Resource("policyreports"), name)
}

err = deleteValidation(ctx, polr)
if err != nil {
klog.ErrorS(err, "invalid resource", "name", name, "namespace", klog.KRef("", namespace))
return &v1alpha2.PolicyReport{}, false, errors.NewBadRequest(fmt.Sprintf("invalid resource: %s", err.Error()))
return nil, false, errors.NewBadRequest(fmt.Sprintf("invalid resource: %s", err.Error()))
}

if !isDryRun {
err = p.deletePolr(polr)
if err != nil {
klog.ErrorS(err, "failed to delete polr", "name", name, "namespace", klog.KRef("", namespace))
return &v1alpha2.PolicyReport{}, false, errors.NewBadRequest(fmt.Sprintf("failed to delete policyreport: %s", err.Error()))
return nil, false, errors.NewBadRequest(fmt.Sprintf("failed to delete policyreport: %s", err.Error()))
}
if err := p.broadcaster.Action(watch.Deleted, polr); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand All @@ -235,21 +235,21 @@ func (p *polrStore) DeleteCollection(ctx context.Context, deleteValidation rest.
obj, err := p.List(ctx, listOptions)
if err != nil {
klog.ErrorS(err, "Failed to find polrs", "namespace", klog.KRef("", namespace))
return &v1alpha2.PolicyReportList{}, errors.NewBadRequest("Failed to find policy reports")
return nil, errors.NewBadRequest("Failed to find policy reports")
}

polrList, ok := obj.(*v1alpha2.PolicyReportList)
if !ok {
klog.ErrorS(err, "Failed to parse polrs", "namespace", klog.KRef("", namespace))
return &v1alpha2.PolicyReportList{}, errors.NewBadRequest("Failed to parse policy reports")
return nil, errors.NewBadRequest("Failed to parse policy reports")
}

if !isDryRun {
for _, polr := range polrList.Items {
obj, isDeleted, err := p.Delete(ctx, polr.GetName(), deleteValidation, options)
if !isDeleted {
klog.ErrorS(err, "Failed to delete polr", "name", polr.GetName(), "namespace", klog.KRef("", namespace))
return &v1alpha2.PolicyReportList{}, errors.NewBadRequest(fmt.Sprintf("Failed to delete policy report: %s/%s", polr.Namespace, polr.GetName()))
return nil, errors.NewBadRequest(fmt.Sprintf("Failed to delete policy report: %s/%s", polr.Namespace, polr.GetName()))
}
if err := p.broadcaster.Action(watch.Deleted, obj); err != nil {
klog.ErrorS(err, "failed to broadcast event")
Expand Down

0 comments on commit ff787c8

Please sign in to comment.