UNPKG

@jaricardodev/ews-javascript-api

Version:
46 lines (41 loc) 2.18 kB
import {Folder} from "../ServiceObjects/Folders/Folder"; import {ExchangeService} from "../ExchangeService"; import {ServiceResponse} from "../Responses/ServiceResponse"; import {CreateFolderResponse} from "../Responses/CreateFolderResponse"; import {ServiceErrorHandling} from "../../Enumerations/ServiceErrorHandling"; import {XmlElementNames} from "../XmlElementNames"; //import {EwsUtilities} from "../EwsUtilities"; import {ExchangeVersion} from "../../Enumerations/ExchangeVersion"; import {Strings} from "../../Strings"; import {CreateRequest} from "./CreateRequest"; /** @internal */ export class CreateFolderRequest extends CreateRequest<Folder, ServiceResponse> { get Folders(): Folder[] { return this.Objects; } set Folders(value: Folder[]) { this.Objects = value; } constructor(service: ExchangeService, errorHandlingMode: ServiceErrorHandling) { super(service, errorHandlingMode); } CreateServiceResponse(service: ExchangeService, responseIndex: number): ServiceResponse { //return new CreateFolderResponse(<Folder>EwsUtilities.GetEnumeratedObjectAt(this.Folders, responseIndex)); if (this.Folders.length <= responseIndex) { throw new Error(Strings.IEnumerableDoesNotContainThatManyObject); } return new CreateFolderResponse(this.Folders[responseIndex]); } GetMinimumRequiredServerVersion(): ExchangeVersion { return ExchangeVersion.Exchange2007_SP1; } GetObjectCollectionXmlElementName(): string { return XmlElementNames.Folders; } GetParentFolderXmlElementName(): string { return XmlElementNames.ParentFolderId; } GetResponseMessageXmlElementName(): string { return XmlElementNames.CreateFolderResponseMessage; } GetResponseXmlElementName(): string { return XmlElementNames.CreateFolderResponse; } GetXmlElementName(): string { return XmlElementNames.CreateFolder; } Validate(): void { super.Validate(); //EwsUtilities.ValidateParam(this.Folders, "Folders"); // Validate each folder. for (var folder of this.Folders) { folder.Validate(); } } }