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

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

commit cc36e337503de4b465624b85eb2699d89cd2c4c5
Author: Quan Tran <[email protected]>
AuthorDate: Mon Oct 27 17:06:59 2025 +0700

    [IMPROVEMENT] MethodWithoutAccountId::doProcess should propagate 
capabilities
---
 .../src/main/scala/org/apache/james/jmap/method/Method.scala          | 4 ++--
 .../org/apache/james/jmap/method/PushSubscriptionGetMethod.scala      | 2 +-
 .../org/apache/james/jmap/method/PushSubscriptionSetMethod.scala      | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
index 6aa766d9ae..b2ffd1cb62 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/Method.scala
@@ -176,7 +176,7 @@ trait MethodWithoutAccountId[REQUEST <: WithoutAccountId] 
extends Method {
     val either: Either[Exception, Publisher[InvocationWithContext]] = for {
       request <- getRequest(invocation.invocation)
     } yield {
-      doProcess(invocation, mailboxSession, request)
+      doProcess(capabilities, invocation, mailboxSession, request)
     }
 
     val result: SFlux[InvocationWithContext] = 
SFlux.fromPublisher(either.fold(e => SFlux.error[InvocationWithContext](e), r 
=> r))
@@ -199,5 +199,5 @@ trait MethodWithoutAccountId[REQUEST <: WithoutAccountId] 
extends Method {
 
   def getRequest(invocation: Invocation): Either[Exception, REQUEST]
 
-  def doProcess(invocation: InvocationWithContext, mailboxSession: 
MailboxSession, request: REQUEST): Publisher[InvocationWithContext]
+  def doProcess(capabilities: Set[CapabilityIdentifier], invocation: 
InvocationWithContext, mailboxSession: MailboxSession, request: REQUEST): 
Publisher[InvocationWithContext]
 }
\ No newline at end of file
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionGetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionGetMethod.scala
index e1dc3600d9..1f3bbf1021 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionGetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionGetMethod.scala
@@ -62,7 +62,7 @@ class PushSubscriptionGetMethod 
@Inject()(pushSubscriptionSerializer: PushSubscr
     
pushSubscriptionSerializer.deserializePushSubscriptionGetRequest(invocation.arguments.value).asEitherRequest
       .flatMap(request => request.validate(configuration).map(_ => request))
 
-  override def doProcess(invocation: InvocationWithContext, session: 
MailboxSession, request: PushSubscriptionGetRequest): 
SMono[InvocationWithContext] =
+  override def doProcess(capabilities: Set[CapabilityIdentifier], invocation: 
InvocationWithContext, session: MailboxSession, request: 
PushSubscriptionGetRequest): SMono[InvocationWithContext] =
     request.validateProperties
       .fold(e => SMono.error(e),
         properties => retrieveRecords(request, session)
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionSetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionSetMethod.scala
index 8fd0aa878c..f6263f58b9 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionSetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/PushSubscriptionSetMethod.scala
@@ -46,7 +46,7 @@ class PushSubscriptionSetMethod @Inject()(createPerformer: 
PushSubscriptionSetCr
     
pushSubscriptionSerializer.deserializePushSubscriptionSetRequest(invocation.arguments.value).asEitherRequest
       .flatMap(request => request.validate(configuration).map(_ => request))
 
-  override def doProcess(invocation: InvocationWithContext, mailboxSession: 
MailboxSession, request: PushSubscriptionSetRequest): 
SMono[InvocationWithContext] =
+  override def doProcess(capabilities: Set[CapabilityIdentifier], invocation: 
InvocationWithContext, mailboxSession: MailboxSession, request: 
PushSubscriptionSetRequest): SMono[InvocationWithContext] =
     for {
       created <- createPerformer.create(request, mailboxSession)
       updated <- updatePerformer.update(request, mailboxSession)


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

Reply via email to