From 285285d57c8bb689f24defdcab3b5500cc3831a8 Mon Sep 17 00:00:00 2001 From: Benjamin Kiah Stroud <32469930+bkiahstroud@users.noreply.github.com> Date: Wed, 24 Apr 2024 13:29:44 -0700 Subject: [PATCH] follow established patterns --- app/services/ams/asset_destroyer.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/services/ams/asset_destroyer.rb b/app/services/ams/asset_destroyer.rb index 5ca14ea7..3d1d6cf6 100644 --- a/app/services/ams/asset_destroyer.rb +++ b/app/services/ams/asset_destroyer.rb @@ -1,3 +1,5 @@ +require 'ruby-progressbar' + module AMS class AssetDestroyer attr_accessor :asset_ids, :user_email, :logger @@ -10,8 +12,10 @@ def initialize(asset_ids: [], user_email: nil) def destroy(asset_ids) logger.info "Initiating destruction sequence for #{asset_ids.count} Assets..." + progressbar = ProgressBar.create(total: asset_ids.size, format: "Destroying Assets: %a %e %c/%C %P%") Array(asset_ids).each do |asset_id| destroy_asset_by_id asset_id + progressbar.increment end end @@ -65,8 +69,9 @@ def destroy_in_postgres(asset_id) .with_step_args('work_resource.delete' => { user: user }, 'work_resource.delete_all_file_sets' => { user: user }) .call(asset_resource).value! - rescue Valkyrie::Persistence::ObjectNotFoundError - puts "No AssetResource found with ID #{asset_id}" + logger.debug "AssetResource '#{asset_id}' (and children) destroyed." + rescue => e + error_rescue(e, 'AssetResource', asset_id) end def actor