[
https://issues.apache.org/jira/browse/MAILBOX-381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16781225#comment-16781225
]
Tellier Benoit commented on MAILBOX-381:
----------------------------------------
These 2 pull requests are merged :
- https://github.com/linagora/james-project/pull/2194 contributes the
DeletedMessage <-> Mail conversion
- https://github.com/linagora/james-project/pull/2207 MAILBOX-381 API
redesign: Separate content from meta-data
> [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: [email protected]
For additional commands, e-mail: [email protected]