[FOLIO-2052] Add support for bulk deleting objects Created: 30/May/19 Updated: 24/Aug/22 |
|
| Status: | Open |
| Project: | FOLIO |
| Components: | None |
| Affects versions: | None |
| Fix versions: | None |
| Type: | New Feature | Priority: | TBD |
| Reporter: | Jon Miller | Assignee: | Ian Walls |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | platform-backlog, users | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original estimate: | Not Specified | ||
| Issue links: |
|
||||||||||||||||||||||||||||||||
| Sprint: | |||||||||||||||||||||||||||||||||
| Development Team: | Core: Platform | ||||||||||||||||||||||||||||||||
| Description |
|
Please add support for bulk deleting objects for all entities that can contain large numbers of objects similar to what is present for deleting instances in the Inventory module described at https://s3.amazonaws.com/foliodocs/api/mod-inventory-storage/p/instance-storage.html#instance_storage_instances_delete. This would be useful for data migration testing of modules such as the users module that can have a large number of objects which would be otherwise very slow to delete one by one. In the case of users and possibly other entities, you would need to have support for providing a filter to allow a user to specify which objects to delete. For example, you would need to be able to tell it to not delete the user that you are currently logged in as. Otherwise, you would lock yourself out of the system. |
| Comments |
| Comment by Ian Walls [ 24/Feb/20 ] |
|
Universal bulk deletion (deleting all records of a type) would be very useful for data migration, where multiple reloads are likely necessary, and using PUT to overwrite them one at a time would be cost prohibitive for time. Filtered deletion is a separate thing that would require a lot more thought. Do you provide a JSON array of record IDs to delete? A search criteria? If the latter, do you get a confirmation of the number of records that match said search before they're wiped out? The currently logged in user would need to be filtered out by the business logic. That is, you CANNOT delete yourself, even if you specifically include your userId for deletion. Another user account would need to be used to delete your account. All of this would need to be strongly permissions controlled, as a breach could result in catastrophic data loss and lengthy system downtime while data is restored from back up (because you backed up everything recently, right?) |
| Comment by Julian Ladisch [ 24/Aug/22 ] |
|
For Ian Walls' recommended priority order see https://folio-org.atlassian.net/browse/DEBT-3#comment-93421 |