fix: Referer URL validation (#4309)

Fixes #354
This commit is contained in:
Muhsin Keloth
2022-03-30 14:36:22 +05:30
committed by GitHub
parent bfe6324d9a
commit 24b20c10ce
6 changed files with 52 additions and 10 deletions

View File

@@ -46,12 +46,14 @@ class Conversation < ApplicationRecord
include AssignmentHandler
include RoundRobinHandler
include ActivityMessageHandler
include UrlHelper
validates :account_id, presence: true
validates :inbox_id, presence: true
before_validation :validate_additional_attributes
validates :additional_attributes, jsonb_attributes_length: true
validates :custom_attributes, jsonb_attributes_length: true
validate :validate_referer_url
enum status: { open: 0, resolved: 1, pending: 2, snoozed: 3 }
@@ -242,6 +244,12 @@ class Conversation < ApplicationRecord
6.hours
end
def validate_referer_url
return unless additional_attributes['referer']
self['additional_attributes']['referer'] = nil unless url_valid?(additional_attributes['referer'])
end
# creating db triggers
trigger.before(:insert).for_each(:row) do
"NEW.display_id := nextval('conv_dpid_seq_' || NEW.account_id);"