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