@jaricardodev/ews-javascript-api
Version:
EWS Managed api in JavaScript
129 lines (116 loc) • 5.4 kB
text/typescript
import { DateTime } from "../../../DateTime";
import { EnhancedLocation } from "../../../ComplexProperties/EnhancedLocation";
import { ExchangeService } from "../../ExchangeService";
import { ExchangeVersion } from "../../../Enumerations/ExchangeVersion";
import { ItemAttachment } from "../../../ComplexProperties/ItemAttachment";
import { ItemId } from "../../../ComplexProperties/ItemId";
import { PropertySet } from "../../PropertySet";
import { Recurrence } from "../../../ComplexProperties/Recurrence/Patterns/Recurrence";
import { Schemas } from "../Schemas/Schemas";
import { ServiceObjectSchema } from "../Schemas/ServiceObjectSchema";
import { XmlElementNames } from "../../XmlElementNames";
import { MeetingMessage } from "./MeetingMessage";
/**
* Represents a response to a meeting request. Properties available on meeting messages are defined in the MeetingMessageSchema class.
*/
export class MeetingResponse extends MeetingMessage {
/**
* Gets the start time of the appointment.
*/
get Start(): DateTime {
return <DateTime>this.PropertyBag._getItem(Schemas.MeetingResponseSchema.Start);
}
/**
* Gets the end time of the appointment.
*/
get End(): DateTime {
return <DateTime>this.PropertyBag._getItem(Schemas.MeetingResponseSchema.End);
}
/**
* Gets the location of this appointment.
*/
get Location(): string {
return <string>this.PropertyBag._getItem(Schemas.MeetingResponseSchema.Location);
}
/**
* Gets the recurrence pattern for this meeting request.
*/
get Recurrence(): Recurrence {
return <Recurrence>this.PropertyBag._getItem(Schemas.AppointmentSchema.Recurrence);
}
/**
* Gets the proposed start time of the appointment.
*/
get ProposedStart(): DateTime {
return <DateTime>this.PropertyBag._getItem(Schemas.MeetingResponseSchema.ProposedStart);
}
/**
* Gets the proposed end time of the appointment.
*/
get ProposedEnd(): DateTime {
return <DateTime>this.PropertyBag._getItem(Schemas.MeetingResponseSchema.ProposedEnd);
}
/**
* Gets the Enhanced location object.
*/
get EnhancedLocation(): EnhancedLocation {
return <EnhancedLocation>this.PropertyBag._getItem(Schemas.MeetingResponseSchema.EnhancedLocation);
}
/**
* @internal Initializes a new instance of the **MeetingResponse** class.
*
* @param {ItemAttachment} parentAttachment The parent attachment.
*/
constructor(parentAttachment: ItemAttachment);
/**
* @internal Initializes a new instance of the **MeetingResponse** class.
*
* @param {ExchangeService} service EWS service to which this object belongs.
*/
constructor(service: ExchangeService);
constructor(parentAttachmentOrService: any) {
super(parentAttachmentOrService);
}
/**
* Binds to an existing meeting response and loads the specified set of properties. Calling this method results in a call to EWS.
*
* @param {ExchangeService} service The service to use to bind to the meeting response.
* @param {ItemId} id The Id of the meeting response to bind to.
* @param {PropertySet} propertySet The set of properties to load.
* @return {Promise<MeetingResponse>} A MeetingResponse instance representing the meeting response corresponding to the specified Id :Promise.
*/
public static Bind(service: ExchangeService, id: ItemId, propertySet: PropertySet): Promise<MeetingResponse>;
/**
* Binds to an existing meeting response and loads its first class properties. Calling this method results in a call to EWS.
*
* @param {ExchangeService} service The service to use to bind to the meeting response.
* @param {ItemId} id The Id of the meeting response to bind to.
* @return {Promise<MeetingResponse>} A MeetingResponse instance representing the meeting response corresponding to the specified Id :Promise.
*/
public static Bind(service: ExchangeService, id: ItemId): Promise<MeetingResponse>;
public static Bind(service: ExchangeService, id: ItemId, propertySet: PropertySet = PropertySet.FirstClassProperties): Promise<MeetingResponse> {
return service.BindToItem<MeetingResponse>(id, propertySet, MeetingResponse);
}
/**
* @internal Gets the minimum required server version.
*
* @return {ExchangeVersion} Earliest Exchange version in which this service object type is supported.
*/
GetMinimumRequiredServerVersion(): ExchangeVersion {
return ExchangeVersion.Exchange2007_SP1;
}
/**
* @internal Internal method to return the schema associated with this type of object.
*
* @return {ServiceObjectSchema} The schema associated with this type of object.
*/
GetSchema(): ServiceObjectSchema {
return Schemas.MeetingResponseSchema.Instance;
}
/**
* @internal Gets the element name of item in XML
*
* @return {string} name of elelment
*/
GetXmlElementName(): string { return XmlElementNames.MeetingResponse; }
}