import { NodeProfile } from '../@types/nodeProfile'; import { getNodeAndIdentityFromPartyName } from './nodeProfile'; import contour_dev_db_profile from './testProfile/contour-db'; import contour_dev_profile from './testProfile/contour-dev'; let envProfile: EnvProfile; export function getEnvProfile(): EnvProfile { if (!envProfile) { envProfile = new EnvProfile(); } return envProfile; } class EnvProfile { profiles: { [key: string]: NodeProfile }; constructor() { if (contourfet.env.startsWith('dev_')) { const envId = contourfet.env.split('dev_')[1]; const profile: { [key: string]: NodeProfile } = contour_dev_profile; for (const node in profile) { profile[node].baseUrl = profile[node].baseUrl.replace('#env#', envId); profile[node].mailServerUrl = `https://mail.${envId}.dev.contournetwork.io`; if (!profile[node].dbConfig) { profile[node].dbConfig = { dbEngine: '', connectionConfig: { user: '', password: '', host: '', port: null, database: '' } }; const dbProfile = contour_dev_db_profile['dev_' + envId]; profile[node].dbConfig.dbEngine = dbProfile.engine; profile[node].dbConfig.connectionConfig.host = dbProfile.host; profile[node].dbConfig.connectionConfig.user = dbProfile.userName; profile[node].dbConfig.connectionConfig.password = dbProfile.password; profile[node].dbConfig.connectionConfig.port = dbProfile.port; profile[node].dbConfig.connectionConfig.database = node + '_ws'; } } this.profiles = profile; } else { this.profiles = require(`./testProfile/${contourfet.env}`); } } getNodeProfile(partyName: string): NodeProfile { if (!partyName) { return null; } const names = getNodeAndIdentityFromPartyName(partyName); return this.profiles[names.nodeName]; } }