This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit f958d64bdee0268dfc9876a2342e9a99c59b9eb6
Author: Rene Cordier <[email protected]>
AuthorDate: Fri Oct 24 11:36:00 2025 +0700

    Add AuditTrail for create mailbox
---
 .../org/apache/james/mailbox/store/StoreMailboxManager.java    | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
index 352f97b59c..09059e0049 100644
--- 
a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
+++ 
b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
@@ -86,6 +86,7 @@ import org.apache.james.mailbox.store.quota.QuotaComponents;
 import org.apache.james.mailbox.store.search.MessageSearchIndex;
 import org.apache.james.mailbox.store.user.SubscriptionMapper;
 import org.apache.james.mailbox.store.user.model.Subscription;
+import org.apache.james.util.AuditTrail;
 import org.apache.james.util.FunctionalUtils;
 import org.reactivestreams.Publisher;
 import org.slf4j.Logger;
@@ -372,7 +373,14 @@ public class StoreMailboxManager implements MailboxManager 
{
                     .retryWhen(Retry.backoff(5, Duration.ofMillis(100))
                         .modifyErrorFilter(old -> old.and(e -> !(e instanceof 
MailboxException)))
                         .jitter(0.5)
-                        .maxBackoff(Duration.ofSeconds(1)));
+                        .maxBackoff(Duration.ofSeconds(1)))
+                    .doOnSuccess(any -> AuditTrail.entry()
+                        .username(() -> 
sanitizedMailboxPath.getUser().asString())
+                        .sessionId(() -> 
String.valueOf(mailboxSession.getSessionId().getValue()))
+                        .protocol("mailbox")
+                        .action("create")
+                        .parameters(Throwing.supplier(() -> 
ImmutableMap.of("mailboxPath", sanitizedMailboxPath.asString())))
+                        .log("Mailbox Create"));
             } catch (MailboxNameException e) {
                 return Mono.error(e);
             }


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

Reply via email to