@rockcarver/frodo-lib 0.14.1 → 0.15.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/CHANGELOG.md CHANGED
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.15.0] - 2022-10-14
11
+
12
+ ### Added
13
+
14
+ - rockcarver/frodo-cli#82: Added version update checking
15
+
16
+ ### Changed
17
+
18
+ - Exposed more api layer modules
19
+
20
+ ## [0.14.2-0] - 2022-10-11
21
+
22
+ ### Added
23
+
24
+ - rockcarver/frodo-cli#82: Added version update checking
25
+
10
26
  ## [0.14.1] - 2022-10-11
11
27
 
12
28
  ### Changed
@@ -623,7 +639,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
623
639
  - Fixed problem with adding connection profiles
624
640
  - Miscellaneous bug fixes
625
641
 
626
- [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.14.1...HEAD
642
+ [Unreleased]: https://github.com/rockcarver/frodo-lib/compare/v0.15.0...HEAD
643
+
644
+ [0.15.0]: https://github.com/rockcarver/frodo-lib/compare/v0.14.2-0...v0.15.0
645
+
646
+ [0.14.2-0]: https://github.com/rockcarver/frodo-lib/compare/v0.14.1...v0.14.2-0
627
647
 
628
648
  [0.14.1]: https://github.com/rockcarver/frodo-lib/compare/v0.14.0...v0.14.1
629
649
 
@@ -9,6 +9,7 @@ exports.generateIdmApi = generateIdmApi;
9
9
  exports.generateLogApi = generateLogApi;
10
10
  exports.generateLogKeysApi = generateLogKeysApi;
11
11
  exports.generateOauth2Api = generateOauth2Api;
12
+ exports.generateReleaseApi = generateReleaseApi;
12
13
 
13
14
  var _agentkeepalive = _interopRequireDefault(require("agentkeepalive"));
14
15
 
@@ -319,4 +320,33 @@ function generateESVApi(resource) {
319
320
 
320
321
  return request;
321
322
  }
323
+ /**
324
+ * Generates a release (Github or Npm) Axios API instance
325
+ * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
326
+ * on extra information or override default properties https://github.com/axios/axios#request-config
327
+ *
328
+ * @returns {AxiosInstance}
329
+ */
330
+
331
+
332
+ function generateReleaseApi(baseUrl) {
333
+ var requestOverride = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
334
+
335
+ var requestDetails = _objectSpread(_objectSpread({
336
+ baseURL: baseUrl,
337
+ timeout,
338
+ headers: {
339
+ 'User-Agent': userAgent,
340
+ 'Content-Type': 'application/json'
341
+ }
342
+ }, requestOverride), {}, {
343
+ httpAgent: getHttpAgent(),
344
+ httpsAgent: getHttpsAgent(),
345
+ proxy: getProxy()
346
+ });
347
+
348
+ var request = _axios.default.create(requestDetails);
349
+
350
+ return request;
351
+ }
322
352
  //# sourceMappingURL=BaseApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseApi.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","options","rejectUnauthorized","storage","session","getAllowInsecureConnection","httpsProxy","process","env","HTTPS_PROXY","https_proxy","console","error","parsed","url","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","generateAmApi","resource","requestOverride","headers","apiVersion","Cookie","getCookieName","getCookieValue","requestDetails","baseURL","getTenant","getAuthenticationHeaderOverrides","proxy","request","create","generateOauth2Api","raw","generateIdmApi","getTenantURL","getBearerToken","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi"],"sources":["api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport { getTenantURL } from './utils/ApiUtils';\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaseApi.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","name","version","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","options","rejectUnauthorized","storage","session","getAllowInsecureConnection","httpsProxy","process","env","HTTPS_PROXY","https_proxy","console","error","parsed","url","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","generateAmApi","resource","requestOverride","headers","apiVersion","Cookie","getCookieName","getCookieValue","requestDetails","baseURL","getTenant","getAuthenticationHeaderOverrides","proxy","request","create","generateOauth2Api","raw","generateIdmApi","getTenantURL","getBearerToken","generateLogKeysApi","generateLogApi","getLogApiKey","getLogApiSecret","generateESVApi","generateReleaseApi","baseUrl"],"sources":["api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport { getTenantURL } from './utils/ApiUtils';\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n"],"mappings":"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"}
package/cjs/index.js CHANGED
@@ -3,49 +3,41 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VariablesRaw = exports.Variables = exports.Utils = exports.TypesRaw = exports.Types = exports.TreeRaw = exports.ThemeRaw = exports.Theme = exports.StartupRaw = exports.Startup = exports.SecretsRaw = exports.Secrets = exports.Script = exports.Saml2 = exports.Realm = exports.Organization = exports.OAuth2OIDCApi = exports.OAuth2Client = exports.NodeRaw = exports.Node = exports.ManagedObject = exports.Log = exports.Journey = exports.Idp = exports.Idm = exports.EmailTemplate = exports.ConnectionProfile = exports.CirclesOfTrust = exports.Authenticate = exports.Admin = void 0;
7
- exports.getVersion = getVersion;
8
- exports.state = void 0;
9
-
10
- var _fs = _interopRequireDefault(require("fs"));
11
-
12
- var _path = _interopRequireDefault(require("path"));
13
-
14
- var _url = require("url");
6
+ exports.state = exports.VariablesRaw = exports.Variables = exports.Utils = exports.TypesRaw = exports.Types = exports.TreeRaw = exports.ThemeRaw = exports.Theme = exports.StartupRaw = exports.Startup = exports.SecretsRaw = exports.Secrets = exports.Script = exports.Saml2 = exports.Realm = exports.Organization = exports.OAuth2OIDCApi = exports.OAuth2Client = exports.NodeRaw = exports.Node = exports.ManagedObject = exports.Log = exports.LibVersion = exports.Journey = exports.Idp = exports.Idm = exports.ExportImportUtils = exports.EmailTemplateRaw = exports.EmailTemplate = exports.ConnectionProfile = exports.CirclesOfTrust = exports.Authenticate = exports.Admin = void 0;
15
7
 
16
8
  var _colors = _interopRequireDefault(require("colors"));
17
9
 
18
- var _TypesRaw = _interopRequireWildcard(require("./api/ApiTypes"));
10
+ var _EmailTemplateRaw = _interopRequireWildcard(require("./api/EmailTemplateApi"));
19
11
 
20
- exports.TypesRaw = _TypesRaw;
12
+ exports.EmailTemplateRaw = _EmailTemplateRaw;
21
13
 
22
14
  var _NodeRaw = _interopRequireWildcard(require("./api/NodeApi"));
23
15
 
24
16
  exports.NodeRaw = _NodeRaw;
25
17
 
26
- var _TreeRaw = _interopRequireWildcard(require("./api/TreeApi"));
18
+ var _SecretsRaw = _interopRequireWildcard(require("./api/SecretsApi"));
27
19
 
28
- exports.TreeRaw = _TreeRaw;
20
+ exports.SecretsRaw = _SecretsRaw;
29
21
 
30
22
  var _StartupRaw = _interopRequireWildcard(require("./api/StartupApi"));
31
23
 
32
24
  exports.StartupRaw = _StartupRaw;
33
25
 
34
- var _SecretsRaw = _interopRequireWildcard(require("./api/SecretsApi"));
26
+ var _ThemeRaw = _interopRequireWildcard(require("./api/ThemeApi"));
35
27
 
36
- exports.SecretsRaw = _SecretsRaw;
28
+ exports.ThemeRaw = _ThemeRaw;
37
29
 
38
- var _VariablesRaw = _interopRequireWildcard(require("./api/VariablesApi"));
30
+ var _TreeRaw = _interopRequireWildcard(require("./api/TreeApi"));
39
31
 
40
- exports.VariablesRaw = _VariablesRaw;
32
+ exports.TreeRaw = _TreeRaw;
41
33
 
42
- var _ThemeRaw = _interopRequireWildcard(require("./api/ThemeApi"));
34
+ var _TypesRaw = _interopRequireWildcard(require("./api/ApiTypes"));
43
35
 
44
- exports.ThemeRaw = _ThemeRaw;
36
+ exports.TypesRaw = _TypesRaw;
45
37
 
46
- var _Types = _interopRequireWildcard(require("./ops/OpsTypes"));
38
+ var _VariablesRaw = _interopRequireWildcard(require("./api/VariablesApi"));
47
39
 
48
- exports.Types = _Types;
40
+ exports.VariablesRaw = _VariablesRaw;
49
41
 
50
42
  var _Admin = _interopRequireWildcard(require("./ops/AdminOps"));
51
43
 
@@ -87,6 +79,10 @@ var _ManagedObject = _interopRequireWildcard(require("./ops/ManagedObjectOps"));
87
79
 
88
80
  exports.ManagedObject = _ManagedObject;
89
81
 
82
+ var _Node = _interopRequireWildcard(require("./ops/NodeOps"));
83
+
84
+ exports.Node = _Node;
85
+
90
86
  var _OAuth2Client = _interopRequireWildcard(require("./ops/OAuth2ClientOps"));
91
87
 
92
88
  exports.OAuth2Client = _OAuth2Client;
@@ -95,10 +91,6 @@ var _Organization = _interopRequireWildcard(require("./ops/OrganizationOps"));
95
91
 
96
92
  exports.Organization = _Organization;
97
93
 
98
- var _Node = _interopRequireWildcard(require("./ops/NodeOps"));
99
-
100
- exports.Node = _Node;
101
-
102
94
  var _Realm = _interopRequireWildcard(require("./ops/RealmOps"));
103
95
 
104
96
  exports.Realm = _Realm;
@@ -123,6 +115,10 @@ var _Theme = _interopRequireWildcard(require("./ops/ThemeOps"));
123
115
 
124
116
  exports.Theme = _Theme;
125
117
 
118
+ var _Types = _interopRequireWildcard(require("./ops/OpsTypes"));
119
+
120
+ exports.Types = _Types;
121
+
126
122
  var _Variables = _interopRequireWildcard(require("./ops/VariablesOps"));
127
123
 
128
124
  exports.Variables = _Variables;
@@ -131,6 +127,14 @@ var _Utils = _interopRequireWildcard(require("./ops/utils/OpsUtils"));
131
127
 
132
128
  exports.Utils = _Utils;
133
129
 
130
+ var _LibVersion = _interopRequireWildcard(require("./ops/utils/Version"));
131
+
132
+ exports.LibVersion = _LibVersion;
133
+
134
+ var _ExportImportUtils = _interopRequireWildcard(require("./ops/utils/ExportImportUtils"));
135
+
136
+ exports.ExportImportUtils = _ExportImportUtils;
137
+
134
138
  var _state = _interopRequireWildcard(require("./storage/SessionStorage"));
135
139
 
136
140
  exports.state = _state;
@@ -145,13 +149,5 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
145
149
 
146
150
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
147
151
 
148
- _colors.default.enable();
149
-
150
- var _dirname = _path.default.dirname((0, _url.fileURLToPath)(require('url').pathToFileURL(__filename).toString()));
151
-
152
- var pkg = JSON.parse(_fs.default.readFileSync(_path.default.resolve(_dirname, '../package.json'), 'utf8'));
153
-
154
- function getVersion() {
155
- return "v".concat(pkg.version);
156
- } // Api Layer
152
+ _colors.default.enable(); // Api Layer
157
153
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Color","enable","__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","getVersion","version"],"sources":["index.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport Color from 'colors';\n\nColor.enable();\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\nexport function getVersion() {\n return `v${pkg.version}`;\n}\n\n// Api Layer\nexport * as TypesRaw from './api/ApiTypes';\nexport * as NodeRaw from './api/NodeApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as SecretsRaw from './api/SecretsApi';\nexport * as VariablesRaw from './api/VariablesApi';\nexport * as ThemeRaw from './api/ThemeApi';\n\n// Ops Layer\nexport * as Types from './ops/OpsTypes';\nexport * as Admin from './ops/AdminOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Idp from './ops/IdpOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Node from './ops/NodeOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml2 from './ops/Saml2Ops';\nexport * as Script from './ops/ScriptOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './storage/SessionStorage';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEAA,eAAA,CAAMC,MAAN;;AAEA,IAAMC,QAAS,GAAGC,aAAA,CAAKC,OAAL,CAAa,IAAAC,kBAAA,sDAAb,CAAlB;;AAEA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgBP,aAAA,CAAKQ,OAAL,CAAaT,QAAb,EAAwB,iBAAxB,CAAhB,EAA4D,MAA5D,CADU,CAAZ;;AAIO,SAASU,UAAT,GAAsB;EAC3B,kBAAWN,GAAG,CAACO,OAAf;AACD,C,CAED"}
1
+ {"version":3,"file":"index.js","names":["Color","enable"],"sources":["index.ts"],"sourcesContent":["import Color from 'colors';\n\nColor.enable();\n\n// Api Layer\nexport * as EmailTemplateRaw from './api/EmailTemplateApi';\nexport * as NodeRaw from './api/NodeApi';\nexport * as SecretsRaw from './api/SecretsApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as ThemeRaw from './api/ThemeApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as TypesRaw from './api/ApiTypes';\nexport * as VariablesRaw from './api/VariablesApi';\n\n// Ops Layer\nexport * as Admin from './ops/AdminOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Idp from './ops/IdpOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as Node from './ops/NodeOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml2 from './ops/Saml2Ops';\nexport * as Script from './ops/ScriptOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Types from './ops/OpsTypes';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\nexport * as LibVersion from './ops/utils/Version';\nexport * as ExportImportUtils from './ops/utils/ExportImportUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './storage/SessionStorage';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\n"],"mappings":";;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEAA,eAAA,CAAMC,MAAN,G,CAEA"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getAllVersions = getAllVersions;
7
+ exports.getVersion = getVersion;
8
+
9
+ var _fs = _interopRequireDefault(require("fs"));
10
+
11
+ var _path = _interopRequireDefault(require("path"));
12
+
13
+ var _BaseApi = require("../../api/BaseApi");
14
+
15
+ var _url = require("url");
16
+
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+
19
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
20
+
21
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
22
+
23
+ var _dirname = _path.default.dirname((0, _url.fileURLToPath)(require('url').pathToFileURL(__filename).toString()));
24
+
25
+ var pkg = JSON.parse(_fs.default.readFileSync(_path.default.resolve(_dirname, '../../../package.json'), 'utf8')); // const userAgent = `${pkg.name}/${pkg.version}`;
26
+
27
+ function getVersion() {
28
+ return "".concat(pkg.version);
29
+ }
30
+
31
+ function getAllVersions(_x) {
32
+ return _getAllVersions.apply(this, arguments);
33
+ }
34
+
35
+ function _getAllVersions() {
36
+ _getAllVersions = _asyncToGenerator(function* (endpoints) {
37
+ var reqPromises = [];
38
+ endpoints.forEach(item => {
39
+ reqPromises.push((0, _BaseApi.generateReleaseApi)(item.base).get(item.path));
40
+ });
41
+ var result = yield Promise.allSettled(reqPromises);
42
+ return result;
43
+ });
44
+ return _getAllVersions.apply(this, arguments);
45
+ }
46
+ //# sourceMappingURL=Version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Version.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","getVersion","version","getAllVersions","endpoints","reqPromises","forEach","item","push","generateReleaseApi","base","get","result","Promise","allSettled"],"sources":["ops/utils/Version.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { generateReleaseApi } from '../../api/BaseApi';\n\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// const userAgent = `${pkg.name}/${pkg.version}`;\n\nexport function getVersion() {\n return `${pkg.version}`;\n}\n\nexport async function getAllVersions(endpoints) {\n const reqPromises = [];\n endpoints.forEach((item) => {\n reqPromises.push(generateReleaseApi(item.base).get(item.path));\n });\n const result = await Promise.allSettled(reqPromises);\n return result;\n}\n"],"mappings":";;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAEA,IAAMA,QAAS,GAAGC,aAAA,CAAKC,OAAL,CAAa,IAAAC,kBAAA,sDAAb,CAAlB;;AAEA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgBP,aAAA,CAAKQ,OAAL,CAAaT,QAAb,EAAwB,uBAAxB,CAAhB,EAAkE,MAAlE,CADU,CAAZ,C,CAGA;;AAEO,SAASU,UAAT,GAAsB;EAC3B,iBAAUN,GAAG,CAACO,OAAd;AACD;;SAEqBC,c;;;;;sCAAf,WAA8BC,SAA9B,EAAyC;IAC9C,IAAMC,WAAW,GAAG,EAApB;IACAD,SAAS,CAACE,OAAV,CAAmBC,IAAD,IAAU;MAC1BF,WAAW,CAACG,IAAZ,CAAiB,IAAAC,2BAAA,EAAmBF,IAAI,CAACG,IAAxB,EAA8BC,GAA9B,CAAkCJ,IAAI,CAACf,IAAvC,CAAjB;IACD,CAFD;IAGA,IAAMoB,MAAM,SAASC,OAAO,CAACC,UAAR,CAAmBT,WAAnB,CAArB;IACA,OAAOO,MAAP;EACD,C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Version.test.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","describe","test","result","getVersion","expect","toEqual","version"],"sources":["ops/utils/Version.test.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { getVersion } from './Version';\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\ndescribe('index', () => {\n test('get library version', () => {\n const result = getVersion();\n expect(result).toEqual(`${pkg.version}`);\n });\n});\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,QAAS,GAAGC,aAAA,CAAKC,OAAL,CAAa,IAAAC,kBAAA,sDAAb,CAAlB;;AAEA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgBP,aAAA,CAAKQ,OAAL,CAAaT,QAAb,EAAwB,uBAAxB,CAAhB,EAAkE,MAAlE,CADU,CAAZ;AAIAU,QAAQ,CAAC,OAAD,EAAU,MAAM;EACtBC,IAAI,CAAC,qBAAD,EAAwB,MAAM;IAChC,IAAMC,MAAM,GAAG,IAAAC,mBAAA,GAAf;IACAC,MAAM,CAACF,MAAD,CAAN,CAAeG,OAAf,WAA0BX,GAAG,CAACY,OAA9B;EACD,CAHG,CAAJ;AAID,CALO,CAAR"}
@@ -270,4 +270,28 @@ export function generateESVApi(resource, requestOverride = {}) {
270
270
  const request = axios.create(requestDetails);
271
271
  return request;
272
272
  }
273
+ /**
274
+ * Generates a release (Github or Npm) Axios API instance
275
+ * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
276
+ * on extra information or override default properties https://github.com/axios/axios#request-config
277
+ *
278
+ * @returns {AxiosInstance}
279
+ */
280
+
281
+ export function generateReleaseApi(baseUrl, requestOverride = {}) {
282
+ const requestDetails = {
283
+ baseURL: baseUrl,
284
+ timeout,
285
+ headers: {
286
+ 'User-Agent': userAgent,
287
+ 'Content-Type': 'application/json'
288
+ },
289
+ ...requestOverride,
290
+ httpAgent: getHttpAgent(),
291
+ httpsAgent: getHttpsAgent(),
292
+ proxy: getProxy()
293
+ };
294
+ const request = axios.create(requestDetails);
295
+ return request;
296
+ }
273
297
  //# sourceMappingURL=BaseApi.js.map
package/esm/index.mjs CHANGED
@@ -1,25 +1,15 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { fileURLToPath } from 'url';
4
1
  import Color from 'colors';
5
- Color.enable();
2
+ Color.enable(); // Api Layer
6
3
 
7
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
-
9
- const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../package.json'), 'utf8'));
10
- export function getVersion() {
11
- return `v${pkg.version}`;
12
- } // Api Layer
13
-
14
- export * as TypesRaw from './api/ApiTypes';
4
+ export * as EmailTemplateRaw from './api/EmailTemplateApi';
15
5
  export * as NodeRaw from './api/NodeApi';
16
- export * as TreeRaw from './api/TreeApi';
17
- export * as StartupRaw from './api/StartupApi';
18
6
  export * as SecretsRaw from './api/SecretsApi';
19
- export * as VariablesRaw from './api/VariablesApi';
20
- export * as ThemeRaw from './api/ThemeApi'; // Ops Layer
7
+ export * as StartupRaw from './api/StartupApi';
8
+ export * as ThemeRaw from './api/ThemeApi';
9
+ export * as TreeRaw from './api/TreeApi';
10
+ export * as TypesRaw from './api/ApiTypes';
11
+ export * as VariablesRaw from './api/VariablesApi'; // Ops Layer
21
12
 
22
- export * as Types from './ops/OpsTypes';
23
13
  export * as Admin from './ops/AdminOps';
24
14
  export * as Authenticate from './ops/AuthenticateOps';
25
15
  export * as CirclesOfTrust from './ops/CirclesOfTrustOps';
@@ -30,18 +20,21 @@ export * as Idp from './ops/IdpOps';
30
20
  export * as Journey from './ops/JourneyOps';
31
21
  export * as Log from './ops/LogOps';
32
22
  export * as ManagedObject from './ops/ManagedObjectOps';
23
+ export * as Node from './ops/NodeOps';
33
24
  export * as OAuth2Client from './ops/OAuth2ClientOps';
34
25
  export * as Organization from './ops/OrganizationOps';
35
- export * as Node from './ops/NodeOps';
36
26
  export * as Realm from './ops/RealmOps';
37
27
  export * as Saml2 from './ops/Saml2Ops';
38
28
  export * as Script from './ops/ScriptOps';
39
29
  export * as Secrets from './ops/SecretsOps';
40
30
  export * as Startup from './ops/StartupOps';
41
31
  export * as Theme from './ops/ThemeOps';
32
+ export * as Types from './ops/OpsTypes';
42
33
  export * as Variables from './ops/VariablesOps'; // TODO: revisit if there are better ways
43
34
 
44
- export * as Utils from './ops/utils/OpsUtils'; // TODO: reconsider the aproach to pass in state from client
35
+ export * as Utils from './ops/utils/OpsUtils';
36
+ export * as LibVersion from './ops/utils/Version';
37
+ export * as ExportImportUtils from './ops/utils/ExportImportUtils'; // TODO: reconsider the aproach to pass in state from client
45
38
  // lib should be stateless, an aplication should own its state
46
39
 
47
40
  export * as state from './storage/SessionStorage'; // TODO: need to figure out if this is the right approach or if we should even
@@ -0,0 +1,21 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { generateReleaseApi } from '../../api/BaseApi';
4
+ import { fileURLToPath } from 'url';
5
+
6
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
+
8
+ const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../../package.json'), 'utf8')); // const userAgent = `${pkg.name}/${pkg.version}`;
9
+
10
+ export function getVersion() {
11
+ return `${pkg.version}`;
12
+ }
13
+ export async function getAllVersions(endpoints) {
14
+ const reqPromises = [];
15
+ endpoints.forEach(item => {
16
+ reqPromises.push(generateReleaseApi(item.base).get(item.path));
17
+ });
18
+ const result = await Promise.allSettled(reqPromises);
19
+ return result;
20
+ }
21
+ //# sourceMappingURL=Version.js.map
@@ -1,15 +1,15 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { getVersion } from '.';
3
+ import { getVersion } from './Version';
4
4
  import { fileURLToPath } from 'url';
5
5
 
6
6
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
7
7
 
8
- const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../package.json'), 'utf8'));
8
+ const pkg = JSON.parse(fs.readFileSync(path.resolve(__dirname, '../../../package.json'), 'utf8'));
9
9
  describe('index', () => {
10
10
  test('get library version', () => {
11
11
  const result = getVersion();
12
- expect(result).toEqual(`v${pkg.version}`);
12
+ expect(result).toEqual(`${pkg.version}`);
13
13
  });
14
14
  });
15
- //# sourceMappingURL=index.test.js.map
15
+ //# sourceMappingURL=Version.test.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-lib",
3
- "version": "0.14.1",
3
+ "version": "0.15.0",
4
4
  "type": "commonjs",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.mjs",
@@ -48,3 +48,11 @@ export declare function generateLogApi(requestOverride?: {}): import("axios").Ax
48
48
  * @returns {AxiosInstance}
49
49
  */
50
50
  export declare function generateESVApi(resource: any, requestOverride?: {}): import("axios").AxiosInstance;
51
+ /**
52
+ * Generates a release (Github or Npm) Axios API instance
53
+ * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add
54
+ * on extra information or override default properties https://github.com/axios/axios#request-config
55
+ *
56
+ * @returns {AxiosInstance}
57
+ */
58
+ export declare function generateReleaseApi(baseUrl: any, requestOverride?: {}): import("axios").AxiosInstance;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/api/BaseApi.ts"],"names":[],"mappings":"AAqFA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA8B3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA6B/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAuBlD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,KAAK,iCAwBtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAmBlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCAyB5D","file":"BaseApi.d.ts","sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport { getTenantURL } from './utils/ApiUtils';\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n"]}
1
+ {"version":3,"sources":["../src/api/BaseApi.ts"],"names":[],"mappings":"AAqFA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA8B3D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCA6B/D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAuBlD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,KAAK,iCAwBtD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,eAAe,KAAK,iCAmBlD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,eAAe,KAAK,iCAyB5D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,KAAA,EAAE,eAAe,KAAK,iCAiB/D","file":"BaseApi.d.ts","sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport url from 'url';\nimport fs from 'fs';\nimport storage from '../storage/SessionStorage';\nimport { getTenantURL } from './utils/ApiUtils';\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\naxiosRetry(axios, {\n retries: 3,\n shouldResetTimeout: true,\n retryCondition: (_error) => true, // retry no matter what\n});\n\n// all agents\nconst timeout = 30000;\n\n// agentkeepalive\nconst maxSockets = 100;\nconst maxFreeSockets = 10;\nconst freeSocketTimeout = 30000;\n\nconst userAgent = `${pkg.name}/${pkg.version}`;\nlet httpAgent, httpsAgent;\n\nfunction getHttpAgent() {\n if (httpAgent) return httpAgent;\n httpAgent = new Agent({\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpAgent;\n}\n\n/**\n * Helper method to create properly configured httpsAgent\n * @returns {any} appropriate httpsAgent\n */\nfunction getHttpsAgent() {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !storage.session.getAllowInsecureConnection(),\n };\n const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;\n if (httpsProxy) {\n // https://github.com/axios/axios/issues/3459\n console.error(`Using proxy ${httpsProxy}`['yellow']);\n const parsed = url.parse(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !storage.session.getAllowInsecureConnection();\n httpsAgent = HttpsProxyAgent(options);\n return httpsAgent;\n }\n httpsAgent = new Agent.HttpsAgent({\n ...options,\n maxSockets,\n maxFreeSockets,\n timeout,\n freeSocketTimeout,\n });\n return httpsAgent;\n}\n\n/**\n * Get Proxy config\n * @returns {AxiosProxyConfig | false} axios proxy config or false\n */\nfunction getProxy(): AxiosProxyConfig | false {\n if (process.env.HTTPS_PROXY || process.env.https_proxy) return false;\n return null;\n}\n\n/**\n * Generates an AM Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateAmApi(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.getCookieName()}=${storage.session.getCookieValue()}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an OAuth2 Axios API instance\n * @param {object} resource Takes an object takes a resource object. example:\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either\n * add on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateOauth2Api(resource, requestOverride = {}) {\n let headers = {\n 'User-Agent': userAgent,\n 'Accept-API-Version': resource.apiVersion,\n Cookie: `${storage.session.raw['cookieName']}=${storage.session.raw['cookieValue']}`,\n };\n if (requestOverride['headers']) {\n headers = {\n ...headers,\n ...requestOverride['headers'],\n };\n }\n\n const requestDetails = {\n baseURL: `${storage.session.getTenant()}/json${resource.path}`,\n timeout,\n ...requestOverride,\n headers: {\n ...headers,\n ...storage.session.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an IDM Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateIdmApi(requestOverride = {}) {\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a LogKeys API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogKeysApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a Log API Axios instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateLogApi(requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': storage.session.getLogApiKey(),\n 'X-API-Secret': storage.session.getLogApiSecret(),\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates an ESV Axios API instance for Environment Secrets and Variables\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateESVApi(resource, requestOverride = {}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n 'Accept-API-Version': resource.apiVersion,\n };\n const requestDetails = {\n baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n if (storage.session.getBearerToken()) {\n requestDetails.headers[\n 'Authorization'\n ] = `Bearer ${storage.session.getBearerToken()}`;\n }\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n\n/**\n * Generates a release (Github or Npm) Axios API instance\n * @param {object} requestOverride Takes an object of AXIOS parameters that can be used to either add\n * on extra information or override default properties https://github.com/axios/axios#request-config\n *\n * @returns {AxiosInstance}\n */\nexport function generateReleaseApi(baseUrl, requestOverride = {}) {\n const requestDetails = {\n baseURL: baseUrl,\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n },\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n return request;\n}\n"]}
package/types/index.d.ts CHANGED
@@ -1,12 +1,11 @@
1
- export declare function getVersion(): string;
2
- export * as TypesRaw from './api/ApiTypes';
1
+ export * as EmailTemplateRaw from './api/EmailTemplateApi';
3
2
  export * as NodeRaw from './api/NodeApi';
4
- export * as TreeRaw from './api/TreeApi';
5
- export * as StartupRaw from './api/StartupApi';
6
3
  export * as SecretsRaw from './api/SecretsApi';
7
- export * as VariablesRaw from './api/VariablesApi';
4
+ export * as StartupRaw from './api/StartupApi';
8
5
  export * as ThemeRaw from './api/ThemeApi';
9
- export * as Types from './ops/OpsTypes';
6
+ export * as TreeRaw from './api/TreeApi';
7
+ export * as TypesRaw from './api/ApiTypes';
8
+ export * as VariablesRaw from './api/VariablesApi';
10
9
  export * as Admin from './ops/AdminOps';
11
10
  export * as Authenticate from './ops/AuthenticateOps';
12
11
  export * as CirclesOfTrust from './ops/CirclesOfTrustOps';
@@ -17,16 +16,19 @@ export * as Idp from './ops/IdpOps';
17
16
  export * as Journey from './ops/JourneyOps';
18
17
  export * as Log from './ops/LogOps';
19
18
  export * as ManagedObject from './ops/ManagedObjectOps';
19
+ export * as Node from './ops/NodeOps';
20
20
  export * as OAuth2Client from './ops/OAuth2ClientOps';
21
21
  export * as Organization from './ops/OrganizationOps';
22
- export * as Node from './ops/NodeOps';
23
22
  export * as Realm from './ops/RealmOps';
24
23
  export * as Saml2 from './ops/Saml2Ops';
25
24
  export * as Script from './ops/ScriptOps';
26
25
  export * as Secrets from './ops/SecretsOps';
27
26
  export * as Startup from './ops/StartupOps';
28
27
  export * as Theme from './ops/ThemeOps';
28
+ export * as Types from './ops/OpsTypes';
29
29
  export * as Variables from './ops/VariablesOps';
30
30
  export * as Utils from './ops/utils/OpsUtils';
31
+ export * as LibVersion from './ops/utils/Version';
32
+ export * as ExportImportUtils from './ops/utils/ExportImportUtils';
31
33
  export * as state from './storage/SessionStorage';
32
34
  export * as OAuth2OIDCApi from './api/OAuth2OIDCApi';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAaA,wBAAgB,UAAU,WAEzB;AAGD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAG9C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC","file":"index.d.ts","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\nimport Color from 'colors';\n\nColor.enable();\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\nexport function getVersion() {\n return `v${pkg.version}`;\n}\n\n// Api Layer\nexport * as TypesRaw from './api/ApiTypes';\nexport * as NodeRaw from './api/NodeApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as SecretsRaw from './api/SecretsApi';\nexport * as VariablesRaw from './api/VariablesApi';\nexport * as ThemeRaw from './api/ThemeApi';\n\n// Ops Layer\nexport * as Types from './ops/OpsTypes';\nexport * as Admin from './ops/AdminOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Idp from './ops/IdpOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Node from './ops/NodeOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml2 from './ops/Saml2Ops';\nexport * as Script from './ops/ScriptOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './storage/SessionStorage';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AAGnD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AACpC,OAAO,KAAK,aAAa,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAGnE,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAC;AAIlD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC","file":"index.d.ts","sourcesContent":["import Color from 'colors';\n\nColor.enable();\n\n// Api Layer\nexport * as EmailTemplateRaw from './api/EmailTemplateApi';\nexport * as NodeRaw from './api/NodeApi';\nexport * as SecretsRaw from './api/SecretsApi';\nexport * as StartupRaw from './api/StartupApi';\nexport * as ThemeRaw from './api/ThemeApi';\nexport * as TreeRaw from './api/TreeApi';\nexport * as TypesRaw from './api/ApiTypes';\nexport * as VariablesRaw from './api/VariablesApi';\n\n// Ops Layer\nexport * as Admin from './ops/AdminOps';\nexport * as Authenticate from './ops/AuthenticateOps';\nexport * as CirclesOfTrust from './ops/CirclesOfTrustOps';\nexport * as ConnectionProfile from './ops/ConnectionProfileOps';\nexport * as EmailTemplate from './ops/EmailTemplateOps';\nexport * as Idm from './ops/IdmOps';\nexport * as Idp from './ops/IdpOps';\nexport * as Journey from './ops/JourneyOps';\nexport * as Log from './ops/LogOps';\nexport * as ManagedObject from './ops/ManagedObjectOps';\nexport * as Node from './ops/NodeOps';\nexport * as OAuth2Client from './ops/OAuth2ClientOps';\nexport * as Organization from './ops/OrganizationOps';\nexport * as Realm from './ops/RealmOps';\nexport * as Saml2 from './ops/Saml2Ops';\nexport * as Script from './ops/ScriptOps';\nexport * as Secrets from './ops/SecretsOps';\nexport * as Startup from './ops/StartupOps';\nexport * as Theme from './ops/ThemeOps';\nexport * as Types from './ops/OpsTypes';\nexport * as Variables from './ops/VariablesOps';\n// TODO: revisit if there are better ways\nexport * as Utils from './ops/utils/OpsUtils';\nexport * as LibVersion from './ops/utils/Version';\nexport * as ExportImportUtils from './ops/utils/ExportImportUtils';\n// TODO: reconsider the aproach to pass in state from client\n// lib should be stateless, an aplication should own its state\nexport * as state from './storage/SessionStorage';\n// TODO: need to figure out if this is the right approach or if we should even\n// use a public oauth2/oidc library. might be ok for now since there is only\n// one place where the cli needs to execute an oauth flow.\nexport * as OAuth2OIDCApi from './api/OAuth2OIDCApi';\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function getVersion(): string;
2
+ export declare function getAllVersions(endpoints: any): Promise<PromiseSettledResult<any>[]>;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ops/utils/Version.ts"],"names":[],"mappings":"AAaA,wBAAgB,UAAU,WAEzB;AAED,wBAAsB,cAAc,CAAC,SAAS,KAAA,wCAO7C","file":"Version.d.ts","sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { generateReleaseApi } from '../../api/BaseApi';\n\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// const userAgent = `${pkg.name}/${pkg.version}`;\n\nexport function getVersion() {\n return `${pkg.version}`;\n}\n\nexport async function getAllVersions(endpoints) {\n const reqPromises = [];\n endpoints.forEach((item) => {\n reqPromises.push(generateReleaseApi(item.base).get(item.path));\n });\n const result = await Promise.allSettled(reqPromises);\n return result;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","describe","test","result","getVersion","expect","toEqual","version"],"sources":["index.test.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { getVersion } from '.';\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\ndescribe('index', () => {\n test('get library version', () => {\n const result = getVersion();\n expect(result).toEqual(`v${pkg.version}`);\n });\n});\n"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,QAAS,GAAGC,aAAA,CAAKC,OAAL,CAAa,IAAAC,kBAAA,sDAAb,CAAlB;;AAEA,IAAMC,GAAG,GAAGC,IAAI,CAACC,KAAL,CACVC,WAAA,CAAGC,YAAH,CAAgBP,aAAA,CAAKQ,OAAL,CAAaT,QAAb,EAAwB,iBAAxB,CAAhB,EAA4D,MAA5D,CADU,CAAZ;AAIAU,QAAQ,CAAC,OAAD,EAAU,MAAM;EACtBC,IAAI,CAAC,qBAAD,EAAwB,MAAM;IAChC,IAAMC,MAAM,GAAG,IAAAC,YAAA,GAAf;IACAC,MAAM,CAACF,MAAD,CAAN,CAAeG,OAAf,YAA2BX,GAAG,CAACY,OAA/B;EACD,CAHG,CAAJ;AAID,CALO,CAAR"}