summaryrefslogtreecommitdiff
path: root/app/models/concerns/packages/debian/distribution.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/concerns/packages/debian/distribution.rb')
-rw-r--r--app/models/concerns/packages/debian/distribution.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/concerns/packages/debian/distribution.rb b/app/models/concerns/packages/debian/distribution.rb
index 285d293c9ee..08fb9ccf3ea 100644
--- a/app/models/concerns/packages/debian/distribution.rb
+++ b/app/models/concerns/packages/debian/distribution.rb
@@ -18,6 +18,16 @@ module Packages
belongs_to container_type
belongs_to :creator, class_name: 'User'
+ # component_files must be destroyed by ruby code in order to properly remove carrierwave uploads
+ has_many :components,
+ class_name: "Packages::Debian::#{container_type.capitalize}Component",
+ foreign_key: :distribution_id,
+ inverse_of: :distribution,
+ dependent: :destroy # rubocop:disable Cop/ActiveRecordDependent
+ has_many :component_files,
+ through: :components,
+ source: :files,
+ class_name: "Packages::Debian::#{container_type.capitalize}ComponentFile"
has_many :architectures,
class_name: "Packages::Debian::#{container_type.capitalize}Architecture",
foreign_key: :distribution_id,