import Foundation
import ServiceStack
public class UpdateDocumentWithEmail : UpdateDocumentWithFile
{
    public var emailConversationID:String
    required public init(){ super.init() }
    private enum CodingKeys : String, CodingKey {
        case emailConversationID
    }
    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        emailConversationID = try container.decodeIfPresent(String.self, forKey: .emailConversationID)
    }
    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if emailConversationID != nil { try container.encode(emailConversationID, forKey: .emailConversationID) }
    }
}
public class UpdateDocumentWithFile : Codable
{
    public var documentId:String
    public var updateStorageSystem:Bool
    required public init(){}
}
public class UpdateDocumentWithFileResponse : Codable
{
    public var isSucces:Bool
    public var failureReason:String
    public var fileUrl:String
    required public init(){}
}
Swift UpdateDocumentWithEmail DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/UpdateDocumentWithEmail HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<UpdateDocumentWithEmail xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations">
  <DocumentId>00000000-0000-0000-0000-000000000000</DocumentId>
  <UpdateStorageSystem>false</UpdateStorageSystem>
  <EmailConversationID>String</EmailConversationID>
</UpdateDocumentWithEmail>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <UpdateDocumentWithFileResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Document.Operations"> <FailureReason>String</FailureReason> <FileUrl>String</FileUrl> <IsSucces>false</IsSucces> </UpdateDocumentWithFileResponse>