summaryrefslogtreecommitdiff
path: root/app/models/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/hooks')
-rw-r--r--app/models/hooks/project_hook.rb25
-rw-r--r--app/models/hooks/service_hook.rb20
-rw-r--r--app/models/hooks/system_hook.rb19
-rw-r--r--app/models/hooks/web_hook.rb60
4 files changed, 0 insertions, 124 deletions
diff --git a/app/models/hooks/project_hook.rb b/app/models/hooks/project_hook.rb
deleted file mode 100644
index 21867a9316c..00000000000
--- a/app/models/hooks/project_hook.rb
+++ /dev/null
@@ -1,25 +0,0 @@
-# == Schema Information
-#
-# Table name: web_hooks
-#
-# id :integer not null, primary key
-# url :string(255)
-# project_id :integer
-# created_at :datetime
-# updated_at :datetime
-# type :string(255) default("ProjectHook")
-# service_id :integer
-# push_events :boolean default(TRUE), not null
-# issues_events :boolean default(FALSE), not null
-# merge_requests_events :boolean default(FALSE), not null
-# tag_push_events :boolean default(FALSE)
-#
-
-class ProjectHook < WebHook
- belongs_to :project
-
- scope :push_hooks, -> { where(push_events: true) }
- scope :tag_push_hooks, -> { where(tag_push_events: true) }
- scope :issue_hooks, -> { where(issues_events: true) }
- scope :merge_request_hooks, -> { where(merge_requests_events: true) }
-end
diff --git a/app/models/hooks/service_hook.rb b/app/models/hooks/service_hook.rb
deleted file mode 100644
index 2e11239c40b..00000000000
--- a/app/models/hooks/service_hook.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# == Schema Information
-#
-# Table name: web_hooks
-#
-# id :integer not null, primary key
-# url :string(255)
-# project_id :integer
-# created_at :datetime
-# updated_at :datetime
-# type :string(255) default("ProjectHook")
-# service_id :integer
-# push_events :boolean default(TRUE), not null
-# issues_events :boolean default(FALSE), not null
-# merge_requests_events :boolean default(FALSE), not null
-# tag_push_events :boolean default(FALSE)
-#
-
-class ServiceHook < WebHook
- belongs_to :service
-end
diff --git a/app/models/hooks/system_hook.rb b/app/models/hooks/system_hook.rb
deleted file mode 100644
index ee32b49bc66..00000000000
--- a/app/models/hooks/system_hook.rb
+++ /dev/null
@@ -1,19 +0,0 @@
-# == Schema Information
-#
-# Table name: web_hooks
-#
-# id :integer not null, primary key
-# url :string(255)
-# project_id :integer
-# created_at :datetime
-# updated_at :datetime
-# type :string(255) default("ProjectHook")
-# service_id :integer
-# push_events :boolean default(TRUE), not null
-# issues_events :boolean default(FALSE), not null
-# merge_requests_events :boolean default(FALSE), not null
-# tag_push_events :boolean default(FALSE)
-#
-
-class SystemHook < WebHook
-end
diff --git a/app/models/hooks/web_hook.rb b/app/models/hooks/web_hook.rb
deleted file mode 100644
index 315d96af1b9..00000000000
--- a/app/models/hooks/web_hook.rb
+++ /dev/null
@@ -1,60 +0,0 @@
-# == Schema Information
-#
-# Table name: web_hooks
-#
-# id :integer not null, primary key
-# url :string(255)
-# project_id :integer
-# created_at :datetime
-# updated_at :datetime
-# type :string(255) default("ProjectHook")
-# service_id :integer
-# push_events :boolean default(TRUE), not null
-# issues_events :boolean default(FALSE), not null
-# merge_requests_events :boolean default(FALSE), not null
-# tag_push_events :boolean default(FALSE)
-#
-
-class WebHook < ActiveRecord::Base
- include Sortable
- include HTTParty
-
- default_value_for :push_events, true
- default_value_for :issues_events, false
- default_value_for :merge_requests_events, false
- default_value_for :tag_push_events, false
-
- # HTTParty timeout
- default_timeout Gitlab.config.gitlab.webhook_timeout
-
- validates :url, presence: true,
- format: { with: /\A#{URI.regexp(%w(http https))}\z/, message: "should be a valid url" }
-
- def execute(data)
- parsed_url = URI.parse(url)
- if parsed_url.userinfo.blank?
- WebHook.post(url,
- body: data.to_json,
- headers: { "Content-Type" => "application/json" },
- verify: false)
- else
- post_url = url.gsub("#{parsed_url.userinfo}@", "")
- auth = {
- username: URI.decode(parsed_url.user),
- password: URI.decode(parsed_url.password),
- }
- WebHook.post(post_url,
- body: data.to_json,
- headers: { "Content-Type" => "application/json" },
- verify: false,
- basic_auth: auth)
- end
- rescue SocketError, Errno::ECONNRESET, Errno::ECONNREFUSED, Net::OpenTimeout => e
- logger.error("WebHook Error => #{e}")
- false
- end
-
- def async_execute(data)
- Sidekiq::Client.enqueue(ProjectWebHookWorker, id, data)
- end
-end