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:
Diffstat (limited to 'app/services/system_hooks_service.rb')
-rw-r--r--app/services/system_hooks_service.rb32
1 files changed, 4 insertions, 28 deletions
diff --git a/app/services/system_hooks_service.rb b/app/services/system_hooks_service.rb
index 5273dedb56f..d854b95cb93 100644
--- a/app/services/system_hooks_service.rb
+++ b/app/services/system_hooks_service.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true
class SystemHooksService
- BUILDER_DRIVEN_EVENT_DATA_AVAILABLE_FOR_CLASSES = [GroupMember, Group].freeze
+ BUILDER_DRIVEN_EVENT_DATA_AVAILABLE_FOR_CLASSES = [GroupMember, Group, ProjectMember].freeze
def execute_hooks_for(model, event)
data = build_event_data(model, event)
@@ -56,22 +56,13 @@ class SystemHooksService
when :failed_login
data[:state] = model.state
end
- when ProjectMember
- data.merge!(project_member_data(model))
end
data
end
def build_event_name(model, event)
- case model
- when ProjectMember
- return "user_add_to_team" if event == :create
- return "user_remove_from_team" if event == :destroy
- return "user_update_for_team" if event == :update
- else
- "#{model.class.name.downcase}_#{event}"
- end
+ "#{model.class.name.downcase}_#{event}"
end
def project_data(model)
@@ -88,23 +79,6 @@ class SystemHooksService
}
end
- def project_member_data(model)
- project = model.project || Project.unscoped.find(model.source_id)
-
- {
- project_name: project.name,
- project_path: project.path,
- project_path_with_namespace: project.full_path,
- project_id: project.id,
- user_username: model.user.username,
- user_name: model.user.name,
- user_email: model.user.email,
- user_id: model.user.id,
- access_level: model.human_access,
- project_visibility: Project.visibility_levels.key(project.visibility_level_value).downcase
- }
- end
-
def user_data(model)
{
name: model.name,
@@ -124,6 +98,8 @@ class SystemHooksService
Gitlab::HookData::GroupMemberBuilder
when Group
Gitlab::HookData::GroupBuilder
+ when ProjectMember
+ Gitlab::HookData::ProjectMemberBuilder
end
builder_class.new(model).build(event)