Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/api/branches.rb')
-rw-r--r--lib/api/branches.rb37
1 files changed, 17 insertions, 20 deletions
diff --git a/lib/api/branches.rb b/lib/api/branches.rb
index b8444351029..5588818cbaf 100644
--- a/lib/api/branches.rb
+++ b/lib/api/branches.rb
@@ -52,25 +52,21 @@ module API
merged_branch_names = repository.merged_branch_names(branches.map(&:name))
- if Feature.enabled?(:api_caching_branches, user_project, type: :development)
- present_cached(
- branches,
- with: Entities::Branch,
- current_user: current_user,
- project: user_project,
- merged_branch_names: merged_branch_names,
- expires_in: 10.minutes,
- cache_context: -> (branch) { [current_user&.cache_key, merged_branch_names.include?(branch.name)] }
- )
- else
- present(
- branches,
- with: Entities::Branch,
- current_user: current_user,
- project: user_project,
- merged_branch_names: merged_branch_names
- )
- end
+ expiry_time = if Feature.enabled?(:increase_branch_cache_expiry, type: :ops)
+ 60.minutes
+ else
+ 10.minutes
+ end
+
+ present_cached(
+ branches,
+ with: Entities::Branch,
+ current_user: current_user,
+ project: user_project,
+ merged_branch_names: merged_branch_names,
+ expires_in: expiry_time,
+ cache_context: -> (branch) { [current_user&.cache_key, merged_branch_names.include?(branch.name)] }
+ )
end
end
@@ -146,7 +142,8 @@ module API
branch = find_branch!(params[:branch])
protected_branch = user_project.protected_branches.find_by(name: branch.name)
- protected_branch&.destroy
+
+ ::ProtectedBranches::DestroyService.new(user_project, current_user).execute(protected_branch) if protected_branch
present branch, with: Entities::Branch, current_user: current_user, project: user_project
end