Benoit Tellier created JAMES-4203:
-------------------------------------
Summary: Ability to write listener for Identities
Key: JAMES-4203
URL: https://issues.apache.org/jira/browse/JAMES-4203
Project: James Server
Issue Type: Improvement
Components: eventbus, JMAP
Reporter: Benoit Tellier
Assignee: Antoine Duprat
h3. Why ?
As an extension writter I want to publish JMAP identity via IMAP metadata to
make them available in IMAP app, eg via a THunderBird plugin.
This requires me to enrich James JMAP event system in order to be able to hook
onto it.
h2. How?
h3. The events themselves
We would add the following events:
CustomIdentityCreated (Username user, Identity identity)
CustomIdentityUpdated (Username user, Identity identity)
CustomIdentityDeleted (Username user, Set[IdentityId] identityIds)
AllCustomIdentitiesDeleted (Username user, Set[IdentityId] identityIds)
Have a common parent class to group them: IdentityEvent
Code location: org.apache.james.jmap.mail.IdentityEvents in
james-server-jmap-rfc-8621 module
h3. Event serialization
Adapt JmapEventSerializerto serialize + deserialize identity events introduced
earlier.
Write tests similar to StateChangeEventSerializerTest in
IdentityEventsSerializerTest
h3. Plug the events
Adapt CustomIdentityDAO implementation to fire events on each operations in an
injected JMAP event bus. Unit tests should include event publication
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]