1# frozen_string_literal: true
2
3module API
4  module Entities
5    class ProjectImportStatus < ProjectIdentity
6      expose :import_status
7      expose :import_type
8      expose :correlation_id do |project, _options|
9        project.import_state&.correlation_id
10      end
11
12      expose :failed_relations, using: Entities::ProjectImportFailedRelation do |project, _options|
13        project.import_state&.relation_hard_failures(limit: 100) || []
14      end
15
16      expose :import_error do |project, _options|
17        project.import_state&.last_error
18      end
19
20      expose :stats do |project, _options|
21        if project.github_import?
22          ::Gitlab::GithubImport::ObjectCounter.summary(project)
23        end
24      end
25    end
26  end
27end
28