diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 14:18:50 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-06-18 14:18:50 +0300 |
commit | 8c7f4e9d5f36cff46365a7f8c4b9c21578c1e781 (patch) | |
tree | a77e7fe7a93de11213032ed4ab1f33a3db51b738 /app/services/design_management/save_designs_service.rb | |
parent | 00b35af3db1abfe813a778f643dad221aad51fca (diff) |
Add latest changes from gitlab-org/gitlab@13-1-stable-ee
Diffstat (limited to 'app/services/design_management/save_designs_service.rb')
-rw-r--r-- | app/services/design_management/save_designs_service.rb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/app/services/design_management/save_designs_service.rb b/app/services/design_management/save_designs_service.rb index a09c19bc885..0446d2f1ee8 100644 --- a/app/services/design_management/save_designs_service.rb +++ b/app/services/design_management/save_designs_service.rb @@ -20,6 +20,7 @@ module DesignManagement uploaded_designs, version = upload_designs! skipped_designs = designs - uploaded_designs + create_events success({ designs: uploaded_designs, version: version, skipped_designs: skipped_designs }) rescue ::ActiveRecord::RecordInvalid => e error(e.message) @@ -47,7 +48,7 @@ module DesignManagement end def build_actions - files.zip(designs).flat_map do |(file, design)| + @actions ||= files.zip(designs).flat_map do |(file, design)| Array.wrap(build_design_action(file, design)) end end @@ -57,7 +58,9 @@ module DesignManagement return if design_unchanged?(design, content) action = new_file?(design) ? :create : :update - on_success { ::Gitlab::UsageDataCounters::DesignsCounter.count(action) } + on_success do + ::Gitlab::UsageDataCounters::DesignsCounter.count(action) + end DesignManagement::DesignAction.new(design, action, content) end @@ -67,6 +70,16 @@ module DesignManagement content == existing_blobs[design]&.data end + def create_events + by_action = @actions.group_by(&:action).transform_values { |grp| grp.map(&:design) } + + event_create_service.save_designs(current_user, **by_action) + end + + def event_create_service + @event_create_service ||= EventCreateService.new + end + def commit_message <<~MSG Updated #{files.size} #{'designs'.pluralize(files.size)} |