2018-07-18 16:03:33 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-07-07 07:36:28 +00:00
|
|
|
module ProtectedBranches
|
2021-09-07 15:11:06 +00:00
|
|
|
class UpdateService < ProtectedBranches::BaseService
|
2016-07-29 06:13:07 +00:00
|
|
|
def execute(protected_branch)
|
2018-03-23 18:24:06 +00:00
|
|
|
raise Gitlab::Access::AccessDeniedError unless can?(current_user, :update_protected_branch, protected_branch)
|
2016-07-27 04:44:38 +00:00
|
|
|
|
2021-09-07 15:11:06 +00:00
|
|
|
old_merge_access_levels = protected_branch.merge_access_levels.map(&:clone)
|
|
|
|
old_push_access_levels = protected_branch.push_access_levels.map(&:clone)
|
|
|
|
|
2022-02-04 00:13:53 +00:00
|
|
|
if protected_branch.update(params)
|
2021-09-07 15:11:06 +00:00
|
|
|
after_execute(protected_branch: protected_branch, old_merge_access_levels: old_merge_access_levels, old_push_access_levels: old_push_access_levels)
|
|
|
|
end
|
|
|
|
|
2017-04-05 17:59:46 +00:00
|
|
|
protected_branch
|
2016-07-07 07:36:28 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2019-09-17 12:06:48 +00:00
|
|
|
|
2021-05-11 21:10:21 +00:00
|
|
|
ProtectedBranches::UpdateService.prepend_mod_with('ProtectedBranches::UpdateService')
|