From c4aacedb7b93db14edce5230f52c2704a59bcf89 Mon Sep 17 00:00:00 2001 From: Dzmitry Meshcharakou <12459192-dmeshcharakou@users.noreply.gitlab.com> Date: Tue, 21 Oct 2025 17:24:14 +0200 Subject: [PATCH] Add missing packages associations to User model Changelog: added --- .../concerns/users/dependent_associations.rb | 24 +++++++++++++++++++ .../users/dependent_associations_spec.rb | 18 +++++++++++++- .../models/user_shared_examples.rb | 4 ---- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/app/models/concerns/users/dependent_associations.rb b/app/models/concerns/users/dependent_associations.rb index 0aeb034c9b45c1..d5f88af8caf370 100644 --- a/app/models/concerns/users/dependent_associations.rb +++ b/app/models/concerns/users/dependent_associations.rb @@ -84,6 +84,30 @@ module DependentAssociations has_many :work_item_type_user_preferences, class_name: 'WorkItems::UserPreference', dependent: :destroy + + has_many :packages, + class_name: 'Packages::Package', + foreign_key: :creator_id, + inverse_of: :creator, + dependent: :nullify + + has_many :composer_packages, + class_name: 'Packages::Composer::Package', + foreign_key: :creator_id, + inverse_of: :creator, + dependent: :nullify + + has_many :debian_group_distributions, + class_name: 'Packages::Debian::GroupDistribution', + foreign_key: :creator_id, + inverse_of: :creator, + dependent: :nullify + + has_many :debian_project_distributions, + class_name: 'Packages::Debian::ProjectDistribution', + foreign_key: :creator_id, + inverse_of: :creator, + dependent: :nullify # rubocop:enable Cop/ActiveRecordDependent end end diff --git a/spec/models/concerns/users/dependent_associations_spec.rb b/spec/models/concerns/users/dependent_associations_spec.rb index 783a710c91812c..8fd81ff3ee36e3 100644 --- a/spec/models/concerns/users/dependent_associations_spec.rb +++ b/spec/models/concerns/users/dependent_associations_spec.rb @@ -27,7 +27,23 @@ class_name: 'ServiceDesk::CustomEmailVerification', foreign_key: :triggerer_id }, - ssh_signatures: { class_name: 'CommitSignatures::SshSignature' } + ssh_signatures: { class_name: 'CommitSignatures::SshSignature' }, + packages: { + class_name: 'Packages::Package', + foreign_key: :creator_id + }, + composer_packages: { + class_name: 'Packages::Composer::Package', + foreign_key: :creator_id + }, + debian_group_distributions: { + class_name: 'Packages::Debian::GroupDistribution', + foreign_key: :creator_id + }, + debian_project_distributions: { + class_name: 'Packages::Debian::ProjectDistribution', + foreign_key: :creator_id + } } end diff --git a/spec/support/shared_examples/models/user_shared_examples.rb b/spec/support/shared_examples/models/user_shared_examples.rb index 4a51549e825cf1..b1baee4e386504 100644 --- a/spec/support/shared_examples/models/user_shared_examples.rb +++ b/spec/support/shared_examples/models/user_shared_examples.rb @@ -127,10 +127,6 @@ merge_requests_merge_data namespace_uploads organization_detail_uploads - packages_composer_packages - packages_debian_group_distributions - packages_debian_project_distributions - packages_packages project_import_export_relation_export_upload_uploads project_topic_uploads project_uploads -- GitLab