in legacy/src/Calendar/EventSources/VSOCapacityEventSource.ts [602:661]
public static parseUniquefiedIdentityName(name: string): string {
if (!name) {
return null;
}
let i = name.lastIndexOf(IdentityHelper.AAD_IDENTITY_UNIQUEFIEDNAME_SEPERATOR_START);
let j = name.lastIndexOf(IdentityHelper.AAD_IDENTITY_UNIQUEFIEDNAME_SEPERATOR_END);
let isContainer: boolean = false;
let isAad: boolean = false;
if (i >= 0 && j > i) {
isAad = true;
}
// replace "<<" with "<" and ">>" with ">" in case of an AAD identity string representation to make further processing easier
name = name
.replace(
IdentityHelper.AAD_IDENTITY_UNIQUEFIEDNAME_SEPERATOR_START,
IdentityHelper.IDENTITY_UNIQUEFIEDNAME_SEPERATOR_START,
)
.replace(
IdentityHelper.AAD_IDENTITY_UNIQUEFIEDNAME_SEPERATOR_END,
IdentityHelper.IDENTITY_UNIQUEFIEDNAME_SEPERATOR_END,
);
i = name.lastIndexOf(IdentityHelper.IDENTITY_UNIQUEFIEDNAME_SEPERATOR_START);
j = name.lastIndexOf(IdentityHelper.IDENTITY_UNIQUEFIEDNAME_SEPERATOR_END);
let displayName = name;
let alias = "";
let id = "";
let localScopeId = "";
if (i >= 0 && j > i) {
displayName = name.substr(0, i).trim();
if (isAad) {
// if its an AAD identity, the string would be in format - name <<object id>>
id = name.substr(i + 1, j - i - 1).trim(); // this would be in format objectid\email
if (id.indexOf(IdentityHelper.AAD_IDENTITY_USER_PREFIX) === 0) {
id = id.substr(IdentityHelper.AAD_IDENTITY_USER_PREFIX.length);
} else if (id.indexOf(IdentityHelper.AAD_IDENTITY_GROUP_PREFIX) === 0) {
isContainer = true;
id = id.substr(IdentityHelper.AAD_IDENTITY_GROUP_PREFIX.length);
}
const ii = id.lastIndexOf("\\");
if (ii > 0) {
alias = id.substr(ii + 1).trim();
id = id.substr(0, ii).trim();
}
} else {
alias = name.substr(i + 1, j - i - 1).trim();
// If the alias component is just a guid then this is not a uniqueName
// but the localScopeId which is used only for TFS/AAD groups
if (Utils_String.isGuid(alias)) {
localScopeId = alias;
alias = "";
}
}
}
return displayName;
}