[ https://issues.apache.org/jira/browse/JAMES-3358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lan Khuat updated JAMES-3358: ----------------------------- Description: Property: {{*onDestroyRemoveEmails*: Boolean}} Determine whether the emails in a mailbox should be removed/destroyed when that mailbox got destroyed. * SHOULD default to *{{false}}* * If *{{false}}*, any attempt to destroy a Mailbox that still has Emails in it will be rejected with a \{{mailboxHasEmail}}SetError. * If *{{true}}*, any Emails that were in the Mailbox will be removed from it, and if in no other Mailboxes, they will be destroyed when the Mailbox is destroyed. *Request* {code:java} { "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ], "methodCalls": [ [ "Mailbox/set", { "accountId": "JMAP-ID", "ifInState": "123", "create": null, "destroy": [ "0001" ], "onDestroyRemoveEmails": true } ] ] } {code} *Response* {code:java} { "methodResponses": [ [ "Mailbox/set", { "accountId": "JMAP-ID", // the requested accountId "oldState": "123", "newState": "124", "created": null, "destroyed": [ "0001" ] } ] ], "sessionState": "abc" } {code} *DOD:* Integration tests + proof of email deletion when the property is *{{true}}* Proof of reject of the request if the property is *{{false}}* (with emails still present in the mailbox) was: Property: {{onDestroyRemoveEmails: Boolean}} Determine whether the emails in a mailbox should be removed/destroyed when that mailbox got destroyed. * SHOULD default to {{false}} * If {{false}}, any attempt to destroy a Mailbox that still has Emails in it will be rejected with a \{{mailboxHasEmail}}SetError. * If {{true}}, any Emails that were in the Mailbox will be removed from it, and if in no other Mailboxes, they will be destroyed when the Mailbox is destroyed. *Request* {code:java} { "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ], "methodCalls": [ [ "Mailbox/set", { "accountId": "JMAP-ID", "ifInState": "123", "create": null, "destroy": [ "0001" ], "onDestroyRemoveEmails": true } ] ] } {code} *Response* {code:java} { "methodResponses": [ [ "Mailbox/set", { "accountId": "JMAP-ID", // the requested accountId "oldState": "123", "newState": "124", "created": null, "destroyed": [ "0001" ] } ] ], "sessionState": "abc" } {code} *DOD:* Integration tests + proof of email deletion when the property is {{true}} Proof of reject of the request if the property is {{false}} (with emails still present in the mailbox) > Mailbox/set delete: onDestroyRemoveEmails argument implementation > ----------------------------------------------------------------- > > Key: JAMES-3358 > URL: https://issues.apache.org/jira/browse/JAMES-3358 > Project: James Server > Issue Type: Improvement > Reporter: Lan Khuat > Priority: Major > > Property: {{*onDestroyRemoveEmails*: Boolean}} > Determine whether the emails in a mailbox should be removed/destroyed when > that mailbox got destroyed. > * SHOULD default to *{{false}}* > * If *{{false}}*, any attempt to destroy a Mailbox that still has Emails in > it will be rejected with a \{{mailboxHasEmail}}SetError. > * If *{{true}}*, any Emails that were in the Mailbox will be removed from > it, and if in no other Mailboxes, they will be destroyed when the Mailbox is > destroyed. > *Request* > {code:java} > { > "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ], > "methodCalls": [ > [ > "Mailbox/set", > { > "accountId": "JMAP-ID", > "ifInState": "123", > "create": null, > "destroy": [ "0001" ], > "onDestroyRemoveEmails": true > } > ] > ] > } > {code} > *Response* > > {code:java} > { > "methodResponses": [ > [ > "Mailbox/set", > { > "accountId": "JMAP-ID", // the requested accountId > "oldState": "123", > "newState": "124", > "created": null, > "destroyed": [ "0001" ] > } > ] > ], > "sessionState": "abc" > } > {code} > *DOD:* > Integration tests + proof of email deletion when the property is *{{true}}* > Proof of reject of the request if the property is *{{false}}* (with emails > still present in the mailbox) -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org