@rockcarver/frodo-lib 2.0.0-47 → 2.0.0-49

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 (47) hide show
  1. package/build.zip +0 -0
  2. package/cjs/api/AuthenticationSettingsApi.js.map +1 -1
  3. package/cjs/api/ScriptApi.js +74 -2
  4. package/cjs/api/ScriptApi.js.map +1 -1
  5. package/cjs/lib/FrodoLib.js +3 -1
  6. package/cjs/lib/FrodoLib.js.map +1 -1
  7. package/cjs/ops/AuthenticationSettingsOps.js +12 -35
  8. package/cjs/ops/AuthenticationSettingsOps.js.map +1 -1
  9. package/cjs/ops/ManagedObjectOps.js +84 -0
  10. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  11. package/cjs/ops/ScriptOps.js +71 -15
  12. package/cjs/ops/ScriptOps.js.map +1 -1
  13. package/cjs/ops/ScriptOps.test.js +40 -0
  14. package/cjs/ops/ScriptOps.test.js.map +1 -1
  15. package/cjs/utils/ExportImportUtils.js +3 -1
  16. package/cjs/utils/ExportImportUtils.js.map +1 -1
  17. package/esm/api/AuthenticationSettingsApi.js.map +1 -1
  18. package/esm/api/ScriptApi.js +60 -2
  19. package/esm/api/ScriptApi.js.map +1 -1
  20. package/esm/lib/FrodoLib.js +3 -1
  21. package/esm/lib/FrodoLib.js.map +1 -1
  22. package/esm/ops/AuthenticationSettingsOps.js +6 -22
  23. package/esm/ops/AuthenticationSettingsOps.js.map +1 -1
  24. package/esm/ops/ManagedObjectOps.js +73 -0
  25. package/esm/ops/ManagedObjectOps.js.map +1 -1
  26. package/esm/ops/ScriptOps.js +39 -1
  27. package/esm/ops/ScriptOps.js.map +1 -1
  28. package/esm/ops/ScriptOps.test.js +40 -0
  29. package/esm/ops/ScriptOps.test.js.map +1 -1
  30. package/esm/utils/ExportImportUtils.js +3 -1
  31. package/esm/utils/ExportImportUtils.js.map +1 -1
  32. package/package.json +1 -1
  33. package/types/api/AuthenticationSettingsApi.d.ts +2 -2
  34. package/types/api/AuthenticationSettingsApi.d.ts.map +1 -1
  35. package/types/api/ScriptApi.d.ts +19 -3
  36. package/types/api/ScriptApi.d.ts.map +1 -1
  37. package/types/lib/FrodoLib.d.ts +2 -0
  38. package/types/lib/FrodoLib.d.ts.map +1 -1
  39. package/types/ops/AuthenticationSettingsOps.d.ts +2 -9
  40. package/types/ops/AuthenticationSettingsOps.d.ts.map +1 -1
  41. package/types/ops/ManagedObjectOps.d.ts +10 -0
  42. package/types/ops/ManagedObjectOps.d.ts.map +1 -1
  43. package/types/ops/ScriptOps.d.ts +27 -0
  44. package/types/ops/ScriptOps.d.ts.map +1 -1
  45. package/types/utils/ExportImportUtils.d.ts.map +1 -1
  46. /package/cjs/test/mocks/Saml2Ops/importSaml2Provider/{urn:federation:MicrosoftOnline.saml.json → urnfederationMicrosoftOnline.saml.json} +0 -0
  47. /package/esm/test/mocks/Saml2Ops/importSaml2Provider/{urn:federation:MicrosoftOnline.saml.json → urnfederationMicrosoftOnline.saml.json} +0 -0
