How to delete files attached to FeedItem after deleting FeedItem in Salesforce?

How to delete files attached to FeedItem after deleting FeedItem in Salesforce?

Following code with correct WHERE condition can be used to delete files attached to FeedItem after deleting FeedItem in Salesforce.

Sample Code:

Set < Id > setContentVerIds = new Set < Id >();
List < ContentDocument > listFiles = new List < ContentDocument >();

for ( FeedItem FI : [ SELECT Id, RelatedRecordId FROM FeedItem ] ) { 
    
    //Add your required WHERE condition
    if ( String.isNotBlank(FI.RelatedRecordId) ) {
        
        setContentVerIds.add(FI.RelatedRecordId);//RelatedRecordId is the Content Version Id
    }
    
}

for ( ContentVersion CV : [ SELECT Id, ContentDocumentId FROM ContentVersion WHERE Id IN: setContentVerIds ] ) {
    
    listFiles.add( new ContentDocument( Id = CV.ContentDocumentId ) );
    
}

if ( listFiles.size() > 0 ) {
    
    delete listFiles;
    
}

One thought on “How to delete files attached to FeedItem after deleting FeedItem in Salesforce?

Leave a Reply