Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-02-06 21:09:43 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-02-06 21:09:43 +0300
commit33998a0e768263828f497685ae030f585193317f (patch)
tree791e2c3322a17f668a2a4abdd251a8362885f381 /app/models
parent7b69a22d499787378aa30561822ef797a99c22e5 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r--app/models/project.rb4
-rw-r--r--app/models/project_import_state.rb11
2 files changed, 15 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index ef30a61229e..04cbb582da8 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1254,6 +1254,10 @@ class Project < ApplicationRecord
import_state&.status || 'none'
end
+ def import_checksums
+ import_state&.checksums || {}
+ end
+
def jira_import_status
latest_jira_import&.status || 'initial'
end
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