From 20cf948e53f0bf2abe1e2b68c55a7f3ce46926ab Mon Sep 17 00:00:00 2001 From: Anthony Lapenna Date: Thu, 10 Dec 2020 20:31:31 +1300 Subject: [PATCH] fix(docker/resourcecontrol): fix an issue with resource deletion (#4524) --- api/http/proxy/factory/docker/transport.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/api/http/proxy/factory/docker/transport.go b/api/http/proxy/factory/docker/transport.go index bb49bfa4b..623875f53 100644 --- a/api/http/proxy/factory/docker/transport.go +++ b/api/http/proxy/factory/docker/transport.go @@ -559,16 +559,18 @@ func (transport *Transport) executeGenericResourceDeletionOperation(request *htt return response, err } - resourceControl, err := transport.dataStore.ResourceControl().ResourceControlByResourceIDAndType(resourceIdentifierAttribute, resourceType) - if err != nil { - return response, err - } - - if resourceControl != nil { - err = transport.dataStore.ResourceControl().DeleteResourceControl(resourceControl.ID) + if response.StatusCode == http.StatusNoContent || response.StatusCode == http.StatusOK { + resourceControl, err := transport.dataStore.ResourceControl().ResourceControlByResourceIDAndType(resourceIdentifierAttribute, resourceType) if err != nil { return response, err } + + if resourceControl != nil { + err = transport.dataStore.ResourceControl().DeleteResourceControl(resourceControl.ID) + if err != nil { + return response, err + } + } } return response, err