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 ItemId_1 = require("../../../ComplexProperties/ItemId");
var MessageBody_1 = require("../../../ComplexProperties/MessageBody");
var StringPropertyDefinition_1 = require("../../../PropertyDefinitions/StringPropertyDefinition");
var MimeContent_1 = require("../../../ComplexProperties/MimeContent");
var FolderId_1 = require("../../../ComplexProperties/FolderId");
var GenericPropertyDefinition_1 = require("../../../PropertyDefinitions/GenericPropertyDefinition");
var AttachmentsPropertyDefinition_1 = require("../../../PropertyDefinitions/AttachmentsPropertyDefinition");
var DateTimePropertyDefinition_1 = require("../../../PropertyDefinitions/DateTimePropertyDefinition");
var IntPropertyDefinition_1 = require("../../../PropertyDefinitions/IntPropertyDefinition");
var StringList_1 = require("../../../ComplexProperties/StringList");
var BoolPropertyDefinition_1 = require("../../../PropertyDefinitions/BoolPropertyDefinition");
var InternetMessageHeaderCollection_1 = require("../../../ComplexProperties/InternetMessageHeaderCollection");
var ResponseObjectsPropertyDefinition_1 = require("../../../PropertyDefinitions/ResponseObjectsPropertyDefinition");
var ScopedDateTimePropertyDefinition_1 = require("../../../PropertyDefinitions/ScopedDateTimePropertyDefinition");
//import AppointmentSchema = require("./AppointmentSchema");
var EffectiveRightsPropertyDefinition_1 = require("../../../PropertyDefinitions/EffectiveRightsPropertyDefinition");
var ConversationId_1 = require("../../../ComplexProperties/ConversationId");
var UniqueBody_1 = require("../../../ComplexProperties/UniqueBody");
var ByteArrayPropertyDefinition_1 = require("../../../PropertyDefinitions/ByteArrayPropertyDefinition");
var NormalizedBody_1 = require("../../../ComplexProperties/NormalizedBody");
var EntityExtractionResult_1 = require("../../../ComplexProperties/EntityExtractionResult");
var Flag_1 = require("../../../ComplexProperties/Flag");
var PolicyTag_1 = require("../../../ComplexProperties/PolicyTag");
var ArchiveTag_1 = require("../../../ComplexProperties/ArchiveTag");
var TextBody_1 = require("../../../ComplexProperties/TextBody");
var ServiceObjectSchema_1 = require("./ServiceObjectSchema");
//module ItemSchema {
var FieldUris;
(function (FieldUris) {
FieldUris.ArchiveTag = "item:ArchiveTag";
FieldUris.Attachments = "item:Attachments";
FieldUris.Body = "item:Body";
FieldUris.Categories = "item:Categories";
FieldUris.ConversationId = "item:ConversationId";
FieldUris.Culture = "item:Culture";
FieldUris.DateTimeCreated = "item:DateTimeCreated";
FieldUris.DateTimeReceived = "item:DateTimeReceived";
FieldUris.DateTimeSent = "item:DateTimeSent";
FieldUris.DisplayCc = "item:DisplayCc";
FieldUris.DisplayTo = "item:DisplayTo";
FieldUris.EffectiveRights = "item:EffectiveRights";
FieldUris.EntityExtractionResult = "item:EntityExtractionResult";
FieldUris.Flag = "item:Flag";
FieldUris.HasAttachments = "item:HasAttachments";
FieldUris.IconIndex = "item:IconIndex";
FieldUris.Importance = "item:Importance";
FieldUris.InReplyTo = "item:InReplyTo";
FieldUris.InstanceKey = "item:InstanceKey";
FieldUris.InternetMessageHeaders = "item:InternetMessageHeaders";
FieldUris.IsAssociated = "item:IsAssociated";
FieldUris.IsDraft = "item:IsDraft";
FieldUris.IsFromMe = "item:IsFromMe";
FieldUris.IsResend = "item:IsResend";
FieldUris.IsSubmitted = "item:IsSubmitted";
FieldUris.IsUnmodified = "item:IsUnmodified";
FieldUris.ItemClass = "item:ItemClass";
FieldUris.ItemId = "item:ItemId";
FieldUris.LastModifiedName = "item:LastModifiedName";
FieldUris.LastModifiedTime = "item:LastModifiedTime";
FieldUris.MimeContent = "item:MimeContent";
FieldUris.NormalizedBody = "item:NormalizedBody";
FieldUris.ParentFolderId = "item:ParentFolderId";
FieldUris.PolicyTag = "item:PolicyTag";
FieldUris.Preview = "item:Preview";
FieldUris.ReminderDueBy = "item:ReminderDueBy";
FieldUris.ReminderIsSet = "item:ReminderIsSet";
FieldUris.ReminderMinutesBeforeStart = "item:ReminderMinutesBeforeStart";
FieldUris.ResponseObjects = "item:ResponseObjects";
FieldUris.RetentionDate = "item:RetentionDate";
FieldUris.Sensitivity = "item:Sensitivity";
FieldUris.Size = "item:Size";
FieldUris.StoreEntryId = "item:StoreEntryId";
FieldUris.Subject = "item:Subject";
FieldUris.TextBody = "item:TextBody";
FieldUris.UniqueBody = "item:UniqueBody";
FieldUris.WebClientEditFormQueryString = "item:WebClientEditFormQueryString";
FieldUris.WebClientReadFormQueryString = "item:WebClientReadFormQueryString";
})(FieldUris || (FieldUris = {}));
//}
var ItemSchema = (function (_super) {
__extends(ItemSchema, _super);
function ItemSchema() {
_super.apply(this, arguments);
}
ItemSchema.prototype.RegisterProperties = function () {
_super.prototype.RegisterProperties.call(this);
_super.prototype.RegisterProperty.call(this, ItemSchema.MimeContent);
_super.prototype.RegisterProperty.call(this, ItemSchema.Id);
_super.prototype.RegisterProperty.call(this, ItemSchema.ParentFolderId);
_super.prototype.RegisterProperty.call(this, ItemSchema.ItemClass);
_super.prototype.RegisterProperty.call(this, ItemSchema.Subject);
_super.prototype.RegisterProperty.call(this, ItemSchema.Sensitivity);
_super.prototype.RegisterProperty.call(this, ItemSchema.Body);
_super.prototype.RegisterProperty.call(this, ItemSchema.Attachments);
_super.prototype.RegisterProperty.call(this, ItemSchema.DateTimeReceived);
_super.prototype.RegisterProperty.call(this, ItemSchema.Size);
_super.prototype.RegisterProperty.call(this, ItemSchema.Categories);
_super.prototype.RegisterProperty.call(this, ItemSchema.Importance);
_super.prototype.RegisterProperty.call(this, ItemSchema.InReplyTo);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsSubmitted);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsDraft);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsFromMe);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsResend);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsUnmodified);
_super.prototype.RegisterProperty.call(this, ItemSchema.InternetMessageHeaders);
_super.prototype.RegisterProperty.call(this, ItemSchema.DateTimeSent);
_super.prototype.RegisterProperty.call(this, ItemSchema.DateTimeCreated);
_super.prototype.RegisterProperty.call(this, ItemSchema.AllowedResponseActions);
_super.prototype.RegisterProperty.call(this, ItemSchema.ReminderDueBy);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsReminderSet);
_super.prototype.RegisterProperty.call(this, ItemSchema.ReminderMinutesBeforeStart);
_super.prototype.RegisterProperty.call(this, ItemSchema.DisplayCc);
_super.prototype.RegisterProperty.call(this, ItemSchema.DisplayTo);
_super.prototype.RegisterProperty.call(this, ItemSchema.HasAttachments);
_super.prototype.RegisterProperty.call(this, ServiceObjectSchema_1.ServiceObjectSchema.ExtendedProperties);
_super.prototype.RegisterProperty.call(this, ItemSchema.Culture);
_super.prototype.RegisterProperty.call(this, ItemSchema.EffectiveRights);
_super.prototype.RegisterProperty.call(this, ItemSchema.LastModifiedName);
_super.prototype.RegisterProperty.call(this, ItemSchema.LastModifiedTime);
_super.prototype.RegisterProperty.call(this, ItemSchema.IsAssociated);
_super.prototype.RegisterProperty.call(this, ItemSchema.WebClientReadFormQueryString);
_super.prototype.RegisterProperty.call(this, ItemSchema.WebClientEditFormQueryString);
_super.prototype.RegisterProperty.call(this, ItemSchema.ConversationId);
_super.prototype.RegisterProperty.call(this, ItemSchema.UniqueBody);
_super.prototype.RegisterProperty.call(this, ItemSchema.Flag);
_super.prototype.RegisterProperty.call(this, ItemSchema.StoreEntryId);
_super.prototype.RegisterProperty.call(this, ItemSchema.InstanceKey);
_super.prototype.RegisterProperty.call(this, ItemSchema.NormalizedBody);
_super.prototype.RegisterProperty.call(this, ItemSchema.EntityExtractionResult);
_super.prototype.RegisterProperty.call(this, ItemSchema.PolicyTag);
_super.prototype.RegisterProperty.call(this, ItemSchema.ArchiveTag);
_super.prototype.RegisterProperty.call(this, ItemSchema.RetentionDate);
_super.prototype.RegisterProperty.call(this, ItemSchema.Preview);
_super.prototype.RegisterProperty.call(this, ItemSchema.TextBody);
_super.prototype.RegisterProperty.call(this, ItemSchema.IconIndex);
};
ItemSchema.Id = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("Id", XmlElementNames_1.XmlElementNames.ItemId, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ItemId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new ItemId_1.ItemId(); });
ItemSchema.Body = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("Body", XmlElementNames_1.XmlElementNames.Body, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Body, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete, function () { return new MessageBody_1.MessageBody(); });
ItemSchema.ItemClass = new StringPropertyDefinition_1.StringPropertyDefinition("ItemClass", XmlElementNames_1.XmlElementNames.ItemClass, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ItemClass, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.Subject = new StringPropertyDefinition_1.StringPropertyDefinition("Subject", XmlElementNames_1.XmlElementNames.Subject, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Subject, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.MimeContent = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("MimeContent", XmlElementNames_1.XmlElementNames.MimeContent, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.MimeContent, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.MustBeExplicitlyLoaded, function () { return new MimeContent_1.MimeContent(); });
ItemSchema.ParentFolderId = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ParentFolderId", XmlElementNames_1.XmlElementNames.ParentFolderId, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ParentFolderId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new FolderId_1.FolderId(); });
ItemSchema.Sensitivity = new GenericPropertyDefinition_1.GenericPropertyDefinition("Sensitivity", XmlElementNames_1.XmlElementNames.Sensitivity, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Sensitivity, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.Attachments = new AttachmentsPropertyDefinition_1.AttachmentsPropertyDefinition("Attachments");
ItemSchema.DateTimeReceived = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("DateTimeReceived", XmlElementNames_1.XmlElementNames.DateTimeReceived, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DateTimeReceived, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.Size = new IntPropertyDefinition_1.IntPropertyDefinition("Size", XmlElementNames_1.XmlElementNames.Size, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Size, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.Categories = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("Categories", XmlElementNames_1.XmlElementNames.Categories, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Categories, PropertyDefinitionFlags_1.PropertyDefinitionFlags.AutoInstantiateOnRead | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new StringList_1.StringList(); });
ItemSchema.Importance = new GenericPropertyDefinition_1.GenericPropertyDefinition("Importance", XmlElementNames_1.XmlElementNames.Importance, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Importance, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.InReplyTo = new StringPropertyDefinition_1.StringPropertyDefinition("InReplyTo", XmlElementNames_1.XmlElementNames.InReplyTo, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.InReplyTo, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.IsSubmitted = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsSubmitted", XmlElementNames_1.XmlElementNames.IsSubmitted, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsSubmitted, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.IsAssociated = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsAssociated", XmlElementNames_1.XmlElementNames.IsAssociated, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.IsAssociated, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.IsDraft = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsDraft", XmlElementNames_1.XmlElementNames.IsDraft, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsDraft, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.IsFromMe = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsFromMe", XmlElementNames_1.XmlElementNames.IsFromMe, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsFromMe, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.IsResend = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsResend", XmlElementNames_1.XmlElementNames.IsResend, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsResend, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.IsUnmodified = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsUnmodified", XmlElementNames_1.XmlElementNames.IsUnmodified, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsUnmodified, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.InternetMessageHeaders = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("InternetMessageHeaders", XmlElementNames_1.XmlElementNames.InternetMessageHeaders, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.InternetMessageHeaders, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new InternetMessageHeaderCollection_1.InternetMessageHeaderCollection(); });
ItemSchema.DateTimeSent = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("DateTimeSent", XmlElementNames_1.XmlElementNames.DateTimeSent, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DateTimeSent, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.DateTimeCreated = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("DateTimeCreated", XmlElementNames_1.XmlElementNames.DateTimeCreated, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DateTimeCreated, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.AllowedResponseActions = new ResponseObjectsPropertyDefinition_1.ResponseObjectsPropertyDefinition("ResponseObjects", XmlElementNames_1.XmlElementNames.ResponseObjects, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ResponseObjects, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None);
ItemSchema.ReminderDueBy = new ScopedDateTimePropertyDefinition_1.ScopedDateTimePropertyDefinition("ReminderDueBy", XmlElementNames_1.XmlElementNames.ReminderDueBy, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ReminderDueBy, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function (version) { debugger; return ServiceObjectSchema_1.ServiceObjectSchema.AppointmentSchema.StartTimeZone; });
ItemSchema.IsReminderSet = new BoolPropertyDefinition_1.BoolPropertyDefinition("ReminderIsSet", XmlElementNames_1.XmlElementNames.ReminderIsSet, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ReminderIsSet, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.ReminderMinutesBeforeStart = new IntPropertyDefinition_1.IntPropertyDefinition("ReminderMinutesBeforeStart", XmlElementNames_1.XmlElementNames.ReminderMinutesBeforeStart, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ReminderMinutesBeforeStart, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.DisplayCc = new StringPropertyDefinition_1.StringPropertyDefinition("DisplayCc", XmlElementNames_1.XmlElementNames.DisplayCc, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DisplayCc, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.DisplayTo = new StringPropertyDefinition_1.StringPropertyDefinition("DisplayTo", XmlElementNames_1.XmlElementNames.DisplayTo, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.DisplayTo, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.HasAttachments = new BoolPropertyDefinition_1.BoolPropertyDefinition("HasAttachments", XmlElementNames_1.XmlElementNames.HasAttachments, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.HasAttachments, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.Culture = new StringPropertyDefinition_1.StringPropertyDefinition("Culture", XmlElementNames_1.XmlElementNames.Culture, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.Culture, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.EffectiveRights = new EffectiveRightsPropertyDefinition_1.EffectiveRightsPropertyDefinition("EffectiveRights", XmlElementNames_1.XmlElementNames.EffectiveRights, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.EffectiveRights, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.LastModifiedName = new StringPropertyDefinition_1.StringPropertyDefinition("LastModifiedName", XmlElementNames_1.XmlElementNames.LastModifiedName, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.LastModifiedName, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.LastModifiedTime = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("LastModifiedTime", XmlElementNames_1.XmlElementNames.LastModifiedTime, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.LastModifiedTime, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.WebClientReadFormQueryString = new StringPropertyDefinition_1.StringPropertyDefinition("WebClientReadFormQueryString", XmlElementNames_1.XmlElementNames.WebClientReadFormQueryString, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.WebClientReadFormQueryString, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.WebClientEditFormQueryString = new StringPropertyDefinition_1.StringPropertyDefinition("WebClientEditFormQueryString", XmlElementNames_1.XmlElementNames.WebClientEditFormQueryString, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.WebClientEditFormQueryString, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.ConversationId = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ConversationId", XmlElementNames_1.XmlElementNames.ConversationId, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.ConversationId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new ConversationId_1.ConversationId(); });
ItemSchema.UniqueBody = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("UniqueBody", XmlElementNames_1.XmlElementNames.UniqueBody, ExchangeVersion_1.ExchangeVersion.Exchange2010, FieldUris.UniqueBody, PropertyDefinitionFlags_1.PropertyDefinitionFlags.MustBeExplicitlyLoaded, function () { return new UniqueBody_1.UniqueBody(); });
ItemSchema.StoreEntryId = new ByteArrayPropertyDefinition_1.ByteArrayPropertyDefinition("StoreEntryId", XmlElementNames_1.XmlElementNames.StoreEntryId, ExchangeVersion_1.ExchangeVersion.Exchange2010_SP2, FieldUris.StoreEntryId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.InstanceKey = new ByteArrayPropertyDefinition_1.ByteArrayPropertyDefinition("InstanceKey", XmlElementNames_1.XmlElementNames.InstanceKey, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.InstanceKey, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.NormalizedBody = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("NormalizedBody", XmlElementNames_1.XmlElementNames.NormalizedBody, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.NormalizedBody, PropertyDefinitionFlags_1.PropertyDefinitionFlags.MustBeExplicitlyLoaded, function () { return new NormalizedBody_1.NormalizedBody(); });
ItemSchema.EntityExtractionResult = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("EntityExtractionResult", XmlElementNames_1.XmlElementNames.NlgEntityExtractionResult, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.EntityExtractionResult, PropertyDefinitionFlags_1.PropertyDefinitionFlags.MustBeExplicitlyLoaded, function () { return new EntityExtractionResult_1.EntityExtractionResult(); });
ItemSchema.Flag = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("Flag", XmlElementNames_1.XmlElementNames.Flag, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.Flag, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new Flag_1.Flag(); });
ItemSchema.PolicyTag = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("PolicyTag", XmlElementNames_1.XmlElementNames.PolicyTag, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.PolicyTag, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new PolicyTag_1.PolicyTag(); });
ItemSchema.ArchiveTag = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("ArchiveTag", XmlElementNames_1.XmlElementNames.ArchiveTag, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.ArchiveTag, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanSet | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanUpdate | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanDelete | PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, function () { return new ArchiveTag_1.ArchiveTag(); });
ItemSchema.RetentionDate = new DateTimePropertyDefinition_1.DateTimePropertyDefinition("RetentionDate", XmlElementNames_1.XmlElementNames.RetentionDate, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.RetentionDate, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind, true);
ItemSchema.Preview = new StringPropertyDefinition_1.StringPropertyDefinition("Preview", XmlElementNames_1.XmlElementNames.Preview, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.Preview, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.TextBody = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("TextBody", XmlElementNames_1.XmlElementNames.TextBody, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.TextBody, PropertyDefinitionFlags_1.PropertyDefinitionFlags.MustBeExplicitlyLoaded, function () { return new TextBody_1.TextBody(); });
ItemSchema.IconIndex = new GenericPropertyDefinition_1.GenericPropertyDefinition("IconIndex", XmlElementNames_1.XmlElementNames.IconIndex, ExchangeVersion_1.ExchangeVersion.Exchange2013, FieldUris.IconIndex, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
ItemSchema.Instance = new ItemSchema();
return ItemSchema;
})(ServiceObjectSchema_1.ServiceObjectSchema);
exports.ItemSchema = ItemSchema;