lib/pact_broker/api/resources/webhook.rb in pact_broker-2.106.0 vs lib/pact_broker/api/resources/webhook.rb in pact_broker-2.107.0.beta.1

- old
+ new

@@ -1,17 +1,14 @@ require "pact_broker/api/resources/base_resource" require "pact_broker/services" require "pact_broker/api/decorators/webhook_decorator" -require "pact_broker/api/resources/webhook_resource_methods" +require "pact_broker/api/contracts/webhook_contract" module PactBroker module Api module Resources class Webhook < BaseResource - - include WebhookResourceMethods - def content_types_accepted [["application/json", :from_json]] end def content_types_provided @@ -29,11 +26,11 @@ def resource_exists? !!webhook end def malformed_request? - super || (request.put? && webhook_validation_errors?(parsed_webhook, uuid)) + super || (request.put? && validation_errors_for_schema?(schema, { uuid: uuid }.compact.merge(params))) end def from_json if webhook @webhook = webhook_service.update_by_uuid(uuid, params(symbolize_names: false)) @@ -44,11 +41,11 @@ 201 end end def to_json - decorator_class(:webhook_decorator).new(webhook).to_json(decorator_options) + decorator_class(:webhook_decorator).new(webhook).to_json(**decorator_options) end def delete_resource webhook_service.delete_by_uuid uuid true @@ -76,9 +73,13 @@ @webhook ||= webhook_service.find_by_uuid uuid end def parsed_webhook @parsed_webhook ||= decorator_class(:webhook_decorator).new(PactBroker::Domain::Webhook.new).from_json(request_body) + end + + def schema + api_contract_class(:webhook_contract) end def uuid identifier_from_path[:uuid] end