app/services/hyrax/collections/collection_member_service.rb in hyrax-3.1.0 vs app/services/hyrax/collections/collection_member_service.rb in hyrax-3.2.0

- old
+ new

@@ -108,11 +108,11 @@ def add_member(collection_id:, new_member:, user:) message = Hyrax::MultipleMembershipChecker.new(item: new_member).check(collection_ids: [collection_id], include_current_members: true) raise Hyrax::SingleMembershipError, message if message.present? new_member.member_of_collection_ids << collection_id # only populate this direction new_member = Hyrax.persister.save(resource: new_member) - Hyrax.publisher.publish('object.metadata.updated', object: new_member, user: user) + publish_metadata_updated(new_member, user) new_member end # Remove collections and/or works from the members set of a collection # @param collection_id [Valkyrie::ID] the id of the parent collection @@ -146,11 +146,21 @@ # @return [Hyrax::Resource] updated member resource def remove_member(collection_id:, member:, user:) return member unless member?(collection_id: collection_id, member: member) member.member_of_collection_ids.delete(collection_id) member = Hyrax.persister.save(resource: member) - Hyrax.publisher.publish('object.metadata.updated', object: member, user: user) + publish_metadata_updated(member, user) member + end + + private + + def publish_metadata_updated(member, user) + if member.collection? + Hyrax.publisher.publish('collection.metadata.updated', collection: member, user: user) + else + Hyrax.publisher.publish('object.metadata.updated', object: member, user: user) + end end end end end end