1234567891011121314151617181920212223242526 |
- # Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
- class Webhook < ApplicationModel
- include ChecksClientNotification
- include ChecksHtmlSanitized
- include ChecksLatestChangeObserved
- include HasCollectionUpdate
- before_destroy Webhook::EnsureNoRelatedObjects
- validates :name, presence: true
- validate :validate_endpoint
- sanitized_html :note
- private
- def validate_endpoint
- uri = URI.parse(endpoint)
- errors.add(:endpoint, __('Invalid endpoint (no http/https)!')) if !uri.is_a?(URI::HTTP)
- errors.add(:endpoint, __('Invalid endpoint (no hostname)!')) if uri.host.nil?
- rescue URI::InvalidURIError
- errors.add :endpoint, __('Invalid endpoint!')
- end
- end
|