diff options
Diffstat (limited to 'app/services/groups/transfer_service.rb')
-rw-r--r-- | app/services/groups/transfer_service.rb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/app/services/groups/transfer_service.rb b/app/services/groups/transfer_service.rb index 29e3a9473ab..6fbf7daeb81 100644 --- a/app/services/groups/transfer_service.rb +++ b/app/services/groups/transfer_service.rb @@ -36,7 +36,7 @@ module Groups update_crm_objects(was_root_group) end - post_update_hooks(@updated_project_ids) + post_update_hooks(@updated_project_ids, old_root_ancestor_id) propagate_integrations update_pending_builds @@ -44,9 +44,10 @@ module Groups end # Overridden in EE - def post_update_hooks(updated_project_ids) + def post_update_hooks(updated_project_ids, old_root_ancestor_id) refresh_project_authorizations refresh_descendant_groups if @new_parent_group + publish_event(old_root_ancestor_id) end def ensure_allowed_transfer @@ -266,6 +267,18 @@ module Groups CustomerRelations::IssueContact.delete_for_group(@group) end + + def publish_event(old_root_ancestor_id) + event = ::Groups::GroupTransferedEvent.new( + data: { + group_id: group.id, + old_root_namespace_id: old_root_ancestor_id, + new_root_namespace_id: group.root_ancestor.id + } + ) + + Gitlab::EventStore.publish(event) + end end end |