Tellier Benoit created JAMES-2807:
-------------------------------------

             Summary: DeletedMessageMetadataVault API + contract +memory
                 Key: JAMES-2807
                 URL: https://issues.apache.org/jira/browse/JAMES-2807
             Project: James Server
          Issue Type: Sub-task
          Components: deletedMessageVault
            Reporter: Tellier Benoit


We need a sub API for storing per Container metadata of Deleted Messages.

Here is the API:


{code:java}
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();
}
{code}


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`



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to