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 ccfbe53a739bb1c0eca9397a6113258358f5371f
Author: Rene Cordier <rcord...@linagora.com>
AuthorDate: Fri Aug 14 15:36:53 2020 +0700

    JAMES-3357 Add sortOrder field in the created response for Mailbox/set 
method
---
 .../james/jmap/rfc8621/contract/MailboxSetMethodContract.scala    | 8 ++++++++
 .../src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala    | 1 +
 .../scala/org/apache/james/jmap/method/MailboxSetMethod.scala     | 5 +++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
 
b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
index 582ce3a..a3bc8ca 100644
--- 
a/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
+++ 
b/server/protocols/jmap-rfc-8621-integration-tests/jmap-rfc-8621-integration-tests-common/src/main/scala/org/apache/james/jmap/rfc8621/contract/MailboxSetMethodContract.scala
@@ -450,6 +450,7 @@ trait MailboxSetMethodContract {
          |                     "created": {
          |                             "C42": {
          |                                     "id": "$mailboxId",
+         |          "sortOrder": 1000,
          |                                     "totalEmails": 0,
          |                                     "unreadEmails": 0,
          |                                     "totalThreads": 0,
@@ -673,6 +674,7 @@ trait MailboxSetMethodContract {
          |      "created": {
          |        "C42": {
          |          "id": "$mailboxId",
+         |          "sortOrder": 1000,
          |          "totalEmails": 0,
          |          "unreadEmails": 0,
          |          "totalThreads": 0,
@@ -819,6 +821,7 @@ trait MailboxSetMethodContract {
          |      "created": {
          |        "C42": {
          |          "id": "$mailboxId",
+         |          "sortOrder": 1000,
          |          "isSubscribed":true,
          |          
"myRights":{"mayAddItems":true,"mayCreateChild":true,"mayDelete":true,"mayReadItems":true,"mayRemoveItems":true,"mayRename":true,"maySetKeywords":true,"maySetSeen":true,"maySubmit":true},
          |          "totalEmails":0,
@@ -886,6 +889,7 @@ trait MailboxSetMethodContract {
          |      "created": {
          |        "C42": {
          |          "id": "$mailboxId",
+         |          "sortOrder": 1000,
          |          "isSubscribed":true,
          |          
"myRights":{"mayAddItems":true,"mayCreateChild":true,"mayDelete":true,"mayReadItems":true,"mayRemoveItems":true,"mayRename":true,"maySetKeywords":true,"maySetSeen":true,"maySubmit":true},
          |          "totalEmails":0,
@@ -1758,6 +1762,7 @@ trait MailboxSetMethodContract {
          |                "created": {
          |                    "C42": {
          |                        "id": "$parentId",
+         |                        "sortOrder": 1000,
          |                        "totalEmails": 0,
          |                        "unreadEmails": 0,
          |                        "totalThreads": 0,
@@ -1787,6 +1792,7 @@ trait MailboxSetMethodContract {
          |                "created": {
          |                    "C43": {
          |                        "id": "$childId",
+         |                        "sortOrder": 1000,
          |                        "totalEmails": 0,
          |                        "unreadEmails": 0,
          |                        "totalThreads": 0,
@@ -1876,6 +1882,7 @@ trait MailboxSetMethodContract {
          |      "created": {
          |        "C42": {
          |          "id": "$mailboxId",
+         |          "sortOrder": 1000,
          |          "totalEmails": 0,
          |          "unreadEmails": 0,
          |          "totalThreads": 0,
@@ -2137,6 +2144,7 @@ trait MailboxSetMethodContract {
          |      "created": {
          |        "C43": {
          |          "id": "$mailboxId",
+         |          "sortOrder": 1000,
          |          "totalEmails": 0,
          |          "unreadEmails": 0,
          |          "totalThreads": 0,
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
index e0964d6..b34af2c 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxSet.scala
@@ -109,6 +109,7 @@ case class MailboxSetError(`type`: SetErrorType, 
description: Option[SetErrorDes
 
 case class MailboxCreationResponse(id: MailboxId,
                                    role: Option[Role],//TODO see if we need to 
return this, if a role is set by the server during creation
+                                   sortOrder: SortOrder,
                                    totalEmails: TotalEmails,
                                    unreadEmails: UnreadEmails,
                                    totalThreads: TotalThreads,
diff --git 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
index 2077181..d7bd881 100644
--- 
a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
+++ 
b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/method/MailboxSetMethod.scala
@@ -23,7 +23,7 @@ import eu.timepit.refined.auto._
 import javax.inject.Inject
 import org.apache.james.jmap.json.Serializer
 import org.apache.james.jmap.mail.MailboxSetRequest.{MailboxCreationId, 
UnparsedMailboxId}
-import org.apache.james.jmap.mail.{InvalidPropertyException, 
InvalidUpdateException, IsSubscribed, MailboxCreationRequest, 
MailboxCreationResponse, MailboxPatchObject, MailboxRights, MailboxSetError, 
MailboxSetRequest, MailboxSetResponse, MailboxUpdateResponse, NameUpdate, 
PatchUpdateValidationException, Properties, RemoveEmailsOnDestroy, 
SetErrorDescription, TotalEmails, TotalThreads, UnreadEmails, UnreadThreads, 
UnsupportedPropertyUpdatedException}
+import org.apache.james.jmap.mail.{InvalidPropertyException, 
InvalidUpdateException, IsSubscribed, MailboxCreationRequest, 
MailboxCreationResponse, MailboxPatchObject, MailboxRights, MailboxSetError, 
MailboxSetRequest, MailboxSetResponse, MailboxUpdateResponse, NameUpdate, 
PatchUpdateValidationException, Properties, RemoveEmailsOnDestroy, 
SetErrorDescription, SortOrder, TotalEmails, TotalThreads, UnreadEmails, 
UnreadThreads, UnsupportedPropertyUpdatedException}
 import org.apache.james.jmap.model.CapabilityIdentifier.CapabilityIdentifier
 import org.apache.james.jmap.model.Invocation.{Arguments, MethodName}
 import org.apache.james.jmap.model.{ClientId, Id, Invocation, ServerId, State}
@@ -34,7 +34,7 @@ import org.apache.james.mailbox.model.{FetchGroup, MailboxId, 
MailboxPath, Messa
 import org.apache.james.mailbox.{MailboxManager, MailboxSession, 
MessageManager, Role, SubscriptionManager}
 import org.apache.james.metrics.api.MetricFactory
 import org.reactivestreams.Publisher
-import play.api.libs.json._
+import play.api.libs.json.{JsError, JsObject, JsPath, JsSuccess, Json, 
JsonValidationError}
 import reactor.core.scala.publisher.{SFlux, SMono}
 import reactor.core.scheduler.Schedulers
 
@@ -71,6 +71,7 @@ case class CreationResults(created: Seq[CreationResult]) {
   private def toCreationResponse(mailboxId: MailboxId): 
MailboxCreationResponse = MailboxCreationResponse(
     id = mailboxId,
     role = None,
+    sortOrder = SortOrder.defaultSortOrder,
     totalEmails = TotalEmails(0L),
     unreadEmails = UnreadEmails(0L),
     totalThreads = TotalThreads(0L),


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to