Sha256: f256c6bcb319baf910fd2404145a4e3af2080312ed262381ab19562989832b5b

Contents?: true

Size: 1.43 KB

Versions: 112

Compression:

Stored size: 1.43 KB

Contents

require 'securerandom'

Sequel.migration do
  up do
    from(:webhook_executions).each do | execution |
      pact_publication = from(:all_pact_publications).where(
        consumer_id: execution[:consumer_id],
        provider_id: execution[:provider_id]
      ).where(
        Sequel.lit("created_at <= ?", execution[:created_at])
      ).reverse_order(:id).limit(1).single_record

      if pact_publication && execution[:webhook_id]
        webhook = from(:webhooks).where(id: execution[:webhook_id]).single_record

        if webhook
          webhook_uuid = webhook[:uuid]
          status = execution[:success] ? 'success' : 'failure'

          from(:triggered_webhooks).insert(
            trigger_uuid: SecureRandom.urlsafe_base64,
            trigger_type: 'pact_publication',
            pact_publication_id: pact_publication[:id],
            webhook_id: execution[:webhook_id],
            webhook_uuid: webhook_uuid,
            consumer_id: execution[:consumer_id],
            provider_id: execution[:provider_id],
            created_at: execution[:created_at],
            updated_at: execution[:created_at],
            status: status
          )
        end
      end
      from(:webhook_executions)
        .where(id: execution[:id])
        .update(
          webhook_id: nil,
          consumer_id: nil,
          provider_id: nil,
          pact_publication_id: nil)
    end
  end

  down do
    from(:triggered_webhooks).delete
  end
end

Version data entries

112 entries across 112 versions & 1 rubygems

Version Path
pact_broker-2.79.1 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.79.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.78.1 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.78.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.77.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.76.2 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.76.1 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.76.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.75.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.74.1 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.74.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.73.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.72.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.71.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.70.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.69.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.68.1 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.68.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.67.0 db/migrations/000041_migrate_execution_data.rb
pact_broker-2.66.0 db/migrations/000041_migrate_execution_data.rb