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)" <ji...@apache.org> on 2019/03/01 08:50:00 UTC
[jira] [Resolved] (MAILBOX-381) [DeletedMessagesVault] API (not
retention) + Contract + impl on top of MailRepository
[ https://issues.apache.org/jira/browse/MAILBOX-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tellier Benoit resolved MAILBOX-381.
------------------------------------
Resolution: Fixed
> [DeletedMessagesVault] API (not retention) + Contract + impl on top of MailRepository
> -------------------------------------------------------------------------------------
>
> Key: MAILBOX-381
> URL: https://issues.apache.org/jira/browse/MAILBOX-381
> Project: James Mailbox
> Issue Type: New Feature
> Reporter: Trần Tiến Đức
> Priority: Major
>
> DeletedMessagesVault is where you store mails after being deleted in `Trash`. It allows to:
> - Store a `DeletedMessage` of an user
> - Delete a `DeletedMessage` stored before by the `MessageId`
> - Search a list of `DeletedMessage` by a `Query`
> The proposal API:
> {code:java}
> interface DeletedMessagesVault {
> Mono<Void> append(User user, DeletedMessage deletedMessage);
> Mono<Void> delete(MessageId messageId);
> Flux<DeletedMessage> search(Query query);
> }{code}
> API will be placed in a new maven module `mailbox/plugin/deleted-messages-vault`
> You will also need to define those POJOs
> - DeletedMessage: it wraps a MailboxMessage contents and deleted message metadata:
> - deletion date
> - delivery date
> - recipients
> - sender
> - has attachment
> - origin mailboxes
> - subject (contains, equals / ignore case)
> - Query: this POJO define various search criteria base on list of DeletedMessage metadata.
> About DeletedMessagesVault impl
> By leverage `MailRepository` component you will create your impl ontop of `MailRepository`. At the moment `MailRepository` only supports `store` and `remove`, so you have to:
> - Apply search feature in `MailRepository`
> - `DeletedMessagesVault` impl is intend to use `CassandraMailRepository`, `DeletedMessagesVault` is per-user, and each one points to a specify `MailRepositoryUrl` belong to a specific User.
> - Adapt DeletedMessagesVault impl with `MailRepository` APIs.
--
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