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
path: root/lib
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-05-18 00:08:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-05-18 00:08:51 +0300
commit9613d93025008a5326ddb624e2909feaa87e7977 (patch)
tree0a48921271f5ad0a31433626325f54b691d10fd6 /lib
parent6f05d35c3160e3a442b40d6af1e8e584747080b3 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib')
-rw-r--r--lib/api/helpers/members_helpers.rb2
-rw-r--r--lib/api/invitations.rb2
-rw-r--r--lib/api/members.rb7
-rw-r--r--lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports.rb45
4 files changed, 50 insertions, 6 deletions
diff --git a/lib/api/helpers/members_helpers.rb b/lib/api/helpers/members_helpers.rb
index f26ac1318b1..c91e153c7b9 100644
--- a/lib/api/helpers/members_helpers.rb
+++ b/lib/api/helpers/members_helpers.rb
@@ -63,7 +63,7 @@ module API
def add_single_member_by_user_id(create_service_params)
source = create_service_params[:source]
- user_id = create_service_params[:user_ids]
+ user_id = create_service_params[:user_id]
user = User.find_by(id: user_id) # rubocop: disable CodeReuse/ActiveRecord
if user
diff --git a/lib/api/invitations.rb b/lib/api/invitations.rb
index 53c3e7403bb..6fb3eca0ba8 100644
--- a/lib/api/invitations.rb
+++ b/lib/api/invitations.rb
@@ -36,7 +36,7 @@ module API
source = find_source(source_type, params[:id])
authorize_admin_source!(source_type, source)
- create_service_params = params.except(:user_id).merge({ user_ids: params[:user_id], source: source })
+ create_service_params = params.merge(source: source)
::Members::InviteService.new(current_user, create_service_params).execute
end
diff --git a/lib/api/members.rb b/lib/api/members.rb
index fbac6a96c1e..e2045c6def7 100644
--- a/lib/api/members.rb
+++ b/lib/api/members.rb
@@ -106,12 +106,11 @@ module API
source = find_source(source_type, params[:id])
authorize_admin_source!(source_type, source)
- user_id = params[:user_id].to_s
- create_service_params = params.except(:user_id).merge({ user_ids: user_id, source: source })
+ create_service_params = params.merge(source: source)
- if add_multiple_members?(user_id)
+ if add_multiple_members?(params[:user_id].to_s)
::Members::CreateService.new(current_user, create_service_params).execute
- elsif add_single_member?(user_id)
+ elsif add_single_member?(params[:user_id].to_s)
add_single_member_by_user_id(create_service_params)
end
end
diff --git a/lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports.rb b/lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports.rb
new file mode 100644
index 00000000000..83a7eb0b4cc
--- /dev/null
+++ b/lib/gitlab/background_migration/reset_too_many_tags_skipped_registry_imports.rb
@@ -0,0 +1,45 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module BackgroundMigration
+ # A job to reset container_repositories that were skipped in the phase 2 registry
+ # migration due to too many tags.
+ class ResetTooManyTagsSkippedRegistryImports # rubocop:disable Migration/BackgroundMigrationBaseClass
+ class ContainerRepository < ::ApplicationRecord # rubocop:disable Style/Documentation
+ include EachBatch
+
+ self.table_name = 'container_repositories'
+
+ scope :base_query, -> { where(migration_state: 'import_skipped', migration_skipped_reason: 2) }
+ end
+
+ def perform(start_id, end_id)
+ ContainerRepository.base_query.where(id: start_id..end_id).each_batch(of: 100) do |sub_batch|
+ sub_batch.update_all(
+ migration_pre_import_started_at: nil,
+ migration_pre_import_done_at: nil,
+ migration_import_started_at: nil,
+ migration_import_done_at: nil,
+ migration_aborted_at: nil,
+ migration_skipped_at: nil,
+ migration_retries_count: 0,
+ migration_skipped_reason: nil,
+ migration_state: 'default',
+ migration_aborted_in_state: nil
+ )
+ end
+
+ mark_job_as_succeeded(start_id, end_id)
+ end
+
+ private
+
+ def mark_job_as_succeeded(*arguments)
+ ::Gitlab::Database::BackgroundMigrationJob.mark_all_as_succeeded(
+ self.class.name.demodulize,
+ arguments
+ )
+ end
+ end
+ end
+end