diff --git a/app/controllers/mars_ingest_failures_controller.rb b/app/controllers/mars_ingest_failures_controller.rb index 936c01f8..a78cd460 100644 --- a/app/controllers/mars_ingest_failures_controller.rb +++ b/app/controllers/mars_ingest_failures_controller.rb @@ -3,45 +3,10 @@ class MarsIngestFailuresController < ApplicationController def index @mars_ingest_failures = MarsIngestFailure.order(created_at: :desc).all - - respond_to do |format| - format.html - format.json { render json: @mars_ingest_failures } - end end def show @mars_ingest_failure = MarsIngestFailure.find(params[:id]) - - respond_to do |format| - format.html - format.json { render json: @mars_ingest_failure.to_json } - end + render @mars_ingest_failure.error_text, layout: false, content_type: 'text/plain' end - - # def create - # micount = MarsIngest.where(completed: false).count - # unless micount < 3 - # Rails.logger.info "Too Many MarsIngests currently running (#{micount})" - # return render json: { errors: ["Too Many MarsIngests currently running (#{micount})"]}, status: 503 - # end - - # @mars_ingest = MarsIngest.new params.require(:mars_ingest).permit(:manifest_url) - # @mars_ingest.submitter_id = current_user.id - - # if @mars_ingest.save - # start_ingest(@mars_ingest) - # render json: { id: @mars_ingest.id }, status: 200 - # else - # Rails.logger.info "MarsIngest could not be saved: (#{ @mars_ingest.errors.messages.values.flatten })" - # # save error text! - # MarsIngestFailure.create(manifest_url: @mars_ingest.manifest_url, error_text: @mars_ingest.errors.messages.values.flatten) - # render json: { errors: @mars_ingest.errors.messages.values.flatten }, status: 422 - # end - # rescue => e - # error_msg = "Unexpected Error: #{e.class}: #{e.message}" - # Rails.logger.error("#{e.class}: #{e.message}\n\nBacktrace:\n#{e.backtrace.join("\n")}") - # render json: { errors: [error_msg] }, status: 422 - # end - end diff --git a/app/views/mars_ingest_failures/index.html.erb b/app/views/mars_ingest_failures/index.html.erb new file mode 100644 index 00000000..2304b490 --- /dev/null +++ b/app/views/mars_ingest_failures/index.html.erb @@ -0,0 +1,15 @@ +<% @page_title = t('mars_ingests.title', :application_name => application_name) %> + +
+

Mars Ingests

+ <% @mars_ingests_failures.each do |mif| %> + +
+
+ Manifest URL: <%= mif.manifest_url %>
+ Attempted At: <%= mif.created_at %>
+ Error
+
+
+ <% end %> +
diff --git a/config/routes.rb b/config/routes.rb index 6d0cf15e..4e988162 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -96,6 +96,7 @@ end resources :mars_ingests, only: [:index, :show, :create] + resources :mars_ingest_failures, only: [:index, :show, :create] resources :media_objects, except: [:create, :update] do member do diff --git a/db/migrate/20240310213523_create_mars_ingest_failures.rb b/db/migrate/20240310213523_create_mars_ingest_failures.rb new file mode 100644 index 00000000..7709d167 --- /dev/null +++ b/db/migrate/20240310213523_create_mars_ingest_failures.rb @@ -0,0 +1,9 @@ +class CreateMarsIngestFailures < ActiveRecord::Migration[5.2] + def change + create_table :mars_ingest_failures do |t| + t.text :error_text + t.text :manifest_url + t.timestamps + end + end +end