UNPKG

@jaricardodev/ews-javascript-api

Version:
41 lines (38 loc) 2.01 kB
import {ConnectingIdType} from "../Enumerations/ConnectingIdType"; import {PrivilegedLogonType} from "../Enumerations/PrivilegedLogonType"; import {PrivilegedUserIdBudgetType} from "../Enumerations/PrivilegedUserIdBudgetType"; import {EwsServiceXmlWriter} from "../Core/EwsServiceXmlWriter"; import {ExchangeVersion} from "../Enumerations/ExchangeVersion"; import {XmlNamespace} from "../Enumerations/XmlNamespace"; import {XmlElementNames} from "../Core/XmlElementNames"; //todo: should be done /** @internal */ export class PrivilegedUserId { IdType: ConnectingIdType; Id: string; LogonType: PrivilegedLogonType; BudgetType: PrivilegedUserIdBudgetType; //private logonType: PrivilegedLogonType; //private idType: ConnectingIdType; //private id: string; //private budgetType: PrivilegedUserIdBudgetType; constructor(openType?: PrivilegedLogonType, idType?: ConnectingIdType, id?: string) { this.LogonType = openType; this.IdType = idType; this.Id = id; } WriteToXml(writer: EwsServiceXmlWriter, requestedServerVersion: ExchangeVersion): void { if (this.Id == null || this.Id === undefined || this.Id === "") { throw new Error("id can not be null"); } writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.OpenAsAdminOrSystemService); writer.WriteAttributeString(XmlElementNames.LogonType, PrivilegedLogonType[this.LogonType]); if (requestedServerVersion >= ExchangeVersion.Exchange2013 && this.BudgetType) { writer.WriteAttributeString(XmlElementNames.BudgetType, PrivilegedUserIdBudgetType[this.BudgetType]); } writer.WriteStartElement(XmlNamespace.Types, XmlElementNames.ConnectingSID); writer.WriteElementValue(XmlNamespace.Types, ConnectingIdType[this.IdType], this.Id); writer.WriteEndElement(); // ConnectingSID writer.WriteEndElement(); // OpenAsAdminOrSystemService } }