diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-07-20 09:55:51 +0000 |
commit | e8d2c2579383897a1dd7f9debd359abe8ae8373d (patch) | |
tree | c42be41678c2586d49a75cabce89322082698334 /app/services/snippets/update_service.rb | |
parent | fc845b37ec3a90aaa719975f607740c22ba6a113 (diff) | |
download | gitlab-ce-e8d2c2579383897a1dd7f9debd359abe8ae8373d.tar.gz |
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'app/services/snippets/update_service.rb')
-rw-r--r-- | app/services/snippets/update_service.rb | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/app/services/snippets/update_service.rb b/app/services/snippets/update_service.rb index 8571bc9c869..d83b21271c0 100644 --- a/app/services/snippets/update_service.rb +++ b/app/services/snippets/update_service.rb @@ -6,12 +6,15 @@ module Snippets UpdateError = Class.new(StandardError) - def execute(snippet) - # NOTE: disable_spam_action_service can be removed when the ':snippet_spam' feature flag is removed. - disable_spam_action_service = params.delete(:disable_spam_action_service) == true - @request = params.delete(:request) - @spam_params = Spam::SpamActionService.filter_spam_params!(params, @request) + # NOTE: For Snippets::UpdateService, we default the spam_params to nil, because spam_checking is not + # necessary in many cases, and we don't want every caller to have to explicitly pass it as nil + # to disable spam checking. + def initialize(project:, current_user: nil, params: {}, spam_params: nil) + super(project: project, current_user: current_user, params: params) + @spam_params = spam_params + end + def execute(snippet) return invalid_params_error(snippet) unless valid_params? if visibility_changed?(snippet) && !visibility_allowed?(visibility_level) @@ -20,14 +23,12 @@ module Snippets update_snippet_attributes(snippet) - unless disable_spam_action_service - Spam::SpamActionService.new( - spammable: snippet, - request: request, - user: current_user, - action: :update - ).execute(spam_params: spam_params) - end + Spam::SpamActionService.new( + spammable: snippet, + spam_params: spam_params, + user: current_user, + action: :update + ).execute if save_and_commit(snippet) Gitlab::UsageDataCounters::SnippetCounter.count(:update) @@ -40,7 +41,7 @@ module Snippets private - attr_reader :request, :spam_params + attr_reader :spam_params def visibility_changed?(snippet) visibility_level && visibility_level.to_i != snippet.visibility_level |