summaryrefslogtreecommitdiff
path: root/app/models/bulk_imports/file_transfer/base_config.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/bulk_imports/file_transfer/base_config.rb')
-rw-r--r--app/models/bulk_imports/file_transfer/base_config.rb23
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