diff options
Diffstat (limited to 'app/models/bulk_imports/file_transfer/base_config.rb')
-rw-r--r-- | app/models/bulk_imports/file_transfer/base_config.rb | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/app/models/bulk_imports/file_transfer/base_config.rb b/app/models/bulk_imports/file_transfer/base_config.rb index 4d370315ad5..036d511bc59 100644 --- a/app/models/bulk_imports/file_transfer/base_config.rb +++ b/app/models/bulk_imports/file_transfer/base_config.rb @@ -5,6 +5,9 @@ module BulkImports class BaseConfig include Gitlab::Utils::StrongMemoize + UPLOADS_RELATION = 'uploads' + SELF_RELATION = 'self' + def initialize(portable) @portable = portable end @@ -26,7 +29,11 @@ module BulkImports end def portable_relations - tree_relations + file_relations - skipped_relations + tree_relations + file_relations + self_relation - skipped_relations + end + + def self_relation?(relation) + relation == SELF_RELATION end def tree_relation?(relation) @@ -43,6 +50,10 @@ module BulkImports portable_tree[:include].find { |include| include[relation.to_sym] } end + def portable_relations_tree + @portable_relations_tree ||= attributes_finder.find_relations_tree(portable_class_sym).deep_stringify_keys + end + private attr_reader :portable @@ -65,10 +76,6 @@ module BulkImports @portable_class_sym ||= portable_class.to_s.demodulize.underscore.to_sym end - def portable_relations_tree - @portable_relations_tree ||= attributes_finder.find_relations_tree(portable_class_sym).deep_stringify_keys - end - def import_export_yaml raise NotImplementedError end @@ -78,12 +85,16 @@ module BulkImports end def file_relations - [] + [UPLOADS_RELATION] end def skipped_relations [] end + + def self_relation + [SELF_RELATION] + end end end end |