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 9327cd96a442751df83e1745ebd7ca75f9b5c2ea Author: Tung TRAN <[email protected]> AuthorDate: Mon Aug 2 18:04:32 2021 +0700 JAMES-3621 Mailbox webadmin routes - Document - messageCount & unseenMessageCount --- .../pages/distributed/operate/webadmin.adoc | 36 +++++++++++++++++++++ .../james/webadmin/routes/UserMailboxesRoutes.java | 4 +-- src/site/markdown/server/manage-webadmin.md | 37 ++++++++++++++++++++++ 3 files changed, 75 insertions(+), 2 deletions(-) diff --git a/docs/modules/servers/pages/distributed/operate/webadmin.adoc b/docs/modules/servers/pages/distributed/operate/webadmin.adoc index 4674540..d7be9d1 100644 --- a/docs/modules/servers/pages/distributed/operate/webadmin.adoc +++ b/docs/modules/servers/pages/distributed/operate/webadmin.adoc @@ -1322,6 +1322,42 @@ Warning: While we have been trying to reduce the inconsistency window to a maximum (by keeping track of ongoing events), concurrent changes done during the reIndexing might be ignored. +=== Counting emails + +.... +curl -XGET http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxName}/messageCount +.... + +Will return the total count of messages within the mailbox of that user. + +Resource name `usernameToBeUsed` should be an existing user. + +Resource name `mailboxName` should not be empty, nor contain `% *` characters, nor starting with `#`. + +Response codes: + +* 200: The number of emails in a given mailbox +* 400: Invalid mailbox name +* 404: Invalid get on user mailboxes. The `usernameToBeUsed` or `mailboxName` does not exit' + +=== Counting unseen emails + +.... +curl -XGET http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxName}/unseenMessageCount +.... + +Will return the total count of unseen messages within the mailbox of that user. + +Resource name `usernameToBeUsed` should be an existing user. + +Resource name `mailboxName` should not be empty, nor contain `% *` characters, nor starting with `#`. + +Response codes: + +* 200: The number of unseen emails in a given mailbox +* 400: Invalid mailbox name +* 404: Invalid get on user mailboxes. The `usernameToBeUsed` or `mailboxName` does not exit' + === Subscribing a user to all of its mailboxes .... diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java index a20ae30..092c2c6 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java @@ -358,7 +358,7 @@ public class UserMailboxesRoutes implements Routes { }) @ApiOperation(value = "Counting emails in a given mailbox.") @ApiResponses(value = { - @ApiResponse(code = HttpStatus.OK_200, message = "The number emails in a given mailbox", response = Long.class), + @ApiResponse(code = HttpStatus.OK_200, message = "The number of emails in a given mailbox", response = Long.class), @ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = "Invalid mailbox name"), @ApiResponse(code = HttpStatus.UNAUTHORIZED_401, message = "Unauthorized. The user is not authenticated on the platform"), @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "Invalid get on user mailboxes"), @@ -396,7 +396,7 @@ public class UserMailboxesRoutes implements Routes { }) @ApiOperation(value = "Counting unseen emails in a given mailbox.") @ApiResponses(value = { - @ApiResponse(code = HttpStatus.OK_200, message = "The number unseen emails in a given mailbox", response = Long.class), + @ApiResponse(code = HttpStatus.OK_200, message = "The number of unseen emails in a given mailbox", response = Long.class), @ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = "Invalid mailbox name"), @ApiResponse(code = HttpStatus.UNAUTHORIZED_401, message = "Unauthorized. The user is not authenticated on the platform"), @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "Invalid get on user mailboxes"), diff --git a/src/site/markdown/server/manage-webadmin.md b/src/site/markdown/server/manage-webadmin.md index 00b69a5..936f82c 100644 --- a/src/site/markdown/server/manage-webadmin.md +++ b/src/site/markdown/server/manage-webadmin.md @@ -990,6 +990,8 @@ by an admin to ensure Cassandra message consistency. - [Exporting user mailboxes](#Exporting_user_mailboxes) - [ReIndexing a user mails](#ReIndexing_a_user_mails) - [Recomputing User JMAP fast message view projection](#Recomputing_User_JMAP_fast_message_view_projection) + - [Counting emails](#Counting_emails) + - [Counting unseen emails](#Couting_unseen_emails) ### Creating a mailbox @@ -1167,6 +1169,41 @@ Warning: Canceling this task should be considered unsafe as it will leave the cu Warning: While we have been trying to reduce the inconsistency window to a maximum (by keeping track of ongoing events), concurrent changes done during the reIndexing might be ignored. +### Counting emails + +```bash +curl -XGET http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxName}/messageCount +``` + +Will return the total count of messages within the mailbox of that user. + +Resource name `usernameToBeUsed` should be an existing user. +Resource name `mailboxName` should not be empty, nor contain `% *` characters, nor starting with `#`. + +Response codes: + +- 200: The number of emails in a given mailbox +- 400: Invalid mailbox name +- 404: Invalid get on user mailboxes. The `usernameToBeUsed` or `mailboxName` does not exit' + +### Counting unseen emails + +```bash +curl -XGET http://ip:port/users/{usernameToBeUsed}/mailboxes/{mailboxName}/unseenMessageCount +``` + +Will return the total count of unseen messages within the mailbox of that user. + +Resource name `usernameToBeUsed` should be an existing user. +Resource name `mailboxName` should not be empty, nor contain `% *` characters, nor starting with `#`. + +Response codes: + +- 200: The number of unseen emails in a given mailbox +- 400: Invalid mailbox name +- 404: Invalid get on user mailboxes. The `usernameToBeUsed` or `mailboxName` does not exit' + + ### Subscribing a user to all of its mailboxes ``` --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
