@rockcarver/frodo-lib 2.0.0-32 → 2.0.0-33

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.
Files changed (43) hide show
  1. package/build.zip +0 -0
  2. package/cjs/api/AuthenticateApi.js.map +1 -1
  3. package/cjs/api/BaseApi.js +6 -9
  4. package/cjs/api/BaseApi.js.map +1 -1
  5. package/cjs/api/cloud/LogApi.js +51 -15
  6. package/cjs/api/cloud/LogApi.js.map +1 -1
  7. package/cjs/ops/cloud/LogOps.js +150 -89
  8. package/cjs/ops/cloud/LogOps.js.map +1 -1
  9. package/esm/api/AuthenticateApi.js.map +1 -1
  10. package/esm/api/BaseApi.js +4 -7
  11. package/esm/api/BaseApi.js.map +1 -1
  12. package/esm/api/cloud/LogApi.js +29 -0
  13. package/esm/api/cloud/LogApi.js.map +1 -1
  14. package/esm/ops/cloud/LogOps.js +99 -58
  15. package/esm/ops/cloud/LogOps.js.map +1 -1
  16. package/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/am_1076162899/recording.har +14 -14
  17. package/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/oauth2_393036114/recording.har +7 -7
  18. package/mocks/email_2324124615/template-export_3631781680/0_A_2106804035/openidm_3290118515/recording.har +17 -17
  19. package/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/am_1076162899/recording.har +12 -12
  20. package/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/oauth2_393036114/recording.har +7 -7
  21. package/mocks/email_2324124615/template-export_3631781680/0_a_2643687843/openidm_3290118515/recording.har +17 -17
  22. package/mocks/email_2324124615/template-export_3631781680/0_a_file_4115838018/am_1076162899/recording.har +14 -14
  23. package/mocks/email_2324124615/template-export_3631781680/0_a_file_4115838018/oauth2_393036114/recording.har +7 -7
  24. package/mocks/email_2324124615/template-export_3631781680/0_a_file_4115838018/openidm_3290118515/recording.har +17 -17
  25. package/mocks/email_2324124615/template-list_431111950/0_890022063/am_1076162899/recording.har +23 -23
  26. package/mocks/email_2324124615/template-list_431111950/0_890022063/oauth2_393036114/recording.har +10 -10
  27. package/mocks/email_2324124615/template-list_431111950/0_890022063/openidm_3290118515/recording.har +21 -21
  28. package/mocks/email_2324124615/template-list_431111950/0_l_2828241652/am_1076162899/recording.har +23 -23
  29. package/mocks/email_2324124615/template-list_431111950/0_l_2828241652/oauth2_393036114/recording.har +10 -10
  30. package/mocks/email_2324124615/template-list_431111950/0_l_2828241652/openidm_3290118515/recording.har +21 -21
  31. package/mocks/email_2324124615/template-list_431111950/0_long_276218670/am_1076162899/recording.har +23 -23
  32. package/mocks/email_2324124615/template-list_431111950/0_long_276218670/oauth2_393036114/recording.har +10 -10
  33. package/mocks/email_2324124615/template-list_431111950/0_long_276218670/openidm_3290118515/recording.har +21 -21
  34. package/mocks/idm_2060434423/list_217798785/0_890022063/am_1076162899/recording.har +23 -23
  35. package/mocks/idm_2060434423/list_217798785/0_890022063/oauth2_393036114/recording.har +10 -10
  36. package/mocks/idm_2060434423/list_217798785/0_890022063/openidm_3290118515/recording.har +30 -30
  37. package/package.json +1 -1
  38. package/types/api/AuthenticateApi.d.ts.map +1 -1
  39. package/types/api/BaseApi.d.ts.map +1 -1
  40. package/types/api/cloud/LogApi.d.ts +11 -0
  41. package/types/api/cloud/LogApi.d.ts.map +1 -1
  42. package/types/ops/cloud/LogOps.d.ts +64 -3
  43. package/types/ops/cloud/LogOps.d.ts.map +1 -1
