Sha256: d16b1d2c9bbda17c5806715a28e8e2144a977a3dcee15190a61930ca127d7391

Contents?: true

Size: 722 Bytes

Versions: 16

Compression:

Stored size: 722 Bytes

Contents

module NulogyMessageBusProducer
  # This model saves self-serve subscriptions to external systems.
  # An external system can subscribe to events and specify the shape of data it would like to receive for the event.
  class SelfServeSubscription < ApplicationRecord
    self.table_name = :message_bus_subscriptions

    validates :id, presence: true
    validates :subscription_group_id, presence: true
    validates :schema_key, :event_type, presence: true
    validates :query, :presence => true, "nulogy_message_bus_producer/subscriptions/valid_for_schema" => true

    def self.create_or_update(attrs)
      find_or_initialize_by(id: attrs[:id]).tap do |model|
        model.update!(attrs)
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
nulogy_message_bus_producer-5.0.8 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.7 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.6 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.5 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.4 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.3 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.2 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.1 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.1.alpha lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-5.0.0 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-4.0.0 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-3.7.0 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-3.6.0 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-3.5.0 lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-4.0.0.alpha lib/nulogy_message_bus_producer/self_serve_subscription.rb
nulogy_message_bus_producer-3.4.1 lib/nulogy_message_bus_producer/self_serve_subscription.rb