UNPKG

@jaricardodev/ews-javascript-api

Version:
47 lines (44 loc) 2.02 kB
import {Folder} from "../ServiceObjects/Folders/Folder"; import {FolderInfo} from "../ServiceObjects/Folders/FolderInfo"; import {ExchangeService} from "../ExchangeService"; import {JsonObject} from "../JsonObject"; import {EwsServiceXmlReader} from "../EwsServiceXmlReader"; import {XmlElementNames} from "../XmlElementNames"; import {EwsServiceJsonReader} from "../EwsServiceJsonReader"; import {ServiceResult} from "../../Enumerations/ServiceResult"; import {ServiceResponse} from "./ServiceResponse"; export class CreateFolderResponse extends ServiceResponse { private folder: Folder = null; constructor(folder: Folder) { super(); this.folder = folder; } GetObjectInstance(service: ExchangeService, xmlElementName: string): Folder { if (this.folder != null) { return this.folder; } else { var flinfo: FolderInfo = new FolderInfo(); return flinfo.CreateEwsObjectFromXmlElementName<Folder>(service, xmlElementName); } } Loaded(): void { if (this.Result == ServiceResult.Success) { this.folder.ClearChangeLog(); } } ReadElementsFromJson(responseObject: JsonObject, service: ExchangeService): any { throw new Error("CreateFolderResponse.ts - ReadElementsFromJson : Not implemented."); } ReadElementsFromXmlJsObject(responseObject: any, service: ExchangeService): void { if (responseObject[XmlElementNames.Folders]) { var folders: Folder[] = EwsServiceJsonReader.ReadServiceObjectsCollectionFromJson<Folder>( responseObject, service, XmlElementNames.Folders, this.GetObjectInstance.bind(this), false, /* clearPropertyBag */ null, /* requestedPropertySet */ false); /* summaryPropertiesOnly */ this.folder = folders[0]; } } }