class PactBroker::Api::Contracts::EnvironmentSchema

Constants

SCHEMA

Public Class Methods

call(params_with_string_keys) click to toggle source
# File lib/pact_broker/api/contracts/environment_schema.rb, line 31
def self.call(params_with_string_keys)
  params = params_with_string_keys&.symbolize_keys
  results = select_first_message(flatten_indexed_messages(SCHEMA.call(params).messages(full: true)))
  validate_name(params, results)
  results
end
validate_name(params, results) click to toggle source
# File lib/pact_broker/api/contracts/environment_schema.rb, line 38
def self.validate_name(params, results)
  if (environment_with_same_name = PactBroker::Deployments::EnvironmentService.find_by_name(params[:name]))
    if environment_with_same_name.uuid != params[:uuid]
      results[:name] ||= []
      results[:name] << message("errors.validation.environment_name_must_be_unique", name: params[:name])
    end
  end
end