package/build.zip CHANGED
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticateApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","authenticateUrlTemplate","authenticateWithServiceUrlTemplate","concat","apiVersion","getApiConfig","fillCallbacks","_ref","response","map","body","JSON","parse","stringify","callback","callbacks","input","name","step","_x","_step","_ref2","config","realm","service","state","urlString","getAuthenticationService","util","format","getHost","getRealmPath","data","generateAmApi","resource","post"],"sources":["../../src/api/AuthenticateApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getRealmPath } from '../utils/ForgeRockUtils';\nimport { generateAmApi } from './BaseApi';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Fill callbacks from a map\n * Just a start\n * @param {object} response json response from a call to /authenticate\n * @param {{ [k: string]: string | number | boolean | string[] }} map name/value map\n * @returns filled response body so it can be used as input to another call to /authenticate\n */\nexport function fillCallbacks({\n response,\n map,\n}: {\n response: object;\n map: { [k: string]: string | number | boolean | string[] };\n}): object {\n const body = JSON.parse(JSON.stringify(response));\n for (const callback of body.callbacks) {\n callback.input[0].value = map[callback.input[0].name];\n }\n return body;\n}\n\n/**\n *\n * @param {any} body POST request body\n * @param {any} config request config\n * @param {string} realm realm\n * @param {string} service name of authentication service/journey\n * @returns Promise resolving to the authentication service response\n */\nexport async function step({\n body = {},\n config = {},\n realm = '/',\n service = undefined,\n state,\n}: {\n body?: object;\n config?: object;\n realm?: string;\n service?: string;\n state: State;\n}) {\n const urlString =\n service || state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmPath(realm),\n service || state.getAuthenticationService()\n )\n : util.format(\n authenticateUrlTemplate,\n state.getHost(),\n getRealmPath(realm)\n );\n const { data } = await generateAmApi({\n resource: getApiConfig(),\n state,\n }).post(urlString, body, config);\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthenticateApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","authenticateUrlTemplate","authenticateWithServiceUrlTemplate","concat","apiVersion","getApiConfig","fillCallbacks","_ref","response","map","body","JSON","parse","stringify","callback","callbacks","input","name","step","_x","_step","_ref2","config","realm","service","state","urlString","getAuthenticationService","util","format","getHost","getRealmPath","data","generateAmApi","resource","post"],"sources":["../../src/api/AuthenticateApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getRealmPath } from '../utils/ForgeRockUtils';\nimport { generateAmApi } from './BaseApi';\n\nconst authenticateUrlTemplate = '%s/json%s/authenticate';\nconst authenticateWithServiceUrlTemplate = `${authenticateUrlTemplate}?authIndexType=service&authIndexValue=%s`;\n\nconst apiVersion = 'resource=2.0, protocol=1.0';\nconst getApiConfig = () => ({\n apiVersion,\n});\n\n/**\n * Fill callbacks from a map\n * Just a start\n * @param {object} response json response from a call to /authenticate\n * @param {{ [k: string]: string | number | boolean | string[] }} map name/value map\n * @returns filled response body so it can be used as input to another call to /authenticate\n */\nexport function fillCallbacks({\n response,\n map,\n}: {\n response: object;\n map: { [k: string]: string | number | boolean | string[] };\n}): object {\n const body = JSON.parse(JSON.stringify(response));\n for (const callback of body.callbacks) {\n callback.input[0].value = map[callback.input[0].name];\n }\n return body;\n}\n\n/**\n *\n * @param {any} body POST request body\n * @param {any} config request config\n * @param {string} realm realm\n * @param {string} service name of authentication service/journey\n * @returns Promise resolving to the authentication service response\n */\nexport async function step({\n body = {},\n config = {},\n realm = '/',\n service = undefined,\n state,\n}: {\n body?: object;\n config?: object;\n realm?: string;\n service?: string;\n state: State;\n}): Promise<any> {\n const urlString =\n service || state.getAuthenticationService()\n ? util.format(\n authenticateWithServiceUrlTemplate,\n state.getHost(),\n getRealmPath(realm),\n service || state.getAuthenticationService()\n )\n : util.format(\n authenticateUrlTemplate,\n state.getHost(),\n getRealmPath(realm)\n );\n const { data } = await generateAmApi({\n resource: getApiConfig(),\n state,\n }).post(urlString, body, config);\n return data;\n}\n"],"mappings":"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"}
@@ -288,15 +288,13 @@ function generateLogKeysApi(_ref4) {
288
288
  }, state.getBearerToken() && {
289
289
  Authorization: "Bearer ".concat(state.getBearerToken())
290
290
  });
291
- var requestDetails = _objectSpread(_objectSpread({
292
- // baseURL: getTenantURL(storage.session.getTenant()),
291
+ var requestDetails = (0, _JsonUtils.mergeDeep)({
293
292
  timeout,
294
- headers
295
- }, requestOverride), {}, {
293
+ headers,
296
294
  httpAgent: getHttpAgent(),
297
295
  httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),
298
296
  proxy: getProxy()
299
- });
297
+ }, requestOverride);
300
298
  var request = _axios.default.create(requestDetails);
301
299
 
302
300
  // enable curlirizer output in debug mode
@@ -323,15 +321,14 @@ function generateLogApi(_ref5) {
323
321
  'X-API-Key': state.getLogApiKey(),
324
322
  'X-API-Secret': state.getLogApiSecret()
325
323
  };
