Skip to content
代码片段 群组 项目
未验证 提交 0f989cf2 编辑于 作者: Allison Browne's avatar Allison Browne 提交者: GitLab
浏览文件

Merge branch 'md-new-crud-destroy' into 'master'

Use DestroyService in pipeline trigger token endpoints

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/136163



Merged-by: default avatarAllison Browne <abrowne@gitlab.com>
Approved-by: default avatardrew stachon <730684-drew@users.noreply.gitlab.com>
Approved-by: default avatarAllison Browne <abrowne@gitlab.com>
Co-authored-by: default avatarMissy Davies <ms.melissadavies@gmail.com>
No related branches found
No related tags found
无相关合并请求
......@@ -48,10 +48,12 @@ def update
end
def destroy
if trigger.destroy
flash[:notice] = _("Trigger removed.")
response = ::Ci::PipelineTriggers::DestroyService.new(user: current_user, trigger: trigger).execute
if response.success?
flash[:notice] = _("Trigger token removed.")
else
flash[:alert] = _("Could not remove the trigger.")
flash[:alert] = response.message
end
redirect_to project_settings_ci_cd_path(@project, anchor: 'js-pipeline-triggers'), status: :found
......
......@@ -14,10 +14,9 @@ class Delete < BaseMutation
def resolve(id:)
trigger = authorized_find!(id: id)
response = ::Ci::PipelineTriggers::DestroyService.new(user: current_user, trigger: trigger).execute
errors = trigger.destroy ? [] : ['Could not remove the trigger']
{ errors: errors }
{ errors: response.errors }
end
end
end
......
......@@ -168,7 +168,7 @@ class Triggers < ::API::Base
end
end
desc 'Delete a trigger' do
desc 'Delete a trigger token' do
success code: 204
failure [
{ code: 401, message: 'Unauthorized' },
......@@ -178,11 +178,11 @@ class Triggers < ::API::Base
]
end
params do
requires :trigger_id, type: Integer, desc: 'The trigger ID', documentation: { example: 10 }
requires :trigger_id, type: Integer, desc: 'The trigger token ID', documentation: { example: 10 }
end
delete ':id/triggers/:trigger_id' do
authenticate!
authorize! :admin_build, user_project
authorize! :manage_trigger, user_project
trigger = user_project.triggers.find(params.delete(:trigger_id))
break not_found!('Trigger') unless trigger
......
......@@ -14671,9 +14671,6 @@ msgstr ""
msgid "Could not remove %{user} from %{group}. Cannot remove last group owner."
msgstr ""
 
msgid "Could not remove the trigger."
msgstr ""
msgid "Could not restore the group"
msgstr ""
 
......@@ -53815,10 +53812,10 @@ msgstr ""
msgid "Trigger pipelines when branches or tags are updated in the upstream repository. Depending on the activity of the upstream repository, this may greatly increase the load on your CI runners. Only enable this if you know they can handle the load. %{strong_start}CI will run using the credentials assigned above.%{strong_end} %{link_start}Learn more.%{link_end}"
msgstr ""
 
msgid "Trigger removed."
msgid "Trigger repository check"
msgstr ""
 
msgid "Trigger repository check"
msgid "Trigger token removed."
msgstr ""
 
msgid "Trigger token was created successfully."
......@@ -118,10 +118,33 @@
end
aggregate_failures 'trigger is removed' do
expect(find_by_testid('alert-info')).to have_content 'Trigger removed'
expect(find_by_testid('alert-info')).to have_content 'Trigger token removed'
expect(page).to have_css('[data-testid="no_triggers_content"]')
end
end
context 'when an error occurs' do
before do
allow_next_instance_of(Ci::PipelineTriggers::DestroyService) do |instance|
allow(instance).to receive(:execute).and_return(
ServiceResponse.error(
message: 'An error occurred',
reason: :validation_error
)
)
end
accept_gl_confirm(button_text: 'Revoke') do
find_by_testid('trigger_revoke_button').send_keys(:return)
end
end
it 'flashes an error' do
expect(page.find('.flash-container')).to(
have_content("An error occurred")
)
end
end
end
describe 'show triggers workflow' do
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册