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:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-09-20 02:18:09 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-09-20 02:18:09 +0300
commit6ed4ec3e0b1340f96b7c043ef51d1b33bbe85fde (patch)
treedc4d20fe6064752c0bd323187252c77e0a89144b /app/services/snippets
parent9868dae7fc0655bd7ce4a6887d4e6d487690eeed (diff)
Add latest changes from gitlab-org/gitlab@15-4-stable-eev15.4.0-rc42
Diffstat (limited to 'app/services/snippets')
-rw-r--r--app/services/snippets/base_service.rb9
-rw-r--r--app/services/snippets/bulk_destroy_service.rb4
-rw-r--r--app/services/snippets/create_service.rb3
-rw-r--r--app/services/snippets/update_service.rb5
4 files changed, 17 insertions, 4 deletions
diff --git a/app/services/snippets/base_service.rb b/app/services/snippets/base_service.rb
index 1a04c4fcedd..42e62d65ee4 100644
--- a/app/services/snippets/base_service.rb
+++ b/app/services/snippets/base_service.rb
@@ -73,6 +73,15 @@ module Snippets
message
end
+ def file_paths_to_commit
+ paths = []
+ snippet_actions.to_commit_actions.each do |action|
+ paths << { path: action[:file_path] }
+ end
+
+ paths
+ end
+
def files_to_commit(snippet)
snippet_actions.to_commit_actions.presence || build_actions_from_params(snippet)
end
diff --git a/app/services/snippets/bulk_destroy_service.rb b/app/services/snippets/bulk_destroy_service.rb
index 6eab9fb320e..9c6e1c14051 100644
--- a/app/services/snippets/bulk_destroy_service.rb
+++ b/app/services/snippets/bulk_destroy_service.rb
@@ -14,10 +14,10 @@ module Snippets
@snippets = snippets
end
- def execute(options = {})
+ def execute(skip_authorization: false)
return ServiceResponse.success(message: 'No snippets found.') if snippets.empty?
- user_can_delete_snippets! unless options[:hard_delete]
+ user_can_delete_snippets! unless skip_authorization
attempt_delete_repositories!
snippets.destroy_all # rubocop: disable Cop/DestroyAll
diff --git a/app/services/snippets/create_service.rb b/app/services/snippets/create_service.rb
index 6d3b63de9fd..e0bab4cd6ad 100644
--- a/app/services/snippets/create_service.rb
+++ b/app/services/snippets/create_service.rb
@@ -24,7 +24,8 @@ module Snippets
spammable: @snippet,
spam_params: spam_params,
user: current_user,
- action: :create
+ action: :create,
+ extra_features: { files: file_paths_to_commit }
).execute
if save_and_commit
diff --git a/app/services/snippets/update_service.rb b/app/services/snippets/update_service.rb
index 76d5063c337..067680f2abc 100644
--- a/app/services/snippets/update_service.rb
+++ b/app/services/snippets/update_service.rb
@@ -23,11 +23,14 @@ module Snippets
update_snippet_attributes(snippet)
+ files = snippet.all_files.map { |f| { path: f } } + file_paths_to_commit
+
Spam::SpamActionService.new(
spammable: snippet,
spam_params: spam_params,
user: current_user,
- action: :update
+ action: :update,
+ extra_features: { files: files }
).execute
if save_and_commit(snippet)