UNPKG

@jaricardodev/ews-javascript-api

Version:
133 lines (119 loc) 3.62 kB
import {EwsServiceXmlWriter} from "../EwsServiceXmlWriter"; import {EwsUtilities} from "../EwsUtilities"; import {ExchangeService} from "../ExchangeService"; import {ExchangeVersion} from "../../Enumerations/ExchangeVersion"; import {ServiceErrorHandling} from "../../Enumerations/ServiceErrorHandling"; import {XmlElementNames} from "../XmlElementNames"; import {XmlNamespace} from "../../Enumerations/XmlNamespace"; import {GetEventsResponse} from "../Responses/GetEventsResponse"; import {MultiResponseServiceRequest} from "./MultiResponseServiceRequest"; /** * @internal GetEvents request */ export class GetEventsRequest extends MultiResponseServiceRequest<GetEventsResponse> { private subscriptionId: string = null; private watermark: string = null; /** * Gets or sets the subscription id. * * @value The subscription id. */ get SubscriptionId(): string { return this.subscriptionId; } set SubscriptionId(value: string) { this.subscriptionId = value; } /** * Gets or sets the watermark. * * @value The watermark. */ get Watermark(): string { return this.watermark; } set Watermark(value: string) { this.watermark = value; } /** * @internal Initializes a new instance of the **GetEventsRequest** class. * * @param {ExchangeService} service The service. */ constructor(service: ExchangeService) { super(service, ServiceErrorHandling.ThrowOnError); } /** * @internal Creates the service response. * * @param {ExchangeService} service The service. * @param {number} responseIndex Index of the response. * @return {GetEventsResponse} Service response. */ CreateServiceResponse(service: ExchangeService, responseIndex: number): GetEventsResponse { return new GetEventsResponse(); } /** * @internal Gets the expected response message count. * * @return {number} Number of expected response messages. */ GetExpectedResponseMessageCount(): number { return 1; } /** * @internal Gets the request version. * * @return {ExchangeVersion} Earliest Exchange version in which this request is supported. */ GetMinimumRequiredServerVersion(): ExchangeVersion { return ExchangeVersion.Exchange2007_SP1; } /** * @internal Gets the name of the response message XML element. * * @return {string} XML element name, */ GetResponseMessageXmlElementName(): string { return XmlElementNames.GetEventsResponseMessage; } /** * @internal Gets the name of the response XML element. * * @return {string} XML element name. */ GetResponseXmlElementName(): string { return XmlElementNames.GetEventsResponse; } /** * @internal Gets the name of the XML element. * * @return {string} XML element name. */ GetXmlElementName(): string { return XmlElementNames.GetEvents; } /** * @internal Validate request. */ Validate(): void { super.Validate(); EwsUtilities.ValidateNonBlankStringParam(this.SubscriptionId, "SubscriptionId"); EwsUtilities.ValidateNonBlankStringParam(this.Watermark, "Watermark"); } /** * @internal Writes the elements to XML writer. * * @param {EwsServiceXmlWriter} writer The writer. */ WriteElementsToXml(writer: EwsServiceXmlWriter): void { writer.WriteElementValue( XmlNamespace.Messages, XmlElementNames.SubscriptionId, this.SubscriptionId); writer.WriteElementValue( XmlNamespace.Messages, XmlElementNames.Watermark, this.Watermark); } }