diff --git a/changelogs/unreleased/services-usage-8.yml b/changelogs/unreleased/services-usage-8.yml new file mode 100644 index 0000000000000000000000000000000000000000..fb3e3cfa709a19089ca384829dae62846eed9000 --- /dev/null +++ b/changelogs/unreleased/services-usage-8.yml @@ -0,0 +1,5 @@ +--- +title: Use GpgKeys::DestroyService when a user deletes GPG keys for themselves via the API +merge_request: 35033 +author: Rajendra Kadam +type: fixed diff --git a/lib/api/users.rb b/lib/api/users.rb index 192eeb691ffc31dd557bc5b38d064219cb0a4d0b..3f89f1c253afd6d0767906c9898efee9651e3bcc 100644 --- a/lib/api/users.rb +++ b/lib/api/users.rb @@ -829,9 +829,10 @@ def find_impersonation_token key = current_user.gpg_keys.find_by(id: params[:key_id]) not_found!('GPG Key') unless key - key.destroy - - no_content! + destroy_conditionally!(key) do |key| + destroy_service = ::GpgKeys::DestroyService.new(current_user) + destroy_service.execute(key) + end end # rubocop: enable CodeReuse/ActiveRecord