You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Tellier Benoit (JIRA)" <se...@james.apache.org> on 2019/06/24 10:10:01 UTC

[jira] [Created] (JAMES-2807) DeletedMessageMetadataVault API + contract +memory

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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org