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_commits_metadata: 'MergeRequest::CommitsMetadata', merge_request_diff_commits: 'MergeRequestDiffCommit', work_item_type: 'WorkItems::Type', work_item_description: 'WorkItems::Description', user_contributions: 'User', squash_option: 'Projects::BranchRules::SquashOption' }.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 MergeRequest::CommitsMetadata MergeRequestDiffCommit WorkItems::Type ].freeze
- RELATIONS_WITH_REWRITABLE_USERNAMES =
i[ milestones milestone merge_requests merge_request issues issue notes note epics epic snippets snippet 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
Constants included from Gitlab::Import::UsernameMentionRewriter
Gitlab::Import::UsernameMentionRewriter::MENTION_REGEX
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
Methods included from Gitlab::Import::UsernameMentionRewriter
#update_username_mentions, #wrap_mentions_in_backticks
Constructor Details
This class inherits a constructor from Gitlab::ImportExport::Base::RelationFactory
Instance Method Details
#create ⇒ Object
94 95 96 97 98 99 100 101 |
# File 'lib/gitlab/import_export/project/relation_factory.rb', line 94 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 |