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.rb98
1 files changed, 0 insertions, 98 deletions
diff --git a/app/services/system_hooks_service.rb b/app/services/system_hooks_service.rb
deleted file mode 100644
index c5d0b08845b..00000000000
--- a/app/services/system_hooks_service.rb
+++ /dev/null
@@ -1,98 +0,0 @@
-class SystemHooksService
- def execute_hooks_for(model, event)
- execute_hooks(build_event_data(model, event))
- end
-
- private
-
- def execute_hooks(data)
- SystemHook.all.each do |sh|
- async_execute_hook sh, data
- end
- end
-
- def async_execute_hook(hook, data)
- Sidekiq::Client.enqueue(SystemHookWorker, hook.id, data)
- end
-
- def build_event_data(model, event)
- data = {
- event_name: build_event_name(model, event),
- created_at: model.created_at.xmlschema
- }
-
- case model
- when Key
- data.merge!(
- key: model.key,
- id: model.id
- )
- if model.user
- data.merge!(
- username: model.user.username
- )
- end
- when Project
- owner = model.owner
-
- data.merge!({
- name: model.name,
- path: model.path,
- path_with_namespace: model.path_with_namespace,
- project_id: model.id,
- owner_name: owner.name,
- owner_email: owner.respond_to?(:email) ? owner.email : "",
- project_visibility: Project.visibility_levels.key(model.visibility_level_field).downcase
- })
- when User
- data.merge!({
- name: model.name,
- email: model.email,
- user_id: model.id
- })
- when ProjectMember
- data.merge!({
- project_name: model.project.name,
- project_path: model.project.path,
- project_id: model.project.id,
- user_name: model.user.name,
- user_email: model.user.email,
- access_level: model.human_access,
- project_visibility: Project.visibility_levels.key(model.project.visibility_level_field).downcase
- })
- when Group
- owner = model.owner
-
- data.merge!(
- name: model.name,
- path: model.path,
- group_id: model.id,
- owner_name: owner.respond_to?(:name) ? owner.name : nil,
- owner_email: owner.respond_to?(:email) ? owner.email : nil,
- )
- when GroupMember
- data.merge!(
- group_name: model.group.name,
- group_path: model.group.path,
- group_id: model.group.id,
- user_name: model.user.name,
- user_email: model.user.email,
- user_id: model.user.id,
- group_access: model.human_access,
- )
- end
- 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
- when GroupMember
- return 'user_add_to_group' if event == :create
- return 'user_remove_from_group' if event == :destroy
- else
- "#{model.class.name.downcase}_#{event.to_s}"
- end
- end
-end