326
- var requestDetails = _objectSpread(_objectSpread({
324
+ var requestDetails = (0, _JsonUtils.mergeDeep)({
327
325
  // baseURL: getTenantURL(storage.session.getTenant()),
328
326
  timeout,
329
- headers
330
- }, requestOverride), {}, {
327
+ headers,
331
328
  httpAgent: getHttpAgent(),
332
329
  httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),
333
330
  proxy: getProxy()
334
- });
331
+ }, requestOverride);
335
332
  var request = _axios.default.create(requestDetails);
336
333
 
337
334
  // enable curlirizer output in debug mode
@@ -1 +1 @@
1
- {"version":3,"file":"BaseApi.js","names":["_agentkeepalive","_interopRequireDefault","require","_axios","_axiosRetry","_crypto","_fs","_httpsProxyAgent","_path","_url","_curlirize2","_State","_Console","_JsonUtils","_SetupPollyForFrodoLib","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","process","env","FRODO_MOCK","setupPollyForFrodoLib","state","StateImpl","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","concat","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","allowInsecureConnection","options","rejectUnauthorized","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","URL","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","isAxiosError","_err$response","_err$response2","_err$response3","_err$response4","_err$response5","printMessage","message","response","status","data","type","command","curlirizeMessage","statusText","generateAmApi","_ref","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","mergeDeep","getAuthenticationHeaderOverrides","getAllowInsecureConnection","proxy","create","getCurlirize","generateOauth2Api","_ref2","generateIdmApi","_ref3","generateLogKeysApi","_ref4","generateLogApi","_ref5","getLogApiKey","getLogApiSecret","generateEnvApi","_ref6","generateReleaseApi","_ref7","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosError, AxiosInstance, AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { randomUUID } from 'crypto';\nimport fs from 'fs';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport StateImpl, { State } from '../shared/State';\nimport { curlirizeMessage, printMessage } from '../utils/Console';\nimport { mergeDeep } from '../utils/JsonUtils';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib({ state: StateImpl({}) });\n}\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\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}`;\nconst transactionId = `frodo-${randomUUID()}`;\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 {Agent.HttpsAgent} appropriate httpsAgent\n */\nfunction getHttpsAgent(allowInsecureConnection: boolean): Agent.HttpsAgent {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !allowInsecureConnection,\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 = new URL(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !allowInsecureConnection;\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 * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request, state: State) {\n _curlirize(request, (result, err: Error | AxiosError) => {\n if (err) {\n if (axios.isAxiosError(err)) {\n // Access to config, request, and response\n printMessage({\n message: `${err.response?.status}${\n err.response?.data['reason']\n ? ' ' + err.response?.data['reason']\n : ''\n }${\n err.response?.data['message']\n ? ' - ' + err.response?.data['message']\n : ''\n }`,\n type: 'error',\n state,\n });\n } else {\n // Just a stock error\n printMessage({ message: err, type: 'error', state });\n }\n } else if (result.command) {\n curlirizeMessage({ message: result.command, state });\n } else if (result.response) {\n printMessage({\n message: `${result.response.status} ${result.response.statusText}`,\n type: 'info',\n state,\n });\n }\n });\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({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n\n const requestDetails = mergeDeep(\n {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\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 ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n requestOverride = {},\n state,\n}: {\n requestOverride?: any;\n state: State;\n}) {\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\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 // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\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 generateEnvApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n baseUrl,\n requestOverride = {},\n state,\n}: {\n baseUrl: string;\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\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(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaseApi.js","names":["_agentkeepalive","_interopRequireDefault","require","_axios","_axiosRetry","_crypto","_fs","_httpsProxyAgent","_path","_url","_curlirize2","_State","_Console","_JsonUtils","_SetupPollyForFrodoLib","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","process","env","FRODO_MOCK","setupPollyForFrodoLib","state","StateImpl","__dirname","path","dirname","fileURLToPath","pathToFileURL","__filename","toString","pkg","JSON","parse","fs","readFileSync","resolve","axiosRetry","axios","retries","shouldResetTimeout","retryCondition","_error","timeout","maxSockets","maxFreeSockets","freeSocketTimeout","userAgent","concat","name","version","transactionId","randomUUID","httpAgent","httpsAgent","getHttpAgent","Agent","getHttpsAgent","allowInsecureConnection","options","rejectUnauthorized","httpsProxy","HTTPS_PROXY","https_proxy","console","error","parsed","URL","hostname","port","protocol","HttpsProxyAgent","HttpsAgent","getProxy","curlirize","request","_curlirize","result","err","isAxiosError","_err$response","_err$response2","_err$response3","_err$response4","_err$response5","printMessage","message","response","status","data","type","command","curlirizeMessage","statusText","generateAmApi","_ref","resource","requestOverride","headers","apiVersion","getUseBearerTokenForAmApis","getCookieName","getCookieValue","Cookie","getBearerToken","Authorization","requestDetails","mergeDeep","getAuthenticationHeaderOverrides","getAllowInsecureConnection","proxy","create","getCurlirize","generateOauth2Api","_ref2","generateIdmApi","_ref3","generateLogKeysApi","_ref4","generateLogApi","_ref5","getLogApiKey","getLogApiSecret","generateEnvApi","_ref6","generateReleaseApi","_ref7","baseUrl","baseURL"],"sources":["../../src/api/BaseApi.ts"],"sourcesContent":["import Agent from 'agentkeepalive';\nimport axios, { AxiosError, AxiosInstance, AxiosProxyConfig } from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { randomUUID } from 'crypto';\nimport fs from 'fs';\nimport HttpsProxyAgent from 'https-proxy-agent';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nimport _curlirize from '../ext/axios-curlirize/curlirize';\nimport StateImpl, { State } from '../shared/State';\nimport { curlirizeMessage, printMessage } from '../utils/Console';\nimport { mergeDeep } from '../utils/JsonUtils';\nimport { setupPollyForFrodoLib } from '../utils/SetupPollyForFrodoLib';\n\nif (process.env.FRODO_MOCK) {\n setupPollyForFrodoLib({ state: StateImpl({}) });\n}\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\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}`;\nconst transactionId = `frodo-${randomUUID()}`;\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 {Agent.HttpsAgent} appropriate httpsAgent\n */\nfunction getHttpsAgent(allowInsecureConnection: boolean): Agent.HttpsAgent {\n if (httpsAgent) return httpsAgent;\n const options = {\n rejectUnauthorized: !allowInsecureConnection,\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 = new URL(httpsProxy);\n options['host'] = parsed.hostname;\n options['port'] = parsed.port;\n options['protocol'] = parsed.protocol;\n options.rejectUnauthorized = !allowInsecureConnection;\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 * Customize curlirize output\n * @param request axios request object\n */\nfunction curlirize(request, state: State) {\n _curlirize(request, (result, err: Error | AxiosError) => {\n if (err) {\n if (axios.isAxiosError(err)) {\n // Access to config, request, and response\n printMessage({\n message: `${err.response?.status}${\n err.response?.data['reason']\n ? ' ' + err.response?.data['reason']\n : ''\n }${\n err.response?.data['message']\n ? ' - ' + err.response?.data['message']\n : ''\n }`,\n type: 'error',\n state,\n });\n } else {\n // Just a stock error\n printMessage({ message: err, type: 'error', state });\n }\n } else if (result.command) {\n curlirizeMessage({ message: result.command, state });\n } else if (result.response) {\n printMessage({\n message: `${result.response.status} ${result.response.statusText}`,\n type: 'info',\n state,\n });\n }\n });\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({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n\n const requestDetails = mergeDeep(\n {\n // baseURL: `${storage.session.getTenant()}/json`,\n timeout,\n headers: {\n ...headers,\n ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n resource,\n requestOverride = {},\n state,\n}: {\n resource;\n requestOverride?;\n state: State;\n}) {\n let headers = {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only send session cookie if we know its name and value and we are not instructed to use the bearer token for AM APIs\n ...(!state.getUseBearerTokenForAmApis() &&\n state.getCookieName() &&\n state.getCookieValue() && {\n Cookie: `${state.getCookieName()}=${state.getCookieValue()}`,\n }),\n // only add authorization header if we have a bearer token and are instructed to use it for AM APIs\n ...(state.getUseBearerTokenForAmApis() &&\n state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\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 ...state.getAuthenticationHeaderOverrides(),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n requestOverride = {},\n state,\n}: {\n requestOverride?: any;\n state: State;\n}) {\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers: {\n 'User-Agent': userAgent,\n 'X-ForgeRock-TransactionId': transactionId,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n },\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\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 // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = mergeDeep(\n {\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n requestOverride = {},\n state,\n}: {\n requestOverride?;\n state: State;\n}) {\n const headers = {\n 'User-Agent': userAgent,\n 'X-API-Key': state.getLogApiKey(),\n 'X-API-Secret': state.getLogApiSecret(),\n };\n const requestDetails = mergeDeep(\n {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n },\n requestOverride\n );\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n\n/**\n * Generates an Axios instance for the Identity Cloud Environment API\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 generateEnvApi({\n resource,\n requestOverride = {},\n state,\n}: {\n resource: { apiVersion: string };\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\n const headers = {\n 'User-Agent': userAgent,\n 'Content-Type': 'application/json',\n // only add API version if we have it\n ...(resource.apiVersion && { 'Accept-API-Version': resource.apiVersion }),\n // only add authorization header if we have a bearer token\n ...(state.getBearerToken() && {\n Authorization: `Bearer ${state.getBearerToken()}`,\n }),\n };\n const requestDetails = {\n // baseURL: getTenantURL(storage.session.getTenant()),\n timeout,\n headers,\n ...requestOverride,\n httpAgent: getHttpAgent(),\n httpsAgent: getHttpsAgent(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\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({\n baseUrl,\n requestOverride = {},\n state,\n}: {\n baseUrl: string;\n requestOverride?: object;\n state: State;\n}): AxiosInstance {\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(state.getAllowInsecureConnection()),\n proxy: getProxy(),\n };\n\n const request = axios.create(requestDetails);\n\n // enable curlirizer output in debug mode\n if (state.getCurlirize()) {\n curlirize(request, state);\n }\n\n return request;\n}\n"],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.fetch = fetch;
9
9
  exports.getLogApiKey = getLogApiKey;
10
10
  exports.getLogApiKeys = getLogApiKeys;
11
11
  exports.getSources = getSources;
12
+ exports.isLogApiKeyValid = isLogApiKeyValid;
12
13
  exports.tail = tail;
13
14
  var _util = _interopRequireDefault(require("util"));
14
15
  var _ForgeRockUtils = require("../../utils/ForgeRockUtils.js");
@@ -75,9 +76,10 @@ function getSources(_x3) {
75
76
  return _getSources.apply(this, arguments);
76
77
  }
77
78
  /**
78
- * Create API key
79
- * @param {keyName: string, state: State} params keyName, state
80
- * @returns {Promise<LogApiKey>} new API key and secret
79
+ * Validate log API key
80
+ * @param {string} keyId log api key id
81
+ * @param {string} secret log api secret
82
+ * @returns {Promise<boolean>} a promise resolving to true if the key is valid, false otherwise
81
83
  */
82
84
  function _getSources() {
83
85
  _getSources = _asyncToGenerator(function* (_ref3) {
@@ -94,7 +96,41 @@ function _getSources() {
94
96
  });
95
97
  return _getSources.apply(this, arguments);
96
98
  }
97
- function createLogApiKey(_x4) {
99
+ function isLogApiKeyValid(_x4) {
100
+ return _isLogApiKeyValid.apply(this, arguments);
101
+ }
102
+ /**
103
+ * Create API key
104
+ * @param {keyName: string, state: State} params keyName, state
105
+ * @returns {Promise<LogApiKey>} new API key and secret
106
+ */
107
+ function _isLogApiKeyValid() {
108
+ _isLogApiKeyValid = _asyncToGenerator(function* (_ref4) {
109
+ var {
110
+ keyId,
111
+ secret,
112
+ state
113
+ } = _ref4;
114
+ try {
115
+ var requestOverride = {
116
+ headers: {
117
+ 'X-API-Key': keyId,
118
+ 'X-API-Secret': secret
119
+ }
120
+ };
121
+ var urlString = _util.default.format(logsSourcesURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()));
122
+ yield (0, _BaseApi.generateLogApi)({
123
+ requestOverride,
124
+ state
125
+ }).get(urlString);
126
+ return true;
127
+ } catch (error) {
128
+ return false;
129
+ }
130
+ });
131
+ return _isLogApiKeyValid.apply(this, arguments);
132
+ }
133
+ function createLogApiKey(_x5) {
98
134
  return _createLogApiKey.apply(this, arguments);
99
135
  }
100
136
  /**
@@ -103,11 +139,11 @@ function createLogApiKey(_x4) {
103
139
  * @returns {Promise<unknown>} a promise that resolves to a log api key object
104
140
  */
105
141
  function _createLogApiKey() {
106
- _createLogApiKey = _asyncToGenerator(function* (_ref4) {
142
+ _createLogApiKey = _asyncToGenerator(function* (_ref5) {
107
143
  var {
108
144
  keyName,
109
145
  state
110
- } = _ref4;
146
+ } = _ref5;
111
147
  var urlString = _util.default.format(logsCreateAPIKeyAndSecretURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()));
112
148
  var {
113
149
  data
@@ -120,7 +156,7 @@ function _createLogApiKey() {
120
156
  });
121
157
  return _createLogApiKey.apply(this, arguments);
122
158
  }
123
- function deleteLogApiKey(_x5) {
159
+ function deleteLogApiKey(_x6) {
124
160
  return _deleteLogApiKey.apply(this, arguments);
125
161
  }
126
162
  /**
@@ -130,11 +166,11 @@ function deleteLogApiKey(_x5) {
130
166
  * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result
131
167
  */
132
168
  function _deleteLogApiKey() {
133
- _deleteLogApiKey = _asyncToGenerator(function* (_ref5) {
169
+ _deleteLogApiKey = _asyncToGenerator(function* (_ref6) {
134
170
  var {
135
171
  keyId,
136
172
  state
137
- } = _ref5;
173
+ } = _ref6;
138
174
  var urlString = _util.default.format(logsAPIKeyURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), keyId);
139
175
  var {
140
176
  data
@@ -147,7 +183,7 @@ function _deleteLogApiKey() {
147
183
  });
148
184
  return _deleteLogApiKey.apply(this, arguments);
149
185
  }
150
- function tail(_x6) {
186
+ function tail(_x7) {
151
187
  return _tail.apply(this, arguments);
152
188
  }
153
189
  /**
@@ -159,12 +195,12 @@ function tail(_x6) {
159
195
  * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result
160
196
  */
161
197
  function _tail() {
162
- _tail = _asyncToGenerator(function* (_ref6) {
198
+ _tail = _asyncToGenerator(function* (_ref7) {
163
199
  var {
164
200
  source,
165
201
  cookie,
166
202
  state
167
- } = _ref6;
203
+ } = _ref7;
168
204
  var urlString = _util.default.format(logsTailURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), encodeURIComponent(source));
169
205
  if (cookie) {
170
206
  urlString += "&_pagedResultsCookie=".concat(encodeURIComponent(cookie));
@@ -178,18 +214,18 @@ function _tail() {
178
214
  });
179
215
  return _tail.apply(this, arguments);
180
216
  }
181
- function fetch(_x7) {
217
+ function fetch(_x8) {
182
218
  return _fetch.apply(this, arguments);
183
219
  }
184
220
  function _fetch() {
185
- _fetch = _asyncToGenerator(function* (_ref7) {
221
+ _fetch = _asyncToGenerator(function* (_ref8) {
186
222
  var {
187
223
  source,
188
224
  startTs,
189
225
  endTs,
190
226
  cookie,
191
227
  state
192
- } = _ref7;
228
+ } = _ref8;
193
229
  var urlString = _util.default.format(logsFetchURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), encodeURIComponent(source), startTs, endTs);
194
230
  if (cookie) {
195
231
  urlString += "&_pagedResultsCookie=".concat(encodeURIComponent(cookie));
@@ -1 +1 @@
1
- {"version":3,"file":"LogApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","logsTailURLTemplate","logsFetchURLTemplate","logsSourcesURLTemplate","logsCreateAPIKeyAndSecretURLTemplate","logsGetAPIKeysURLTemplate","logsAPIKeyURLTemplate","getLogApiKey","_x","_getLogApiKey","_ref","keyId","state","urlString","util","format","getHostBaseUrl","getHost","data","generateLogKeysApi","get","getLogApiKeys","_x2","_getLogApiKeys","_ref2","getSources","_x3","_getSources","_ref3","generateLogApi","createLogApiKey","_x4","_createLogApiKey","_ref4","keyName","post","name","deleteLogApiKey","_x5","_deleteLogApiKey","_ref5","delete","withCredentials","tail","_x6","_tail","_ref6","source","cookie","encodeURIComponent","concat","fetch","_x7","_fetch","_ref7","startTs","endTs","requestOverride","timeout"],"sources":["../../../src/api/cloud/LogApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../../shared/State';\nimport { getHostBaseUrl } from '../../utils/ForgeRockUtils';\nimport {\n type NoIdObjectSkeletonInterface,\n type PagedResult,\n} from '../ApiTypes';\nimport { generateLogApi, generateLogKeysApi } from '../BaseApi';\n\nconst logsTailURLTemplate = '%s/monitoring/logs/tail?source=%s';\nconst logsFetchURLTemplate =\n '%s/monitoring/logs?source=%s&beginTime=%s&endTime=%s';\nconst logsSourcesURLTemplate = '%s/monitoring/logs/sources';\nconst logsCreateAPIKeyAndSecretURLTemplate = '%s/keys?_action=create';\nconst logsGetAPIKeysURLTemplate = '%s/keys';\nconst logsAPIKeyURLTemplate = '%s/keys/%s';\n\nexport type LogApiKey = {\n name: string;\n api_key_id: string;\n api_key_secret?: string;\n created_at: string;\n};\n\nexport type LogEventPayloadSkeleton = NoIdObjectSkeletonInterface & {\n context: string;\n level: string;\n logger: string;\n mdc: {\n transactionId: string;\n };\n message: string;\n thread: string;\n timestamp: string;\n transactionId: string;\n};\n\nexport type LogEventSkeleton = NoIdObjectSkeletonInterface & {\n payload: string | LogEventPayloadSkeleton;\n timestamp: string;\n type: string;\n source: string;\n};\n\n/**\n * Get log API key\n * @returns {Promise<PagedResult<LogApiKey>>} a promise resolving to a log api key object\n */\nexport async function getLogApiKey({\n keyId,\n state,\n}: {\n keyId: string;\n state: State;\n}): Promise<LogApiKey> {\n const urlString = util.format(\n logsAPIKeyURLTemplate,\n getHostBaseUrl(state.getHost()),\n keyId\n );\n const { data } = await generateLogKeysApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get available API keys\n * @returns {Promise<PagedResult<LogApiKey>>} a promise resolving to a paged log api key results object\n */\nexport async function getLogApiKeys({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<LogApiKey>> {\n const urlString = util.format(\n logsGetAPIKeysURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateLogKeysApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get available log sources\n * @returns {Promise<PagedResult<string>>} a promise resolving to a paged string results object\n */\nexport async function getSources({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<string>> {\n const urlString = util.format(\n logsSourcesURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateLogApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Create API key\n * @param {keyName: string, state: State} params keyName, state\n * @returns {Promise<LogApiKey>} new API key and secret\n */\nexport async function createLogApiKey({\n keyName,\n state,\n}: {\n keyName: string;\n state: State;\n}): Promise<LogApiKey> {\n const urlString = util.format(\n logsCreateAPIKeyAndSecretURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateLogKeysApi({ state }).post(urlString, {\n name: keyName,\n });\n return data;\n}\n\n/**\n * Delete log API key\n * @param {string} keyId key id\n * @returns {Promise<unknown>} a promise that resolves to a log api key object\n */\nexport async function deleteLogApiKey({\n keyId,\n state,\n}: {\n keyId: string;\n state: State;\n}): Promise<unknown> {\n const urlString = util.format(\n logsAPIKeyURLTemplate,\n getHostBaseUrl(state.getHost()),\n keyId\n );\n const { data } = await generateLogKeysApi({ state }).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Tail logs\n * @param {string} source log source(s) to tail\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\nexport async function tail({\n source,\n cookie,\n state,\n}: {\n source: string;\n cookie: string;\n state: State;\n}): Promise<PagedResult<LogEventSkeleton>> {\n let urlString = util.format(\n logsTailURLTemplate,\n getHostBaseUrl(state.getHost()),\n encodeURIComponent(source)\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n const { data } = await generateLogApi({ state }).get(urlString);\n return data as PagedResult<LogEventSkeleton>;\n}\n\n/**\n * Fetch logs\n * @param {string} source log source(s) to tail\n * @param {string} startTs start timestamp\n * @param {string} endTs end timestamp\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\nexport async function fetch({\n source,\n startTs,\n endTs,\n cookie,\n state,\n}: {\n source: string;\n startTs: string;\n endTs: string;\n cookie: string;\n state: State;\n}): Promise<PagedResult<LogEventSkeleton>> {\n let urlString = util.format(\n logsFetchURLTemplate,\n getHostBaseUrl(state.getHost()),\n encodeURIComponent(source),\n startTs,\n endTs\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n const { data } = await generateLogApi({\n state,\n requestOverride: { timeout: 60000 },\n }).get(urlString);\n return data as PagedResult<LogEventSkeleton>;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"LogApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","logsTailURLTemplate","logsFetchURLTemplate","logsSourcesURLTemplate","logsCreateAPIKeyAndSecretURLTemplate","logsGetAPIKeysURLTemplate","logsAPIKeyURLTemplate","getLogApiKey","_x","_getLogApiKey","_ref","keyId","state","urlString","util","format","getHostBaseUrl","getHost","data","generateLogKeysApi","get","getLogApiKeys","_x2","_getLogApiKeys","_ref2","getSources","_x3","_getSources","_ref3","generateLogApi","isLogApiKeyValid","_x4","_isLogApiKeyValid","_ref4","secret","requestOverride","headers","createLogApiKey","_x5","_createLogApiKey","_ref5","keyName","post","name","deleteLogApiKey","_x6","_deleteLogApiKey","_ref6","delete","withCredentials","tail","_x7","_tail","_ref7","source","cookie","encodeURIComponent","concat","fetch","_x8","_fetch","_ref8","startTs","endTs","timeout"],"sources":["../../../src/api/cloud/LogApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../../shared/State';\nimport { getHostBaseUrl } from '../../utils/ForgeRockUtils';\nimport {\n type NoIdObjectSkeletonInterface,\n type PagedResult,\n} from '../ApiTypes';\nimport { generateLogApi, generateLogKeysApi } from '../BaseApi';\n\nconst logsTailURLTemplate = '%s/monitoring/logs/tail?source=%s';\nconst logsFetchURLTemplate =\n '%s/monitoring/logs?source=%s&beginTime=%s&endTime=%s';\nconst logsSourcesURLTemplate = '%s/monitoring/logs/sources';\nconst logsCreateAPIKeyAndSecretURLTemplate = '%s/keys?_action=create';\nconst logsGetAPIKeysURLTemplate = '%s/keys';\nconst logsAPIKeyURLTemplate = '%s/keys/%s';\n\nexport type LogApiKey = {\n name: string;\n api_key_id: string;\n api_key_secret?: string;\n created_at: string;\n};\n\nexport type LogEventPayloadSkeleton = NoIdObjectSkeletonInterface & {\n context: string;\n level: string;\n logger: string;\n mdc: {\n transactionId: string;\n };\n message: string;\n thread: string;\n timestamp: string;\n transactionId: string;\n};\n\nexport type LogEventSkeleton = NoIdObjectSkeletonInterface & {\n payload: string | LogEventPayloadSkeleton;\n timestamp: string;\n type: string;\n source: string;\n};\n\n/**\n * Get log API key\n * @returns {Promise<PagedResult<LogApiKey>>} a promise resolving to a log api key object\n */\nexport async function getLogApiKey({\n keyId,\n state,\n}: {\n keyId: string;\n state: State;\n}): Promise<LogApiKey> {\n const urlString = util.format(\n logsAPIKeyURLTemplate,\n getHostBaseUrl(state.getHost()),\n keyId\n );\n const { data } = await generateLogKeysApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get available API keys\n * @returns {Promise<PagedResult<LogApiKey>>} a promise resolving to a paged log api key results object\n */\nexport async function getLogApiKeys({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<LogApiKey>> {\n const urlString = util.format(\n logsGetAPIKeysURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateLogKeysApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get available log sources\n * @returns {Promise<PagedResult<string>>} a promise resolving to a paged string results object\n */\nexport async function getSources({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<string>> {\n const urlString = util.format(\n logsSourcesURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateLogApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Validate log API key\n * @param {string} keyId log api key id\n * @param {string} secret log api secret\n * @returns {Promise<boolean>} a promise resolving to true if the key is valid, false otherwise\n */\nexport async function isLogApiKeyValid({\n keyId,\n secret,\n state,\n}: {\n keyId: string;\n secret: string;\n state: State;\n}): Promise<boolean> {\n try {\n const requestOverride = {\n headers: {\n 'X-API-Key': keyId,\n 'X-API-Secret': secret,\n },\n };\n const urlString = util.format(\n logsSourcesURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n await generateLogApi({ requestOverride, state }).get(urlString);\n return true;\n } catch (error) {\n return false;\n }\n}\n\n/**\n * Create API key\n * @param {keyName: string, state: State} params keyName, state\n * @returns {Promise<LogApiKey>} new API key and secret\n */\nexport async function createLogApiKey({\n keyName,\n state,\n}: {\n keyName: string;\n state: State;\n}): Promise<LogApiKey> {\n const urlString = util.format(\n logsCreateAPIKeyAndSecretURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateLogKeysApi({ state }).post(urlString, {\n name: keyName,\n });\n return data;\n}\n\n/**\n * Delete log API key\n * @param {string} keyId key id\n * @returns {Promise<unknown>} a promise that resolves to a log api key object\n */\nexport async function deleteLogApiKey({\n keyId,\n state,\n}: {\n keyId: string;\n state: State;\n}): Promise<unknown> {\n const urlString = util.format(\n logsAPIKeyURLTemplate,\n getHostBaseUrl(state.getHost()),\n keyId\n );\n const { data } = await generateLogKeysApi({ state }).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Tail logs\n * @param {string} source log source(s) to tail\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\nexport async function tail({\n source,\n cookie,\n state,\n}: {\n source: string;\n cookie: string;\n state: State;\n}): Promise<PagedResult<LogEventSkeleton>> {\n let urlString = util.format(\n logsTailURLTemplate,\n getHostBaseUrl(state.getHost()),\n encodeURIComponent(source)\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n const { data } = await generateLogApi({ state }).get(urlString);\n return data as PagedResult<LogEventSkeleton>;\n}\n\n/**\n * Fetch logs\n * @param {string} source log source(s) to tail\n * @param {string} startTs start timestamp\n * @param {string} endTs end timestamp\n * @param {string} cookie paged results cookie\n * @returns {Promise<PagedResult<LogEventSkeleton>>} promise resolving to paged log event result\n */\nexport async function fetch({\n source,\n startTs,\n endTs,\n cookie,\n state,\n}: {\n source: string;\n startTs: string;\n endTs: string;\n cookie: string;\n state: State;\n}): Promise<PagedResult<LogEventSkeleton>> {\n let urlString = util.format(\n logsFetchURLTemplate,\n getHostBaseUrl(state.getHost()),\n encodeURIComponent(source),\n startTs,\n endTs\n );\n if (cookie) {\n urlString += `&_pagedResultsCookie=${encodeURIComponent(cookie)}`;\n }\n const { data } = await generateLogApi({\n state,\n requestOverride: { timeout: 60000 },\n }).get(urlString);\n return data as PagedResult<LogEventSkeleton>;\n}\n"],"mappings":"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"}