diff options
Diffstat (limited to 'app/models/project_import_state.rb')
-rw-r--r-- | app/models/project_import_state.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/project_import_state.rb b/app/models/project_import_state.rb index 7711c6d604a..f16d661d4bb 100644 --- a/app/models/project_import_state.rb +++ b/app/models/project_import_state.rb @@ -11,6 +11,7 @@ class ProjectImportState < ApplicationRecord belongs_to :project, inverse_of: :import_state validates :project, presence: true + validates :checksums, json_schema: { filename: "project_import_stats" } alias_attribute :correlation_id, :correlation_id_value @@ -68,6 +69,16 @@ class ProjectImportState < ApplicationRecord state.project.remove_import_data end + before_transition started: [:finished, :canceled, :failed] do |state, _| + project = state.project + + if project.github_import? + import_stats = ::Gitlab::GithubImport::ObjectCounter.summary(state.project) + + state.update_column(:checksums, import_stats) + end + end + after_transition started: :finished do |state, _| project = state.project |