var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var XmlElementNames_1 = require("../../XmlElementNames");
var ComplexPropertyDefinition_1 = require("../../../PropertyDefinitions/ComplexPropertyDefinition");
var PropertyDefinitionFlags_1 = require("../../../Enumerations/PropertyDefinitionFlags");
var ExchangeVersion_1 = require("../../../Enumerations/ExchangeVersion");
var EmailAddressCollection_1 = require("../../../ComplexProperties/EmailAddressCollection");
var ByteArrayPropertyDefinition_1 = require("../../../PropertyDefinitions/ByteArrayPropertyDefinition");
var StringPropertyDefinition_1 = require("../../../PropertyDefinitions/StringPropertyDefinition");
var ContainedPropertyDefinition_1 = require("../../../PropertyDefinitions/ContainedPropertyDefinition");
var EmailAddress_1 = require("../../../ComplexProperties/EmailAddress");
var BoolPropertyDefinition_1 = require("../../../PropertyDefinitions/BoolPropertyDefinition");
var ApprovalRequestData_1 = require("../../../ComplexProperties/ApprovalRequestData");
var VotingInformation_1 = require("../../../ComplexProperties/VotingInformation");
var ItemSchema_1 = require("./ItemSchema");
//module EmailMessageSchema {
var FieldUris;
(function (FieldUris) {
FieldUris.ConversationIndex = "message:ConversationIndex";
FieldUris.ConversationTopic = "message:ConversationTopic";
FieldUris.InternetMessageId = "message:InternetMessageId";
FieldUris.IsRead = "message:IsRead";
FieldUris.IsResponseRequested = "message:IsResponseRequested";
FieldUris.IsReadReceiptRequested = "message:IsReadReceiptRequested";
FieldUris.IsDeliveryReceiptRequested = "message:IsDeliveryReceiptRequested";
FieldUris.References = "message:References";
FieldUris.ReplyTo = "message:ReplyTo";
FieldUris.From = "message:From";
FieldUris.Sender = "message:Sender";
FieldUris.ToRecipients = "message:ToRecipients";
FieldUris.CcRecipients = "message:CcRecipients";
FieldUris.BccRecipients = "message:BccRecipients";
FieldUris.ReceivedBy = "message:ReceivedBy";
FieldUris.ReceivedRepresenting = "message:ReceivedRepresenting";
FieldUris.ApprovalRequestData = "message:ApprovalRequestData";
FieldUris.VotingInformation = "message:VotingInformation";
})(FieldUris || (FieldUris = {}));
//}
var EmailMessageSchema = (function (_super) {
__extends(EmailMessageSchema, _super);
function EmailMessageSchema() {
_super.apply(this, arguments);
}
EmailMessageSchema.prototype.RegisterProperties = function () {
_super.prototype.RegisterProperties.call(this);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.Sender);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ToRecipients);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.CcRecipients);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.BccRecipients);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.IsReadReceiptRequested);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.IsDeliveryReceiptRequested);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ConversationIndex);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ConversationTopic);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.From);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.InternetMessageId);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.IsRead);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.IsResponseRequested);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.References);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ReplyTo);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ReceivedBy);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ReceivedRepresenting);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.ApprovalRequestData);
_super.prototype.RegisterProperty.call(this, EmailMessageSchema.VotingInformation);
};
EmailMessageSchema.ToRecipients = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ToRecipients", XmlElementNames_1.XmlElementNames.ToRecipients, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ToRecipients, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new EmailAddressCollection_1.EmailAddressCollection(); });
EmailMessageSchema.BccRecipients = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("BccRecipients", XmlElementNames_1.XmlElementNames.BccRecipients, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.BccRecipients, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new EmailAddressCollection_1.EmailAddressCollection(); });
EmailMessageSchema.CcRecipients = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("CcRecipients", XmlElementNames_1.XmlElementNames.CcRecipients, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.CcRecipients, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new EmailAddressCollection_1.EmailAddressCollection(); });
EmailMessageSchema.ConversationIndex = new ByteArrayPropertyDefinition_1.ByteArrayPropertyDefinition("ConversationIndex", XmlElementNames_1.XmlElementNames.ConversationIndex, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConversationIndex, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.ConversationTopic = new StringPropertyDefinition_1.StringPropertyDefinition("ConversationTopic", XmlElementNames_1.XmlElementNames.ConversationTopic, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ConversationTopic, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.From = new ContainedPropertyDefinition_1.ContainedPropertyDefinition("From", XmlElementNames_1.XmlElementNames.From, XmlElementNames_1.XmlElementNames.Mailbox, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.From, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EmailAddress_1.EmailAddress(); });
EmailMessageSchema.IsDeliveryReceiptRequested = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsDeliveryReceiptRequested", XmlElementNames_1.XmlElementNames.IsDeliveryReceiptRequested, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsDeliveryReceiptRequested, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.IsRead = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsRead", XmlElementNames_1.XmlElementNames.IsRead, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsRead, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.IsReadReceiptRequested = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsReadReceiptRequested", XmlElementNames_1.XmlElementNames.IsReadReceiptRequested, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsReadReceiptRequested, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.IsResponseRequested = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsResponseRequested", XmlElementNames_1.XmlElementNames.IsResponseRequested, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsResponseRequested, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, true);
EmailMessageSchema.InternetMessageId = new StringPropertyDefinition_1.StringPropertyDefinition("InternetMessageId", XmlElementNames_1.XmlElementNames.InternetMessageId, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.InternetMessageId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.References = new StringPropertyDefinition_1.StringPropertyDefinition("References", XmlElementNames_1.XmlElementNames.References, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.References, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
EmailMessageSchema.ReplyTo = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ReplyTo", XmlElementNames_1.XmlElementNames.ReplyTo, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ReplyTo, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new EmailAddressCollection_1.EmailAddressCollection(); });
EmailMessageSchema.Sender = new ContainedPropertyDefinition_1.ContainedPropertyDefinition("Sender", XmlElementNames_1.XmlElementNames.Sender, XmlElementNames_1.XmlElementNames.Mailbox, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Sender, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EmailAddress_1.EmailAddress(); });
EmailMessageSchema.ReceivedBy = new ContainedPropertyDefinition_1.ContainedPropertyDefinition("ReceivedBy", XmlElementNames_1.XmlElementNames.ReceivedBy, XmlElementNames_1.XmlElementNames.Mailbox, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ReceivedBy, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EmailAddress_1.EmailAddress(); });
EmailMessageSchema.ReceivedRepresenting = new ContainedPropertyDefinition_1.ContainedPropertyDefinition("ReceivedRepresenting", XmlElementNames_1.XmlElementNames.ReceivedRepresenting, XmlElementNames_1.XmlElementNames.Mailbox, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ReceivedRepresenting, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new EmailAddress_1.EmailAddress(); });
EmailMessageSchema.ApprovalRequestData = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ApprovalRequestData", XmlElementNames_1.XmlElementNames.ApprovalRequestData, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.ApprovalRequestData, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new ApprovalRequestData_1.ApprovalRequestData(); });
EmailMessageSchema.VotingInformation = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("VotingInformation", XmlElementNames_1.XmlElementNames.VotingInformation, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.VotingInformation, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new VotingInformation_1.VotingInformation(); });
EmailMessageSchema.Instance = new EmailMessageSchema();
return EmailMessageSchema;
})(ItemSchema_1.ItemSchema);
exports.EmailMessageSchema = EmailMessageSchema;