package/build.zip CHANGED
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationSettingsApi.js","names":["_util","_interopRequireDefault","require","_Console","_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","authenticationSettingsURLTemplate","apiVersion","getApiConfig","getAuthenticationSettings","_x","_getAuthenticationSettings","_ref","state","debugMessage","message","urlString","util","format","getHost","getCurrentRealmPath","data","generateAmApi","resource","get","withCredentials","putAuthenticationSettings","_x2","_putAuthenticationSettings","_ref2","settings","put"],"sources":["../../src/api/AuthenticationSettingsApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { debugMessage } from '../utils/Console';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { type IdObjectSkeletonInterface } from './ApiTypes';\nimport { generateAmApi } from './BaseApi';\n\nconst authenticationSettingsURLTemplate =\n '%s/json%s/realm-config/authentication';\nconst apiVersion = 'resource=1.0';\nconst getApiConfig = () => {\n return {\n apiVersion,\n };\n};\n\nexport type AuthenticationSettingsSkeleton = IdObjectSkeletonInterface & {\n _id: '';\n _type: {\n _id: 'EMPTY';\n name: 'Core';\n collection: false;\n };\n};\n\n/**\n * Get authentication settings\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves to an authentication settings object\n */\nexport async function getAuthenticationSettings({ state }: { state: State }) {\n debugMessage({\n message: `AuthenticationSettingsApi.getAuthenticationSettings: start`,\n state,\n });\n const urlString = util.format(\n authenticationSettingsURLTemplate,\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 debugMessage({\n message: `AuthenticationSettingsApi.getAuthenticationSettings: end`,\n state,\n });\n return data;\n}\n\n/**\n * Put authentiction settings\n * @param {AuthenticationSettingsSkeleton} settings authentiction settings object\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves to an authentiction settings object\n */\nexport async function putAuthenticationSettings({\n settings,\n state,\n}: {\n settings: AuthenticationSettingsSkeleton;\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n debugMessage({\n message: `AuthenticationSettingsApi.putAuthenticationSettings: start`,\n state,\n });\n const urlString = util.format(\n authenticationSettingsURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).put(\n urlString,\n settings,\n {\n withCredentials: true,\n }\n );\n debugMessage({\n message: `AuthenticationSettingsApi.putAuthenticationSettings: end`,\n state,\n });\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthenticationSettingsApi.js","names":["_util","_interopRequireDefault","require","_Console","_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","authenticationSettingsURLTemplate","apiVersion","getApiConfig","getAuthenticationSettings","_x","_getAuthenticationSettings","_ref","state","debugMessage","message","urlString","util","format","getHost","getCurrentRealmPath","data","generateAmApi","resource","get","withCredentials","putAuthenticationSettings","_x2","_putAuthenticationSettings","_ref2","settings","put"],"sources":["../../src/api/AuthenticationSettingsApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { debugMessage } from '../utils/Console';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { type IdObjectSkeletonInterface } from './ApiTypes';\nimport { generateAmApi } from './BaseApi';\n\nconst authenticationSettingsURLTemplate =\n '%s/json%s/realm-config/authentication';\nconst apiVersion = 'resource=1.0';\nconst getApiConfig = () => {\n return {\n apiVersion,\n };\n};\n\nexport type AuthenticationSettingsSkeleton = IdObjectSkeletonInterface & {\n _id: '';\n _type: {\n _id: 'EMPTY';\n name: 'Core';\n collection: false;\n };\n};\n\n/**\n * Get authentication settings\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves to an authentication settings object\n */\nexport async function getAuthenticationSettings({\n state,\n}: {\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n debugMessage({\n message: `AuthenticationSettingsApi.getAuthenticationSettings: start`,\n state,\n });\n const urlString = util.format(\n authenticationSettingsURLTemplate,\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 debugMessage({\n message: `AuthenticationSettingsApi.getAuthenticationSettings: end`,\n state,\n });\n return data;\n}\n\n/**\n * Put authentiction settings\n * @param {AuthenticationSettingsSkeleton} settings authentiction settings object\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves to an authentiction settings object\n */\nexport async function putAuthenticationSettings({\n settings,\n state,\n}: {\n settings: AuthenticationSettingsSkeleton;\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n debugMessage({\n message: `AuthenticationSettingsApi.putAuthenticationSettings: start`,\n state,\n });\n const urlString = util.format(\n authenticationSettingsURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).put(\n urlString,\n settings,\n {\n withCredentials: true,\n }\n );\n debugMessage({\n message: `AuthenticationSettingsApi.putAuthenticationSettings: end`,\n state,\n });\n return data;\n}\n"],"mappings":"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"}
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.deleteScript = deleteScript;
7
+ exports.deleteScriptByName = deleteScriptByName;
8
+ exports.deleteScripts = deleteScripts;
7
9
  exports.getScript = getScript;
8
10
  exports.getScriptByName = getScriptByName;
9
11
  exports.getScripts = getScripts;
@@ -113,8 +115,8 @@ function putScript(_x4) {
113
115
  }
114
116
  /**
115
117
  * Delete script by id
116
- * @param {String} scriptId script uuid/name
117
- * @returns {Promise} a promise that resolves to a script object
118
+ * @param {String} scriptId script uuid
119
+ * @returns {Promise<ScriptSkeleton>>} a promise that resolves to a script object
118
120
  */
119
121
  function _putScript() {
120
122
  _putScript = _asyncToGenerator(function* (_ref4) {
@@ -139,6 +141,11 @@ function _putScript() {
139
141
  function deleteScript(_x5) {
140
142
  return _deleteScript.apply(this, arguments);
141
143
  }
144
+ /**
145
+ * Delete script by name
146
+ * @param {String} scriptId script name
147
+ * @returns {Promise<ScriptSkeleton>} a promise that resolves to a script object
148
+ */
142
149
  function _deleteScript() {
143
150
  _deleteScript = _asyncToGenerator(function* (_ref5) {
144
151
  var {
@@ -158,4 +165,69 @@ function _deleteScript() {
158
165
  });
159
166
  return _deleteScript.apply(this, arguments);
160
167
  }
168
+ function deleteScriptByName(_x6) {
169
+ return _deleteScriptByName.apply(this, arguments);
170
+ }
171
+ /**
172
+ * Delete all non-default scripts
173
+ * @returns {Promise<ScriptSkeleton[]>>} a promise that resolves to an array of script objects
174
+ */
175
+ function _deleteScriptByName() {
176
+ _deleteScriptByName = _asyncToGenerator(function* (_ref6) {
177
+ var {
178
+ scriptName,
179
+ state
180
+ } = _ref6;
181
+ var {
182
+ result
183
+ } = yield getScriptByName({
184
+ scriptName,
185
+ state
186
+ });
187
+ if (!result[0]) {
188
+ throw new Error("Script with name ".concat(scriptName, " does not exist."));
189
+ }
190
+ var scriptId = result[0]._id;
191
+ return deleteScript({
192
+ scriptId,
193
+ state
194
+ });
195
+ });
196
+ return _deleteScriptByName.apply(this, arguments);
197
+ }
198
+ function deleteScripts(_x7) {
199
+ return _deleteScripts.apply(this, arguments);
200
+ }
201
+ function _deleteScripts() {
202
+ _deleteScripts = _asyncToGenerator(function* (_ref7) {
203
+ var {
204
+ state
205
+ } = _ref7;
206
+ var {
207
+ result
208
+ } = yield getScripts({
209
+ state
210
+ });
211
+ //Unable to delete default scripts, so filter them out
212
+ var scripts = result.filter(s => !s.default);
213
+ var deletedScripts = [];
214
+ var errors = [];
215
+ for (var script of scripts) {
216
+ try {
217
+ deletedScripts.push(yield deleteScript({
218
+ scriptId: script._id,
219
+ state
220
+ }));
221
+ } catch (error) {
222
+ errors.push(error);
223
+ }
224
+ }
225
+ if (errors.length) {
226
+ var errorMessages = errors.map(error => error.message).join('\n');
227
+ throw new Error("Delete error:\n".concat(errorMessages));
228
+ }
229
+ return deletedScripts;
230
+ });
231
+ return _deleteScripts.apply(this, arguments);
232
+ }
161
233
  //# sourceMappingURL=ScriptApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptApi.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","scriptURLTemplate","scriptListURLTemplate","scriptQueryURLTemplate","apiVersion","getApiConfig","getScripts","_x","_getScripts","_ref","state","urlString","util","format","getHost","getCurrentRealmPath","data","generateAmApi","resource","get","withCredentials","getScriptByName","_x2","_getScriptByName","_ref2","scriptName","encodeURIComponent","getScript","_x3","_getScript","_ref3","scriptId","putScript","_x4","_putScript","_ref4","scriptData","put","deleteScript","_x5","_deleteScript","_ref5","delete"],"sources":["../../src/api/ScriptApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { type IdObjectSkeletonInterface, type PagedResult } from './ApiTypes';\nimport { generateAmApi } from './BaseApi';\n\nconst scriptURLTemplate = '%s/json%s/scripts/%s';\nconst scriptListURLTemplate = '%s/json%s/scripts?_queryFilter=true';\nconst scriptQueryURLTemplate =\n '%s/json%s/scripts?_queryFilter=name+eq+%%22%s%%22';\nconst apiVersion = 'protocol=2.0,resource=1.0';\nconst getApiConfig = () => {\n return {\n apiVersion,\n };\n};\n\nexport type ScriptLanguage = 'GROOVY' | 'JAVASCRIPT';\n\nexport type ScriptContext =\n | 'OAUTH2_ACCESS_TOKEN_MODIFICATION'\n | 'AUTHENTICATION_CLIENT_SIDE'\n | 'AUTHENTICATION_TREE_DECISION_NODE'\n | 'AUTHENTICATION_SERVER_SIDE'\n | 'SOCIAL_IDP_PROFILE_TRANSFORMATION'\n | 'OAUTH2_VALIDATE_SCOPE'\n | 'CONFIG_PROVIDER_NODE'\n | 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER'\n | 'OAUTH2_EVALUATE_SCOPE'\n | 'POLICY_CONDITION'\n | 'OIDC_CLAIMS'\n | 'SAML2_IDP_ADAPTER'\n | 'SAML2_IDP_ATTRIBUTE_MAPPER'\n | 'OAUTH2_MAY_ACT';\n\nexport type ScriptSkeleton = IdObjectSkeletonInterface & {\n name: string;\n description: string;\n default: boolean;\n script: string | string[];\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\n/**\n * Get all scripts\n * @returns {Promise} a promise that resolves to an object containing an array of script objects\n */\nexport async function getScripts({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<ScriptSkeleton>> {\n const urlString = util.format(\n scriptListURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).get<\n PagedResult<ScriptSkeleton>\n >(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by name\n * @param {String} scriptName script name\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function getScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<PagedResult<ScriptSkeleton>> {\n const urlString = util.format(\n scriptQueryURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n encodeURIComponent(scriptName)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).get<\n PagedResult<ScriptSkeleton>\n >(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by id\n * @param {String} scriptId script uuid/name\n * @returns {Promise} a promise that resolves to a script object\n */\nexport async function getScript({\n scriptId,\n state,\n}: {\n scriptId: string;\n state: State;\n}) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n scriptId\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 * Put script\n * @param {string} scriptId script uuid\n * @param {Object} scriptData script object\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function putScript({\n scriptId,\n scriptData,\n state,\n}: {\n scriptId: string;\n scriptData: ScriptSkeleton;\n state: State;\n}) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n scriptId\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).put(\n urlString,\n scriptData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete script by id\n * @param {String} scriptId script uuid/name\n * @returns {Promise} a promise that resolves to a script object\n */\nexport async function deleteScript({\n scriptId,\n state,\n}: {\n scriptId: string;\n state: State;\n}) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n scriptId\n );\n const { data } = await generateAmApi({\n resource: getApiConfig(),\n state,\n }).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ScriptApi.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","scriptURLTemplate","scriptListURLTemplate","scriptQueryURLTemplate","apiVersion","getApiConfig","getScripts","_x","_getScripts","_ref","state","urlString","util","format","getHost","getCurrentRealmPath","data","generateAmApi","resource","get","withCredentials","getScriptByName","_x2","_getScriptByName","_ref2","scriptName","encodeURIComponent","getScript","_x3","_getScript","_ref3","scriptId","putScript","_x4","_putScript","_ref4","scriptData","put","deleteScript","_x5","_deleteScript","_ref5","delete","deleteScriptByName","_x6","_deleteScriptByName","_ref6","result","Error","concat","_id","deleteScripts","_x7","_deleteScripts","_ref7","scripts","filter","s","deletedScripts","errors","script","push","length","errorMessages","map","message","join"],"sources":["../../src/api/ScriptApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getCurrentRealmPath } from '../utils/ForgeRockUtils';\nimport { type IdObjectSkeletonInterface, type PagedResult } from './ApiTypes';\nimport { generateAmApi } from './BaseApi';\n\nconst scriptURLTemplate = '%s/json%s/scripts/%s';\nconst scriptListURLTemplate = '%s/json%s/scripts?_queryFilter=true';\nconst scriptQueryURLTemplate =\n '%s/json%s/scripts?_queryFilter=name+eq+%%22%s%%22';\nconst apiVersion = 'protocol=2.0,resource=1.0';\nconst getApiConfig = () => {\n return {\n apiVersion,\n };\n};\n\nexport type ScriptLanguage = 'GROOVY' | 'JAVASCRIPT';\n\nexport type ScriptContext =\n | 'OAUTH2_ACCESS_TOKEN_MODIFICATION'\n | 'AUTHENTICATION_CLIENT_SIDE'\n | 'AUTHENTICATION_TREE_DECISION_NODE'\n | 'AUTHENTICATION_SERVER_SIDE'\n | 'SOCIAL_IDP_PROFILE_TRANSFORMATION'\n | 'OAUTH2_VALIDATE_SCOPE'\n | 'CONFIG_PROVIDER_NODE'\n | 'OAUTH2_AUTHORIZE_ENDPOINT_DATA_PROVIDER'\n | 'OAUTH2_EVALUATE_SCOPE'\n | 'POLICY_CONDITION'\n | 'OIDC_CLAIMS'\n | 'SAML2_IDP_ADAPTER'\n | 'SAML2_IDP_ATTRIBUTE_MAPPER'\n | 'OAUTH2_MAY_ACT';\n\nexport type ScriptSkeleton = IdObjectSkeletonInterface & {\n name: string;\n description: string;\n default: boolean;\n script: string | string[];\n language: ScriptLanguage;\n context: ScriptContext;\n createdBy: string;\n creationDate: number;\n lastModifiedBy: string;\n lastModifiedDate: number;\n};\n\n/**\n * Get all scripts\n * @returns {Promise} a promise that resolves to an object containing an array of script objects\n */\nexport async function getScripts({\n state,\n}: {\n state: State;\n}): Promise<PagedResult<ScriptSkeleton>> {\n const urlString = util.format(\n scriptListURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).get<\n PagedResult<ScriptSkeleton>\n >(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by name\n * @param {String} scriptName script name\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function getScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<PagedResult<ScriptSkeleton>> {\n const urlString = util.format(\n scriptQueryURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n encodeURIComponent(scriptName)\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).get<\n PagedResult<ScriptSkeleton>\n >(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Get script by id\n * @param {String} scriptId script uuid/name\n * @returns {Promise} a promise that resolves to a script object\n */\nexport async function getScript({\n scriptId,\n state,\n}: {\n scriptId: string;\n state: State;\n}) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n scriptId\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 * Put script\n * @param {string} scriptId script uuid\n * @param {Object} scriptData script object\n * @returns {Promise} a promise that resolves to an object containing a script object\n */\nexport async function putScript({\n scriptId,\n scriptData,\n state,\n}: {\n scriptId: string;\n scriptData: ScriptSkeleton;\n state: State;\n}) {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n scriptId\n );\n const { data } = await generateAmApi({ resource: getApiConfig(), state }).put(\n urlString,\n scriptData,\n {\n withCredentials: true,\n }\n );\n return data;\n}\n\n/**\n * Delete script by id\n * @param {String} scriptId script uuid\n * @returns {Promise<ScriptSkeleton>>} a promise that resolves to a script object\n */\nexport async function deleteScript({\n scriptId,\n state,\n}: {\n scriptId: string;\n state: State;\n}): Promise<ScriptSkeleton> {\n const urlString = util.format(\n scriptURLTemplate,\n state.getHost(),\n getCurrentRealmPath(state),\n scriptId\n );\n const { data } = await generateAmApi({\n resource: getApiConfig(),\n state,\n }).delete(urlString, {\n withCredentials: true,\n });\n return data;\n}\n\n/**\n * Delete script by name\n * @param {String} scriptId script name\n * @returns {Promise<ScriptSkeleton>} a promise that resolves to a script object\n */\nexport async function deleteScriptByName({\n scriptName,\n state,\n}: {\n scriptName: string;\n state: State;\n}): Promise<ScriptSkeleton> {\n const { result } = await getScriptByName({ scriptName, state });\n if (!result[0]) {\n throw new Error(`Script with name ${scriptName} does not exist.`);\n }\n const scriptId = result[0]._id;\n return deleteScript({\n scriptId,\n state,\n });\n}\n\n/**\n * Delete all non-default scripts\n * @returns {Promise<ScriptSkeleton[]>>} a promise that resolves to an array of script objects\n */\nexport async function deleteScripts({\n state,\n}: {\n state: State;\n}): Promise<ScriptSkeleton[]> {\n const { result } = await getScripts({ state });\n //Unable to delete default scripts, so filter them out\n const scripts = result.filter((s) => !s.default);\n const deletedScripts = [];\n const errors = [];\n for (const script of scripts) {\n try {\n deletedScripts.push(\n await deleteScript({\n scriptId: script._id,\n state,\n })\n );\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Delete error:\\n${errorMessages}`);\n }\n return deletedScripts;\n}\n"],"mappings":"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"}
@@ -8,6 +8,7 @@ var _AdminOps = _interopRequireDefault(require("../ops/AdminOps.js"));
8
8
  var _AgentOps = _interopRequireDefault(require("../ops/AgentOps.js"));
9
9
  var _ApplicationOps = _interopRequireDefault(require("../ops/ApplicationOps.js"));
10
10
  var _AuthenticateOps = _interopRequireDefault(require("../ops/AuthenticateOps.js"));
11
+ var _AuthenticationSettingsOps = _interopRequireDefault(require("../ops/AuthenticationSettingsOps.js"));
11
12
  var _CirclesOfTrustOps = _interopRequireDefault(require("../ops/CirclesOfTrustOps.js"));
12
13
  var _AdminFederationOps = _interopRequireDefault(require("../ops/cloud/AdminFederationOps.js"));
13
14
  var _FeatureOps = _interopRequireDefault(require("../ops/cloud/FeatureOps.js"));
@@ -76,7 +77,8 @@ var FrodoLib = exports.FrodoLib = function FrodoLib() {
76
77
  app: (0, _ApplicationOps.default)(state),
77
78
  authn: {
78
79
  journey: (0, _JourneyOps.default)(state),
79
- node: (0, _NodeOps.default)(state)
80
+ node: (0, _NodeOps.default)(state),
81
+ settings: (0, _AuthenticationSettingsOps.default)(state)
80
82
  },
81
83
  authz: {
82
84
  policy: (0, _PolicyOps.default)(state),
@@ -1 +1 @@
1
- {"version":3,"file":"FrodoLib.js","names":["FrodoLib","exports","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","cache","TokenCacheOps","email","template","EmailTemplateOps","idm","IdmConfigOps","connector","ConnectorOps","managed","ManagedObjectOps","mapping","MappingOps","organization","OrganizationOps","recon","ReconOps","system","IdmSystemOps","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","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\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 AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport ConnectorOps, { Connector } from '../ops/ConnectorOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport IdmConfigOps, { IdmConfig } from '../ops/IdmConfigOps';\nimport IdmSystemOps, { IdmSystem } from '../ops/IdmSystemOps';\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 ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport MappingOps, { Mapping } from '../ops/MappingOps';\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 ReconOps, { Recon } from '../ops/ReconOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport TokenCacheOps, { TokenCache } from '../ops/TokenCacheOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\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 cache: TokenCache;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: IdmConfig;\n connector: Connector;\n managed: ManagedObject;\n mapping: Mapping;\n organization: Organization;\n recon: Recon;\n system: IdmSystem;\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 cache: TokenCacheOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmConfigOps(state),\n connector: ConnectorOps(state),\n managed: ManagedObjectOps(state),\n mapping: MappingOps(state),\n organization: OrganizationOps(state),\n recon: ReconOps(state),\n system: IdmSystemOps(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, FrodoLib, state };\n\nexport default FrodoLib;\n"],"mappings":"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F,SAAA,MAAGE,SAAS;EAAA,IACzBwG,cAAsB,GAAA1G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAAA,IAClCyG,uBAAuB,GAAA3G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IAC/B4G,KAAK,GAAA5G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAAA,IACb6G,SAAS,GAAA7G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjB,IAAMD,MAAsB,GAAG;IAC7BwG,IAAI;IACJU,QAAQ;IACRC,QAAQ;IACR1C,KAAK;IACLkC,cAAc;IACdC,uBAAuB;IACvBC,KAAK;IACLC;EACF,CAAC;EACD,IAAMP,KAAK,GAAGzG,QAAQ,CAACE,MAAM,CAAC;EAC9B,OAAOuG,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,GAAAxG,OAAA,CAAAwG,KAAA,GAAGzG,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;AACA,IAAMM,KAAK,GAAAL,OAAA,CAAAK,KAAA,GAAGmG,KAAK,CAACnG,KAAK;AAAC,IAAAgH,QAAA,GAAArH,OAAA,CAAAsH,OAAA,GAIXvH,QAAQ"}
1
+ {"version":3,"file":"FrodoLib.js","names":["FrodoLib","exports","config","arguments","length","undefined","state","StateImpl","admin","AdminOps","agent","AgentOps","app","ApplicationOps","authn","journey","JourneyOps","node","NodeOps","settings","AuthenticationSettingsOps","authz","policy","PolicyOps","policySet","PolicySetOps","resourceType","ResourceTypeOps","cloud","adminFed","AdminFederationOps","feature","FeatureOps","log","LogOps","secret","SecretsOps","serviceAccount","ServiceAccountOps","startup","StartupOps","variable","VariablesOps","conn","ConnectionProfileOps","cache","TokenCacheOps","email","template","EmailTemplateOps","idm","IdmConfigOps","connector","ConnectorOps","managed","ManagedObjectOps","mapping","MappingOps","organization","OrganizationOps","recon","ReconOps","system","IdmSystemOps","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","frodo","host","serviceAccountId","serviceAccountJwkStr","deploymentType","allowInsecureConnection","debug","curlirize","serviceAccountJwk","JSON","parse","username","password","_default","default"],"sources":["../../src/lib/FrodoLib.ts"],"sourcesContent":["// instantiable modules\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 AuthenticationSettingsOps, {\n AuthenticationSettings,\n} from '../ops/AuthenticationSettingsOps';\nimport CirclesOfTrustOps, { CirclesOfTrust } from '../ops/CirclesOfTrustOps';\nimport AdminFederationOps, {\n AdminFederation,\n} from '../ops/cloud/AdminFederationOps';\nimport FeatureOps, { Feature } from '../ops/cloud/FeatureOps';\nimport LogOps, { Log } from '../ops/cloud/LogOps';\nimport SecretsOps, { Secret } from '../ops/cloud/SecretsOps';\nimport ServiceAccountOps, {\n ServiceAccount,\n} from '../ops/cloud/ServiceAccountOps';\nimport StartupOps, { Startup } from '../ops/cloud/StartupOps';\nimport VariablesOps, { Variable } from '../ops/cloud/VariablesOps';\nimport ConnectionProfileOps, {\n ConnectionProfile,\n} from '../ops/ConnectionProfileOps';\nimport ConnectorOps, { Connector } from '../ops/ConnectorOps';\nimport EmailTemplateOps, { EmailTemplate } from '../ops/EmailTemplateOps';\nimport IdmConfigOps, { IdmConfig } from '../ops/IdmConfigOps';\nimport IdmSystemOps, { IdmSystem } from '../ops/IdmSystemOps';\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 ManagedObjectOps, { ManagedObject } from '../ops/ManagedObjectOps';\nimport MappingOps, { Mapping } from '../ops/MappingOps';\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 ReconOps, { Recon } from '../ops/ReconOps';\nimport ResourceTypeOps, { ResourceType } from '../ops/ResourceTypeOps';\nimport Saml2Ops, { Saml2 } from '../ops/Saml2Ops';\nimport ScriptOps, { Script } from '../ops/ScriptOps';\nimport ServiceOps, { Service } from '../ops/ServiceOps';\nimport ThemeOps, { Theme } from '../ops/ThemeOps';\nimport TokenCacheOps, { TokenCache } from '../ops/TokenCacheOps';\nimport VersionUtils, { Version } from '../ops/VersionUtils';\n// non-instantiable modules\nimport ConstantsImpl, { Constants } from '../shared/Constants';\nimport StateImpl, { State, StateInterface } from '../shared/State';\nimport Base64Utils, { Base64 } from '../utils/Base64Utils';\nimport ExportImportUtils, { ExportImport } from '../utils/ExportImportUtils';\nimport ForgeRockUtils, { FRUtils } from '../utils/ForgeRockUtils';\nimport JsonUtils, { Json } from '../utils/JsonUtils';\nimport ScriptValidationUtils, {\n ScriptValidation,\n} from '../utils/ScriptValidationUtils';\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 settings: AuthenticationSettings;\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 cache: TokenCache;\n\n email: {\n template: EmailTemplate;\n };\n\n idm: {\n config: IdmConfig;\n connector: Connector;\n managed: ManagedObject;\n mapping: Mapping;\n organization: Organization;\n recon: Recon;\n system: IdmSystem;\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 settings: AuthenticationSettingsOps(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 cache: TokenCacheOps(state),\n\n email: {\n template: EmailTemplateOps(state),\n },\n\n idm: {\n config: IdmConfigOps(state),\n connector: ConnectorOps(state),\n managed: ManagedObjectOps(state),\n mapping: MappingOps(state),\n organization: OrganizationOps(state),\n recon: ReconOps(state),\n system: IdmSystemOps(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, FrodoLib, state };\n\nexport default FrodoLib;\n"],"mappings":"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"}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.exportAuthenticationSettings = exportAuthenticationSettings;
8
- exports.exportSocialProviders = exportSocialProviders;
9
8
  exports.importAuthenticationSettings = importAuthenticationSettings;
10
9
  exports.readAuthenticationSettings = readAuthenticationSettings;
11
10
  exports.updateAuthenticationSettings = updateAuthenticationSettings;
@@ -77,12 +76,10 @@ function _readAuthenticationSettings() {
77
76
  var {
78
77
  state
79
78
  } = _ref2;
80
- var {
81
- result
82
- } = yield (0, _AuthenticationSettingsApi.getAuthenticationSettings)({
79
+ var settings = yield (0, _AuthenticationSettingsApi.getAuthenticationSettings)({
83
80
  state
84
81
  });
85
- return result;
82
+ return settings;
86
83
  });
87
84
  return _readAuthenticationSettings.apply(this, arguments);
88
85
  }
@@ -119,8 +116,9 @@ function exportAuthenticationSettings(_x3) {
119
116
  return _exportAuthenticationSettings.apply(this, arguments);
120
117
  }
121
118
  /**
122
- * Export authentication settings
123
- * @returns {Promise<AuthenticationSettingsExportInterface>} a promise that resolves to a AuthenticationSettingsExportInterface object
119
+ * Import authentication settings
120
+ * @param {AuthenticationSettingsExportInterface} importData import data
121
+ * @returns {Promise<AuthenticationSettingsSkeleton>} a promise resolving to a authentication settings object
124
122
  */
125
123
  function _exportAuthenticationSettings() {
126
124
  _exportAuthenticationSettings = _asyncToGenerator(function* (_ref4) {
@@ -146,39 +144,15 @@ function _exportAuthenticationSettings() {
146
144
  });
147
145
  return _exportAuthenticationSettings.apply(this, arguments);
148
146
  }
149
- function exportSocialProviders(_x4) {
150
- return _exportSocialProviders.apply(this, arguments);
151
- }
152
- /**
153
- * Import authentication settings
154
- * @param {AuthenticationSettingsExportInterface} importData import data
155
- * @returns {Promise<AuthenticationSettingsSkeleton>} a promise resolving to a authentication settings object
156
- */
157
- function _exportSocialProviders() {
158
- _exportSocialProviders = _asyncToGenerator(function* (_ref5) {
159
- var {
160
- state
161
- } = _ref5;
162
- var exportData = createAuthenticationSettingsExportTemplate({
163
- state
164
- });
165
- var settingsData = yield readAuthenticationSettings({
166
- state
167
- });
168
- exportData.authentication = settingsData;
169
- return exportData;
170
- });
171
- return _exportSocialProviders.apply(this, arguments);
172
- }
173
- function importAuthenticationSettings(_x5) {
147
+ function importAuthenticationSettings(_x4) {
174
148
  return _importAuthenticationSettings.apply(this, arguments);
175
149
  }
176
150
  function _importAuthenticationSettings() {
177
- _importAuthenticationSettings = _asyncToGenerator(function* (_ref6) {
151
+ _importAuthenticationSettings = _asyncToGenerator(function* (_ref5) {
178
152
  var {
179
153
  importData,
180
154
  state
181
- } = _ref6;
155
+ } = _ref5;
182
156
  var response = null;
183
157
  var errors = [];
184
158
  try {
@@ -190,7 +164,10 @@ function _importAuthenticationSettings() {
190
164
  errors.push(error);
191
165
  }
192
166
  if (errors.length) {
193
- var errorMessages = errors.map(error => error.message).join('\n');
167
+ var errorMessages = errors.map(error => {
168
+ var _error$response, _error$response2, _error$response3, _error$response4, _error$response5;
169
+ return "".concat((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status).concat((_error$response2 = error.response) !== null && _error$response2 !== void 0 && _error$response2.data['reason'] ? ' ' + ((_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : _error$response3.data['reason']) : '').concat((_error$response4 = error.response) !== null && _error$response4 !== void 0 && _error$response4.data['message'] ? ' - ' + ((_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : _error$response5.data['message']) : '');
170
+ }).join('\n');
194
171
  throw new Error("Import error:\n".concat(errorMessages));
195
172
  }
196
173
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationSettingsOps.js","names":["state","readAuthenticationSettings","_asyncToGenerator","updateAuthenticationSettings","settings","exportAuthenticationSettings","importAuthenticationSettings","importData","exports","default","_default","createAuthenticationSettingsExportTemplate","_ref","meta","getMetadata","authentication","_x","_readAuthenticationSettings","apply","arguments","_ref2","result","_getAuthenticationSettings","_x2","_updateAuthenticationSettings","_ref3","debugMessage","message","response","_putAuthenticationSettings","_x3","_exportAuthenticationSettings","_ref4","settingsData","exportData","exportSocialProviders","_x4","_exportSocialProviders","_ref5","_x5","_importAuthenticationSettings","_ref6","errors","error","push","length","errorMessages","map","join","Error","concat"],"sources":["../../src/ops/AuthenticationSettingsOps.ts"],"sourcesContent":["import {\n type AuthenticationSettingsSkeleton,\n getAuthenticationSettings as _getAuthenticationSettings,\n putAuthenticationSettings as _putAuthenticationSettings,\n} from '../api/AuthenticationSettingsApi';\nimport { State } from '../shared/State';\nimport { debugMessage } from '../utils/Console';\nimport { getMetadata } from '../utils/ExportImportUtils';\nimport { type ExportMetaData } from './OpsTypes';\n\nexport type Idp = {\n /**\n * Read authentication settings\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves an authentication settings object\n */\n readAuthenticationSettings(): Promise<AuthenticationSettingsSkeleton>;\n /**\n * Update authentication settings\n * @param {AuthenticationSettingsSkeleton} settings authentication settings data\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves an authentication settings object\n */\n updateAuthenticationSettings(\n settings: AuthenticationSettingsSkeleton\n ): Promise<AuthenticationSettingsSkeleton>;\n /**\n * Export authentication settings\n * @returns {Promise<AuthenticationSettingsExportInterface>} a promise that resolves to an AuthenticationSettingsExportInterface object\n */\n exportAuthenticationSettings(): Promise<AuthenticationSettingsExportInterface>;\n /**\n * Import authentication settings\n * @param {AuthenticationSettingsExportInterface} importData import data\n */\n importAuthenticationSettings(\n importData: AuthenticationSettingsExportInterface\n ): Promise<AuthenticationSettingsSkeleton>;\n};\n\nexport default (state: State): Idp => {\n return {\n async readAuthenticationSettings() {\n return readAuthenticationSettings({ state });\n },\n async updateAuthenticationSettings(\n settings: AuthenticationSettingsSkeleton\n ) {\n return updateAuthenticationSettings({\n settings,\n state,\n });\n },\n async exportAuthenticationSettings(): Promise<AuthenticationSettingsExportInterface> {\n return exportAuthenticationSettings({ state });\n },\n async importAuthenticationSettings(\n importData: AuthenticationSettingsExportInterface\n ): Promise<AuthenticationSettingsSkeleton> {\n return importAuthenticationSettings({ importData, state });\n },\n };\n};\n\nexport interface AuthenticationSettingsExportInterface {\n meta?: ExportMetaData;\n authentication: AuthenticationSettingsSkeleton;\n}\n\n/**\n * Create an empty authentication settings export template\n * @returns {AuthenticationSettingsExportInterface} an empty authentication settings export template\n */\nfunction createAuthenticationSettingsExportTemplate({\n state,\n}: {\n state: State;\n}): AuthenticationSettingsExportInterface {\n return {\n meta: getMetadata({ state }),\n authentication: {},\n } as AuthenticationSettingsExportInterface;\n}\n\n/**\n * Read authentication settings\n * @returns {Promise} a promise that resolves to an object containing an array of authentication settingss\n */\nexport async function readAuthenticationSettings({\n state,\n}: {\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n const { result } = await _getAuthenticationSettings({ state });\n return result;\n}\n\nexport async function updateAuthenticationSettings({\n settings,\n state,\n}: {\n settings: AuthenticationSettingsSkeleton;\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n debugMessage({\n message: `AuthenticationSettingsOps.updateAuthenticationSettings: start`,\n state,\n });\n const response = await _putAuthenticationSettings({\n settings,\n state,\n });\n debugMessage({\n message: `AuthenticationSettingsOps.updateAuthenticationSettings: end`,\n state,\n });\n return response;\n}\n\n/**\n * Export authentication settings\n * @returns {Promise<AuthenticationSettingsExportInterface>} a promise that resolves to a AuthenticationSettingsExportInterface object\n */\nexport async function exportAuthenticationSettings({\n state,\n}: {\n state: State;\n}): Promise<AuthenticationSettingsExportInterface> {\n debugMessage({\n message: `AuthenticationSettingsOps.exportAuthenticationSettings: start`,\n state,\n });\n const settingsData = await readAuthenticationSettings({ state });\n const exportData = createAuthenticationSettingsExportTemplate({ state });\n exportData.authentication = settingsData;\n debugMessage({\n message: `AuthenticationSettingsOps.exportAuthenticationSettings: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Export authentication settings\n * @returns {Promise<AuthenticationSettingsExportInterface>} a promise that resolves to a AuthenticationSettingsExportInterface object\n */\nexport async function exportSocialProviders({\n state,\n}: {\n state: State;\n}): Promise<AuthenticationSettingsExportInterface> {\n const exportData = createAuthenticationSettingsExportTemplate({ state });\n const settingsData = await readAuthenticationSettings({\n state,\n });\n exportData.authentication = settingsData;\n return exportData;\n}\n\n/**\n * Import authentication settings\n * @param {AuthenticationSettingsExportInterface} importData import data\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise resolving to a authentication settings object\n */\nexport async function importAuthenticationSettings({\n importData,\n state,\n}: {\n importData: AuthenticationSettingsExportInterface;\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n let response = null;\n const errors = [];\n try {\n response = await updateAuthenticationSettings({\n settings: importData.authentication,\n state,\n });\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n return response;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthenticationSettingsOps.js","names":["state","readAuthenticationSettings","_asyncToGenerator","updateAuthenticationSettings","settings","exportAuthenticationSettings","importAuthenticationSettings","importData","exports","default","_default","createAuthenticationSettingsExportTemplate","_ref","meta","getMetadata","authentication","_x","_readAuthenticationSettings","apply","arguments","_ref2","_getAuthenticationSettings","_x2","_updateAuthenticationSettings","_ref3","debugMessage","message","response","_putAuthenticationSettings","_x3","_exportAuthenticationSettings","_ref4","settingsData","exportData","_x4","_importAuthenticationSettings","_ref5","errors","error","push","length","errorMessages","map","_error$response","_error$response2","_error$response3","_error$response4","_error$response5","concat","status","data","join","Error"],"sources":["../../src/ops/AuthenticationSettingsOps.ts"],"sourcesContent":["import {\n type AuthenticationSettingsSkeleton,\n getAuthenticationSettings as _getAuthenticationSettings,\n putAuthenticationSettings as _putAuthenticationSettings,\n} from '../api/AuthenticationSettingsApi';\nimport { State } from '../shared/State';\nimport { debugMessage } from '../utils/Console';\nimport { getMetadata } from '../utils/ExportImportUtils';\nimport { type ExportMetaData } from './OpsTypes';\n\nexport type AuthenticationSettings = {\n /**\n * Read authentication settings\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves an authentication settings object\n */\n readAuthenticationSettings(): Promise<AuthenticationSettingsSkeleton>;\n /**\n * Update authentication settings\n * @param {AuthenticationSettingsSkeleton} settings authentication settings data\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise that resolves an authentication settings object\n */\n updateAuthenticationSettings(\n settings: AuthenticationSettingsSkeleton\n ): Promise<AuthenticationSettingsSkeleton>;\n /**\n * Export authentication settings\n * @returns {Promise<AuthenticationSettingsExportInterface>} a promise that resolves to an AuthenticationSettingsExportInterface object\n */\n exportAuthenticationSettings(): Promise<AuthenticationSettingsExportInterface>;\n /**\n * Import authentication settings\n * @param {AuthenticationSettingsExportInterface} importData import data\n */\n importAuthenticationSettings(\n importData: AuthenticationSettingsExportInterface\n ): Promise<AuthenticationSettingsSkeleton>;\n};\n\nexport default (state: State): AuthenticationSettings => {\n return {\n async readAuthenticationSettings() {\n return readAuthenticationSettings({ state });\n },\n async updateAuthenticationSettings(\n settings: AuthenticationSettingsSkeleton\n ) {\n return updateAuthenticationSettings({\n settings,\n state,\n });\n },\n async exportAuthenticationSettings(): Promise<AuthenticationSettingsExportInterface> {\n return exportAuthenticationSettings({ state });\n },\n async importAuthenticationSettings(\n importData: AuthenticationSettingsExportInterface\n ): Promise<AuthenticationSettingsSkeleton> {\n return importAuthenticationSettings({ importData, state });\n },\n };\n};\n\nexport interface AuthenticationSettingsExportInterface {\n meta?: ExportMetaData;\n authentication: AuthenticationSettingsSkeleton;\n}\n\n/**\n * Create an empty authentication settings export template\n * @returns {AuthenticationSettingsExportInterface} an empty authentication settings export template\n */\nfunction createAuthenticationSettingsExportTemplate({\n state,\n}: {\n state: State;\n}): AuthenticationSettingsExportInterface {\n return {\n meta: getMetadata({ state }),\n authentication: {},\n } as AuthenticationSettingsExportInterface;\n}\n\n/**\n * Read authentication settings\n * @returns {Promise} a promise that resolves to an object containing an array of authentication settingss\n */\nexport async function readAuthenticationSettings({\n state,\n}: {\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n const settings = await _getAuthenticationSettings({ state });\n return settings;\n}\n\nexport async function updateAuthenticationSettings({\n settings,\n state,\n}: {\n settings: AuthenticationSettingsSkeleton;\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n debugMessage({\n message: `AuthenticationSettingsOps.updateAuthenticationSettings: start`,\n state,\n });\n const response = await _putAuthenticationSettings({\n settings,\n state,\n });\n debugMessage({\n message: `AuthenticationSettingsOps.updateAuthenticationSettings: end`,\n state,\n });\n return response;\n}\n\n/**\n * Export authentication settings\n * @returns {Promise<AuthenticationSettingsExportInterface>} a promise that resolves to a AuthenticationSettingsExportInterface object\n */\nexport async function exportAuthenticationSettings({\n state,\n}: {\n state: State;\n}): Promise<AuthenticationSettingsExportInterface> {\n debugMessage({\n message: `AuthenticationSettingsOps.exportAuthenticationSettings: start`,\n state,\n });\n const settingsData = await readAuthenticationSettings({ state });\n const exportData = createAuthenticationSettingsExportTemplate({ state });\n exportData.authentication = settingsData;\n debugMessage({\n message: `AuthenticationSettingsOps.exportAuthenticationSettings: end`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import authentication settings\n * @param {AuthenticationSettingsExportInterface} importData import data\n * @returns {Promise<AuthenticationSettingsSkeleton>} a promise resolving to a authentication settings object\n */\nexport async function importAuthenticationSettings({\n importData,\n state,\n}: {\n importData: AuthenticationSettingsExportInterface;\n state: State;\n}): Promise<AuthenticationSettingsSkeleton> {\n let response = null;\n const errors = [];\n try {\n response = await updateAuthenticationSettings({\n settings: importData.authentication,\n state,\n });\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors\n .map(\n (error) =>\n `${error.response?.status}${\n error.response?.data['reason']\n ? ' ' + error.response?.data['reason']\n : ''\n }${\n error.response?.data['message']\n ? ' - ' + error.response?.data['message']\n : ''\n }`\n )\n .join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n return response;\n}\n"],"mappings":"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"}
@@ -10,10 +10,13 @@ exports.queryManagedObjects = queryManagedObjects;
10
10
  exports.readManagedObject = readManagedObject;
11
11
  exports.readManagedObjects = readManagedObjects;
12
12
  exports.resolveFullName = resolveFullName;
13
+ exports.resolvePerpetratorUuid = resolvePerpetratorUuid;
13
14
  exports.resolveUserName = resolveUserName;
14
15
  exports.updateManagedObject = updateManagedObject;
15
16
  exports.updateManagedObjectProperties = updateManagedObjectProperties;
16
17
  var _ManagedObjectApi = require("../api/ManagedObjectApi.js");
18
+ var _Constants = _interopRequireDefault(require("../shared/Constants.js"));
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
20
  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); } }
18
21
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
19
22
  var _default = state => {
@@ -109,6 +112,14 @@ var _default = state => {
109
112
  state
110
113
  });
111
114
  })();
115
+ },
116
+ resolvePerpetratorUuid(id) {
117
+ return _asyncToGenerator(function* () {
118
+ return resolvePerpetratorUuid({
119
+ id,
120
+ state
121
+ });
122
+ })();
112
123
  }
113
124
  };
114
125
  };
@@ -323,4 +334,77 @@ function _resolveFullName() {
323
334
  });
324
335
  return _resolveFullName.apply(this, arguments);
325
336
  }
337
+ function resolvePerpetratorUuid(_x10) {
338
+ return _resolvePerpetratorUuid.apply(this, arguments);
339
+ }
340
+ function _resolvePerpetratorUuid() {
341
+ _resolvePerpetratorUuid = _asyncToGenerator(function* (_ref10) {
342
+ var {
343
+ id,
344
+ state
345
+ } = _ref10;
346
+ try {
347
+ if (state.getDeploymentType() === _Constants.default.CLOUD_DEPLOYMENT_TYPE_KEY) {
348
+ var lookupPromises = [];
349
+ lookupPromises.push((0, _ManagedObjectApi.getManagedObject)({
350
+ type: 'teammember',
351
+ id,
352
+ fields: ['givenName', 'sn', 'userName'],
353
+ state
354
+ }));
355
+ lookupPromises.push((0, _ManagedObjectApi.getManagedObject)({
356
+ type: 'svcacct',
357
+ id,
358
+ fields: ['name', 'description'],
359
+ state
360
+ }));
361
+ lookupPromises.push((0, _ManagedObjectApi.getManagedObject)({
362
+ type: 'alpha_user',
363
+ id,
364
+ fields: ['givenName', 'sn', 'userName'],
365
+ state
366
+ }));
367
+ lookupPromises.push((0, _ManagedObjectApi.getManagedObject)({
368
+ type: 'bravo_user',
369
+ id,
370
+ fields: ['givenName', 'sn', 'userName'],
371
+ state
372
+ }));
373
+ var lookupResults = yield Promise.allSettled(lookupPromises);
374
+ // tenant admin
375
+ if (lookupResults[0].status === 'fulfilled') {
376
+ var admin = lookupResults[0].value;
377
+ return "Admin user: ".concat(admin.givenName, " ").concat(admin.sn, " (").concat(admin.userName, ")");
378
+ }
379
+ // service account
380
+ if (lookupResults[1].status === 'fulfilled') {
381
+ var sa = lookupResults[1].value;
382
+ return "Service account: ".concat(sa.name, " (").concat(sa.description, ")");
383
+ }
384
+ // alpha user
385
+ if (lookupResults[2].status === 'fulfilled') {
386
+ var user = lookupResults[2].value;
387
+ return "Alpha user: ".concat(user.givenName, " ").concat(user.sn, " (").concat(user.userName, ")");
388
+ }
389
+ // bravo user
390
+ if (lookupResults[3].status === 'fulfilled') {
391
+ var _user = lookupResults[3].value;
392
+ return "Bravo user:".concat(_user.givenName, " ").concat(_user.sn, " (").concat(_user.userName, ")");
393
+ }
394
+ } else {
395
+ var _user2 = yield (0, _ManagedObjectApi.getManagedObject)({
396
+ type: 'user',
397
+ id,
398
+ fields: ['givenName', 'sn', 'userName'],
399
+ state
400
+ });
401
+ return "".concat(_user2.givenName, " ").concat(_user2.sn, " (").concat(_user2.userName, ")");
402
+ }
403
+ } catch (error) {
404
+ // ignore
405
+ }
406
+ return id;
407
+ });
408
+ return _resolvePerpetratorUuid.apply(this, arguments);
409
+ }
326
410
  //# sourceMappingURL=ManagedObjectOps.js.map