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]
