diff options
Diffstat (limited to 'app/services/concerns')
-rw-r--r-- | app/services/concerns/members/bulk_create_users.rb | 13 | ||||
-rw-r--r-- | app/services/concerns/rate_limited_service.rb | 6 | ||||
-rw-r--r-- | app/services/concerns/update_repository_storage_methods.rb | 1 |
3 files changed, 8 insertions, 12 deletions
diff --git a/app/services/concerns/members/bulk_create_users.rb b/app/services/concerns/members/bulk_create_users.rb index 9cfef96311e..3f8971dde74 100644 --- a/app/services/concerns/members/bulk_create_users.rb +++ b/app/services/concerns/members/bulk_create_users.rb @@ -47,16 +47,15 @@ module Members end end - if user_ids.present? - # we should handle the idea of existing members where users are passed as users - https://gitlab.com/gitlab-org/gitlab/-/issues/352617 - # the below will automatically discard invalid user_ids - users.concat(User.id_in(user_ids)) + # the below will automatically discard invalid user_ids + users.concat(User.id_in(user_ids)) if user_ids.present? + users.uniq! # de-duplicate just in case as there is no controlling if user records and ids are sent multiple times + + if users.present? # helps not have to perform another query per user id to see if the member exists later on when fetching - existing_members = source.members_and_requesters.where(user_id: user_ids).index_by(&:user_id) # rubocop:disable CodeReuse/ActiveRecord + existing_members = source.members_and_requesters.where(user_id: users).index_by(&:user_id) # rubocop:disable CodeReuse/ActiveRecord end - users.uniq! # de-duplicate just in case as there is no controlling if user records and ids are sent multiple times - [emails, users, existing_members] end end diff --git a/app/services/concerns/rate_limited_service.rb b/app/services/concerns/rate_limited_service.rb index c8dc60355cf..5d7247a5b99 100644 --- a/app/services/concerns/rate_limited_service.rb +++ b/app/services/concerns/rate_limited_service.rb @@ -36,7 +36,6 @@ module RateLimitedService def rate_limit!(service) evaluated_scope = evaluated_scope_for(service) - return if feature_flag_disabled?(evaluated_scope[:project]) if rate_limiter.throttled?(key, **opts.merge(scope: evaluated_scope.values, users_allowlist: users_allowlist)) raise RateLimitedError.new(key: key, rate_limiter: rate_limiter), _('This endpoint has been requested too many times. Try again later.') @@ -54,14 +53,11 @@ module RateLimitedService all[var] = service.public_send(var) # rubocop: disable GitlabSecurity/PublicSend end end - - def feature_flag_disabled?(project) - Feature.disabled?("rate_limited_service_#{key}", project, default_enabled: :yaml) - end end prepended do attr_accessor :rate_limiter_bypassed + cattr_accessor :rate_limiter_scoped_and_keyed def self.rate_limit(key:, opts:, rate_limiter: ::Gitlab::ApplicationRateLimiter) diff --git a/app/services/concerns/update_repository_storage_methods.rb b/app/services/concerns/update_repository_storage_methods.rb index cbcd0b7f56b..b21d05f4178 100644 --- a/app/services/concerns/update_repository_storage_methods.rb +++ b/app/services/concerns/update_repository_storage_methods.rb @@ -6,6 +6,7 @@ module UpdateRepositoryStorageMethods Error = Class.new(StandardError) attr_reader :repository_storage_move + delegate :container, :source_storage_name, :destination_storage_name, to: :repository_storage_move def initialize(repository_storage_move) |