Class: Gitlab::ImportExport::Project::RelationFactory
- Inherits:
-
Base::RelationFactory
- Object
- Base::RelationFactory
- Gitlab::ImportExport::Project::RelationFactory
- Defined in:
- lib/gitlab/import_export/project/relation_factory.rb
Direct Known Subclasses
Constant Summary collapse
- OVERRIDES =
{ snippets: :project_snippets, commit_notes: 'Note', ci_pipelines: 'Ci::Pipeline', pipelines: 'Ci::Pipeline', stages: 'Ci::Stage', statuses: 'commit_status', triggers: 'Ci::Trigger', pipeline_schedules: 'Ci::PipelineSchedule', builds: 'Ci::Build', bridges: 'Ci::Bridge', runners: 'Ci::Runner', pipeline_metadata: 'Ci::PipelineMetadata', external_pull_request: 'Ci::ExternalPullRequest', external_pull_requests: 'Ci::ExternalPullRequest', hooks: 'ProjectHook', merge_access_levels: 'ProtectedBranch::MergeAccessLevel', push_access_levels: 'ProtectedBranch::PushAccessLevel', create_access_levels: 'ProtectedTag::CreateAccessLevel', design: 'DesignManagement::Design', designs: 'DesignManagement::Design', design_management_repository: 'DesignManagement::Repository', design_management_repository_state: 'Geo::DesignManagementRepositoryState', design_versions: 'DesignManagement::Version', actions: 'DesignManagement::Action', labels: :project_labels, priorities: :label_priorities, auto_devops: :project_auto_devops, label: :project_label, custom_attributes: 'ProjectCustomAttribute', project_badges: 'Badge', metrics: 'MergeRequest::Metrics', ci_cd_settings: 'ProjectCiCdSetting', error_tracking_setting: 'ErrorTracking::ProjectErrorTrackingSetting', links: 'Releases::Link', commit_author: 'MergeRequest::DiffCommitUser', committer: 'MergeRequest::DiffCommitUser', merge_request_diff_commits: 'MergeRequestDiffCommit', work_item_type: 'WorkItems::Type' }.freeze
- BUILD_MODELS =
%i[Ci::Build Ci::Bridge commit_status generic_commit_status].freeze
- GROUP_REFERENCES =
%w[group_id].freeze
- PROJECT_REFERENCES =
%w[project_id source_project_id target_project_id].freeze
- EXISTING_OBJECT_RELATIONS =
%i[ milestone milestones label labels project_label project_labels group_label group_labels project_feature merge_request epic ProjectCiCdSetting container_expiration_policy Ci::ExternalPullRequest DesignManagement::Design MergeRequest::DiffCommitUser MergeRequestDiffCommit WorkItems::Type ].freeze
Constants inherited from Base::RelationFactory
Base::RelationFactory::IMPORTED_OBJECT_MAX_RETRIES, Base::RelationFactory::TOKEN_RESET_MODELS, Base::RelationFactory::UNIQUE_RELATIONS, Base::RelationFactory::USER_REFERENCES
Instance Attribute Summary
Attributes inherited from Base::RelationFactory
Instance Method Summary collapse
Methods inherited from Base::RelationFactory
create, existing_object_relations, #initialize, overrides, relation_class
Constructor Details
This class inherits a constructor from Gitlab::ImportExport::Base::RelationFactory
Instance Method Details
#create ⇒ Object
73 74 75 76 77 78 79 80 |
# File 'lib/gitlab/import_export/project/relation_factory.rb', line 73 def create @object = super # We preload the project, user, and group to re-use objects @object = preload_keys(@object, PROJECT_REFERENCES, @importable) @object = preload_keys(@object, GROUP_REFERENCES, @importable.group) @object = preload_keys(@object, USER_REFERENCES, @user) end |