require "pact_broker/api/resources/base_resource" require "pact_broker/db/clean" require "pact_broker/matrix/unresolved_selector" module PactBroker module Api module Resources class Clean < BaseResource def content_types_accepted [["application/json"]] end def content_types_provided [["application/hal+json"]] end def allowed_methods ["POST", "OPTIONS"] end def process_post keep_selectors = (params[:keep] || []).collect do | hash | PactBroker::Matrix::UnresolvedSelector.new(hash) end result = PactBroker::DB::Clean.call(Sequel::Model.db, { keep: keep_selectors }) response.body = result.to_json end def policy_name :'integrations::clean' end end end end end