diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-21 15:08:26 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-01-21 15:08:26 +0000 |
commit | c859c3bfd242288065fe5e2d887f7204f09e2335 (patch) | |
tree | 10febaf8774a3ea6ab3773c0dd97658d673fb280 /app/services | |
parent | 28ce39a3e0e7b47e53939a15fb823af9c433327a (diff) | |
download | gitlab-ce-c859c3bfd242288065fe5e2d887f7204f09e2335.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/concerns/akismet_methods.rb | 11 | ||||
-rw-r--r-- | app/services/merge_requests/mergeability_check_service.rb | 20 | ||||
-rw-r--r-- | app/services/pages_domains/create_acme_order_service.rb | 5 | ||||
-rw-r--r-- | app/services/spam_service.rb | 2 |
4 files changed, 21 insertions, 17 deletions
diff --git a/app/services/concerns/akismet_methods.rb b/app/services/concerns/akismet_methods.rb index 1cbcf0d47b9..508a165b065 100644 --- a/app/services/concerns/akismet_methods.rb +++ b/app/services/concerns/akismet_methods.rb @@ -2,16 +2,7 @@ module AkismetMethods def spammable_owner - @user ||= User.find(spammable_owner_id) - end - - def spammable_owner_id - @owner_id ||= - if spammable.respond_to?(:author_id) - spammable.author_id - elsif spammable.respond_to?(:creator_id) - spammable.creator_id - end + @user ||= User.find(spammable.author_id) end def akismet diff --git a/app/services/merge_requests/mergeability_check_service.rb b/app/services/merge_requests/mergeability_check_service.rb index 962e2327b3e..5b79e4d01f2 100644 --- a/app/services/merge_requests/mergeability_check_service.rb +++ b/app/services/merge_requests/mergeability_check_service.rb @@ -12,6 +12,13 @@ module MergeRequests @merge_request = merge_request end + def async_execute + return service_error if service_error + return unless merge_request.mark_as_checking + + MergeRequestMergeabilityCheckWorker.perform_async(merge_request.id) + end + # Updates the MR merge_status. Whenever it switches to a can_be_merged state, # the merge-ref is refreshed. # @@ -30,8 +37,7 @@ module MergeRequests # and the merge-ref is synced. Success in case of being/becoming mergeable, # error otherwise. def execute(recheck: false, retry_lease: true) - return ServiceResponse.error(message: 'Invalid argument') unless merge_request - return ServiceResponse.error(message: 'Unsupported operation') if Gitlab::Database.read_only? + return service_error if service_error return check_mergeability(recheck) unless merge_ref_auto_sync_lock_enabled? in_write_lock(retry_lease: retry_lease) do |retried| @@ -155,5 +161,15 @@ module MergeRequests def merge_ref_auto_sync_lock_enabled? Feature.enabled?(:merge_ref_auto_sync_lock, project, default_enabled: true) end + + def service_error + strong_memoize(:service_error) do + if !merge_request + ServiceResponse.error(message: 'Invalid argument') + elsif Gitlab::Database.read_only? + ServiceResponse.error(message: 'Unsupported operation') + end + end + end end end diff --git a/app/services/pages_domains/create_acme_order_service.rb b/app/services/pages_domains/create_acme_order_service.rb index 8eab5c52432..c600f497fa5 100644 --- a/app/services/pages_domains/create_acme_order_service.rb +++ b/app/services/pages_domains/create_acme_order_service.rb @@ -3,9 +3,6 @@ module PagesDomains class CreateAcmeOrderService attr_reader :pages_domain - # TODO: remove this hack after https://gitlab.com/gitlab-org/gitlab/issues/30146 is implemented - # This makes GitLab automatically retry the certificate obtaining process every 2 hours if process wasn't finished - SHORT_EXPIRATION_DELAY = 2.hours def initialize(pages_domain) @pages_domain = pages_domain @@ -20,7 +17,7 @@ module PagesDomains private_key = OpenSSL::PKey::RSA.new(4096) saved_order = pages_domain.acme_orders.create!( url: order.url, - expires_at: [order.expires, SHORT_EXPIRATION_DELAY.from_now].min, + expires_at: order.expires, private_key: private_key.to_pem, challenge_token: challenge.token, diff --git a/app/services/spam_service.rb b/app/services/spam_service.rb index ba9b812a01c..242c0ede57a 100644 --- a/app/services/spam_service.rb +++ b/app/services/spam_service.rb @@ -53,7 +53,7 @@ class SpamService def create_spam_log(api) @spam_log = SpamLog.create!( { - user_id: spammable_owner_id, + user_id: spammable.author_id, title: spammable.spam_title, description: spammable.spam_description, source_ip: options[:ip_address], |