As per Salesforce documentation 'Files' (ContentDocument) can be deleted only by the user who created them.
In order to provide access to delete a file created by other users, Salesforce recommends giving 'Modify All Data' to users which of course we can't give.
Alternatively, we are looking to create a custom Lightning component which would allow deletion of a file.
The question is how should we process delete request in apex?
Option 1: Just delete the 'ContentVersion' record.
Option 2: Delete the 'ContentVersion' then 'ContentDocumentLink' and then 'ContentDocument'.
Are there any other options? The goal here is not to just delete the link to the file but to entirely delete the file so that we save on space as well.