@rockcarver/frodo-lib 2.0.0-17 → 2.0.0-19
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/build.zip +0 -0
- package/cjs/api/CirclesOfTrustApi.js.map +1 -1
- package/cjs/api/IdmConfigApi.js +0 -32
- package/cjs/api/IdmConfigApi.js.map +1 -1
- package/cjs/api/ManagedObjectApi.js +96 -25
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/lib/FrodoLib.js +4 -0
- package/cjs/lib/FrodoLib.js.map +1 -1
- package/cjs/ops/ApplicationOps.js +453 -0
- package/cjs/ops/ApplicationOps.js.map +1 -0
- package/cjs/ops/CirclesOfTrustOps.js +27 -0
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/IdmOps.js +3 -2
- package/cjs/ops/IdmOps.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +212 -37
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +7 -9
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +6 -4
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/VariablesOps.js +2 -1
- package/cjs/ops/cloud/VariablesOps.js.map +1 -1
- package/cjs/utils/JsonUtils.js +80 -1
- package/cjs/utils/JsonUtils.js.map +1 -1
- package/esm/api/CirclesOfTrustApi.js.map +1 -1
- package/esm/api/IdmConfigApi.js +0 -25
- package/esm/api/IdmConfigApi.js.map +1 -1
- package/esm/api/ManagedObjectApi.js +73 -19
- package/esm/api/ManagedObjectApi.js.map +1 -1
- package/esm/lib/FrodoLib.js +4 -0
- package/esm/lib/FrodoLib.js.map +1 -1
- package/esm/ops/ApplicationOps.js +353 -0
- package/esm/ops/ApplicationOps.js.map +1 -0
- package/esm/ops/CirclesOfTrustOps.js +28 -1
- package/esm/ops/CirclesOfTrustOps.js.map +1 -1
- package/esm/ops/IdmOps.js +2 -1
- package/esm/ops/IdmOps.js.map +1 -1
- package/esm/ops/ManagedObjectOps.js +147 -36
- package/esm/ops/ManagedObjectOps.js.map +1 -1
- package/esm/ops/OrganizationOps.js +6 -8
- package/esm/ops/OrganizationOps.js.map +1 -1
- package/esm/ops/cloud/ServiceAccountOps.js +6 -4
- package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/esm/ops/cloud/VariablesOps.js +1 -1
- package/esm/ops/cloud/VariablesOps.js.map +1 -1
- package/esm/utils/JsonUtils.js +71 -1
- package/esm/utils/JsonUtils.js.map +1 -1
- package/package.json +2 -1
- package/types/api/CirclesOfTrustApi.d.ts +3 -3
- package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
- package/types/api/IdmConfigApi.d.ts +0 -14
- package/types/api/IdmConfigApi.d.ts.map +1 -1
- package/types/api/ManagedObjectApi.d.ts +45 -12
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/lib/FrodoLib.d.ts +4 -0
- package/types/lib/FrodoLib.d.ts.map +1 -1
- package/types/ops/ApplicationOps.d.ts +149 -0
- package/types/ops/ApplicationOps.d.ts.map +1 -0
- package/types/ops/CirclesOfTrustOps.d.ts +5 -3
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/IdmOps.d.ts +2 -1
- package/types/ops/IdmOps.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +84 -18
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts +4 -5
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/VariablesOps.d.ts +1 -1
- package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
- package/types/utils/JsonUtils.d.ts +57 -0
- package/types/utils/JsonUtils.d.ts.map +1 -1
package/build.zip
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CirclesOfTrustApi.js","names":["_util","_interopRequireDefault","require","_BaseApi","_ForgeRockUtils","_JsonUtils","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","circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","getCirclesOfTrust","_x","_getCirclesOfTrust","_ref","state","urlString","util","format","getHost","getCurrentRealmPath","data","generateAmApi","resource","get","withCredentials","getCircleOfTrust","_x2","_getCircleOfTrust","_ref2","cotId","createCircleOfTrust","_x3","_createCircleOfTrust","_ref3","cotData","postData","cloneDeep","post","updateCircleOfTrust","_x4","_updateCircleOfTrust","_ref4","put"],"sources":["../../src/api/CirclesOfTrustApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { State } from '../shared/State';\nimport { CircleOfTrustSkeleton } from './ApiTypes';\nimport { cloneDeep } from '../utils/JsonUtils';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n return {\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 circles of trust\n * @returns {Promise} a promise that resolves to an array of circles of trust objects\n */\nexport async function getCirclesOfTrust({
|
|
1
|
+
{"version":3,"file":"CirclesOfTrustApi.js","names":["_util","_interopRequireDefault","require","_BaseApi","_ForgeRockUtils","_JsonUtils","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","circleOfTrustByIdURLTemplate","createCircleOfTrustURLTemplate","queryAllCirclesOfTrustURLTemplate","apiVersion","getApiConfig","getCirclesOfTrust","_x","_getCirclesOfTrust","_ref","state","urlString","util","format","getHost","getCurrentRealmPath","data","generateAmApi","resource","get","withCredentials","getCircleOfTrust","_x2","_getCircleOfTrust","_ref2","cotId","createCircleOfTrust","_x3","_createCircleOfTrust","_ref3","cotData","postData","cloneDeep","post","updateCircleOfTrust","_x4","_updateCircleOfTrust","_ref4","put"],"sources":["../../src/api/CirclesOfTrustApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateAmApi } from './BaseApi';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { State } from '../shared/State';\nimport { CircleOfTrustSkeleton, PagedResult } from './ApiTypes';\nimport { cloneDeep } from '../utils/JsonUtils';\n\nconst circleOfTrustByIdURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/%s';\nconst createCircleOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust/?_action=create';\nconst queryAllCirclesOfTrustURLTemplate =\n '%s/json%s/realm-config/federation/circlesoftrust?_queryFilter=true';\nconst apiVersion = 'protocol=2.1,resource=1.0';\nconst getApiConfig = () => {\n return {\n apiVersion,\n };\n};\n\n/**\n * Get all SAML2 circles of trust\n * @returns {Promise} a promise that resolves to an array of circles of trust objects\n */\nexport async function getCirclesOfTrust({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<CircleOfTrustSkeleton>> {\n const urlString = util.format(\n queryAllCirclesOfTrustURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).get(\n urlString,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Get SAML2 circle of trust by id/name\n * @param {String} cotId Circle of trust id/name\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function getCircleOfTrust({\n cotId,\n state,\n}: {\n cotId: string;\n state: State;\n}) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n cotId\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).get(\n urlString,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Create a SAML2 circle of trust\n * @param {CircleOfTrustSkeleton} cotData Object representing a SAML circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function createCircleOfTrust({\n cotData,\n state,\n}: {\n cotData: CircleOfTrustSkeleton;\n state: State;\n}) {\n const postData = cloneDeep(cotData);\n const urlString = util.format(\n createCircleOfTrustURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state)\n );\n const { data } = await generateAmApi({\n resource: getApiConfig(),\n state,\n }).post(urlString, postData, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Update SAML2 circle of trust\n * @param {string} cotId Entity provider location (hosted or remote)\n * @param {CircleOfTrustSkeleton} cotData Object representing a SAML2 circle of trust\n * @returns {Promise} a promise that resolves to a saml2 circle of trust object\n */\nexport async function updateCircleOfTrust({\n cotId,\n cotData,\n state,\n}: {\n cotId: string;\n cotData: CircleOfTrustSkeleton;\n state: State;\n}) {\n const urlString = util.format(\n circleOfTrustByIdURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n cotId\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).put(\n urlString,\n cotData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n"],"mappings":"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"}
|
package/cjs/api/IdmConfigApi.js
CHANGED
|
@@ -8,7 +8,6 @@ exports.getAllConfigEntities = getAllConfigEntities;
|
|
|
8
8
|
exports.getConfigEntitiesByType = getConfigEntitiesByType;
|
|
9
9
|
exports.getConfigEntity = getConfigEntity;
|
|
10
10
|
exports.putConfigEntity = putConfigEntity;
|
|
11
|
-
exports.queryAllManagedObjectsByType = queryAllManagedObjectsByType;
|
|
12
11
|
var _util = _interopRequireDefault(require("util"));
|
|
13
12
|
var _BaseApi = require("./BaseApi.js");
|
|
14
13
|
var _ForgeRockUtils = require("../utils/ForgeRockUtils.js");
|
|
@@ -18,7 +17,6 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
18
17
|
var idmAllConfigURLTemplate = '%s/openidm/config';
|
|
19
18
|
var idmConfigURLTemplate = '%s/openidm/config/%s';
|
|
20
19
|
var idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';
|
|
21
|
-
var idmManagedObjectURLTemplate = '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';
|
|
22
20
|
|
|
23
21
|
/**
|
|
24
22
|
* Get all IDM config entities
|
|
@@ -128,13 +126,6 @@ function _putConfigEntity() {
|
|
|
128
126
|
function deleteConfigEntity(_x5) {
|
|
129
127
|
return _deleteConfigEntity.apply(this, arguments);
|
|
130
128
|
}
|
|
131
|
-
/**
|
|
132
|
-
* Query managed objects
|
|
133
|
-
* @param {string} type managed object type
|
|
134
|
-
* @param {string[]} fields fields to retrieve
|
|
135
|
-
* @param {string} pageCookie paged results cookie
|
|
136
|
-
* @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
|
|
137
|
-
*/
|
|
138
129
|
function _deleteConfigEntity() {
|
|
139
130
|
_deleteConfigEntity = _asyncToGenerator(function* (_ref5) {
|
|
140
131
|
var {
|
|
@@ -153,27 +144,4 @@ function _deleteConfigEntity() {
|
|
|
153
144
|
});
|
|
154
145
|
return _deleteConfigEntity.apply(this, arguments);
|
|
155
146
|
}
|
|
156
|
-
function queryAllManagedObjectsByType(_x6) {
|
|
157
|
-
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
158
|
-
}
|
|
159
|
-
function _queryAllManagedObjectsByType() {
|
|
160
|
-
_queryAllManagedObjectsByType = _asyncToGenerator(function* (_ref6) {
|
|
161
|
-
var {
|
|
162
|
-
type,
|
|
163
|
-
fields = [],
|
|
164
|
-
pageCookie = undefined,
|
|
165
|
-
state
|
|
166
|
-
} = _ref6;
|
|
167
|
-
var fieldsParam = fields.length > 0 ? "&_fields=".concat(fields.join(',')) : '&_fields=_id';
|
|
168
|
-
var urlTemplate = pageCookie ? "".concat(idmManagedObjectURLTemplate).concat(fieldsParam, "&_pagedResultsCookie=").concat(encodeURIComponent(pageCookie)) : "".concat(idmManagedObjectURLTemplate).concat(fieldsParam);
|
|
169
|
-
var urlString = _util.default.format(urlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type);
|
|
170
|
-
var {
|
|
171
|
-
data
|
|
172
|
-
} = yield (0, _BaseApi.generateIdmApi)({
|
|
173
|
-
state
|
|
174
|
-
}).get(urlString);
|
|
175
|
-
return data;
|
|
176
|
-
});
|
|
177
|
-
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
178
|
-
}
|
|
179
147
|
//# sourceMappingURL=IdmConfigApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdmConfigApi.js","names":["_util","_interopRequireDefault","require","_BaseApi","_ForgeRockUtils","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","idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","idmManagedObjectURLTemplate","getAllConfigEntities","_x","_getAllConfigEntities","_ref","state","urlString","util","format","getHostBaseUrl","getHost","data","generateIdmApi","get","getConfigEntitiesByType","_x2","_getConfigEntitiesByType","_ref2","type","encodeURIComponent","concat","getConfigEntity","_x3","_getConfigEntity","_ref3","entityId","putConfigEntity","_x4","_putConfigEntity","_ref4","entityData","put","Error","deleteConfigEntity","_x5","_deleteConfigEntity","_ref5","delete","withCredentials","queryAllManagedObjectsByType","_x6","_queryAllManagedObjectsByType","_ref6","fields","pageCookie","fieldsParam","length","join","urlTemplate"],"sources":["../../src/api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { State } from '../shared/State';\nimport { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\nconst idmManagedObjectURLTemplate =\n '%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities({ state }: { state: State }) {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {string} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType({\n type,\n state,\n}: {\n type: string;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getHostBaseUrl(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity({\n entityId,\n state,\n}: {\n entityId: string;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getHostBaseUrl(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity({\n entityId,\n entityData,\n state,\n}: {\n entityId: string;\n entityData: string | object;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getHostBaseUrl(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi({ state }).put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Delete IDM config entity\n * @param {string} entityId config entity id\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function deleteConfigEntity({\n entityId,\n state,\n}: {\n entityId: string;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getHostBaseUrl(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi({ state }).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType({\n type,\n fields = [],\n pageCookie = undefined,\n state,\n}: {\n type: string;\n fields?: string[];\n pageCookie?: string;\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${idmManagedObjectURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${idmManagedObjectURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getHostBaseUrl(state.getHost()),\n type\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IdmConfigApi.js","names":["_util","_interopRequireDefault","require","_BaseApi","_ForgeRockUtils","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","idmAllConfigURLTemplate","idmConfigURLTemplate","idmConfigEntityQueryTemplate","getAllConfigEntities","_x","_getAllConfigEntities","_ref","state","urlString","util","format","getHostBaseUrl","getHost","data","generateIdmApi","get","getConfigEntitiesByType","_x2","_getConfigEntitiesByType","_ref2","type","encodeURIComponent","concat","getConfigEntity","_x3","_getConfigEntity","_ref3","entityId","putConfigEntity","_x4","_putConfigEntity","_ref4","entityData","put","Error","deleteConfigEntity","_x5","_deleteConfigEntity","_ref5","delete","withCredentials"],"sources":["../../src/api/IdmConfigApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { State } from '../shared/State';\n\nconst idmAllConfigURLTemplate = '%s/openidm/config';\nconst idmConfigURLTemplate = '%s/openidm/config/%s';\nconst idmConfigEntityQueryTemplate = '%s/openidm/config?_queryFilter=%s';\n\n/**\n * Get all IDM config entities\n * @returns {Promise} a promise that resolves to all IDM config entities\n */\nexport async function getAllConfigEntities({ state }: { state: State }) {\n const urlString = util.format(\n idmAllConfigURLTemplate,\n getHostBaseUrl(state.getHost())\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get IDM config entities by type\n * @param {string} type the desired type of config entity\n * @returns {Promise} a promise that resolves to an object containing all IDM config entities of the desired type\n */\nexport async function getConfigEntitiesByType({\n type,\n state,\n}: {\n type: string;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigEntityQueryTemplate,\n getHostBaseUrl(state.getHost()),\n encodeURIComponent(`_id sw '${type}'`)\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Get an IDM config entity\n * @param {string} entityId the desired config entity\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function getConfigEntity({\n entityId,\n state,\n}: {\n entityId: string;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getHostBaseUrl(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Put IDM config entity\n * @param {string} entityId config entity id\n * @param {string} entityData config entity object\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function putConfigEntity({\n entityId,\n entityData,\n state,\n}: {\n entityId: string;\n entityData: string | object;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getHostBaseUrl(state.getHost()),\n entityId\n );\n try {\n const { data } = await generateIdmApi({ state }).put(urlString, entityData);\n return data;\n } catch (error) {\n throw Error(`Could not put config entity ${entityId}: ${error}`);\n }\n}\n\n/**\n * Delete IDM config entity\n * @param {string} entityId config entity id\n * @returns {Promise<unknown>} a promise that resolves to an IDM config entity\n */\nexport async function deleteConfigEntity({\n entityId,\n state,\n}: {\n entityId: string;\n state: State;\n}) {\n const urlString = util.format(\n idmConfigURLTemplate,\n getHostBaseUrl(state.getHost()),\n entityId\n );\n const { data } = await generateIdmApi({ state }).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"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"}
|
|
@@ -4,22 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createManagedObject = createManagedObject;
|
|
7
|
+
exports.deleteManagedObject = deleteManagedObject;
|
|
8
|
+
exports.findManagedObjects = findManagedObjects;
|
|
7
9
|
exports.getManagedObject = getManagedObject;
|
|
8
10
|
exports.putManagedObject = putManagedObject;
|
|
9
11
|
exports.queryAllManagedObjectsByType = queryAllManagedObjectsByType;
|
|
10
12
|
var _util = _interopRequireDefault(require("util"));
|
|
11
13
|
var _BaseApi = require("./BaseApi.js");
|
|
14
|
+
var _ForgeRockUtils = require("../utils/ForgeRockUtils.js");
|
|
12
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
16
|
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); } }
|
|
14
17
|
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); }); }; }
|
|
15
|
-
var managedObjectURLTemplate = '%s/openidm/managed/%s';
|
|
16
18
|
var createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';
|
|
17
19
|
var managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';
|
|
18
|
-
var managedObjectQueryAllURLTemplate = "
|
|
20
|
+
var managedObjectQueryAllURLTemplate = "%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000";
|
|
21
|
+
var findManagedObjectURLTemplate = "%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000";
|
|
19
22
|
|
|
20
23
|
/**
|
|
21
24
|
* Get managed object
|
|
22
|
-
* @param {string} baseUrl tenant base URL
|
|
23
25
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
24
26
|
* @param {string} id managed object id
|
|
25
27
|
* @param {string[]} id array of fields to include
|
|
@@ -31,7 +33,6 @@ function getManagedObject(_x) {
|
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Create managed object with server-generated id
|
|
34
|
-
* @param {string} baseUrl tenant base URL
|
|
35
36
|
* @param {string} moType managed object type
|
|
36
37
|
* @param {any} moData managed object data
|
|
37
38
|
* @param {State} state library state
|
|
@@ -40,14 +41,13 @@ function getManagedObject(_x) {
|
|
|
40
41
|
function _getManagedObject() {
|
|
41
42
|
_getManagedObject = _asyncToGenerator(function* (_ref) {
|
|
42
43
|
var {
|
|
43
|
-
baseUrl,
|
|
44
44
|
type,
|
|
45
45
|
id,
|
|
46
46
|
fields = ['*'],
|
|
47
47
|
state
|
|
48
48
|
} = _ref;
|
|
49
49
|
var fieldsParam = "_fields=".concat(fields.join(','));
|
|
50
|
-
var urlString = _util.default.format("".concat(managedObjectByIdURLTemplate, "?").concat(fieldsParam),
|
|
50
|
+
var urlString = _util.default.format("".concat(managedObjectByIdURLTemplate, "?").concat(fieldsParam), (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, id);
|
|
51
51
|
var {
|
|
52
52
|
data
|
|
53
53
|
} = yield (0, _BaseApi.generateIdmApi)({
|
|
@@ -58,20 +58,24 @@ function _getManagedObject() {
|
|
|
58
58
|
});
|
|
59
59
|
return _getManagedObject.apply(this, arguments);
|
|
60
60
|
}
|
|
61
|
-
function createManagedObject(_x2
|
|
61
|
+
function createManagedObject(_x2) {
|
|
62
62
|
return _createManagedObject.apply(this, arguments);
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Create or update managed object
|
|
66
|
-
* @param {string} baseUrl tenant base URL
|
|
67
66
|
* @param {string} id managed object id
|
|
68
67
|
* @param {string} moData managed object
|
|
69
68
|
* @param {State} state library state
|
|
70
69
|
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object
|
|
71
70
|
*/
|
|
72
71
|
function _createManagedObject() {
|
|
73
|
-
_createManagedObject = _asyncToGenerator(function* (
|
|
74
|
-
var
|
|
72
|
+
_createManagedObject = _asyncToGenerator(function* (_ref2) {
|
|
73
|
+
var {
|
|
74
|
+
moType,
|
|
75
|
+
moData,
|
|
76
|
+
state
|
|
77
|
+
} = _ref2;
|
|
78
|
+
var urlString = _util.default.format(createManagedObjectURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), moType);
|
|
75
79
|
var {
|
|
76
80
|
data
|
|
77
81
|
} = yield (0, _BaseApi.generateIdmApi)({
|
|
@@ -82,21 +86,26 @@ function _createManagedObject() {
|
|
|
82
86
|
});
|
|
83
87
|
return _createManagedObject.apply(this, arguments);
|
|
84
88
|
}
|
|
85
|
-
function putManagedObject(
|
|
89
|
+
function putManagedObject(_x3) {
|
|
86
90
|
return _putManagedObject.apply(this, arguments);
|
|
87
91
|
}
|
|
88
92
|
/**
|
|
89
|
-
*
|
|
90
|
-
* @param {string}
|
|
91
|
-
* @param {string}
|
|
92
|
-
* @param {string}
|
|
93
|
-
* @param {string} pageCookie paged results cookie
|
|
93
|
+
* Find managed object
|
|
94
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
95
|
+
* @param {string} filter CREST search filter
|
|
96
|
+
* @param {string[]} id array of fields to include
|
|
94
97
|
* @param {State} state library state
|
|
95
|
-
* @returns {Promise} a promise that resolves to an
|
|
98
|
+
* @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface
|
|
96
99
|
*/
|
|
97
100
|
function _putManagedObject() {
|
|
98
|
-
_putManagedObject = _asyncToGenerator(function* (
|
|
99
|
-
var
|
|
101
|
+
_putManagedObject = _asyncToGenerator(function* (_ref3) {
|
|
102
|
+
var {
|
|
103
|
+
type,
|
|
104
|
+
id,
|
|
105
|
+
moData,
|
|
106
|
+
state
|
|
107
|
+
} = _ref3;
|
|
108
|
+
var urlString = _util.default.format(managedObjectByIdURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, id);
|
|
100
109
|
return (0, _BaseApi.generateIdmApi)({
|
|
101
110
|
requestOverride: {},
|
|
102
111
|
state
|
|
@@ -104,19 +113,81 @@ function _putManagedObject() {
|
|
|
104
113
|
});
|
|
105
114
|
return _putManagedObject.apply(this, arguments);
|
|
106
115
|
}
|
|
107
|
-
function
|
|
116
|
+
function findManagedObjects(_x4) {
|
|
117
|
+
return _findManagedObjects.apply(this, arguments);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Query managed objects
|
|
121
|
+
* @param {string} type managed object type
|
|
122
|
+
* @param {string[]} fields fields to retrieve
|
|
123
|
+
* @param {string} pageCookie paged results cookie
|
|
124
|
+
* @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
|
|
125
|
+
*/
|
|
126
|
+
function _findManagedObjects() {
|
|
127
|
+
_findManagedObjects = _asyncToGenerator(function* (_ref4) {
|
|
128
|
+
var {
|
|
129
|
+
type,
|
|
130
|
+
filter,
|
|
131
|
+
fields = ['*'],
|
|
132
|
+
state
|
|
133
|
+
} = _ref4;
|
|
134
|
+
var fieldsParam = "_fields=".concat(fields.join(','));
|
|
135
|
+
var urlString = _util.default.format("".concat(findManagedObjectURLTemplate, "&").concat(fieldsParam), (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, filter);
|
|
136
|
+
var {
|
|
137
|
+
data
|
|
138
|
+
} = yield (0, _BaseApi.generateIdmApi)({
|
|
139
|
+
requestOverride: {},
|
|
140
|
+
state
|
|
141
|
+
}).get(urlString);
|
|
142
|
+
return data;
|
|
143
|
+
});
|
|
144
|
+
return _findManagedObjects.apply(this, arguments);
|
|
145
|
+
}
|
|
146
|
+
function queryAllManagedObjectsByType(_x5) {
|
|
108
147
|
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
109
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Delete managed object
|
|
151
|
+
* @param {string} id managed object id
|
|
152
|
+
* @param {State} state library state
|
|
153
|
+
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object
|
|
154
|
+
*/
|
|
110
155
|
function _queryAllManagedObjectsByType() {
|
|
111
|
-
_queryAllManagedObjectsByType = _asyncToGenerator(function* (
|
|
156
|
+
_queryAllManagedObjectsByType = _asyncToGenerator(function* (_ref5) {
|
|
157
|
+
var {
|
|
158
|
+
type,
|
|
159
|
+
fields = [],
|
|
160
|
+
pageCookie = undefined,
|
|
161
|
+
state
|
|
162
|
+
} = _ref5;
|
|
112
163
|
var fieldsParam = fields.length > 0 ? "&_fields=".concat(fields.join(',')) : '&_fields=_id';
|
|
113
|
-
var urlTemplate = pageCookie ? "".concat(managedObjectQueryAllURLTemplate).concat(fieldsParam, "&_pagedResultsCookie=").concat(pageCookie) : "".concat(managedObjectQueryAllURLTemplate).concat(fieldsParam);
|
|
114
|
-
var urlString = _util.default.format(urlTemplate,
|
|
115
|
-
|
|
116
|
-
|
|
164
|
+
var urlTemplate = pageCookie ? "".concat(managedObjectQueryAllURLTemplate).concat(fieldsParam, "&_pagedResultsCookie=").concat(encodeURIComponent(pageCookie)) : "".concat(managedObjectQueryAllURLTemplate).concat(fieldsParam);
|
|
165
|
+
var urlString = _util.default.format(urlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type);
|
|
166
|
+
var {
|
|
167
|
+
data
|
|
168
|
+
} = yield (0, _BaseApi.generateIdmApi)({
|
|
117
169
|
state
|
|
118
170
|
}).get(urlString);
|
|
171
|
+
return data;
|
|
119
172
|
});
|
|
120
173
|
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
121
174
|
}
|
|
175
|
+
function deleteManagedObject(_x6) {
|
|
176
|
+
return _deleteManagedObject.apply(this, arguments);
|
|
177
|
+
}
|
|
178
|
+
function _deleteManagedObject() {
|
|
179
|
+
_deleteManagedObject = _asyncToGenerator(function* (_ref6) {
|
|
180
|
+
var {
|
|
181
|
+
type,
|
|
182
|
+
id,
|
|
183
|
+
state
|
|
184
|
+
} = _ref6;
|
|
185
|
+
var urlString = _util.default.format(managedObjectByIdURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, id);
|
|
186
|
+
return (0, _BaseApi.generateIdmApi)({
|
|
187
|
+
requestOverride: {},
|
|
188
|
+
state
|
|
189
|
+
}).delete(urlString);
|
|
190
|
+
});
|
|
191
|
+
return _deleteManagedObject.apply(this, arguments);
|
|
192
|
+
}
|
|
122
193
|
//# sourceMappingURL=ManagedObjectApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectApi.js","names":["_util","_interopRequireDefault","require","_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","managedObjectURLTemplate","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","concat","getManagedObject","_x","_getManagedObject","_ref","baseUrl","type","id","fields","state","fieldsParam","join","urlString","util","format","data","generateIdmApi","requestOverride","get","createManagedObject","_x2","_x3","_x4","_x5","_createManagedObject","moType","moData","post","putManagedObject","_x6","_x7","_x8","_x9","_x10","_putManagedObject","put","queryAllManagedObjectsByType","_x11","_x12","_x13","_x14","_x15","_queryAllManagedObjectsByType","pageCookie","length","urlTemplate"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { IdObjectSkeletonInterface } from './ApiTypes';\nimport { State } from '../shared/State';\n\nconst managedObjectURLTemplate = '%s/openidm/managed/%s';\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `${managedObjectURLTemplate}?_queryFilter=true&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {string} baseUrl tenant base URL\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject({\n baseUrl,\n type,\n id,\n fields = ['*'],\n state,\n}: {\n baseUrl: string;\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n baseUrl,\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} baseUrl tenant base URL\n * @param {string} moType managed object type\n * @param {any} moData managed object data\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject(\n baseUrl: string,\n moType: string,\n moData,\n state: State\n): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n baseUrl,\n moType\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).post(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {string} baseUrl tenant base URL\n * @param {string} id managed object id\n * @param {string} moData managed object\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject(\n baseUrl: string,\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface,\n state: State\n): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n baseUrl,\n type,\n id\n );\n return generateIdmApi({ requestOverride: {}, state }).put(urlString, moData);\n}\n\n/**\n * Query managed objects\n * @param {string} baseUrl tenant base URL\n * @param {string} type managed object type\n * @param {string} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @param {State} state library state\n * @returns {Promise} a promise that resolves to an object containing managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType(\n baseUrl: string,\n type: string,\n fields: string[],\n pageCookie: string,\n state: State\n) {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${pageCookie}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(urlTemplate, baseUrl, type);\n return generateIdmApi({ requestOverride: {}, state }).get(urlString);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManagedObjectApi.js","names":["_util","_interopRequireDefault","require","_BaseApi","_ForgeRockUtils","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","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","findManagedObjectURLTemplate","getManagedObject","_x","_getManagedObject","_ref","type","id","fields","state","fieldsParam","concat","join","urlString","util","format","getHostBaseUrl","getHost","data","generateIdmApi","requestOverride","get","createManagedObject","_x2","_createManagedObject","_ref2","moType","moData","post","putManagedObject","_x3","_putManagedObject","_ref3","put","findManagedObjects","_x4","_findManagedObjects","_ref4","filter","queryAllManagedObjectsByType","_x5","_queryAllManagedObjectsByType","_ref5","pageCookie","length","urlTemplate","encodeURIComponent","deleteManagedObject","_x6","_deleteManagedObject","_ref6","delete"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\nimport { generateIdmApi } from './BaseApi';\nimport { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';\nimport { State } from '../shared/State';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\n\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000`;\nconst findManagedObjectURLTemplate = `%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject({\n type,\n id,\n fields = ['*'],\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {any} moData managed object data\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject({\n moType,\n moData,\n state,\n}: {\n moType: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getHostBaseUrl(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).post(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {string} id managed object id\n * @param {string} moData managed object\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n return generateIdmApi({ requestOverride: {}, state }).put(urlString, moData);\n}\n\n/**\n * Find managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function findManagedObjects({\n type,\n filter,\n fields = ['*'],\n state,\n}: {\n type: string;\n filter: string;\n fields: string[];\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${findManagedObjectURLTemplate}&${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n filter\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as PagedResult<IdObjectSkeletonInterface>;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType({\n type,\n fields = [],\n pageCookie = undefined,\n state,\n}: {\n type: string;\n fields?: string[];\n pageCookie?: string;\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getHostBaseUrl(state.getHost()),\n type\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Delete managed object\n * @param {string} id managed object id\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n return generateIdmApi({ requestOverride: {}, state }).delete(urlString);\n}\n"],"mappings":"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"}
|
package/cjs/lib/FrodoLib.js
CHANGED
|
@@ -8,6 +8,7 @@ var _State = _interopRequireDefault(require("../shared/State.js"));
|
|
|
8
8
|
var _AdminFederationOps = _interopRequireDefault(require("../ops/cloud/AdminFederationOps.js"));
|
|
9
9
|
var _AdminOps = _interopRequireDefault(require("../ops/AdminOps.js"));
|
|
10
10
|
var _AgentOps = _interopRequireDefault(require("../ops/AgentOps.js"));
|
|
11
|
+
var _ApplicationOps = _interopRequireDefault(require("../ops/ApplicationOps.js"));
|
|
11
12
|
var _AuthenticateOps = _interopRequireDefault(require("../ops/AuthenticateOps.js"));
|
|
12
13
|
var _CirclesOfTrustOps = _interopRequireDefault(require("../ops/CirclesOfTrustOps.js"));
|
|
13
14
|
var _ConnectionProfileOps = _interopRequireDefault(require("../ops/ConnectionProfileOps.js"));
|
|
@@ -43,6 +44,7 @@ var _VersionUtils = _interopRequireDefault(require("../ops/VersionUtils.js"));
|
|
|
43
44
|
var _Constants = _interopRequireDefault(require("../shared/Constants.js"));
|
|
44
45
|
var _ForgeRockUtils = _interopRequireDefault(require("../utils/ForgeRockUtils.js"));
|
|
45
46
|
var _Base64Utils = _interopRequireDefault(require("../utils/Base64Utils.js"));
|
|
47
|
+
var _JsonUtils = _interopRequireDefault(require("../utils/JsonUtils.js"));
|
|
46
48
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
47
49
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
48
50
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -66,6 +68,7 @@ var FrodoLib = function FrodoLib() {
|
|
|
66
68
|
state: state,
|
|
67
69
|
admin: (0, _AdminOps.default)(state),
|
|
68
70
|
agent: (0, _AgentOps.default)(state),
|
|
71
|
+
app: (0, _ApplicationOps.default)(state),
|
|
69
72
|
authn: {
|
|
70
73
|
journey: (0, _JourneyOps.default)(state),
|
|
71
74
|
node: (0, _NodeOps.default)(state)
|
|
@@ -112,6 +115,7 @@ var FrodoLib = function FrodoLib() {
|
|
|
112
115
|
utils: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, (0, _ForgeRockUtils.default)(state)), (0, _ScriptValidationUtils.default)(state)), (0, _ExportImportUtils.default)(state)), (0, _Base64Utils.default)()), {}, {
|
|
113
116
|
constants: _Constants.default,
|
|
114
117
|
jose: (0, _JoseOps.default)(state),
|
|
118
|
+
json: (0, _JsonUtils.default)(),
|
|
115
119
|
version: (0, _VersionUtils.default)(state)
|
|
116
120
|
}),
|
|
117
121
|
createInstance,
|
package/cjs/lib/FrodoLib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FrodoLib.js","names":["FrodoLib","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","authn","journey","JourneyOps","node","NodeOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","email","template","EmailTemplateOps","idm","IdmOps","managed","ManagedObjectOps","organization","OrganizationOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","ForgeRockUtils","ScriptValidationUtils","ExportImportUtils","Base64Utils","constants","ConstantsImpl","jose","JoseOps","version","VersionUtils","createInstance","createInstanceWithAdminAccount","createInstanceWithServiceAccount","exports","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport IdmOps, { Idm } from '../ops/IdmOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\n\n/**\n * Frodo Library\n */\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n\n authn: {\n journey: Journey;\n node: Node;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: Idm;\n managed: ManagedObject;\n organization: Organization;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: FRUtils &\n ScriptValidation &\n ExportImport &\n Base64 & {\n constants: Constants;\n jose: Jose;\n version: Version;\n };\n\n /**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\n createInstance(config: StateInterface): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with an admin user account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} username admin account username\n * @param {string} password admin account password\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithAdminAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with a service account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} serviceAccountId service account uuid\n * @param {string} serviceAccountJwkStr service account JWK as stringified JSON\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n};\n\n/**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\nconst FrodoLib = (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmOps(state),\n managed: ManagedObjectOps(state),\n organization: OrganizationOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...ForgeRockUtils(state),\n ...ScriptValidationUtils(state),\n ...ExportImportUtils(state),\n ...Base64Utils(),\n constants: ConstantsImpl,\n jose: JoseOps(state),\n version: VersionUtils(state),\n },\n\n createInstance,\n createInstanceWithAdminAccount,\n createInstanceWithServiceAccount,\n };\n};\n\nfunction createInstance(config: StateInterface): Frodo {\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n serviceAccountId,\n serviceAccountJwk: JSON.parse(serviceAccountJwkStr),\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithAdminAccount(\n host: string,\n username: string,\n password: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n username,\n password,\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\n/**\n * Default frodo instance\n *\n * @remarks\n *\n * If your application requires a single connection to a ForgeRock Identity Platform\n * instance at a time, then this default instance is all you need:\n *\n * In order to use the default {@link Frodo | frodo} instance, you must populate its {@link State | state} with the\n * minimum required information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n *\n * If your application needs to connect to multiple ForgeRock Identity Platform instances\n * simultaneously, then you will want to create additional frodo instances using any of\n * the available factory methods accessible from the default instance:\n *\n * {@link frodo.createInstance}\n * ```javascript\n * // use factory method to create a new Frodo instance\n * const instance1 = frodo.createInstance({\n * host: 'https://instance1/am',\n * username: 'admin',\n * password: 'p@ssw0rd!',\n * });\n *\n * // now the instance can login\n * instance1.login.getTokens();\n *\n * // and perform operations\n * instance1.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithAdminAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with an admin user account\n * const instance2 = frodo.createInstanceWithAdminAccount(\n * 'https://instance2/am',\n * 'admin',\n * 'p@ssw0rd!'\n * );\n *\n * // now the instance can login\n * instance2.login.getTokens();\n *\n * // and perform operations\n * instance2.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithServiceAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with a service account\n * const instance3 = frodo.createInstanceWithServiceAccount(\n * 'https://instance3/am',\n * 'serviceAccount',\n * '{\"k\":\"jwk\"}'\n * );\n *\n * // now the instance can login\n * instance3.login.getTokens();\n *\n * // and perform operations\n * instance3.authn.journey.exportJourney('Login');\n * ```\n */\nconst frodo = FrodoLib();\n\n/**\n * Default state instance\n *\n * @remarks\n *\n * {@link Frodo} maintains a {@link State | state} for each instance. The state is where Frodo gets configuration\n * information from like host to connecto to, username and password to use, whether to\n * allow insecure connections or not, etc. As the library operates, it updates its state.\n *\n * The default frodo instance contains an empty state instance by default. In order to\n * use the default frodo instance, you must populate its state with the minimum required\n * information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n */\nconst state = frodo.state;\n\nexport { frodo, state, FrodoLib };\n\nexport default FrodoLib;\n"],"mappings":"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AAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjB,IAAMD,MAAsB,GAAG;IAC7B2F,IAAI;IACJU,QAAQ;IACRC,QAAQ;IACRzC,KAAK;IACLiC,cAAc;IACdC,uBAAuB;IACvBC,KAAK;IACLC;EACF,CAAC;EACD,IAAMP,KAAK,GAAG3F,QAAQ,CAACC,MAAM,CAAC;EAC9B,OAAO0F,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,KAAK,GAAG3F,QAAQ,CAAC,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzBA0F,OAAA,CAAAC,KAAA,GAAAA,KAAA;AA0BA,IAAMtF,KAAK,GAAGsF,KAAK,CAACtF,KAAK;AAACqF,OAAA,CAAArF,KAAA,GAAAA,KAAA;AAAA,IAAAmG,QAAA,GAIXxG,QAAQ;AAAA0F,OAAA,CAAAe,OAAA,GAAAD,QAAA"}
|
|
1
|
+
{"version":3,"file":"FrodoLib.js","names":["FrodoLib","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","app","ApplicationOps","authn","journey","JourneyOps","node","NodeOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","email","template","EmailTemplateOps","idm","IdmOps","managed","ManagedObjectOps","organization","OrganizationOps","info","InfoOps","login","AuthenticateOps","oauth2oidc","client","OAuth2ClientOps","endpoint","OAuth2OidcOps","external","IdpOps","provider","OAuth2ProviderOps","realm","RealmOps","saml2","circlesOfTrust","CirclesOfTrustOps","entityProvider","Saml2Ops","script","ScriptOps","service","ServiceOps","theme","ThemeOps","utils","_objectSpread","ForgeRockUtils","ScriptValidationUtils","ExportImportUtils","Base64Utils","constants","ConstantsImpl","jose","JoseOps","json","JsonUtils","version","VersionUtils","createInstance","createInstanceWithAdminAccount","createInstanceWithServiceAccount","exports","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport AdminOps, { Admin } from '../ops/AdminOps';\nimport AgentOps, { Agent } from '../ops/AgentOps';\nimport ApplicationOps, { Application } from '../ops/ApplicationOps';\nimport AuthenticateOps, { Authenticate } from '../ops/AuthenticateOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport IdmOps, { Idm } from '../ops/IdmOps';\nimport IdpOps, { Idp } from '../ops/IdpOps';\nimport InfoOps, { Info } from '../ops/InfoOps';\nimport JoseOps, { Jose } from '../ops/JoseOps';\nimport JourneyOps, { Journey } from '../ops/JourneyOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport NodeOps, { Node } from '../ops/NodeOps';\nimport OAuth2ClientOps, { OAuth2Client } from '../ops/OAuth2ClientOps';\nimport OAuth2OidcOps, { OAuth2Oidc } from '../ops/OAuth2OidcOps';\nimport OAuth2ProviderOps, { OAuth2Provider } from '../ops/OAuth2ProviderOps';\nimport OrganizationOps, { Organization } from '../ops/OrganizationOps';\nimport PolicyOps, { Policy } from '../ops/PolicyOps';\nimport PolicySetOps, { PolicySet } from '../ops/PolicySetOps';\nimport RealmOps, { Realm } from '../ops/RealmOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\n\n/**\n * Frodo Library\n */\nexport type Frodo = {\n state: State;\n admin: Admin;\n agent: Agent;\n app: Application;\n\n authn: {\n journey: Journey;\n node: Node;\n };\n\n authz: {\n policy: Policy;\n policySet: PolicySet;\n resourceType: ResourceType;\n };\n\n cloud: {\n adminFed: AdminFederation;\n feature: Feature;\n log: Log;\n secret: Secret;\n serviceAccount: ServiceAccount;\n startup: Startup;\n variable: Variable;\n };\n\n conn: ConnectionProfile;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: Idm;\n managed: ManagedObject;\n organization: Organization;\n };\n\n info: Info;\n login: Authenticate;\n\n oauth2oidc: {\n client: OAuth2Client;\n endpoint: OAuth2Oidc;\n external: Idp;\n provider: OAuth2Provider;\n };\n\n realm: Realm;\n\n saml2: {\n circlesOfTrust: CirclesOfTrust;\n entityProvider: Saml2;\n };\n\n script: Script;\n service: Service;\n\n theme: Theme;\n\n utils: FRUtils &\n ScriptValidation &\n ExportImport &\n Base64 & {\n constants: Constants;\n jose: Jose;\n json: Json;\n version: Version;\n };\n\n /**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\n createInstance(config: StateInterface): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with an admin user account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} username admin account username\n * @param {string} password admin account password\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithAdminAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n\n /**\n * Factory helper to create a frodo instance ready for logging in with a service account\n * @param {string} host host base URL, e.g. 'https://openam-my-tenant.forgeblocks.com/am'\n * @param {string} serviceAccountId service account uuid\n * @param {string} serviceAccountJwkStr service account JWK as stringified JSON\n * @param {string} realm (optional) override default realm\n * @param {string} deploymentType (optional) override deployment type ('cloud', 'forgeops', or 'classic')\n * @param {boolean} allowInsecureConnection (optional) allow insecure connection\n * @param {boolean} debug (optional) enable debug output\n * @param {boolean} curlirize (optional) enable output of all library REST calls as curl commands\n * @returns {Frodo} frodo instance\n */\n createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm?: string,\n deploymentType?: string,\n allowInsecureConnection?: boolean,\n debug?: boolean,\n curlirize?: boolean\n ): Frodo;\n};\n\n/**\n * Create a new frodo instance\n * @param {StateInterface} config Initial state configuration to use with the new instance\n * @returns {Frodo} frodo instance\n */\nconst FrodoLib = (config: StateInterface = {}): Frodo => {\n const state = StateImpl(config);\n return {\n state: state,\n admin: AdminOps(state),\n agent: AgentOps(state),\n app: ApplicationOps(state),\n\n authn: {\n journey: JourneyOps(state),\n node: NodeOps(state),\n },\n\n authz: {\n policy: PolicyOps(state),\n policySet: PolicySetOps(state),\n resourceType: ResourceTypeOps(state),\n },\n\n cloud: {\n adminFed: AdminFederationOps(state),\n feature: FeatureOps(state),\n log: LogOps(state),\n secret: SecretsOps(state),\n serviceAccount: ServiceAccountOps(state),\n startup: StartupOps(state),\n variable: VariablesOps(state),\n },\n\n conn: ConnectionProfileOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmOps(state),\n managed: ManagedObjectOps(state),\n organization: OrganizationOps(state),\n },\n\n info: InfoOps(state),\n login: AuthenticateOps(state),\n\n oauth2oidc: {\n client: OAuth2ClientOps(state),\n endpoint: OAuth2OidcOps(state),\n external: IdpOps(state),\n provider: OAuth2ProviderOps(state),\n },\n\n realm: RealmOps(state),\n\n saml2: {\n circlesOfTrust: CirclesOfTrustOps(state),\n entityProvider: Saml2Ops(state),\n },\n\n script: ScriptOps(state),\n service: ServiceOps(state),\n\n theme: ThemeOps(state),\n\n utils: {\n ...ForgeRockUtils(state),\n ...ScriptValidationUtils(state),\n ...ExportImportUtils(state),\n ...Base64Utils(),\n constants: ConstantsImpl,\n jose: JoseOps(state),\n json: JsonUtils(),\n version: VersionUtils(state),\n },\n\n createInstance,\n createInstanceWithAdminAccount,\n createInstanceWithServiceAccount,\n };\n};\n\nfunction createInstance(config: StateInterface): Frodo {\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithServiceAccount(\n host: string,\n serviceAccountId: string,\n serviceAccountJwkStr: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n serviceAccountId,\n serviceAccountJwk: JSON.parse(serviceAccountJwkStr),\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\nfunction createInstanceWithAdminAccount(\n host: string,\n username: string,\n password: string,\n realm: string = undefined,\n deploymentType: string = undefined,\n allowInsecureConnection = false,\n debug = false,\n curlirize = false\n): Frodo {\n const config: StateInterface = {\n host,\n username,\n password,\n realm,\n deploymentType,\n allowInsecureConnection,\n debug,\n curlirize,\n };\n const frodo = FrodoLib(config);\n return frodo;\n}\n\n/**\n * Default frodo instance\n *\n * @remarks\n *\n * If your application requires a single connection to a ForgeRock Identity Platform\n * instance at a time, then this default instance is all you need:\n *\n * In order to use the default {@link Frodo | frodo} instance, you must populate its {@link State | state} with the\n * minimum required information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n *\n * If your application needs to connect to multiple ForgeRock Identity Platform instances\n * simultaneously, then you will want to create additional frodo instances using any of\n * the available factory methods accessible from the default instance:\n *\n * {@link frodo.createInstance}\n * ```javascript\n * // use factory method to create a new Frodo instance\n * const instance1 = frodo.createInstance({\n * host: 'https://instance1/am',\n * username: 'admin',\n * password: 'p@ssw0rd!',\n * });\n *\n * // now the instance can login\n * instance1.login.getTokens();\n *\n * // and perform operations\n * instance1.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithAdminAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with an admin user account\n * const instance2 = frodo.createInstanceWithAdminAccount(\n * 'https://instance2/am',\n * 'admin',\n * 'p@ssw0rd!'\n * );\n *\n * // now the instance can login\n * instance2.login.getTokens();\n *\n * // and perform operations\n * instance2.authn.journey.exportJourney('Login');\n * ```\n *\n * {@link frodo.createInstanceWithServiceAccount}\n * ```javascript\n * // use factory method to create a new Frodo instance ready to login with a service account\n * const instance3 = frodo.createInstanceWithServiceAccount(\n * 'https://instance3/am',\n * 'serviceAccount',\n * '{\"k\":\"jwk\"}'\n * );\n *\n * // now the instance can login\n * instance3.login.getTokens();\n *\n * // and perform operations\n * instance3.authn.journey.exportJourney('Login');\n * ```\n */\nconst frodo = FrodoLib();\n\n/**\n * Default state instance\n *\n * @remarks\n *\n * {@link Frodo} maintains a {@link State | state} for each instance. The state is where Frodo gets configuration\n * information from like host to connecto to, username and password to use, whether to\n * allow insecure connections or not, etc. As the library operates, it updates its state.\n *\n * The default frodo instance contains an empty state instance by default. In order to\n * use the default frodo instance, you must populate its state with the minimum required\n * information to login to your ForgeRock Identity Platform instance:\n *\n * ```javascript\n * // configure the state before invoking any library functions that require credentials\n * state.setHost('https://instance0/am');\n * state.setUsername('admin');\n * state.setPassword('p@ssw0rd!');\n *\n * // now the library can login\n * frodo.login.getTokens();\n *\n * // and perform operations\n * frodo.authn.journey.exportJourney('Login');\n * ```\n */\nconst state = frodo.state;\n\nexport { frodo, state, FrodoLib };\n\nexport default FrodoLib;\n"],"mappings":"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AA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACboG,SAAS,GAAApG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjB,IAAMD,MAAsB,GAAG;IAC7B+F,IAAI;IACJU,QAAQ;IACRC,QAAQ;IACR3C,KAAK;IACLmC,cAAc;IACdC,uBAAuB;IACvBC,KAAK;IACLC;EACF,CAAC;EACD,IAAMP,KAAK,GAAG/F,QAAQ,CAACC,MAAM,CAAC;EAC9B,OAAO8F,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMA,KAAK,GAAG/F,QAAQ,CAAC,CAAC;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzBA8F,OAAA,CAAAC,KAAA,GAAAA,KAAA;AA0BA,IAAM1F,KAAK,GAAG0F,KAAK,CAAC1F,KAAK;AAACyF,OAAA,CAAAzF,KAAA,GAAAA,KAAA;AAAA,IAAAuG,QAAA,GAIX5G,QAAQ;AAAA8F,OAAA,CAAAe,OAAA,GAAAD,QAAA"}
|