Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
We need a sub API for storing per Container metadata of Deleted Messages.
Here is the API:
class StorageInformation { private final BucketName bucketName; private final BlobId blobId; } class DeletedMessageWithStorageInformation { private final DeletedMessage deletedmessage; private final StorageInformation storageInformation; } interface DeletedMessageMetadataVault { Publisher<Void> store(BucketName, DeletedMessageWithStorageInformation); Publisher<Void> removeBucket(BucketName); Publisher<Void> remove(BucketName, User, MessageId); Publisher<StorageInformation> retrieveStorageInformation(User, MessageId); Publisher<DeletedMessageWithStorageInformation> listMessages(BucketName, User); Publisher<BucketName> listBuckets(); }
You will provide the API + contract in `mailbox/plugin/deleted-messages-vault`.
You will provide a memory implementation of it in `mailbox/plugin/deleted-messages-vault-memory`