diff options
Diffstat (limited to 'app/services/releases/destroy_service.rb')
-rw-r--r-- | app/services/releases/destroy_service.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/services/releases/destroy_service.rb b/app/services/releases/destroy_service.rb index ff2b3a7bd18..41b421662ef 100644 --- a/app/services/releases/destroy_service.rb +++ b/app/services/releases/destroy_service.rb @@ -7,6 +7,8 @@ module Releases return error(_('Access Denied'), 403) unless allowed? if release.destroy + update_catalog_resource! + success(tag: existing_tag, release: release) else error(release.errors.messages || '400 Bad request', 400) @@ -15,6 +17,14 @@ module Releases private + def update_catalog_resource! + return unless project.catalog_resource + + return unless project.catalog_resource.versions.none? + + project.catalog_resource.update!(state: 'draft') + end + def allowed? Ability.allowed?(current_user, :destroy_release, release) end |