UNPKG

@jaricardodev/ews-javascript-api

Version:
88 lines (82 loc) 4.14 kB
import {ItemIdWrapperList} from "../../Misc/ItemIdWrapperList"; import {AffectedTaskOccurrence} from "../../Enumerations/AffectedTaskOccurrence"; import {SendCancellationsMode} from "../../Enumerations/SendCancellationsMode"; import {XmlAttributeNames} from "../XmlAttributeNames"; import {XmlElementNames} from "../XmlElementNames"; import {XmlNamespace} from "../../Enumerations/XmlNamespace"; import {ServiceErrorHandling} from "../../Enumerations/ServiceErrorHandling"; import {ServiceVersionException} from "../../Exceptions/ServiceVersionException"; import {ExchangeService} from "../ExchangeService"; import {ServiceResponse} from "../Responses/ServiceResponse"; import {ExchangeVersion} from "../../Enumerations/ExchangeVersion"; import {StringHelper} from "../../ExtensionMethods"; import {Strings} from "../../Strings"; import {EwsServiceXmlWriter} from "../EwsServiceXmlWriter"; import {DeleteRequest} from "./DeleteRequest"; /** @internal */ export class DeleteItemRequest extends DeleteRequest<ServiceResponse> { private itemIds: ItemIdWrapperList = new ItemIdWrapperList(); private affectedTaskOccurrences: AffectedTaskOccurrence = null; private sendCancellationsMode: SendCancellationsMode = null; get ItemIds(): ItemIdWrapperList { return this.itemIds; } get AffectedTaskOccurrences(): AffectedTaskOccurrence { return this.affectedTaskOccurrences; } set AffectedTaskOccurrences(value: AffectedTaskOccurrence) { this.affectedTaskOccurrences = value; } get SendCancellationsMode(): SendCancellationsMode { return this.sendCancellationsMode; } set SendCancellationsMode(value: SendCancellationsMode) { this.sendCancellationsMode = value; } SuppressReadReceipts: boolean = false; constructor(service: ExchangeService, errorHandlingMode: ServiceErrorHandling) { super(service, errorHandlingMode); } CreateServiceResponse(service: ExchangeService, responseIndex: number): ServiceResponse { return new ServiceResponse(); } GetExpectedResponseMessageCount(): number { return this.itemIds.Count; } GetMinimumRequiredServerVersion(): ExchangeVersion { return ExchangeVersion.Exchange2007_SP1; } GetResponseMessageXmlElementName(): string { return XmlElementNames.DeleteItemResponseMessage; } GetResponseXmlElementName(): string { return XmlElementNames.DeleteItemResponse; } GetXmlElementName(): string { return XmlElementNames.DeleteItem; } InternalToJson(body: any): any { throw new Error("DeleteItemRequest.ts - InternalToJson : Not implemented."); } Validate(): void { super.Validate(); //EwsUtilities.ValidateParam(this.ItemIds, "ItemIds"); if (this.SuppressReadReceipts && this.Service.RequestedServerVersion < ExchangeVersion.Exchange2013) { throw new ServiceVersionException( StringHelper.Format( Strings.ParameterIncompatibleWithRequestVersion, "SuppressReadReceipts", ExchangeVersion[ExchangeVersion.Exchange2013])); } } /**@internal */ WriteAttributesToXml(writer: EwsServiceXmlWriter): void { super.WriteAttributesToXml(writer); if (this.AffectedTaskOccurrences !== null) { writer.WriteAttributeValue( XmlAttributeNames.AffectedTaskOccurrences, AffectedTaskOccurrence[this.AffectedTaskOccurrences]); } if (this.SendCancellationsMode !== null) { writer.WriteAttributeValue( XmlAttributeNames.SendMeetingCancellations, SendCancellationsMode[this.SendCancellationsMode]); } if (this.SuppressReadReceipts) { writer.WriteAttributeValue(XmlAttributeNames.SuppressReadReceipts, true); } } /**@internal */ WriteElementsToXml(writer: EwsServiceXmlWriter): void { this.itemIds.WriteToXml( writer, XmlNamespace.Messages, XmlElementNames.ItemIds); } }