[ 
https://issues.apache.org/jira/browse/JAMES-3893?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Tellier closed JAMES-3893.
---------------------------------
    Fix Version/s: 3.8.0
       Resolution: Fixed

> Add a WebAdmin API allowing managing user identity
> --------------------------------------------------
>
>                 Key: JAMES-3893
>                 URL: https://issues.apache.org/jira/browse/JAMES-3893
>             Project: James Server
>          Issue Type: New Feature
>            Reporter: Tung TRAN
>            Priority: Minor
>             Fix For: 3.8.0
>
>          Time Spent: 5h
>  Remaining Estimate: 0h
>
> h2. Why
> Provide the API for admin managing user identity:
>  * List identities of a user
>  * Create a user's identity
>  * Editing a user's identity
> h2. How
> h3. List identities of a user
> {code:java}
>  GET /users/{username}/identities {code}
> Response example:
> {code:java}
> [
>       {
>               "id": "3739a34e-cd8c-3a42-bf28-578ba24da9da",
>               "name": "bob-al...@domain.tld",
>               "email": "bob-al...@domain.tld",
>               "mayDelete": false,
>               "textSignature": "",
>               "htmlSignature": "",
>               "bcc": [{
>                       "email": "bo...@domain.tld",
>                       "name": "My Boss 2"
>               }],
>               "replyTo": [{
>                       "email": "b...@domain.tld",
>                       "name": "My Boss"
>               }],
>               "sortOrder": 1
>       },
>       {
>               "id": "3739a34e-cd8c-3a42-bf28-578ba24da8da",
>               "name": "james-team-mail...@domain.tld",
>               "email": "james-team-mail...@domain.tld",
>               "mayDelete": false,
>               "textSignature": "",
>               "htmlSignature": "",
>               "bcc": [{
>                       "email": "bo...@domain.tld",
>                       "name": "My Boss 2"
>               }],
>               "replyTo": [{
>                       "email": "b...@domain.tld",
>                       "name": "My Boss"
>               }],
>               "sortOrder": 2
>       }
> ] {code}
>  * API to get the default identity of a user
> {code:java}
> GET /users/{username}/identities?default=true {code}
> h3. Create a user's identity
>  - Creating a new/first `mayDelete=true` identity API (if a user has no 
> default identity yet)
> {code:java}
> POST /users/{username}/identities
> {
>     "name": "Bob",
>     "email": "b...@domain.tld",
>     "mayDelete": true,
>     "htmlSignature": "a html signature",
>     "textSignature": "a text signature",
>     "bcc": [{
>         "email": "bo...@domain.tld",
>         "name": "My Boss 2"
>     }],
>     "replyTo": [{
>         "email": "b...@domain.tld",
>         "name": "My Boss"
>     }],
>     "sortOrder": 0
> }{code}
> Creating with empty fields: `mayDelete` (always = true), `htmlSignature`, 
> `textSignature`, `bcc`, `replyTo` should be supported cause we likely can not 
> get these data from LDAP.
>  
> h3. Editing a user's identity
> {code:java}
> PUT /users/{username}/identities/{identityId}
> {
>     "name": "Bob",
>     "email": "b...@domain.tld",
>     "mayDelete": true,
>     "htmlSignature": "a html signature",
>     "textSignature": "a text signature",
>     "bcc": [{
>         "email": "bo...@domain.tld",
>         "name": "My Boss 2"
>     }],
>     "replyTo": [{
>         "email": "b...@domain.tld",
>         "name": "My Boss"
>     }],
>     "sortOrder": 0
> }{code}
> Updating with empty fields: `mayDelete` (always = true), `htmlSignature`, 
> `textSignature`, `bcc`, `replyTo` should be supported cause we likely can not 
> get these data from LDAP.
> - Editing a use default identity API (the idea is to do filtering on James' 
> side, if LSC can do it easily, we can skip this API)
> {code:java}
> PUT /users/{username}/identities?default=true
> {
>     "name": "Bob",
>     "email": "b...@domain.tld",
>     "mayDelete": true,
>     "htmlSignature": "a html signature",
>     "textSignature": "a text signature",
>     "bcc": [{
>         "email": "bo...@domain.tld",
>         "name": "My Boss 2"
>     }],
>     "replyTo": [{
>         "email": "b...@domain.tld",
>         "name": "My Boss"
>     }],
>     "sortOrder": 0
> }{code}
> Updating with empty fields: `mayDelete` (always = true), `htmlSignature`, 
> `textSignature`, `bcc`, `replyTo` should be supported cause we likely can not 
> get these data from LDAP.
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
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