sul-dlss/argo

View on GitHub
app/controllers/bulk_actions/descriptive_metadata_import_jobs_controller.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# frozen_string_literal: true

module BulkActions
  class DescriptiveMetadataImportJobsController < ApplicationController
    include CreatesBulkActions
    self.action_type = 'DescriptiveMetadataImportJob'

    def job_params
      { groups: current_user.groups, csv_file: CsvUploadNormalizer.read(params[:csv_file].path),
        csv_filename: params[:csv_file].original_filename }
    end

    def validate_job_params(job_params)
      csv = CSV.parse(job_params.fetch(:csv_file), headers: true)
      validator = DescriptionValidator.new(csv, bulk_job: true)
      validator.valid? ? Success() : Failure(validator.errors)
    end
  end
end