[FUSE] Trash directory to list, inspect, and un-trash trashed collections
Add a new TrashDirectory class. It has two subdirectories:
home, a ProjectDirectory for the current user, and
shared, a SharedDirectory. That structure is similar to what you get in the default mount, but then differences from here:
- The only collections listed in any of these directories should be expiring collections (ones whose
expires_atattribute is not null).
- The TrashDirectory itself and everything under it are read-only, regardless of the
--read-writesetting. This helps avoid surprising users by letting them add files to a collection that will expire soon. (If they really want to do that, they can still access the specific collection by its UUID.)
--all mode, the TrashDirectory appears under the mount root, named
--trash switch to make the TrashDirectory the mount root.
--mount-trash switch to specify a path where the TrashDirectory is mounted under the mount root (akin to the other
- We don't need a
by_idsubdirectory in the TrashDirectory. You can already access expiring collections through the regular MagicDirectory. This is also how you can write to an expiring collection.