Sha256: 80eeb9d3a99b9fdbdf1e8116dc6144ca162ec2194a7df8149462a28601a3c912

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

require 'pact_broker/services'
require 'pact_broker/repositories'
require 'pact_broker/logging'

module PactBroker
  module Integrations
    class Service
      extend PactBroker::Repositories
      extend PactBroker::Services
      include PactBroker::Logging

      def self.delete(consumer_name, provider_name)
        consumer = pacticipant_service.find_pacticipant_by_name(consumer_name)
        provider = pacticipant_service.find_pacticipant_by_name(provider_name)
        # this takes care of the triggered webhooks and webhook executions
        pact_service.delete_all_pact_publications_between(consumer_name, and: provider_name)
        verification_service.delete_all_verifications_between(consumer_name, and: provider_name)
        pact_service.delete_all_pact_versions_between(consumer_name, and: provider_name)
        webhook_repository.delete_by_consumer_and_provider(consumer, provider)
        version_repository.delete_orphan_versions(consumer, provider)

        pacticipant_service.delete_if_orphan(consumer)
        pacticipant_service.delete_if_orphan(provider) unless consumer == provider
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pact_broker-2.31.0 lib/pact_broker/integrations/service.rb