diff --git a/hyrax/app/models/file_set.rb b/hyrax/app/models/file_set.rb index 1ca7d46c9f2d99db87c3291a4d84f966a536557e..992accac07162f5ee9c551be6973349229e41032 100644 --- a/hyrax/app/models/file_set.rb +++ b/hyrax/app/models/file_set.rb @@ -5,7 +5,7 @@ class FileSet < ActiveFedora::Base self.indexer = CrcFileSetIndexer after_save :create_file_set_with_fast_load_meta_data - after_destroy :destroy_set_meta_data + before_destroy :destroy_set_meta_data property :for_complex_identifier, predicate: ::RDF::Vocab::Rdms.forComplexIdentifier, multiple: false do |index| index.as :stored_searchable, :facetable @@ -79,7 +79,13 @@ class FileSet < ActiveFedora::Base end def destroy_set_meta_data + s3 = S3StorageService.new + s3.init_client + bucket_name = s3.sanitise_name(self.parent.id) meta_data = FileSetFastLoadMetadata.find_by(fedora_file_set_id: self.id) meta_data.destroy! if meta_data.present? + + s3.delete_object(bucket_name, self.object_key_on_s3) + parent.update(date_modified: DateTime.now) end end