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 = {