import { NodeProfile } from '../@types/nodeProfile'; import envConfig from './env-config'; import { getEnvProfile } from './envProfile'; export const IDENTITY_SEPARATOR = '|'; export function getNodeAndIdentityFromPartyName(partyName: string): { nodeName: string; identity: string } { if (!partyName) { throw new Error('partyName is required'); } let identity: string; let nodeName = partyName; if (partyName.includes(IDENTITY_SEPARATOR)) { [nodeName, identity] = partyName.split(IDENTITY_SEPARATOR); } return { nodeName, identity }; } export function getDisplayName(partyName: string): string { if (!partyName) { return ''; } const { nodeName, identity } = getNodeAndIdentityFromPartyName(partyName); if (identity) { return getNodeProfile(nodeName).childIdentities[identity]; } else { return getNodeProfile(nodeName)?.displayName; } } export function getUserEmail(userName: string, nodeName: string): string { return userName + '@' + nodeName + '.contour'; } export function getLdapEmail(userName: string): string { return `${userName}@contour.network`; } export function isNodeLdapEnabled(nodeName: string): boolean { return getNodeProfile(nodeName).ldapEnabled; } export function getNodeProfile(nodeName: string): NodeProfile { return getEnvProfile().getNodeProfile(nodeName); } export function getDefaultNodeProfile(): NodeProfile { return getEnvProfile().getNodeProfile(envConfig.defaultParty.applicant); } export function getDefaultNodeProfileForParty(partyRole: string): NodeProfile { return getEnvProfile().getNodeProfile(envConfig.defaultParty[partyRole]); } export function getDefaultNodeBaseUrl(): string { return getNodeProfile(envConfig.defaultParty.applicant).baseUrl; } /** *Get node version, return 0 if node version is not defined * * @export * @param {string} nodeName * @return {*} {number} */ export function getNodeVersionAsNumber(nodeName: string): number { const nodeProfile = getEnvProfile().getNodeProfile(nodeName); return Number(nodeProfile.appVersion.replace('v', '').replace('_', '.')); }