Sha256: 67a97f6cf58de9f66e24492cac1189a8021585a398dcb6e77845f826bba5f807

Contents?: true

Size: 1.11 KB

Versions: 48

Compression:

Stored size: 1.11 KB

Contents

require "pact_broker/db/data_migrations/helpers"

module PactBroker
  module DB
    module DataMigrations
      class MigrateWebhookHeaders
        extend Helpers

        def self.call(connection)
          if columns_exist?(connection)
            connection[:webhook_headers].for_update.each do | webhook_header |
              webhook = connection[:webhooks].for_update.where(id: webhook_header[:webhook_id]).first
              new_headers = webhook[:headers] ? JSON.parse(webhook[:headers]) : {}
              new_headers[webhook_header[:name]] = webhook_header[:value]
              connection[:webhooks].where(id: webhook[:id]).update(headers: new_headers.to_json)
              connection[:webhook_headers].where(webhook_header).delete
            end
          end
        end

        def self.columns_exist?(connection)
          column_exists?(connection, :webhooks, :headers) &&
            column_exists?(connection, :webhook_headers, :name) &&
            column_exists?(connection, :webhook_headers, :value) &&
            column_exists?(connection, :webhook_headers, :webhook_id)
        end
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.113.2 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.113.1 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.113.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.112.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.111.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.109.1 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.109.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.108.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.107.1 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.107.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.106.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.105.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.104.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.103.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.102.2 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.102.1 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.102.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb
pact_broker-2.101.0 lib/pact_broker/db/data_migrations/migrate_webhook_headers.rb