summaryrefslogtreecommitdiff
path: root/app/models/hooks/web_hook_log.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/hooks/web_hook_log.rb')
-rw-r--r--app/models/hooks/web_hook_log.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/models/hooks/web_hook_log.rb b/app/models/hooks/web_hook_log.rb
index 9de6f2a1b57..e08294058e4 100644
--- a/app/models/hooks/web_hook_log.rb
+++ b/app/models/hooks/web_hook_log.rb
@@ -9,6 +9,8 @@ class WebHookLog < ApplicationRecord
OVERSIZE_REQUEST_DATA = { 'oversize' => true }.freeze
+ attr_accessor :interpolated_url
+
self.primary_key = :id
partitioned_by :created_at, strategy: :monthly, retain_for: 3.months
@@ -23,6 +25,7 @@ class WebHookLog < ApplicationRecord
before_save :obfuscate_basic_auth
before_save :redact_user_emails
+ before_save :set_url_hash, if: -> { interpolated_url.present? }
def self.recent
where(created_at: 2.days.ago.beginning_of_day..Time.zone.now)
@@ -66,4 +69,8 @@ class WebHookLog < ApplicationRecord
value.to_s =~ URI::MailTo::EMAIL_REGEXP ? _('[REDACTED]') : value
end
end
+
+ def set_url_hash
+ self.url_hash = Gitlab::CryptoHelper.sha256(interpolated_url)
+ end
end