app/controllers/katello/api/v2/repositories_controller.rb in katello-4.4.2.2 vs app/controllers/katello/api/v2/repositories_controller.rb in katello-4.5.0.rc1
- old
+ new
@@ -5,11 +5,11 @@
generic_repo_wrap_params = []
RepositoryTypeManager.generic_remote_options(defined_only: true).each do |option|
generic_repo_wrap_params << option.name
end
- repo_wrap_params = RootRepository.attribute_names.concat([:ignore_global_proxy, :mirror_on_sync]) + generic_repo_wrap_params
+ repo_wrap_params = RootRepository.attribute_names + [:mirror_on_sync] + generic_repo_wrap_params
wrap_parameters :repository, :include => repo_wrap_params
CONTENT_CREDENTIAL_GPG_KEY_TYPE = "gpg_key".freeze
CONTENT_CREDENTIAL_SSL_CA_CERT_TYPE = "ssl_ca_cert".freeze
@@ -418,12 +418,12 @@
param :content_type, RepositoryTypeManager.uploadable_content_types(false).map(&:label), :required => false, :desc => N_("content type ('deb', 'docker_manifest', 'file', 'ostree_ref', 'rpm', 'srpm')")
param :uploads, Array, :desc => N_("Array of uploads to import") do
param 'id', String, :required => true
param 'content_unit_id', String
param 'size', String
- param 'checksum', String
- param 'name', String, :desc => N_("Needs to only be set for file repositories or docker tags")
+ param 'checksum', String, :required => true
+ param 'name', String, :required => true, :desc => N_("Needs to only be set for file repositories or docker tags")
param 'digest', String, :desc => N_("Needs to only be set for docker tags")
end
Katello::RepositoryTypeManager.generic_repository_types.each_pair do |_, repo_type|
repo_type.import_attributes.each do |import_attribute|
param import_attribute.api_param, import_attribute.type,
@@ -437,9 +437,15 @@
if params['uploads'].empty?
fail HttpErrors::BadRequest, _('No uploads param specified. An array of uploads to import is required.')
end
uploads = (params[:uploads] || []).map do |upload|
+ if upload[:checksum].nil?
+ fail HttpErrors::BadRequest, _('Checksum is a required parameter.')
+ end
+ if upload[:name].nil?
+ fail HttpErrors::BadRequest, _('Name is a required parameter.')
+ end
upload.permit(:id, :content_unit_id, :size, :checksum, :name, :digest).to_h
end
begin
upload_args = {