Project

General

Profile

Feature #18621

Updated by Peter Amstutz 3 months ago

Deleting past versions should leave a record in the audit trail. 

 Would like to be able to provide a filter that describes past versions that should be pruned. 

 I think the interface would end up being very similar to the bulk trash API (#20972), where it deletes a page of things at a time. 

 This would probably have a distinct endpoint as the behavior will be a bit different. 

 There's a couple ways to approach this: one would be to set @trash_at@ and @delete_at@ on the past versions and have the normal cleanup process actually delete the rows.    The main issue is that when certain changes happen on the head version, it updates @trash_at@ and @delete_at@ in all the past versions in @sync_past_versions@.    So we would need to decide what we want the behavior to be in that situation. 

 The other option is to just delete the rows immediately. 

 From discussion: 

 * admin only 
 * Purges up to @limit@ items (one request page at a time) and returns the items that were deleted as a list result 
 ** manifest_text is excluded from result unless "select" is used 
 ** supports "limit" and "order" (just like a list request) 
 ** should support a "dry_run" option that returns the list of things that would be purged without actually purging them 
 * Row are deleted immediately 
 * Adds a "delete event" to the logs table for each row that is deleted 

Back