Sha256: f5fc2eb442a8d5626332efb08a9ffc23b0b9fd38c00b0999c0b77325847eb203

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

require "sequel"
require "pact_broker/repositories/helpers"

module PactBroker
  module Webhooks
    class WebhookEvent < Sequel::Model
      plugin :timestamps, update_on_create: true

      CONTRACT_PUBLISHED = "contract_published"
      CONTRACT_CONTENT_CHANGED = "contract_content_changed"
      VERIFICATION_PUBLISHED = "provider_verification_published"
      VERIFICATION_SUCCEEDED = "provider_verification_succeeded"
      VERIFICATION_FAILED = "provider_verification_failed"
      DEFAULT_EVENT_NAME = CONTRACT_CONTENT_CHANGED

      EVENT_NAMES = [CONTRACT_PUBLISHED, CONTRACT_CONTENT_CHANGED, VERIFICATION_PUBLISHED, VERIFICATION_SUCCEEDED, VERIFICATION_FAILED]

      dataset_module do
        include PactBroker::Repositories::Helpers
      end

      def contract_published?
        name == CONTRACT_PUBLISHED
      end

      def contract_content_changed?
        name == CONTRACT_CONTENT_CHANGED
      end

      def provider_verification_published?
        name == VERIFICATION_PUBLISHED
      end

      def provider_verification_succeeded?
        name == VERIFICATION_SUCCEEDED
      end

      def provider_verification_failed?
        name == VERIFICATION_FAILED
      end
    end
  end
end

# Table: webhook_events
# Columns:
#  id         | integer                     | PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
#  webhook_id | integer                     |
#  name       | text                        |
#  created_at | timestamp without time zone | NOT NULL
#  updated_at | timestamp without time zone | NOT NULL
# Indexes:
#  webhook_events_pkey | PRIMARY KEY btree (id)
#  uq_webhook_id_name  | UNIQUE btree (id, name)
# Foreign key constraints:
#  webhook_events_webhook_id_fkey | (webhook_id) REFERENCES webhooks(id) ON DELETE CASCADE

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pact_broker-2.81.0 lib/pact_broker/webhooks/webhook_event.rb
pact_broker-2.80.0 lib/pact_broker/webhooks/webhook_event.rb