# frozen_string_literal: true # License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later # Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE class ObjectEventHookConfig < ApplicationRecord # :webhook_service, #str, webhook service to be called # :configuration, #jsonb, configuration needed to connect to the webhook # :object_event_types, #jsonb, must be an array belongs_to :nonprofit validates :webhook_service, presence: true validates :configuration, presence: true validates :object_event_types, presence: true, length: {minimum: 1} def webhook Houdini::WebhookAdapter.build(webhook_service, configuration.symbolize_keys) end end