2018-07-18 12:03:33 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2016-07-07 03:36:28 -04:00
|
|
|
module ProtectedBranches
|
2021-09-07 11:11:06 -04:00
|
|
|
class UpdateService < ProtectedBranches::BaseService
|
2016-07-29 02:13:07 -04:00
|
|
|
def execute(protected_branch)
|
2018-03-23 14:24:06 -04:00
|
|
|
raise Gitlab::Access::AccessDeniedError unless can?(current_user, :update_protected_branch, protected_branch)
|
2016-07-27 00:44:38 -04:00
|
|
|
|
2021-09-07 11:11:06 -04: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-03 19:13:53 -05:00
|
|
|
if protected_branch.update(params)
|
2021-09-07 11:11:06 -04: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 13:59:46 -04:00
|
|
|
protected_branch
|
2016-07-07 03:36:28 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2019-09-17 08:06:48 -04:00
|
|
|
|
2021-05-11 17:10:21 -04:00
|
|
|
ProtectedBranches::UpdateService.prepend_mod_with('ProtectedBranches::UpdateService')
|