@rockcarver/frodo-lib 0.16.0 → 0.16.2-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/ops/LogOps.js CHANGED
@@ -130,7 +130,11 @@ function _tailLogs() {
130
130
  var noiseFilter = nf == null ? noise : nf;
131
131
 
132
132
  if (Array.isArray(logsObject.result)) {
133
- filteredLogs = logsObject.result.filter(el => !noiseFilter.includes(el.payload.logger) && !noiseFilter.includes(el.type) && (levels[0] === 'ALL' || levels.includes(resolvePayloadLevel(el))) && (typeof txid === 'undefined' || txid === null || el.payload.transactionId.includes(txid)));
133
+ filteredLogs = logsObject.result.filter(el => {
134
+ var _el$payload$transacti;
135
+
136
+ return !noiseFilter.includes(el.payload.logger) && !noiseFilter.includes(el.type) && (levels[0] === 'ALL' || levels.includes(resolvePayloadLevel(el))) && (typeof txid === 'undefined' || txid === null || ((_el$payload$transacti = el.payload.transactionId) === null || _el$payload$transacti === void 0 ? void 0 : _el$payload$transacti.includes(txid)));
137
+ });
134
138
  }
135
139
 
136
140
  filteredLogs.forEach(e => {
@@ -1 +1 @@
1
- {"version":3,"file":"LogOps.js","names":["unfilterableNoise","miscNoise","journeysNoise","journeys","samlNoise","saml","noise","concat","numLogLevelMap","logLevelMap","SEVERE","ERROR","FATAL","WARN","WARNING","CONFIG","INFO","INFORMATION","DEBUG","FINE","FINER","FINEST","ALL","defaultNoiseFilter","resolveLevel","level","Number","isNaN","parseInt","resolvePayloadLevel","log","type","payload","match","e","getLogSources","sources","getSources","then","response","data","result","forEach","item","push","catch","error","printMessage","tailLogs","source","levels","txid","cookie","nf","LogApi","tail","status","logsObject","filteredLogs","noiseFilter","Array","isArray","filter","el","includes","logger","transactionId","JSON","stringify","setTimeout","pagedResultsCookie","provisionCreds","keyName","storage","session","getUsername","getAPIKeys","k","name","getCurrentTimestamp","createAPIKeyAndSecret","resp","getTenant","fetchLogs","startTs","endTs","ffString","fetch"],"sources":["ops/LogOps.ts"],"sourcesContent":["import { printMessage } from './utils/Console';\nimport { getCurrentTimestamp } from './utils/ExportImportUtils';\nimport { createAPIKeyAndSecret, getAPIKeys, getSources } from '../api/LogApi';\n\nimport storage from '../storage/SessionStorage';\n\nimport * as LogApi from '../api/LogApi';\n\n// eslint-disable-next-line no-unused-vars\nconst unfilterableNoise = [\n 'text/plain', // Unfortunately, it is impossible to filter out those without excluding IDM script logging as well\n];\n\nconst miscNoise = [\n 'com.iplanet.dpro.session.operations.ServerSessionOperationStrategy',\n 'com.iplanet.dpro.session.SessionIDFactory',\n 'com.iplanet.dpro.session.share.SessionEncodeURL',\n 'com.iplanet.services.naming.WebtopNaming',\n 'com.iplanet.sso.providers.dpro.SSOProviderImpl',\n 'com.sun.identity.authentication.AuthContext',\n 'com.sun.identity.authentication.client.AuthClientUtils',\n 'com.sun.identity.authentication.config.AMAuthConfigType',\n 'com.sun.identity.authentication.config.AMAuthenticationManager',\n 'com.sun.identity.authentication.config.AMAuthLevelManager',\n 'com.sun.identity.authentication.config.AMConfiguration',\n 'com.sun.identity.authentication.jaas.LoginContext',\n 'com.sun.identity.authentication.modules.application.Application',\n 'com.sun.identity.authentication.server.AuthContextLocal',\n 'com.sun.identity.authentication.service.AMLoginContext',\n 'com.sun.identity.authentication.service.AuthContextLookup',\n 'com.sun.identity.authentication.service.AuthD',\n 'com.sun.identity.authentication.service.AuthUtils',\n 'com.sun.identity.authentication.service.DSAMECallbackHandler',\n 'com.sun.identity.authentication.service.LoginState',\n 'com.sun.identity.authentication.spi.AMLoginModule',\n 'com.sun.identity.delegation.DelegationEvaluatorImpl',\n 'com.sun.identity.idm.plugins.internal.AgentsRepo',\n 'com.sun.identity.idm.server.IdCachedServicesImpl',\n 'com.sun.identity.idm.server.IdRepoPluginsCache',\n 'com.sun.identity.idm.server.IdServicesImpl',\n 'com.sun.identity.log.spi.ISDebug',\n 'com.sun.identity.shared.encode.CookieUtils',\n 'com.sun.identity.sm.ldap.SMSLdapObject',\n 'com.sun.identity.sm.CachedSMSEntry',\n 'com.sun.identity.sm.CachedSubEntries',\n 'com.sun.identity.sm.DNMapper',\n 'com.sun.identity.sm.ServiceConfigImpl',\n 'com.sun.identity.sm.ServiceConfigManagerImpl',\n 'com.sun.identity.sm.SMSEntry',\n 'com.sun.identity.sm.SMSUtils',\n 'com.sun.identity.sm.SmsWrapperObject',\n 'oauth2',\n 'org.apache.http.client.protocol.RequestAuthCache',\n 'org.apache.http.impl.conn.PoolingHttpClientConnectionManager',\n 'org.apache.http.impl.nio.client.InternalHttpAsyncClient',\n 'org.apache.http.impl.nio.client.InternalIODispatch',\n 'org.apache.http.impl.nio.client.MainClientExec',\n 'org.apache.http.impl.nio.conn.ManagedNHttpClientConnectionImpl',\n 'org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager',\n 'org.forgerock.audit.AuditServiceImpl',\n 'org.forgerock.oauth2.core.RealmOAuth2ProviderSettings',\n 'org.forgerock.openam.authentication.service.JAASModuleDetector',\n 'org.forgerock.openam.authentication.service.LoginContextFactory',\n 'org.forgerock.openam.blacklist.BloomFilterBlacklist',\n 'org.forgerock.openam.blacklist.CTSBlacklist',\n 'org.forgerock.openam.core.realms.impl.CachingRealmLookup',\n 'org.forgerock.openam.core.rest.authn.RestAuthCallbackHandlerManager',\n 'org.forgerock.openam.core.rest.authn.trees.AuthTrees',\n 'org.forgerock.openam.cors.CorsFilter',\n 'org.forgerock.openam.cts.CTSPersistentStoreImpl',\n 'org.forgerock.openam.cts.impl.CoreTokenAdapter',\n 'org.forgerock.openam.cts.impl.queue.AsyncResultHandler',\n 'org.forgerock.openam.cts.reaper.ReaperDeleteOnQueryResultHandler',\n 'org.forgerock.openam.headers.DisableSameSiteCookiesFilter',\n 'org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo',\n 'org.forgerock.openam.rest.CsrfFilter',\n 'org.forgerock.openam.rest.restAuthenticationFilter',\n 'org.forgerock.openam.rest.fluent.CrestLoggingFilter',\n 'org.forgerock.openam.session.cts.CtsOperations',\n 'org.forgerock.openam.session.stateless.StatelessSessionManager',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.ExternalLdapConfig',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.LdapQueryBuilder',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutor',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutorThread',\n 'org.forgerock.openam.sm.datalayer.providers.LdapConnectionFactoryProvider',\n 'org.forgerock.openam.sm.file.ConfigFileSystemHandler',\n 'org.forgerock.openam.social.idp.SocialIdentityProviders',\n 'org.forgerock.openam.utils.ClientUtils',\n 'org.forgerock.opendj.ldap.CachedConnectionPool',\n 'org.forgerock.opendj.ldap.LoadBalancer',\n 'org.forgerock.secrets.keystore.KeyStoreSecretStore',\n 'org.forgerock.secrets.propertyresolver.PropertyResolverSecretStore',\n 'org.forgerock.secrets.SecretsProvider',\n];\n\nconst journeysNoise = [\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\n// eslint-disable-next-line no-unused-vars\nconst journeys = [\n 'org.forgerock.openam.auth.nodes.SelectIdPNode',\n 'org.forgerock.openam.auth.nodes.ValidatedPasswordNode',\n 'org.forgerock.openam.auth.nodes.ValidatedUsernameNode',\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\nconst samlNoise = [\n 'com.sun.identity.cot.COTCache',\n 'com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl',\n 'com.sun.identity.saml2.meta.SAML2MetaCache',\n 'com.sun.identity.saml2.profile.CacheCleanUpRunnable',\n 'org.apache.xml.security.keys.KeyInfo',\n 'org.apache.xml.security.signature.XMLSignature',\n 'org.apache.xml.security.utils.SignerOutputStream',\n 'org.apache.xml.security.utils.resolver.ResourceResolver',\n 'org.apache.xml.security.utils.resolver.implementations.ResolverFragment',\n 'org.apache.xml.security.algorithms.JCEMapper',\n 'org.apache.xml.security.algorithms.implementations.SignatureBaseRSA',\n 'org.apache.xml.security.algorithms.SignatureAlgorithm',\n 'org.apache.xml.security.utils.ElementProxy',\n 'org.apache.xml.security.transforms.Transforms',\n 'org.apache.xml.security.utils.DigesterOutputStream',\n 'org.apache.xml.security.signature.Reference',\n 'org.apache.xml.security.signature.Manifest',\n];\n\n// eslint-disable-next-line no-unused-vars\nconst saml = [\n 'jsp.saml2.spAssertionConsumer',\n 'com.sun.identity.saml.common.SAMLUtils',\n 'com.sun.identity.saml2.common.SAML2Utils',\n 'com.sun.identity.saml2.meta.SAML2MetaManager',\n 'com.sun.identity.saml2.xmlsig.FMSigProvider',\n];\n\nconst noise = miscNoise.concat(samlNoise).concat(journeysNoise);\n\nconst numLogLevelMap = {\n 0: ['SEVERE', 'ERROR', 'FATAL'],\n 1: ['WARNING', 'WARN', 'CONFIG'],\n 2: ['INFO', 'INFORMATION'],\n 3: ['DEBUG', 'FINE', 'FINER', 'FINEST'],\n 4: ['ALL'],\n};\n\nconst logLevelMap = {\n SEVERE: ['SEVERE', 'ERROR', 'FATAL'],\n ERROR: ['SEVERE', 'ERROR', 'FATAL'],\n FATAL: ['SEVERE', 'ERROR', 'FATAL'],\n WARN: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n WARNING: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n CONFIG: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n INFO: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n INFORMATION: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n DEBUG: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINE: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINER: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINEST: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n ALL: ['ALL'],\n};\n\nexport function defaultNoiseFilter() {\n return noise;\n}\n\nexport function resolveLevel(level) {\n // const levels = ['FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL'];\n // levels.splice(levels.indexOf(levelName) + 1, levels.length);\n if (Number.isNaN(parseInt(level, 10))) {\n return logLevelMap[level];\n }\n return logLevelMap[numLogLevelMap[level][0]];\n}\n\n// It seems that the undesirable 'text/plain' logs start with a date, not a LEVEL\n// Therefore, for those, this function returns null, and thus filters out the undesirable\nexport function resolvePayloadLevel(log) {\n try {\n return log.type !== 'text/plain'\n ? log.payload.level\n : log.payload.match(/^([^:]*):/)[1];\n } catch (e) {\n // Fail-safe for no group match\n return null;\n }\n}\n\nexport async function getLogSources() {\n const sources = [];\n await getSources()\n .then((response) => {\n response.data.result.forEach((item) => {\n sources.push(item);\n });\n })\n .catch((error) => {\n printMessage(\n `getSources ERROR: get log sources call returned ${error}}`,\n 'error'\n );\n return [];\n });\n return sources;\n}\n\nexport async function tailLogs(source, levels, txid, cookie, nf) {\n try {\n const response = await LogApi.tail(source, cookie);\n if (response.status < 200 || response.status > 399) {\n printMessage(\n `tail ERROR: tail call returned ${response.status}`,\n 'error'\n );\n return null;\n }\n // if (!cookie) {\n // await saveConnection();\n // }\n const logsObject = response.data;\n let filteredLogs = [];\n const noiseFilter = nf == null ? noise : nf;\n if (Array.isArray(logsObject.result)) {\n filteredLogs = logsObject.result.filter(\n (el) =>\n !noiseFilter.includes(el.payload.logger) &&\n !noiseFilter.includes(el.type) &&\n (levels[0] === 'ALL' || levels.includes(resolvePayloadLevel(el))) &&\n (typeof txid === 'undefined' ||\n txid === null ||\n el.payload.transactionId.includes(txid))\n );\n }\n\n filteredLogs.forEach((e) => {\n printMessage(JSON.stringify(e.payload), 'data');\n });\n\n setTimeout(() => {\n tailLogs(source, levels, txid, logsObject.result.pagedResultsCookie, nf);\n }, 5000);\n return null;\n } catch (e) {\n printMessage(`tail ERROR: tail data error - ${e}`, 'error');\n return `tail ERROR: tail data error - ${e}`;\n }\n}\n\nexport async function provisionCreds() {\n try {\n let keyName = `frodo-${storage.session.getUsername()}`;\n return getAPIKeys()\n .then((response) => {\n response.data.result.forEach((k) => {\n if (k.name === keyName) {\n // append current timestamp to name if the named key already exists\n keyName = `${keyName}-${getCurrentTimestamp()}`;\n }\n });\n return createAPIKeyAndSecret(keyName)\n .then((resp) => {\n if (resp.data.name !== keyName) {\n printMessage(\n `create keys ERROR: could not create log API key ${keyName}`,\n 'error'\n );\n return null;\n }\n printMessage(\n `Created a new log API key [${keyName}] in ${storage.session.getTenant()}`\n );\n return resp.data;\n })\n .catch((error) => {\n printMessage(\n `create keys ERROR: create keys call returned ${error}`,\n 'error'\n );\n return null;\n });\n })\n .catch((error) => {\n printMessage(\n `get keys ERROR: get keys call returned ${error}`,\n 'error'\n );\n });\n } catch (e) {\n printMessage(`create keys ERROR: create keys data error - ${e}`, 'error');\n return null;\n }\n}\n\nexport async function fetchLogs(\n source,\n startTs,\n endTs,\n levels,\n txid,\n ffString,\n cookie,\n nf\n) {\n try {\n // console.log(`startTs: ${startTs} endTs : ${endTs}`);\n const response = await LogApi.fetch(source, startTs, endTs, cookie);\n if (response.status < 200 || response.status > 399) {\n printMessage(\n `fetch ERROR: fetch call returned ${response.status}`,\n 'error'\n );\n return null;\n }\n const logsObject = response.data;\n let filteredLogs = [];\n const noiseFilter = nf == null ? noise : nf;\n if (Array.isArray(logsObject.result)) {\n filteredLogs = logsObject.result.filter(\n (el) =>\n !noiseFilter.includes(el.payload.logger) &&\n !noiseFilter.includes(el.type) &&\n (levels[0] === 'ALL' || levels.includes(resolvePayloadLevel(el))) &&\n (typeof txid === 'undefined' ||\n txid === null ||\n el.payload.transactionId.includes(txid))\n );\n }\n\n filteredLogs.forEach((e) => {\n const log = JSON.stringify(e, null, 2);\n if (ffString) {\n if (log.includes(ffString)) {\n printMessage(log, 'data');\n }\n } else {\n printMessage(log, 'data');\n }\n });\n if (logsObject.pagedResultsCookie != null) {\n await fetchLogs(\n source,\n startTs,\n endTs,\n levels,\n txid,\n ffString,\n logsObject.pagedResultsCookie,\n nf\n );\n }\n return null;\n } catch (e) {\n printMessage(`fetch ERROR: fetch data error - ${e}`, 'error');\n return `fetch ERROR: fetch data error - ${e}`;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"LogOps.js","names":["unfilterableNoise","miscNoise","journeysNoise","journeys","samlNoise","saml","noise","concat","numLogLevelMap","logLevelMap","SEVERE","ERROR","FATAL","WARN","WARNING","CONFIG","INFO","INFORMATION","DEBUG","FINE","FINER","FINEST","ALL","defaultNoiseFilter","resolveLevel","level","Number","isNaN","parseInt","resolvePayloadLevel","log","type","payload","match","e","getLogSources","sources","getSources","then","response","data","result","forEach","item","push","catch","error","printMessage","tailLogs","source","levels","txid","cookie","nf","LogApi","tail","status","logsObject","filteredLogs","noiseFilter","Array","isArray","filter","el","includes","logger","transactionId","JSON","stringify","setTimeout","pagedResultsCookie","provisionCreds","keyName","storage","session","getUsername","getAPIKeys","k","name","getCurrentTimestamp","createAPIKeyAndSecret","resp","getTenant","fetchLogs","startTs","endTs","ffString","fetch"],"sources":["ops/LogOps.ts"],"sourcesContent":["import { printMessage } from './utils/Console';\nimport { getCurrentTimestamp } from './utils/ExportImportUtils';\nimport { createAPIKeyAndSecret, getAPIKeys, getSources } from '../api/LogApi';\n\nimport storage from '../storage/SessionStorage';\n\nimport * as LogApi from '../api/LogApi';\n\n// eslint-disable-next-line no-unused-vars\nconst unfilterableNoise = [\n 'text/plain', // Unfortunately, it is impossible to filter out those without excluding IDM script logging as well\n];\n\nconst miscNoise = [\n 'com.iplanet.dpro.session.operations.ServerSessionOperationStrategy',\n 'com.iplanet.dpro.session.SessionIDFactory',\n 'com.iplanet.dpro.session.share.SessionEncodeURL',\n 'com.iplanet.services.naming.WebtopNaming',\n 'com.iplanet.sso.providers.dpro.SSOProviderImpl',\n 'com.sun.identity.authentication.AuthContext',\n 'com.sun.identity.authentication.client.AuthClientUtils',\n 'com.sun.identity.authentication.config.AMAuthConfigType',\n 'com.sun.identity.authentication.config.AMAuthenticationManager',\n 'com.sun.identity.authentication.config.AMAuthLevelManager',\n 'com.sun.identity.authentication.config.AMConfiguration',\n 'com.sun.identity.authentication.jaas.LoginContext',\n 'com.sun.identity.authentication.modules.application.Application',\n 'com.sun.identity.authentication.server.AuthContextLocal',\n 'com.sun.identity.authentication.service.AMLoginContext',\n 'com.sun.identity.authentication.service.AuthContextLookup',\n 'com.sun.identity.authentication.service.AuthD',\n 'com.sun.identity.authentication.service.AuthUtils',\n 'com.sun.identity.authentication.service.DSAMECallbackHandler',\n 'com.sun.identity.authentication.service.LoginState',\n 'com.sun.identity.authentication.spi.AMLoginModule',\n 'com.sun.identity.delegation.DelegationEvaluatorImpl',\n 'com.sun.identity.idm.plugins.internal.AgentsRepo',\n 'com.sun.identity.idm.server.IdCachedServicesImpl',\n 'com.sun.identity.idm.server.IdRepoPluginsCache',\n 'com.sun.identity.idm.server.IdServicesImpl',\n 'com.sun.identity.log.spi.ISDebug',\n 'com.sun.identity.shared.encode.CookieUtils',\n 'com.sun.identity.sm.ldap.SMSLdapObject',\n 'com.sun.identity.sm.CachedSMSEntry',\n 'com.sun.identity.sm.CachedSubEntries',\n 'com.sun.identity.sm.DNMapper',\n 'com.sun.identity.sm.ServiceConfigImpl',\n 'com.sun.identity.sm.ServiceConfigManagerImpl',\n 'com.sun.identity.sm.SMSEntry',\n 'com.sun.identity.sm.SMSUtils',\n 'com.sun.identity.sm.SmsWrapperObject',\n 'oauth2',\n 'org.apache.http.client.protocol.RequestAuthCache',\n 'org.apache.http.impl.conn.PoolingHttpClientConnectionManager',\n 'org.apache.http.impl.nio.client.InternalHttpAsyncClient',\n 'org.apache.http.impl.nio.client.InternalIODispatch',\n 'org.apache.http.impl.nio.client.MainClientExec',\n 'org.apache.http.impl.nio.conn.ManagedNHttpClientConnectionImpl',\n 'org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager',\n 'org.forgerock.audit.AuditServiceImpl',\n 'org.forgerock.oauth2.core.RealmOAuth2ProviderSettings',\n 'org.forgerock.openam.authentication.service.JAASModuleDetector',\n 'org.forgerock.openam.authentication.service.LoginContextFactory',\n 'org.forgerock.openam.blacklist.BloomFilterBlacklist',\n 'org.forgerock.openam.blacklist.CTSBlacklist',\n 'org.forgerock.openam.core.realms.impl.CachingRealmLookup',\n 'org.forgerock.openam.core.rest.authn.RestAuthCallbackHandlerManager',\n 'org.forgerock.openam.core.rest.authn.trees.AuthTrees',\n 'org.forgerock.openam.cors.CorsFilter',\n 'org.forgerock.openam.cts.CTSPersistentStoreImpl',\n 'org.forgerock.openam.cts.impl.CoreTokenAdapter',\n 'org.forgerock.openam.cts.impl.queue.AsyncResultHandler',\n 'org.forgerock.openam.cts.reaper.ReaperDeleteOnQueryResultHandler',\n 'org.forgerock.openam.headers.DisableSameSiteCookiesFilter',\n 'org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo',\n 'org.forgerock.openam.rest.CsrfFilter',\n 'org.forgerock.openam.rest.restAuthenticationFilter',\n 'org.forgerock.openam.rest.fluent.CrestLoggingFilter',\n 'org.forgerock.openam.session.cts.CtsOperations',\n 'org.forgerock.openam.session.stateless.StatelessSessionManager',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.ExternalLdapConfig',\n 'org.forgerock.openam.sm.datalayer.impl.ldap.LdapQueryBuilder',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutor',\n 'org.forgerock.openam.sm.datalayer.impl.SeriesTaskExecutorThread',\n 'org.forgerock.openam.sm.datalayer.providers.LdapConnectionFactoryProvider',\n 'org.forgerock.openam.sm.file.ConfigFileSystemHandler',\n 'org.forgerock.openam.social.idp.SocialIdentityProviders',\n 'org.forgerock.openam.utils.ClientUtils',\n 'org.forgerock.opendj.ldap.CachedConnectionPool',\n 'org.forgerock.opendj.ldap.LoadBalancer',\n 'org.forgerock.secrets.keystore.KeyStoreSecretStore',\n 'org.forgerock.secrets.propertyresolver.PropertyResolverSecretStore',\n 'org.forgerock.secrets.SecretsProvider',\n];\n\nconst journeysNoise = [\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\n// eslint-disable-next-line no-unused-vars\nconst journeys = [\n 'org.forgerock.openam.auth.nodes.SelectIdPNode',\n 'org.forgerock.openam.auth.nodes.ValidatedPasswordNode',\n 'org.forgerock.openam.auth.nodes.ValidatedUsernameNode',\n 'org.forgerock.openam.auth.trees.engine.AuthTreeExecutor',\n];\n\nconst samlNoise = [\n 'com.sun.identity.cot.COTCache',\n 'com.sun.identity.plugin.configuration.impl.ConfigurationInstanceImpl',\n 'com.sun.identity.saml2.meta.SAML2MetaCache',\n 'com.sun.identity.saml2.profile.CacheCleanUpRunnable',\n 'org.apache.xml.security.keys.KeyInfo',\n 'org.apache.xml.security.signature.XMLSignature',\n 'org.apache.xml.security.utils.SignerOutputStream',\n 'org.apache.xml.security.utils.resolver.ResourceResolver',\n 'org.apache.xml.security.utils.resolver.implementations.ResolverFragment',\n 'org.apache.xml.security.algorithms.JCEMapper',\n 'org.apache.xml.security.algorithms.implementations.SignatureBaseRSA',\n 'org.apache.xml.security.algorithms.SignatureAlgorithm',\n 'org.apache.xml.security.utils.ElementProxy',\n 'org.apache.xml.security.transforms.Transforms',\n 'org.apache.xml.security.utils.DigesterOutputStream',\n 'org.apache.xml.security.signature.Reference',\n 'org.apache.xml.security.signature.Manifest',\n];\n\n// eslint-disable-next-line no-unused-vars\nconst saml = [\n 'jsp.saml2.spAssertionConsumer',\n 'com.sun.identity.saml.common.SAMLUtils',\n 'com.sun.identity.saml2.common.SAML2Utils',\n 'com.sun.identity.saml2.meta.SAML2MetaManager',\n 'com.sun.identity.saml2.xmlsig.FMSigProvider',\n];\n\nconst noise = miscNoise.concat(samlNoise).concat(journeysNoise);\n\nconst numLogLevelMap = {\n 0: ['SEVERE', 'ERROR', 'FATAL'],\n 1: ['WARNING', 'WARN', 'CONFIG'],\n 2: ['INFO', 'INFORMATION'],\n 3: ['DEBUG', 'FINE', 'FINER', 'FINEST'],\n 4: ['ALL'],\n};\n\nconst logLevelMap = {\n SEVERE: ['SEVERE', 'ERROR', 'FATAL'],\n ERROR: ['SEVERE', 'ERROR', 'FATAL'],\n FATAL: ['SEVERE', 'ERROR', 'FATAL'],\n WARN: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n WARNING: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n CONFIG: ['SEVERE', 'ERROR', 'FATAL', 'WARNING', 'WARN', 'CONFIG'],\n INFO: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n INFORMATION: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n ],\n DEBUG: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINE: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINER: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n FINEST: [\n 'SEVERE',\n 'ERROR',\n 'FATAL',\n 'WARNING',\n 'WARN',\n 'CONFIG',\n 'INFO',\n 'INFORMATION',\n 'DEBUG',\n 'FINE',\n 'FINER',\n 'FINEST',\n ],\n ALL: ['ALL'],\n};\n\nexport function defaultNoiseFilter() {\n return noise;\n}\n\nexport function resolveLevel(level) {\n // const levels = ['FATAL', 'ERROR', 'WARN', 'INFO', 'DEBUG', 'TRACE', 'ALL'];\n // levels.splice(levels.indexOf(levelName) + 1, levels.length);\n if (Number.isNaN(parseInt(level, 10))) {\n return logLevelMap[level];\n }\n return logLevelMap[numLogLevelMap[level][0]];\n}\n\n// It seems that the undesirable 'text/plain' logs start with a date, not a LEVEL\n// Therefore, for those, this function returns null, and thus filters out the undesirable\nexport function resolvePayloadLevel(log) {\n try {\n return log.type !== 'text/plain'\n ? log.payload.level\n : log.payload.match(/^([^:]*):/)[1];\n } catch (e) {\n // Fail-safe for no group match\n return null;\n }\n}\n\nexport async function getLogSources() {\n const sources = [];\n await getSources()\n .then((response) => {\n response.data.result.forEach((item) => {\n sources.push(item);\n });\n })\n .catch((error) => {\n printMessage(\n `getSources ERROR: get log sources call returned ${error}}`,\n 'error'\n );\n return [];\n });\n return sources;\n}\n\nexport async function tailLogs(source, levels, txid, cookie, nf) {\n try {\n const response = await LogApi.tail(source, cookie);\n if (response.status < 200 || response.status > 399) {\n printMessage(\n `tail ERROR: tail call returned ${response.status}`,\n 'error'\n );\n return null;\n }\n // if (!cookie) {\n // await saveConnection();\n // }\n const logsObject = response.data;\n let filteredLogs = [];\n const noiseFilter = nf == null ? noise : nf;\n if (Array.isArray(logsObject.result)) {\n filteredLogs = logsObject.result.filter(\n (el) =>\n !noiseFilter.includes(el.payload.logger) &&\n !noiseFilter.includes(el.type) &&\n (levels[0] === 'ALL' || levels.includes(resolvePayloadLevel(el))) &&\n (typeof txid === 'undefined' ||\n txid === null ||\n el.payload.transactionId?.includes(txid))\n );\n }\n\n filteredLogs.forEach((e) => {\n printMessage(JSON.stringify(e.payload), 'data');\n });\n\n setTimeout(() => {\n tailLogs(source, levels, txid, logsObject.result.pagedResultsCookie, nf);\n }, 5000);\n return null;\n } catch (e) {\n printMessage(`tail ERROR: tail data error - ${e}`, 'error');\n return `tail ERROR: tail data error - ${e}`;\n }\n}\n\nexport async function provisionCreds() {\n try {\n let keyName = `frodo-${storage.session.getUsername()}`;\n return getAPIKeys()\n .then((response) => {\n response.data.result.forEach((k) => {\n if (k.name === keyName) {\n // append current timestamp to name if the named key already exists\n keyName = `${keyName}-${getCurrentTimestamp()}`;\n }\n });\n return createAPIKeyAndSecret(keyName)\n .then((resp) => {\n if (resp.data.name !== keyName) {\n printMessage(\n `create keys ERROR: could not create log API key ${keyName}`,\n 'error'\n );\n return null;\n }\n printMessage(\n `Created a new log API key [${keyName}] in ${storage.session.getTenant()}`\n );\n return resp.data;\n })\n .catch((error) => {\n printMessage(\n `create keys ERROR: create keys call returned ${error}`,\n 'error'\n );\n return null;\n });\n })\n .catch((error) => {\n printMessage(\n `get keys ERROR: get keys call returned ${error}`,\n 'error'\n );\n });\n } catch (e) {\n printMessage(`create keys ERROR: create keys data error - ${e}`, 'error');\n return null;\n }\n}\n\nexport async function fetchLogs(\n source,\n startTs,\n endTs,\n levels,\n txid,\n ffString,\n cookie,\n nf\n) {\n try {\n // console.log(`startTs: ${startTs} endTs : ${endTs}`);\n const response = await LogApi.fetch(source, startTs, endTs, cookie);\n if (response.status < 200 || response.status > 399) {\n printMessage(\n `fetch ERROR: fetch call returned ${response.status}`,\n 'error'\n );\n return null;\n }\n const logsObject = response.data;\n let filteredLogs = [];\n const noiseFilter = nf == null ? noise : nf;\n if (Array.isArray(logsObject.result)) {\n filteredLogs = logsObject.result.filter(\n (el) =>\n !noiseFilter.includes(el.payload.logger) &&\n !noiseFilter.includes(el.type) &&\n (levels[0] === 'ALL' || levels.includes(resolvePayloadLevel(el))) &&\n (typeof txid === 'undefined' ||\n txid === null ||\n el.payload.transactionId.includes(txid))\n );\n }\n\n filteredLogs.forEach((e) => {\n const log = JSON.stringify(e, null, 2);\n if (ffString) {\n if (log.includes(ffString)) {\n printMessage(log, 'data');\n }\n } else {\n printMessage(log, 'data');\n }\n });\n if (logsObject.pagedResultsCookie != null) {\n await fetchLogs(\n source,\n startTs,\n endTs,\n levels,\n txid,\n ffString,\n logsObject.pagedResultsCookie,\n nf\n );\n }\n return null;\n } catch (e) {\n printMessage(`fetch ERROR: fetch data error - ${e}`, 'error');\n return `fetch ERROR: fetch data error - ${e}`;\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpsTypes.js","names":["NodeClassification","JourneyClassification"],"sources":["ops/OpsTypes.ts"],"sourcesContent":["import {\n CircleOfTrustSkeleton,\n EmailTemplateSkeleton,\n NodeSkeleton,\n Saml2ProviderSkeleton,\n ScriptSkeleton,\n SocialIdpSkeleton,\n ThemeSkeleton,\n TreeSkeleton,\n} from '../api/ApiTypes';\n\n/**\n * Tree export options\n */\nexport interface TreeExportOptions {\n /**\n * Where applicable, use string arrays to store multi-line text (e.g. scripts).\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n /**\n * Verbose output during command execution. May or may not produce additional output.\n */\n verbose: boolean;\n}\n\n/**\n * Tree import options\n */\nexport interface TreeImportOptions {\n /**\n * Generate new UUIDs for all nodes during import.\n */\n reUuid: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n /**\n * Verbose output during command execution. May or may not produce additional output.\n */\n verbose: boolean;\n}\n\nexport interface ExportMetaData {\n origin: string;\n originAmVersion: string;\n exportedBy: string;\n exportDate: string;\n exportTool: string;\n exportToolVersion: string;\n}\n\nexport interface SingleTreeExportInterface {\n meta?: Record<string, ExportMetaData>;\n innerNodes?: Record<string, NodeSkeleton>;\n innernodes?: Record<string, NodeSkeleton>;\n nodes: Record<string, NodeSkeleton>;\n scripts: Record<string, ScriptSkeleton>;\n emailTemplates: Record<string, EmailTemplateSkeleton>;\n socialIdentityProviders: Record<string, SocialIdpSkeleton>;\n themes: ThemeSkeleton[];\n saml2Entities: Record<string, Saml2ProviderSkeleton>;\n circlesOfTrust: Record<string, CircleOfTrustSkeleton>;\n tree: TreeSkeleton;\n}\n\nexport interface MultiTreeExportInterface {\n meta?: Record<string, ExportMetaData>;\n trees: Record<string, SingleTreeExportInterface>;\n}\n\nexport interface TreeDependencyMapInterface {\n [k: string]: TreeDependencyMapInterface[];\n}\n\nexport interface TreeExportResolverInterface {\n (treeId: string): Promise<SingleTreeExportInterface>;\n}\n\nexport enum NodeClassification {\n STANDARD = 'standard',\n CUSTOM = 'custom',\n CLOUD = 'cloud',\n PREMIUM = 'premium',\n}\n\nexport enum JourneyClassification {\n STANDARD = 'standard',\n CUSTOM = 'custom',\n CLOUD = 'cloud',\n PREMIUM = 'premium',\n}\n"],"mappings":";;;;;;;AAWA;AACA;AACA;;AAgBA;AACA;AACA;IAoDYA,kB;;;WAAAA,kB;EAAAA,kB;EAAAA,kB;EAAAA,kB;EAAAA,kB;GAAAA,kB,kCAAAA,kB;;IAOAC,qB;;;WAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,qCAAAA,qB"}
1
+ {"version":3,"file":"OpsTypes.js","names":["NodeClassification","JourneyClassification"],"sources":["ops/OpsTypes.ts"],"sourcesContent":["import {\n CircleOfTrustSkeleton,\n EmailTemplateSkeleton,\n NodeSkeleton,\n Saml2ProviderSkeleton,\n ScriptSkeleton,\n SocialIdpSkeleton,\n ThemeSkeleton,\n TreeSkeleton,\n} from '../api/ApiTypes';\n\n/**\n * Tree export options\n */\nexport interface TreeExportOptions {\n /**\n * Where applicable, use string arrays to store multi-line text (e.g. scripts).\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n}\n\n/**\n * Tree import options\n */\nexport interface TreeImportOptions {\n /**\n * Generate new UUIDs for all nodes during import.\n */\n reUuid: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n}\n\nexport interface ExportMetaData {\n origin: string;\n originAmVersion: string;\n exportedBy: string;\n exportDate: string;\n exportTool: string;\n exportToolVersion: string;\n}\n\nexport interface SingleTreeExportInterface {\n meta?: Record<string, ExportMetaData>;\n innerNodes?: Record<string, NodeSkeleton>;\n innernodes?: Record<string, NodeSkeleton>;\n nodes: Record<string, NodeSkeleton>;\n scripts: Record<string, ScriptSkeleton>;\n emailTemplates: Record<string, EmailTemplateSkeleton>;\n socialIdentityProviders: Record<string, SocialIdpSkeleton>;\n themes: ThemeSkeleton[];\n saml2Entities: Record<string, Saml2ProviderSkeleton>;\n circlesOfTrust: Record<string, CircleOfTrustSkeleton>;\n tree: TreeSkeleton;\n}\n\nexport interface MultiTreeExportInterface {\n meta?: Record<string, ExportMetaData>;\n trees: Record<string, SingleTreeExportInterface>;\n}\n\nexport interface TreeDependencyMapInterface {\n [k: string]: TreeDependencyMapInterface[];\n}\n\nexport interface TreeExportResolverInterface {\n (treeId: string): Promise<SingleTreeExportInterface>;\n}\n\nexport enum NodeClassification {\n STANDARD = 'standard',\n CUSTOM = 'custom',\n CLOUD = 'cloud',\n PREMIUM = 'premium',\n}\n\nexport enum JourneyClassification {\n STANDARD = 'standard',\n CUSTOM = 'custom',\n CLOUD = 'cloud',\n PREMIUM = 'premium',\n}\n"],"mappings":";;;;;;;AAWA;AACA;AACA;;AAYA;AACA;AACA;IAgDYA,kB;;;WAAAA,kB;EAAAA,kB;EAAAA,kB;EAAAA,kB;EAAAA,kB;GAAAA,kB,kCAAAA,kB;;IAOAC,qB;;;WAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;EAAAA,qB;GAAAA,qB,qCAAAA,qB"}
@@ -61,6 +61,8 @@ var _default = {
61
61
  getMasterKeyPath: () => _sessionStorage['masterKeyPath'],
62
62
  setOutputFile: value => _sessionStorage['outputFile'] = value,
63
63
  getOutputFile: () => _sessionStorage['outputFile'],
64
+ setDirectory: value => _sessionStorage['directory'] = value,
65
+ getDirectory: () => _sessionStorage['directory'],
64
66
  setPrintHandler: printHandler => _sessionStorage['printHandler'] = printHandler,
65
67
  getPrintHandler: () => _sessionStorage['printHandler'],
66
68
  setErrorHandler: errorHandler => _sessionStorage['errorHandler'] = errorHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStorage.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","_sessionStorage","authenticationHeaderOverrides","session","setItem","key","value","getItem","removeItem","raw","setUsername","getUsername","setPassword","getPassword","setTenant","getTenant","setDeploymentType","getDeploymentType","setRealm","getRealm","setCookieName","getCookieName","setCookieValue","getCookieValue","setAuthenticationService","getAuthenticationService","setAuthenticationHeaderOverrides","getAuthenticationHeaderOverrides","setBearerToken","getBearerToken","setLogApiKey","getLogApiKey","setLogApiSecret","getLogApiSecret","setAmVersion","getAmVersion","setFrodoVersion","getFrodoVersion","version","process","setAllowInsecureConnection","getAllowInsecureConnection","setConnectionProfilesPath","getConnectionProfilesPath","setMasterKeyPath","getMasterKeyPath","setOutputFile","getOutputFile","setPrintHandler","printHandler","getPrintHandler","setErrorHandler","errorHandler","getErrorHandler","setVerboseHandler","verboseHandler","getVerboseHandler","setVerbose","verbose","getVerbose","setDebugHandler","debugHandler","getDebugHandler","setDebug","debug","getDebug","setCreateProgressHandler","handler","getCreateProgressHandler","setUpdateProgressHandler","getUpdateProgressHandler","setStopProgressHandler","getStopProgressHandler"],"sources":["storage/SessionStorage.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nconst _sessionStorage = {\n authenticationHeaderOverrides: {},\n};\n\nexport default {\n session: {\n setItem: (key, value) => (_sessionStorage[key] = value),\n getItem: (key) => _sessionStorage[key],\n removeItem: (key) => delete _sessionStorage[key],\n raw: _sessionStorage,\n setUsername: (value) => (_sessionStorage['username'] = value),\n getUsername: () => _sessionStorage['username'],\n setPassword: (value) => (_sessionStorage['password'] = value),\n getPassword: () => _sessionStorage['password'],\n setTenant: (value) => (_sessionStorage['tenant'] = value),\n getTenant: () => _sessionStorage['tenant'],\n setDeploymentType: (value) => (_sessionStorage['deploymentType'] = value),\n getDeploymentType: () => _sessionStorage['deploymentType'],\n setRealm: (value) => (_sessionStorage['realm'] = value),\n getRealm: () => _sessionStorage['realm'],\n setCookieName: (value) => (_sessionStorage['cookieName'] = value),\n getCookieName: () => _sessionStorage['cookieName'],\n setCookieValue: (value) => (_sessionStorage['cookieValue'] = value),\n getCookieValue: () => _sessionStorage['cookieValue'],\n setAuthenticationService: (value) =>\n (_sessionStorage['authenticationService'] = value),\n getAuthenticationService: () => _sessionStorage['authenticationService'],\n setAuthenticationHeaderOverrides: (value) =>\n (_sessionStorage['authenticationHeaderOverrides'] = value),\n getAuthenticationHeaderOverrides: () =>\n _sessionStorage['authenticationHeaderOverrides'],\n setBearerToken: (value) => (_sessionStorage['bearerToken'] = value),\n getBearerToken: () => _sessionStorage['bearerToken'],\n setLogApiKey: (value) => (_sessionStorage['logApiKey'] = value),\n getLogApiKey: () => _sessionStorage['logApiKey'],\n setLogApiSecret: (value) => (_sessionStorage['logApiSecret'] = value),\n getLogApiSecret: () => _sessionStorage['logApiSecret'],\n setAmVersion: (value) => (_sessionStorage['amVersion'] = value),\n getAmVersion: () => _sessionStorage['amVersion'],\n setFrodoVersion: (value) => (_sessionStorage['frodoVersion'] = value),\n getFrodoVersion: () =>\n _sessionStorage['frodoVersion'] || `v${pkg.version} [${process.version}]`,\n setAllowInsecureConnection: (value) =>\n (_sessionStorage['insecure'] = value),\n getAllowInsecureConnection: () => _sessionStorage['insecure'],\n setConnectionProfilesPath: (value) =>\n (_sessionStorage['connectionProfilesPath'] = value),\n getConnectionProfilesPath: () => _sessionStorage['connectionProfilesPath'],\n setMasterKeyPath: (value) => (_sessionStorage['masterKeyPath'] = value),\n getMasterKeyPath: () => _sessionStorage['masterKeyPath'],\n setOutputFile: (value) => (_sessionStorage['outputFile'] = value),\n getOutputFile: () => _sessionStorage['outputFile'],\n setPrintHandler: (printHandler) =>\n (_sessionStorage['printHandler'] = printHandler),\n getPrintHandler: () => _sessionStorage['printHandler'],\n setErrorHandler: (errorHandler) =>\n (_sessionStorage['errorHandler'] = errorHandler),\n getErrorHandler: () => _sessionStorage['errorHandler'],\n setVerboseHandler: (verboseHandler) =>\n (_sessionStorage['verboseHandler'] = verboseHandler),\n getVerboseHandler: () => _sessionStorage['verboseHandler'],\n setVerbose: (verbose: boolean) => (_sessionStorage['verbose'] = verbose),\n getVerbose: (): boolean => _sessionStorage['verbose'],\n setDebugHandler: (debugHandler) =>\n (_sessionStorage['debugHandler'] = debugHandler),\n getDebugHandler: () => _sessionStorage['debugHandler'],\n setDebug: (debug: boolean) => (_sessionStorage['debug'] = debug),\n getDebug: (): boolean => _sessionStorage['debug'],\n setCreateProgressHandler: (handler) =>\n (_sessionStorage['createProgressHandler'] = handler),\n getCreateProgressHandler: () => _sessionStorage['createProgressHandler'],\n setUpdateProgressHandler: (handler) =>\n (_sessionStorage['updateProgressHandler'] = handler),\n getUpdateProgressHandler: () => _sessionStorage['updateProgressHandler'],\n setStopProgressHandler: (handler) =>\n (_sessionStorage['stopProgressHandler'] = handler),\n getStopProgressHandler: () => _sessionStorage['stopProgressHandler'],\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"SessionStorage.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","_sessionStorage","authenticationHeaderOverrides","session","setItem","key","value","getItem","removeItem","raw","setUsername","getUsername","setPassword","getPassword","setTenant","getTenant","setDeploymentType","getDeploymentType","setRealm","getRealm","setCookieName","getCookieName","setCookieValue","getCookieValue","setAuthenticationService","getAuthenticationService","setAuthenticationHeaderOverrides","getAuthenticationHeaderOverrides","setBearerToken","getBearerToken","setLogApiKey","getLogApiKey","setLogApiSecret","getLogApiSecret","setAmVersion","getAmVersion","setFrodoVersion","getFrodoVersion","version","process","setAllowInsecureConnection","getAllowInsecureConnection","setConnectionProfilesPath","getConnectionProfilesPath","setMasterKeyPath","getMasterKeyPath","setOutputFile","getOutputFile","setDirectory","getDirectory","setPrintHandler","printHandler","getPrintHandler","setErrorHandler","errorHandler","getErrorHandler","setVerboseHandler","verboseHandler","getVerboseHandler","setVerbose","verbose","getVerbose","setDebugHandler","debugHandler","getDebugHandler","setDebug","debug","getDebug","setCreateProgressHandler","handler","getCreateProgressHandler","setUpdateProgressHandler","getUpdateProgressHandler","setStopProgressHandler","getStopProgressHandler"],"sources":["storage/SessionStorage.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nconst _sessionStorage = {\n authenticationHeaderOverrides: {},\n};\n\nexport default {\n session: {\n setItem: (key, value) => (_sessionStorage[key] = value),\n getItem: (key) => _sessionStorage[key],\n removeItem: (key) => delete _sessionStorage[key],\n raw: _sessionStorage,\n setUsername: (value) => (_sessionStorage['username'] = value),\n getUsername: () => _sessionStorage['username'],\n setPassword: (value) => (_sessionStorage['password'] = value),\n getPassword: () => _sessionStorage['password'],\n setTenant: (value) => (_sessionStorage['tenant'] = value),\n getTenant: () => _sessionStorage['tenant'],\n setDeploymentType: (value) => (_sessionStorage['deploymentType'] = value),\n getDeploymentType: () => _sessionStorage['deploymentType'],\n setRealm: (value) => (_sessionStorage['realm'] = value),\n getRealm: () => _sessionStorage['realm'],\n setCookieName: (value) => (_sessionStorage['cookieName'] = value),\n getCookieName: () => _sessionStorage['cookieName'],\n setCookieValue: (value) => (_sessionStorage['cookieValue'] = value),\n getCookieValue: () => _sessionStorage['cookieValue'],\n setAuthenticationService: (value) =>\n (_sessionStorage['authenticationService'] = value),\n getAuthenticationService: () => _sessionStorage['authenticationService'],\n setAuthenticationHeaderOverrides: (value) =>\n (_sessionStorage['authenticationHeaderOverrides'] = value),\n getAuthenticationHeaderOverrides: () =>\n _sessionStorage['authenticationHeaderOverrides'],\n setBearerToken: (value) => (_sessionStorage['bearerToken'] = value),\n getBearerToken: () => _sessionStorage['bearerToken'],\n setLogApiKey: (value) => (_sessionStorage['logApiKey'] = value),\n getLogApiKey: () => _sessionStorage['logApiKey'],\n setLogApiSecret: (value) => (_sessionStorage['logApiSecret'] = value),\n getLogApiSecret: () => _sessionStorage['logApiSecret'],\n setAmVersion: (value) => (_sessionStorage['amVersion'] = value),\n getAmVersion: () => _sessionStorage['amVersion'],\n setFrodoVersion: (value) => (_sessionStorage['frodoVersion'] = value),\n getFrodoVersion: () =>\n _sessionStorage['frodoVersion'] || `v${pkg.version} [${process.version}]`,\n setAllowInsecureConnection: (value) =>\n (_sessionStorage['insecure'] = value),\n getAllowInsecureConnection: () => _sessionStorage['insecure'],\n setConnectionProfilesPath: (value) =>\n (_sessionStorage['connectionProfilesPath'] = value),\n getConnectionProfilesPath: () => _sessionStorage['connectionProfilesPath'],\n setMasterKeyPath: (value) => (_sessionStorage['masterKeyPath'] = value),\n getMasterKeyPath: () => _sessionStorage['masterKeyPath'],\n setOutputFile: (value) => (_sessionStorage['outputFile'] = value),\n getOutputFile: () => _sessionStorage['outputFile'],\n setDirectory: (value) => (_sessionStorage['directory'] = value),\n getDirectory: () => _sessionStorage['directory'],\n setPrintHandler: (printHandler) =>\n (_sessionStorage['printHandler'] = printHandler),\n getPrintHandler: () => _sessionStorage['printHandler'],\n setErrorHandler: (errorHandler) =>\n (_sessionStorage['errorHandler'] = errorHandler),\n getErrorHandler: () => _sessionStorage['errorHandler'],\n setVerboseHandler: (verboseHandler) =>\n (_sessionStorage['verboseHandler'] = verboseHandler),\n getVerboseHandler: () => _sessionStorage['verboseHandler'],\n setVerbose: (verbose: boolean) => (_sessionStorage['verbose'] = verbose),\n getVerbose: (): boolean => _sessionStorage['verbose'],\n setDebugHandler: (debugHandler) =>\n (_sessionStorage['debugHandler'] = debugHandler),\n getDebugHandler: () => _sessionStorage['debugHandler'],\n setDebug: (debug: boolean) => (_sessionStorage['debug'] = debug),\n getDebug: (): boolean => _sessionStorage['debug'],\n setCreateProgressHandler: (handler) =>\n (_sessionStorage['createProgressHandler'] = handler),\n getCreateProgressHandler: () => _sessionStorage['createProgressHandler'],\n setUpdateProgressHandler: (handler) =>\n (_sessionStorage['updateProgressHandler'] = handler),\n getUpdateProgressHandler: () => _sessionStorage['updateProgressHandler'],\n setStopProgressHandler: (handler) =>\n (_sessionStorage['stopProgressHandler'] = handler),\n getStopProgressHandler: () => _sessionStorage['stopProgressHandler'],\n },\n};\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import { v4 as uuidv4 } from 'uuid';
3
3
  import _ from 'lodash';
4
- import { convertBase64TextToArray, getTypedFilename, saveJsonToFile, getRealmString, convertTextArrayToBase64, convertTextArrayToBase64Url, findFilesByName } from './utils/ExportImportUtils';
4
+ import { convertBase64TextToArray, getTypedFilename, convertTextArrayToBase64, convertTextArrayToBase64Url, findFilesByName } from './utils/ExportImportUtils';
5
5
  import { getRealmManagedUser, replaceAll } from './utils/OpsUtils';
6
6
  import storage from '../storage/SessionStorage';
7
7
  import { getNode, putNode, deleteNode, getNodeTypes, getNodesByType } from '../api/NodeApi';
@@ -10,8 +10,7 @@ import { getTrees, getTree, putTree, deleteTree } from '../api/TreeApi';
10
10
  import { getEmailTemplate, putEmailTemplate } from '../api/EmailTemplateApi';
11
11
  import { getScript } from '../api/ScriptApi';
12
12
  import * as global from '../storage/StaticStorage';
13
- import { printMessage, createProgressIndicator, updateProgressIndicator, stopProgressIndicator, createTable, debug } from './utils/Console';
14
- import wordwrap from './utils/Wordwrap';
13
+ import { printMessage, createProgressIndicator, updateProgressIndicator, stopProgressIndicator, debug } from './utils/Console';
15
14
  import { getProviderByLocationAndId, getProviders, getProviderMetadata, createProvider, findProviders, updateProvider } from '../api/Saml2Api';
16
15
  import { createCircleOfTrust, getCirclesOfTrust, updateCircleOfTrust } from '../api/CirclesOfTrustApi';
17
16
  import { decode, encode, encodeBase64Url, isBase64Encoded } from '../api/utils/Base64';
@@ -146,8 +145,7 @@ async function getSaml2NodeDependencies(nodeObject, allProviders, allCirclesOfTr
146
145
 
147
146
  export async function exportJourney(treeId, options = {
148
147
  useStringArrays: true,
149
- deps: true,
150
- verbose: false
148
+ deps: true
151
149
  }) {
152
150
  const exportData = createSingleTreeExportTemplate();
153
151
 
@@ -155,9 +153,9 @@ export async function exportJourney(treeId, options = {
155
153
  const treeObject = await getTree(treeId);
156
154
  const {
157
155
  useStringArrays,
158
- deps,
159
- verbose
156
+ deps
160
157
  } = options;
158
+ const verbose = storage.session.getDebug();
161
159
  if (verbose) printMessage(`\n- ${treeObject._id}\n`, 'info', false); // Process tree
162
160
 
163
161
  if (verbose) printMessage(' - Flow');
@@ -441,7 +439,7 @@ export async function exportJourney(treeId, options = {
441
439
  }
442
440
  /**
443
441
  * Get all the journeys/trees without all their nodes and dependencies.
444
- * @returns {Promise<unknown[]>} a promise that resolves to an array of journey objects
442
+ * @returns {Promise<TreeSkeleton[]>} a promise that resolves to an array of journey objects
445
443
  */
446
444
 
447
445
  export async function getJourneys() {
@@ -458,94 +456,7 @@ export async function getJourneys() {
458
456
  return journeys;
459
457
  }
460
458
  /**
461
- * Export journey by id/name to file
462
- * @param {string} journeyId journey id/name
463
- * @param {string} file optional export file name
464
- * @param {TreeExportOptions} options export options
465
- */
466
-
467
- export async function exportJourneyToFile(journeyId, file, options) {
468
- const {
469
- verbose
470
- } = options;
471
- let fileName = file;
472
-
473
- if (!fileName) {
474
- fileName = getTypedFilename(journeyId, 'journey');
475
- }
476
-
477
- if (!verbose) createProgressIndicator(undefined, `${journeyId}`, 'indeterminate');
478
-
479
- try {
480
- const fileData = await exportJourney(journeyId, options);
481
- if (verbose) createProgressIndicator(undefined, `${journeyId}`, 'indeterminate');
482
- saveJsonToFile(fileData, fileName);
483
- stopProgressIndicator(`Exported ${journeyId['brightCyan']} to ${fileName['brightCyan']}.`, 'success');
484
- } catch (error) {
485
- if (verbose) createProgressIndicator(undefined, `${journeyId}`, 'indeterminate');
486
- stopProgressIndicator(`Error exporting journey ${journeyId}: ${error}`, 'fail');
487
- }
488
- }
489
- /**
490
- * Export all journeys to file
491
- * @param {string} file optional export file name
492
- * @param {TreeExportOptions} options export options
493
- */
494
-
495
- export async function exportJourneysToFile(file, options = {
496
- deps: false,
497
- useStringArrays: false,
498
- verbose: false
499
- }) {
500
- let fileName = file;
501
-
502
- if (!fileName) {
503
- fileName = getTypedFilename(`all${getRealmString()}Journeys`, 'journeys');
504
- }
505
-
506
- const trees = (await getTrees()).result;
507
- const fileData = createMultiTreeExportTemplate();
508
- createProgressIndicator(trees.length, 'Exporting journeys...');
509
-
510
- for (const tree of trees) {
511
- updateProgressIndicator(`${tree._id}`);
512
-
513
- try {
514
- const exportData = await exportJourney(tree._id, options);
515
- delete exportData.meta;
516
- fileData.trees[tree._id] = exportData;
517
- } catch (error) {
518
- printMessage(`Error exporting journey ${tree._id}: ${error}`, 'error');
519
- }
520
- }
521
-
522
- saveJsonToFile(fileData, fileName);
523
- stopProgressIndicator(`Exported to ${fileName}`);
524
- }
525
- /**
526
- * Export all journeys to separate files
527
- * @param {TreeExportOptions} options export options
528
- */
529
-
530
- export async function exportJourneysToFiles(options) {
531
- const trees = (await getTrees()).result;
532
- createProgressIndicator(trees.length, 'Exporting journeys...');
533
-
534
- for (const tree of trees) {
535
- updateProgressIndicator(`${tree._id}`);
536
- const fileName = getTypedFilename(`${tree._id}`, 'journey');
537
-
538
- try {
539
- const exportData = await exportJourney(tree._id, options);
540
- saveJsonToFile(exportData, fileName);
541
- } catch (error) {// do we need to report status here?
542
- }
543
- }
544
-
545
- stopProgressIndicator('Done');
546
- }
547
- /**
548
- * Helper to import a tree with all dependencies from an import data object (typically read from a file)
459
+ * Helper to import a tree with all dependencies from a `SingleTreeExportInterface` object (typically read from a file)
549
460
  * @param {SingleTreeExportInterface} treeObject tree object containing tree and all its dependencies
550
461
  * @param {TreeImportOptions} options import options
551
462
  */
@@ -553,9 +464,9 @@ export async function exportJourneysToFiles(options) {
553
464
  export async function importJourney(treeObject, options) {
554
465
  const {
555
466
  reUuid,
556
- deps,
557
- verbose
467
+ deps
558
468
  } = options;
469
+ const verbose = storage.session.getDebug();
559
470
  if (verbose) printMessage(`\n- ${treeObject.tree._id}\n`, 'info', false);
560
471
  let newUuid = '';
561
472
  const uuidMap = {};
@@ -930,7 +841,7 @@ export async function importJourney(treeObject, options) {
930
841
  * @param {int} index Depth of recursion
931
842
  */
932
843
 
933
- async function resolveDependencies(installedJorneys, journeyMap, unresolvedJourneys, resolvedJourneys, index = -1) {
844
+ export async function resolveDependencies(installedJorneys, journeyMap, unresolvedJourneys, resolvedJourneys, index = -1) {
934
845
  let before = -1;
935
846
  let after = index;
936
847
 
@@ -984,135 +895,13 @@ async function resolveDependencies(installedJorneys, journeyMap, unresolvedJourn
984
895
  resolveDependencies(installedJorneys, journeyMap, unresolvedJourneys, resolvedJourneys, after);
985
896
  }
986
897
  }
987
- /**
988
- * Import a journey from file
989
- * @param {string} journeyId journey id/name
990
- * @param {string} file import file name
991
- * @param {TreeImportOptions} options import options
992
- */
993
-
994
-
995
- export async function importJourneyFromFile(journeyId, file, options) {
996
- const {
997
- verbose
998
- } = options;
999
- fs.readFile(file, 'utf8', async (err, data) => {
1000
- if (err) throw err;
1001
- let journeyData = JSON.parse(data); // check if this is a file with multiple trees and get journey by id
1002
-
1003
- if (journeyData.trees && journeyData.trees[journeyId]) {
1004
- journeyData = journeyData.trees[journeyId];
1005
- } else if (journeyData.trees) {
1006
- journeyData = null;
1007
- } // if a journeyId was specified, only import the matching journey
1008
-
1009
-
1010
- if (journeyData && journeyId === journeyData.tree._id) {
1011
- // attempt dependency resolution for single tree import
1012
- const installedJourneys = (await getTrees()).result.map(x => x._id);
1013
- const unresolvedJourneys = {};
1014
- const resolvedJourneys = [];
1015
- createProgressIndicator(undefined, 'Resolving dependencies', 'indeterminate');
1016
- await resolveDependencies(installedJourneys, {
1017
- [journeyId]: journeyData
1018
- }, unresolvedJourneys, resolvedJourneys);
1019
-
1020
- if (Object.keys(unresolvedJourneys).length === 0) {
1021
- stopProgressIndicator(`Resolved all dependencies.`, 'success');
1022
- if (!verbose) createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1023
- importJourney(journeyData, options).then(() => {
1024
- if (verbose) createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1025
- stopProgressIndicator(`Imported ${journeyId}.`, 'success');
1026
- }).catch(importError => {
1027
- if (verbose) createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1028
- stopProgressIndicator(`${importError}`, 'fail');
1029
- });
1030
- } else {
1031
- stopProgressIndicator(`Unresolved dependencies:`, 'fail');
1032
-
1033
- for (const journey of Object.keys(unresolvedJourneys)) {
1034
- printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
1035
- }
1036
- } // end dependency resolution for single tree import
1037
-
1038
- } else {
1039
- createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1040
- stopProgressIndicator(`${journeyId} not found!`, 'fail');
1041
- }
1042
- });
1043
- }
1044
- /**
1045
- * Import first journey from file
1046
- * @param {string} file import file name
1047
- * @param {TreeImportOptions} options import options
1048
- */
1049
-
1050
- export async function importFirstJourneyFromFile(file, options) {
1051
- const {
1052
- verbose
1053
- } = options;
1054
- fs.readFile(file, 'utf8', async (err, data) => {
1055
- if (err) throw err;
1056
-
1057
- let journeyData = _.cloneDeep(JSON.parse(data));
1058
-
1059
- let journeyId = null; // single tree
1060
-
1061
- if (journeyData.tree) {
1062
- journeyId = _.cloneDeep(journeyData.tree._id);
1063
- } // multiple trees, so get the first tree
1064
- else if (journeyData.trees) {
1065
- for (const treeId in journeyData.trees) {
1066
- if (Object.hasOwnProperty.call(journeyData.trees, treeId)) {
1067
- journeyId = treeId;
1068
- journeyData = journeyData.trees[treeId];
1069
- break;
1070
- }
1071
- }
1072
- } // if a journeyId was specified, only import the matching journey
1073
-
1074
-
1075
- if (journeyData && journeyId) {
1076
- // attempt dependency resolution for single tree import
1077
- const installedJourneys = (await getTrees()).result.map(x => x._id);
1078
- const unresolvedJourneys = {};
1079
- const resolvedJourneys = [];
1080
- createProgressIndicator(undefined, 'Resolving dependencies', 'indeterminate');
1081
- await resolveDependencies(installedJourneys, {
1082
- [journeyId]: journeyData
1083
- }, unresolvedJourneys, resolvedJourneys);
1084
-
1085
- if (Object.keys(unresolvedJourneys).length === 0) {
1086
- stopProgressIndicator(`Resolved all dependencies.`, 'success');
1087
- if (!verbose) createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1088
- importJourney(journeyData, options).then(() => {
1089
- if (verbose) createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1090
- stopProgressIndicator(`Imported ${journeyId}.`, 'success');
1091
- }).catch(importError => {
1092
- if (verbose) createProgressIndicator(undefined, `Importing ${journeyId}...`, 'indeterminate');
1093
- stopProgressIndicator(`${importError}`, 'fail');
1094
- });
1095
- } else {
1096
- stopProgressIndicator(`Unresolved dependencies:`, 'fail');
1097
-
1098
- for (const journey of Object.keys(unresolvedJourneys)) {
1099
- printMessage(` ${journey} requires ${unresolvedJourneys[journey]}`, 'error');
1100
- }
1101
- }
1102
- } else {
1103
- createProgressIndicator(undefined, `Importing...`, 'indeterminate');
1104
- stopProgressIndicator(`No journeys found!`, 'fail');
1105
- } // end dependency resolution for single tree import
1106
-
1107
- });
1108
- }
1109
898
  /**
1110
899
  * Helper to import multiple trees from a tree map
1111
900
  * @param {Object} treesMap map of trees object
1112
901
  * @param {TreeImportOptions} options import options
1113
902
  */
1114
903
 
1115
- async function importAllJourneys(treesMap, options) {
904
+ export async function importAllJourneys(treesMap, options) {
1116
905
  const installedJourneys = (await getTrees()).result.map(x => x._id);
1117
906
  const unresolvedJourneys = {};
1118
907
  const resolvedJourneys = [];
@@ -1143,39 +932,6 @@ async function importAllJourneys(treesMap, options) {
1143
932
 
1144
933
  stopProgressIndicator('Done');
1145
934
  }
1146
- /**
1147
- * Import all journeys from file
1148
- * @param {string} file import file name
1149
- * @param {TreeImportOptions} options import options
1150
- */
1151
-
1152
-
1153
- export async function importJourneysFromFile(file, options) {
1154
- fs.readFile(file, 'utf8', (err, data) => {
1155
- if (err) throw err;
1156
- const fileData = JSON.parse(data);
1157
- importAllJourneys(fileData.trees, options);
1158
- });
1159
- }
1160
- /**
1161
- * Import all journeys from separate files
1162
- * @param {TreeImportOptions} options import options
1163
- */
1164
-
1165
- export async function importJourneysFromFiles(options) {
1166
- const names = fs.readdirSync('.');
1167
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith('.journey.json'));
1168
- const allJourneysData = {
1169
- trees: {}
1170
- };
1171
-
1172
- for (const file of jsonFiles) {
1173
- const journeyData = JSON.parse(fs.readFileSync(file, 'utf8'));
1174
- allJourneysData.trees[journeyData.tree._id] = journeyData;
1175
- }
1176
-
1177
- importAllJourneys(allJourneysData.trees, options);
1178
- }
1179
935
  /**
1180
936
  * Get the node reference obbject for a node object. Node reference objects
1181
937
  * are used in a tree flow definition and within page nodes to reference
@@ -1217,8 +973,7 @@ export const onlineTreeExportResolver = async function (treeId) {
1217
973
  debug(`onlineTreeExportResolver(${treeId})`);
1218
974
  return await exportJourney(treeId, {
1219
975
  deps: false,
1220
- useStringArrays: false,
1221
- verbose: false
976
+ useStringArrays: false
1222
977
  });
1223
978
  };
1224
979
  /**
@@ -1501,70 +1256,6 @@ export function getJourneyClassification(journey) {
1501
1256
  if (premium) classifications.push(JourneyClassification.PREMIUM);
1502
1257
  return classifications;
1503
1258
  }
1504
- /**
1505
- * List all the journeys/trees
1506
- * @param {boolean} long Long version, all the fields
1507
- * @param {boolean} analyze Analyze journeys/trees for custom nodes (expensive)
1508
- * @returns {Promise<unknown[]>} a promise that resolves to an array journey objects
1509
- */
1510
-
1511
- export async function listJourneys(long = false, analyze = false) {
1512
- let journeys = [];
1513
-
1514
- try {
1515
- journeys = await getJourneys();
1516
-
1517
- if (!long && !analyze) {
1518
- for (const journeyStub of journeys) {
1519
- printMessage(`${journeyStub['_id']}`, 'data');
1520
- }
1521
- } else {
1522
- if (!analyze) {
1523
- const table = createTable(['Name', 'Status', 'Tags']);
1524
-
1525
- for (const journeyStub of journeys) {
1526
- var _journeyStub$uiConfig;
1527
-
1528
- table.push([`${journeyStub._id}`, journeyStub.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], (_journeyStub$uiConfig = journeyStub.uiConfig) !== null && _journeyStub$uiConfig !== void 0 && _journeyStub$uiConfig.categories ? wordwrap(JSON.parse(journeyStub.uiConfig.categories).join(', '), 60) : '']);
1529
- }
1530
-
1531
- printMessage(table.toString(), 'data');
1532
- } else {
1533
- createProgressIndicator(0, 'Retrieving details of all journeys...', 'indeterminate');
1534
- const exportPromises = [];
1535
-
1536
- try {
1537
- for (const journeyStub of journeys) {
1538
- exportPromises.push(exportJourney(journeyStub['_id'], {
1539
- useStringArrays: false,
1540
- deps: false,
1541
- verbose: false
1542
- }));
1543
- }
1544
-
1545
- const journeyExports = await Promise.all(exportPromises);
1546
- stopProgressIndicator('Retrieved details of all journeys.', 'success');
1547
- const table = createTable(['Name', 'Status', 'Classification', 'Tags']);
1548
-
1549
- for (const journeyExport of journeyExports) {
1550
- var _journeyExport$tree$u;
1551
-
1552
- table.push([`${journeyExport.tree._id}`, journeyExport.tree.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], getJourneyClassification(journeyExport).join(', '), (_journeyExport$tree$u = journeyExport.tree.uiConfig) !== null && _journeyExport$tree$u !== void 0 && _journeyExport$tree$u.categories ? wordwrap(JSON.parse(journeyExport.tree.uiConfig.categories).join(', '), 60) : '']);
1553
- }
1554
-
1555
- printMessage(table.toString(), 'data');
1556
- } catch (error) {
1557
- stopProgressIndicator('Error retrieving details of all journeys.', 'fail');
1558
- printMessage(error.response.data, 'error');
1559
- }
1560
- }
1561
- }
1562
- } catch (error) {
1563
- printMessage(error.response.data, 'error');
1564
- }
1565
-
1566
- return journeys;
1567
- }
1568
1259
  /**
1569
1260
  * Delete a journey
1570
1261
  * @param {string} journeyId journey id/name