@rockcarver/frodo-lib 2.0.0-3 → 2.0.0-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -1
- package/cjs/api/AgentApi.js +64 -16
- package/cjs/api/AgentApi.js.map +1 -1
- package/cjs/api/ApiTypes.js +0 -55
- package/cjs/api/ApiTypes.js.map +1 -1
- package/cjs/api/BaseApi.js +21 -11
- package/cjs/api/BaseApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.js +7 -14
- package/cjs/api/cloud/SecretsApi.js.map +1 -1
- package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
- package/cjs/ops/AdminOps.js +254 -60
- package/cjs/ops/AdminOps.js.map +1 -1
- package/cjs/ops/AgentOps.js +352 -108
- package/cjs/ops/AgentOps.js.map +1 -1
- package/cjs/ops/AuthenticateOps.js +253 -60
- package/cjs/ops/AuthenticateOps.js.map +1 -1
- package/cjs/ops/CirclesOfTrustOps.js +16 -4
- package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
- package/cjs/ops/ConnectionProfileOps.js +163 -40
- package/cjs/ops/ConnectionProfileOps.js.map +1 -1
- package/cjs/ops/EmailTemplateOps.js +7 -1
- package/cjs/ops/EmailTemplateOps.js.map +1 -1
- package/cjs/ops/IdpOps.js +55 -12
- package/cjs/ops/IdpOps.js.map +1 -1
- package/cjs/ops/JourneyOps.js +645 -136
- package/cjs/ops/JourneyOps.js.map +1 -1
- package/cjs/ops/NodeOps.js +96 -24
- package/cjs/ops/NodeOps.js.map +1 -1
- package/cjs/ops/OAuth2ClientOps.js +45 -11
- package/cjs/ops/OAuth2ClientOps.js.map +1 -1
- package/cjs/ops/OpsTypes.js +0 -23
- package/cjs/ops/OpsTypes.js.map +1 -1
- package/cjs/ops/OrganizationOps.js +44 -10
- package/cjs/ops/OrganizationOps.js.map +1 -1
- package/cjs/ops/PolicyOps.js +86 -24
- package/cjs/ops/PolicyOps.js.map +1 -1
- package/cjs/ops/PolicySetOps.js +72 -18
- package/cjs/ops/PolicySetOps.js.map +1 -1
- package/cjs/ops/ResourceTypeOps.js +24 -6
- package/cjs/ops/ResourceTypeOps.js.map +1 -1
- package/cjs/ops/Saml2Ops.js +120 -33
- package/cjs/ops/Saml2Ops.js.map +1 -1
- package/cjs/ops/Saml2Ops.test.js.map +1 -1
- package/cjs/ops/ScriptOps.js +73 -17
- package/cjs/ops/ScriptOps.js.map +1 -1
- package/cjs/ops/ServiceOps.js +152 -35
- package/cjs/ops/ServiceOps.js.map +1 -1
- package/cjs/ops/ThemeOps.js +20 -5
- package/cjs/ops/ThemeOps.js.map +1 -1
- package/cjs/ops/cloud/FeatureOps.js +4 -1
- package/cjs/ops/cloud/FeatureOps.js.map +1 -1
- package/cjs/ops/cloud/SecretsOps.js.map +1 -1
- package/cjs/ops/cloud/ServiceAccountOps.js +24 -6
- package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
- package/cjs/ops/cloud/StartupOps.js +55 -11
- package/cjs/ops/cloud/StartupOps.js.map +1 -1
- package/cjs/ops/utils/Console.js +47 -22
- package/cjs/ops/utils/Console.js.map +1 -1
- package/cjs/ops/utils/DataProtection.js +12 -5
- package/cjs/ops/utils/DataProtection.js.map +1 -1
- package/cjs/ops/utils/DataProtection.test.js.map +1 -1
- package/cjs/ops/utils/ExportImportUtils.js +15 -8
- package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.js +33 -8
- package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
- package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
- package/cjs/utils/SetupPollyForFrodoLib.js +67 -19
- package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
- package/esm/api/AgentApi.mjs +64 -16
- package/esm/api/ApiTypes.mjs +1 -50
- package/esm/api/BaseApi.mjs +21 -11
- package/esm/api/cloud/SecretsApi.mjs +0 -5
- package/esm/api/cloud/SecretsApi.test.mjs +3 -3
- package/esm/ops/AdminOps.mjs +254 -60
- package/esm/ops/AgentOps.mjs +352 -104
- package/esm/ops/AuthenticateOps.mjs +253 -60
- package/esm/ops/CirclesOfTrustOps.mjs +16 -4
- package/esm/ops/ConnectionProfileOps.mjs +163 -40
- package/esm/ops/EmailTemplateOps.mjs +5 -0
- package/esm/ops/IdpOps.mjs +55 -12
- package/esm/ops/JourneyOps.mjs +639 -132
- package/esm/ops/NodeOps.mjs +90 -19
- package/esm/ops/OAuth2ClientOps.mjs +45 -11
- package/esm/ops/OpsTypes.mjs +1 -22
- package/esm/ops/OrganizationOps.mjs +44 -10
- package/esm/ops/PolicyOps.mjs +86 -24
- package/esm/ops/PolicySetOps.mjs +72 -18
- package/esm/ops/ResourceTypeOps.mjs +24 -6
- package/esm/ops/Saml2Ops.mjs +120 -33
- package/esm/ops/Saml2Ops.test.mjs +10 -11
- package/esm/ops/ScriptOps.mjs +73 -17
- package/esm/ops/ServiceOps.mjs +152 -35
- package/esm/ops/ThemeOps.mjs +20 -5
- package/esm/ops/cloud/FeatureOps.mjs +4 -1
- package/esm/ops/cloud/ServiceAccountOps.mjs +24 -6
- package/esm/ops/cloud/StartupOps.mjs +55 -11
- package/esm/ops/utils/Console.mjs +33 -9
- package/esm/ops/utils/DataProtection.mjs +9 -2
- package/esm/ops/utils/DataProtection.test.mjs +8 -2
- package/esm/ops/utils/ExportImportUtils.mjs +15 -8
- package/esm/ops/utils/ScriptValidationUtils.mjs +30 -8
- package/esm/ops/utils/ScriptValidationUtils.test.mjs +14 -3
- package/esm/utils/SetupPollyForFrodoLib.mjs +64 -18
- package/package.json +1 -1
- package/types/api/AgentApi.d.ts +6 -6
- package/types/api/AgentApi.d.ts.map +1 -1
- package/types/api/ApiTypes.d.ts +12 -49
- package/types/api/ApiTypes.d.ts.map +1 -1
- package/types/api/BaseApi.d.ts.map +1 -1
- package/types/api/cloud/SecretsApi.d.ts +1 -4
- package/types/api/cloud/SecretsApi.d.ts.map +1 -1
- package/types/ops/AdminOps.d.ts.map +1 -1
- package/types/ops/AgentOps.d.ts +3 -6
- package/types/ops/AgentOps.d.ts.map +1 -1
- package/types/ops/AuthenticateOps.d.ts.map +1 -1
- package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
- package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
- package/types/ops/EmailTemplateOps.d.ts +4 -0
- package/types/ops/EmailTemplateOps.d.ts.map +1 -1
- package/types/ops/IdpOps.d.ts.map +1 -1
- package/types/ops/JourneyOps.d.ts +10 -4
- package/types/ops/JourneyOps.d.ts.map +1 -1
- package/types/ops/NodeOps.d.ts +10 -4
- package/types/ops/NodeOps.d.ts.map +1 -1
- package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
- package/types/ops/OpsTypes.d.ts +2 -12
- package/types/ops/OpsTypes.d.ts.map +1 -1
- package/types/ops/OrganizationOps.d.ts.map +1 -1
- package/types/ops/PolicyOps.d.ts.map +1 -1
- package/types/ops/PolicySetOps.d.ts.map +1 -1
- package/types/ops/ResourceTypeOps.d.ts.map +1 -1
- package/types/ops/Saml2Ops.d.ts.map +1 -1
- package/types/ops/ScriptOps.d.ts.map +1 -1
- package/types/ops/ServiceOps.d.ts.map +1 -1
- package/types/ops/ThemeOps.d.ts.map +1 -1
- package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
- package/types/ops/cloud/SecretsOps.d.ts +1 -1
- package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
- package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
- package/types/ops/cloud/StartupOps.d.ts.map +1 -1
- package/types/ops/utils/Console.d.ts +34 -7
- package/types/ops/utils/Console.d.ts.map +1 -1
- package/types/ops/utils/DataProtection.d.ts +5 -1
- package/types/ops/utils/DataProtection.d.ts.map +1 -1
- package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
- package/types/ops/utils/ScriptValidationUtils.d.ts +14 -4
- package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts +5 -1
- package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
package/esm/ops/ScriptOps.mjs
CHANGED
|
@@ -187,7 +187,11 @@ export async function putScript({
|
|
|
187
187
|
} catch (error) {
|
|
188
188
|
var _error$response;
|
|
189
189
|
if (((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 409) {
|
|
190
|
-
printMessage(
|
|
190
|
+
printMessage({
|
|
191
|
+
message: `createOrUpdateScript WARNING: script with name ${scriptData.name} already exists, using renaming policy... <name> => <name - imported (n)>`,
|
|
192
|
+
type: 'warn',
|
|
193
|
+
state
|
|
194
|
+
});
|
|
191
195
|
const newName = applyNameCollisionPolicy(scriptData.name);
|
|
192
196
|
scriptData.name = newName;
|
|
193
197
|
const result = await putScript({
|
|
@@ -195,7 +199,11 @@ export async function putScript({
|
|
|
195
199
|
scriptData,
|
|
196
200
|
state
|
|
197
201
|
});
|
|
198
|
-
printMessage(
|
|
202
|
+
printMessage({
|
|
203
|
+
message: `Saved script as ${newName}`,
|
|
204
|
+
type: 'warn',
|
|
205
|
+
state
|
|
206
|
+
});
|
|
199
207
|
return result;
|
|
200
208
|
}
|
|
201
209
|
throw error;
|
|
@@ -211,7 +219,10 @@ export async function exportScript({
|
|
|
211
219
|
scriptId,
|
|
212
220
|
state
|
|
213
221
|
}) {
|
|
214
|
-
debugMessage(
|
|
222
|
+
debugMessage({
|
|
223
|
+
message: `ScriptOps.exportScriptById: start`,
|
|
224
|
+
state
|
|
225
|
+
});
|
|
215
226
|
const scriptData = await getScript({
|
|
216
227
|
scriptId,
|
|
217
228
|
state
|
|
@@ -221,7 +232,10 @@ export async function exportScript({
|
|
|
221
232
|
state
|
|
222
233
|
});
|
|
223
234
|
exportData.script[scriptData._id] = scriptData;
|
|
224
|
-
debugMessage(
|
|
235
|
+
debugMessage({
|
|
236
|
+
message: `ScriptOps.exportScriptById: end`,
|
|
237
|
+
state
|
|
238
|
+
});
|
|
225
239
|
return exportData;
|
|
226
240
|
}
|
|
227
241
|
|
|
@@ -234,7 +248,10 @@ export async function exportScriptByName({
|
|
|
234
248
|
scriptName,
|
|
235
249
|
state
|
|
236
250
|
}) {
|
|
237
|
-
debugMessage(
|
|
251
|
+
debugMessage({
|
|
252
|
+
message: `ScriptOps.exportScriptByName: start`,
|
|
253
|
+
state
|
|
254
|
+
});
|
|
238
255
|
const scriptData = await getScriptByName({
|
|
239
256
|
scriptName,
|
|
240
257
|
state
|
|
@@ -244,7 +261,10 @@ export async function exportScriptByName({
|
|
|
244
261
|
state
|
|
245
262
|
});
|
|
246
263
|
exportData.script[scriptData._id] = scriptData;
|
|
247
|
-
debugMessage(
|
|
264
|
+
debugMessage({
|
|
265
|
+
message: `ScriptOps.exportScriptByName: end`,
|
|
266
|
+
state
|
|
267
|
+
});
|
|
248
268
|
return exportData;
|
|
249
269
|
}
|
|
250
270
|
|
|
@@ -261,9 +281,16 @@ export async function exportScripts({
|
|
|
261
281
|
const exportData = createScriptExportTemplate({
|
|
262
282
|
state
|
|
263
283
|
});
|
|
264
|
-
createProgressIndicator(
|
|
284
|
+
createProgressIndicator({
|
|
285
|
+
total: scriptList.length,
|
|
286
|
+
message: `Exporting ${scriptList.length} scripts...`,
|
|
287
|
+
state
|
|
288
|
+
});
|
|
265
289
|
for (const script of scriptList) {
|
|
266
|
-
updateProgressIndicator(
|
|
290
|
+
updateProgressIndicator({
|
|
291
|
+
message: `Reading script ${script.name}`,
|
|
292
|
+
state
|
|
293
|
+
});
|
|
267
294
|
const scriptData = await getScriptByName({
|
|
268
295
|
scriptName: script.name,
|
|
269
296
|
state
|
|
@@ -271,7 +298,10 @@ export async function exportScripts({
|
|
|
271
298
|
scriptData.script = convertBase64TextToArray(scriptData.script);
|
|
272
299
|
exportData.script[scriptData._id] = scriptData;
|
|
273
300
|
}
|
|
274
|
-
stopProgressIndicator(
|
|
301
|
+
stopProgressIndicator({
|
|
302
|
+
message: `Exported ${scriptList.length} scripts.`,
|
|
303
|
+
state
|
|
304
|
+
});
|
|
275
305
|
return exportData;
|
|
276
306
|
}
|
|
277
307
|
|
|
@@ -290,23 +320,39 @@ export async function importScripts({
|
|
|
290
320
|
state
|
|
291
321
|
}) {
|
|
292
322
|
let outcome = true;
|
|
293
|
-
debugMessage(
|
|
323
|
+
debugMessage({
|
|
324
|
+
message: `ScriptOps.importScripts: start`,
|
|
325
|
+
state
|
|
326
|
+
});
|
|
294
327
|
for (const existingId of Object.keys(importData.script)) {
|
|
295
328
|
const scriptSkeleton = importData.script[existingId];
|
|
296
329
|
let newId = existingId;
|
|
297
330
|
if (reUuid) {
|
|
298
331
|
newId = uuidv4();
|
|
299
|
-
debugMessage(
|
|
332
|
+
debugMessage({
|
|
333
|
+
message: `ScriptOps.importScripts: Re-uuid-ing script ${scriptSkeleton.name} ${existingId} => ${newId}...`,
|
|
334
|
+
state
|
|
335
|
+
});
|
|
300
336
|
scriptSkeleton._id = newId;
|
|
301
337
|
}
|
|
302
338
|
if (scriptName) {
|
|
303
|
-
debugMessage(
|
|
339
|
+
debugMessage({
|
|
340
|
+
message: `ScriptOps.importScripts: Renaming script ${scriptSkeleton.name} => ${scriptName}...`,
|
|
341
|
+
state
|
|
342
|
+
});
|
|
304
343
|
scriptSkeleton.name = scriptName;
|
|
305
344
|
}
|
|
306
345
|
if (validate) {
|
|
307
|
-
if (!validateScriptDecoded(
|
|
346
|
+
if (!validateScriptDecoded({
|
|
347
|
+
scriptSkeleton,
|
|
348
|
+
state
|
|
349
|
+
})) {
|
|
308
350
|
outcome = false;
|
|
309
|
-
printMessage(
|
|
351
|
+
printMessage({
|
|
352
|
+
message: `Error importing script '${scriptSkeleton.name}': Script is not valid`,
|
|
353
|
+
type: 'error',
|
|
354
|
+
state
|
|
355
|
+
});
|
|
310
356
|
continue;
|
|
311
357
|
}
|
|
312
358
|
}
|
|
@@ -318,12 +364,22 @@ export async function importScripts({
|
|
|
318
364
|
});
|
|
319
365
|
} catch (error) {
|
|
320
366
|
outcome = false;
|
|
321
|
-
printMessage(
|
|
322
|
-
|
|
367
|
+
printMessage({
|
|
368
|
+
message: `Error importing script '${scriptSkeleton.name}': ${error.message}`,
|
|
369
|
+
type: 'error',
|
|
370
|
+
state
|
|
371
|
+
});
|
|
372
|
+
debugMessage({
|
|
373
|
+
message: error,
|
|
374
|
+
state
|
|
375
|
+
});
|
|
323
376
|
}
|
|
324
377
|
if (scriptName) break;
|
|
325
378
|
}
|
|
326
|
-
debugMessage(
|
|
379
|
+
debugMessage({
|
|
380
|
+
message: `ScriptOps.importScripts: end`,
|
|
381
|
+
state
|
|
382
|
+
});
|
|
327
383
|
return outcome;
|
|
328
384
|
}
|
|
329
385
|
export { getScript, deleteScript };
|
package/esm/ops/ServiceOps.mjs
CHANGED
|
@@ -132,12 +132,18 @@ export async function getListOfServices({
|
|
|
132
132
|
globalConfig = false,
|
|
133
133
|
state
|
|
134
134
|
}) {
|
|
135
|
-
debugMessage(
|
|
135
|
+
debugMessage({
|
|
136
|
+
message: `ServiceOps.getListOfServices: start`,
|
|
137
|
+
state
|
|
138
|
+
});
|
|
136
139
|
const services = (await _getListOfServices({
|
|
137
140
|
globalConfig,
|
|
138
141
|
state
|
|
139
142
|
})).result;
|
|
140
|
-
debugMessage(
|
|
143
|
+
debugMessage({
|
|
144
|
+
message: `ServiceOps.getListOfServices: end`,
|
|
145
|
+
state
|
|
146
|
+
});
|
|
141
147
|
return services;
|
|
142
148
|
}
|
|
143
149
|
|
|
@@ -150,7 +156,10 @@ export async function getFullServices({
|
|
|
150
156
|
globalConfig = false,
|
|
151
157
|
state
|
|
152
158
|
}) {
|
|
153
|
-
debugMessage(
|
|
159
|
+
debugMessage({
|
|
160
|
+
message: `ServiceOps.getFullServices: start, globalConfig=${globalConfig}`,
|
|
161
|
+
state
|
|
162
|
+
});
|
|
154
163
|
const serviceList = (await _getListOfServices({
|
|
155
164
|
globalConfig,
|
|
156
165
|
state
|
|
@@ -175,11 +184,18 @@ export async function getFullServices({
|
|
|
175
184
|
if (!(((_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 403 && ((_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message) === 'This operation is not available in ForgeRock Identity Cloud.')) {
|
|
176
185
|
var _error$response3, _error$response3$data;
|
|
177
186
|
const message = (_error$response3 = error.response) === null || _error$response3 === void 0 ? void 0 : (_error$response3$data = _error$response3.data) === null || _error$response3$data === void 0 ? void 0 : _error$response3$data.message;
|
|
178
|
-
printMessage(
|
|
187
|
+
printMessage({
|
|
188
|
+
message: `Unable to retrieve data for ${listItem._id} with error: ${message}`,
|
|
189
|
+
type: 'error',
|
|
190
|
+
state
|
|
191
|
+
});
|
|
179
192
|
}
|
|
180
193
|
}
|
|
181
194
|
}));
|
|
182
|
-
debugMessage(
|
|
195
|
+
debugMessage({
|
|
196
|
+
message: `ServiceOps.getFullServices: end`,
|
|
197
|
+
state
|
|
198
|
+
});
|
|
183
199
|
return fullServiceData.filter(data => !!data); // make sure to filter out any undefined objects
|
|
184
200
|
}
|
|
185
201
|
|
|
@@ -197,14 +213,20 @@ async function putFullService({
|
|
|
197
213
|
globalConfig = false,
|
|
198
214
|
state
|
|
199
215
|
}) {
|
|
200
|
-
debugMessage(
|
|
216
|
+
debugMessage({
|
|
217
|
+
message: `ServiceOps.putFullService: start, serviceId=${serviceId}, globalConfig=${globalConfig}`,
|
|
218
|
+
state
|
|
219
|
+
});
|
|
201
220
|
const nextDescendents = fullServiceData.nextDescendents;
|
|
202
221
|
delete fullServiceData.nextDescendents;
|
|
203
222
|
delete fullServiceData._rev;
|
|
204
223
|
delete fullServiceData.enabled;
|
|
205
224
|
if (clean) {
|
|
206
225
|
try {
|
|
207
|
-
debugMessage(
|
|
226
|
+
debugMessage({
|
|
227
|
+
message: `ServiceOps.putFullService: clean`,
|
|
228
|
+
state
|
|
229
|
+
});
|
|
208
230
|
await deleteFullService({
|
|
209
231
|
serviceId,
|
|
210
232
|
globalConfig,
|
|
@@ -215,7 +237,11 @@ async function putFullService({
|
|
|
215
237
|
if (!(((_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : _error$response4.status) === 404 && ((_error$response5 = error.response) === null || _error$response5 === void 0 ? void 0 : (_error$response5$data = _error$response5.data) === null || _error$response5$data === void 0 ? void 0 : _error$response5$data.message) === 'Not Found')) {
|
|
216
238
|
var _error$response6, _error$response6$data;
|
|
217
239
|
const message = (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : (_error$response6$data = _error$response6.data) === null || _error$response6$data === void 0 ? void 0 : _error$response6$data.message;
|
|
218
|
-
printMessage(
|
|
240
|
+
printMessage({
|
|
241
|
+
message: `Error deleting service '${serviceId}' before import: ${message}`,
|
|
242
|
+
type: 'error',
|
|
243
|
+
state
|
|
244
|
+
});
|
|
219
245
|
}
|
|
220
246
|
}
|
|
221
247
|
}
|
|
@@ -230,7 +256,10 @@ async function putFullService({
|
|
|
230
256
|
|
|
231
257
|
// return fast if no next descendents supplied
|
|
232
258
|
if (nextDescendents.length === 0) {
|
|
233
|
-
debugMessage(
|
|
259
|
+
debugMessage({
|
|
260
|
+
message: `ServiceOps.putFullService: end (w/o descendents)`,
|
|
261
|
+
state
|
|
262
|
+
});
|
|
234
263
|
return result;
|
|
235
264
|
}
|
|
236
265
|
|
|
@@ -238,7 +267,10 @@ async function putFullService({
|
|
|
238
267
|
await Promise.all(nextDescendents.map(async descendent => {
|
|
239
268
|
const type = descendent._type._id;
|
|
240
269
|
const descendentId = descendent._id;
|
|
241
|
-
debugMessage(
|
|
270
|
+
debugMessage({
|
|
271
|
+
message: `ServiceOps.putFullService: descendentId=${descendentId}`,
|
|
272
|
+
state
|
|
273
|
+
});
|
|
242
274
|
let result = undefined;
|
|
243
275
|
try {
|
|
244
276
|
result = await putServiceNextDescendent({
|
|
@@ -252,11 +284,18 @@ async function putFullService({
|
|
|
252
284
|
} catch (error) {
|
|
253
285
|
var _error$response7, _error$response7$data;
|
|
254
286
|
const message = (_error$response7 = error.response) === null || _error$response7 === void 0 ? void 0 : (_error$response7$data = _error$response7.data) === null || _error$response7$data === void 0 ? void 0 : _error$response7$data.message;
|
|
255
|
-
printMessage(
|
|
287
|
+
printMessage({
|
|
288
|
+
message: `Put descendent '${descendentId}' of service '${serviceId}': ${message}`,
|
|
289
|
+
type: 'error',
|
|
290
|
+
state
|
|
291
|
+
});
|
|
256
292
|
}
|
|
257
293
|
return result;
|
|
258
294
|
}));
|
|
259
|
-
debugMessage(
|
|
295
|
+
debugMessage({
|
|
296
|
+
message: `ServiceOps.putFullService: end (w/ descendents)`,
|
|
297
|
+
state
|
|
298
|
+
});
|
|
260
299
|
}
|
|
261
300
|
|
|
262
301
|
/**
|
|
@@ -272,7 +311,10 @@ async function putFullServices({
|
|
|
272
311
|
globalConfig = false,
|
|
273
312
|
state
|
|
274
313
|
}) {
|
|
275
|
-
debugMessage(
|
|
314
|
+
debugMessage({
|
|
315
|
+
message: `ServiceOps.putFullServices: start, globalConfig=${globalConfig}`,
|
|
316
|
+
state
|
|
317
|
+
});
|
|
276
318
|
const results = [];
|
|
277
319
|
for (const [id, data] of serviceEntries) {
|
|
278
320
|
try {
|
|
@@ -284,18 +326,33 @@ async function putFullServices({
|
|
|
284
326
|
state
|
|
285
327
|
});
|
|
286
328
|
results.push(result);
|
|
287
|
-
printMessage(
|
|
329
|
+
printMessage({
|
|
330
|
+
message: `Imported: ${id}`,
|
|
331
|
+
type: 'info',
|
|
332
|
+
state
|
|
333
|
+
});
|
|
288
334
|
} catch (error) {
|
|
289
335
|
var _error$response8, _error$response8$data, _error$response9, _error$response9$data;
|
|
290
336
|
const message = (_error$response8 = error.response) === null || _error$response8 === void 0 ? void 0 : (_error$response8$data = _error$response8.data) === null || _error$response8$data === void 0 ? void 0 : _error$response8$data.message;
|
|
291
337
|
const detail = (_error$response9 = error.response) === null || _error$response9 === void 0 ? void 0 : (_error$response9$data = _error$response9.data) === null || _error$response9$data === void 0 ? void 0 : _error$response9$data.detail;
|
|
292
|
-
printMessage(
|
|
338
|
+
printMessage({
|
|
339
|
+
message: `Import service '${id}': ${message}`,
|
|
340
|
+
type: 'error',
|
|
341
|
+
state
|
|
342
|
+
});
|
|
293
343
|
if (detail) {
|
|
294
|
-
printMessage(
|
|
344
|
+
printMessage({
|
|
345
|
+
message: `Details: ${JSON.stringify(detail)}`,
|
|
346
|
+
type: 'error',
|
|
347
|
+
state
|
|
348
|
+
});
|
|
295
349
|
}
|
|
296
350
|
}
|
|
297
351
|
}
|
|
298
|
-
debugMessage(
|
|
352
|
+
debugMessage({
|
|
353
|
+
message: `ServiceOps.putFullServices: end`,
|
|
354
|
+
state
|
|
355
|
+
});
|
|
299
356
|
return results;
|
|
300
357
|
}
|
|
301
358
|
|
|
@@ -309,7 +366,10 @@ export async function deleteFullService({
|
|
|
309
366
|
globalConfig = false,
|
|
310
367
|
state
|
|
311
368
|
}) {
|
|
312
|
-
debugMessage(
|
|
369
|
+
debugMessage({
|
|
370
|
+
message: `ServiceOps.deleteFullService: start, globalConfig=${globalConfig}`,
|
|
371
|
+
state
|
|
372
|
+
});
|
|
313
373
|
const serviceNextDescendentData = await getServiceDescendents({
|
|
314
374
|
serviceId,
|
|
315
375
|
globalConfig,
|
|
@@ -327,7 +387,10 @@ export async function deleteFullService({
|
|
|
327
387
|
globalConfig,
|
|
328
388
|
state
|
|
329
389
|
});
|
|
330
|
-
debugMessage(
|
|
390
|
+
debugMessage({
|
|
391
|
+
message: `ServiceOps.deleteFullService: end`,
|
|
392
|
+
state
|
|
393
|
+
});
|
|
331
394
|
}
|
|
332
395
|
|
|
333
396
|
/**
|
|
@@ -338,7 +401,10 @@ export async function deleteFullServices({
|
|
|
338
401
|
globalConfig = false,
|
|
339
402
|
state
|
|
340
403
|
}) {
|
|
341
|
-
debugMessage(
|
|
404
|
+
debugMessage({
|
|
405
|
+
message: `ServiceOps.deleteFullServices: start, globalConfig=${globalConfig}`,
|
|
406
|
+
state
|
|
407
|
+
});
|
|
342
408
|
try {
|
|
343
409
|
const serviceList = (await _getListOfServices({
|
|
344
410
|
globalConfig,
|
|
@@ -356,16 +422,27 @@ export async function deleteFullServices({
|
|
|
356
422
|
if (!(((_error$response10 = error.response) === null || _error$response10 === void 0 ? void 0 : _error$response10.status) === 403 && ((_error$response11 = error.response) === null || _error$response11 === void 0 ? void 0 : (_error$response11$dat = _error$response11.data) === null || _error$response11$dat === void 0 ? void 0 : _error$response11$dat.message) === 'This operation is not available in ForgeRock Identity Cloud.')) {
|
|
357
423
|
var _error$response12, _error$response12$dat;
|
|
358
424
|
const message = (_error$response12 = error.response) === null || _error$response12 === void 0 ? void 0 : (_error$response12$dat = _error$response12.data) === null || _error$response12$dat === void 0 ? void 0 : _error$response12$dat.message;
|
|
359
|
-
printMessage(
|
|
425
|
+
printMessage({
|
|
426
|
+
message: `Delete service '${serviceListItem._id}': ${message}`,
|
|
427
|
+
state,
|
|
428
|
+
type: 'error'
|
|
429
|
+
});
|
|
360
430
|
}
|
|
361
431
|
}
|
|
362
432
|
}));
|
|
363
433
|
} catch (error) {
|
|
364
434
|
var _error$response13, _error$response13$dat;
|
|
365
435
|
const message = (_error$response13 = error.response) === null || _error$response13 === void 0 ? void 0 : (_error$response13$dat = _error$response13.data) === null || _error$response13$dat === void 0 ? void 0 : _error$response13$dat.message;
|
|
366
|
-
printMessage(
|
|
436
|
+
printMessage({
|
|
437
|
+
message: `Delete services: ${message}`,
|
|
438
|
+
type: 'error',
|
|
439
|
+
state
|
|
440
|
+
});
|
|
367
441
|
}
|
|
368
|
-
debugMessage(
|
|
442
|
+
debugMessage({
|
|
443
|
+
message: `ServiceOps.deleteFullServices: end`,
|
|
444
|
+
state
|
|
445
|
+
});
|
|
369
446
|
}
|
|
370
447
|
|
|
371
448
|
/**
|
|
@@ -379,7 +456,10 @@ export async function exportService({
|
|
|
379
456
|
globalConfig = false,
|
|
380
457
|
state
|
|
381
458
|
}) {
|
|
382
|
-
debugMessage(
|
|
459
|
+
debugMessage({
|
|
460
|
+
message: `ServiceOps.exportService: start, globalConfig=${globalConfig}`,
|
|
461
|
+
state
|
|
462
|
+
});
|
|
383
463
|
const exportData = createServiceExportTemplate();
|
|
384
464
|
try {
|
|
385
465
|
const service = await getService({
|
|
@@ -396,9 +476,16 @@ export async function exportService({
|
|
|
396
476
|
} catch (error) {
|
|
397
477
|
var _error$response14, _error$response14$dat;
|
|
398
478
|
const message = (_error$response14 = error.response) === null || _error$response14 === void 0 ? void 0 : (_error$response14$dat = _error$response14.data) === null || _error$response14$dat === void 0 ? void 0 : _error$response14$dat.message;
|
|
399
|
-
printMessage(
|
|
479
|
+
printMessage({
|
|
480
|
+
message: `Export service '${serviceId}': ${message}`,
|
|
481
|
+
type: 'error',
|
|
482
|
+
state
|
|
483
|
+
});
|
|
400
484
|
}
|
|
401
|
-
debugMessage(
|
|
485
|
+
debugMessage({
|
|
486
|
+
message: `ServiceOps.exportService: end`,
|
|
487
|
+
state
|
|
488
|
+
});
|
|
402
489
|
return exportData;
|
|
403
490
|
}
|
|
404
491
|
|
|
@@ -410,7 +497,10 @@ export async function exportServices({
|
|
|
410
497
|
globalConfig = false,
|
|
411
498
|
state
|
|
412
499
|
}) {
|
|
413
|
-
debugMessage(
|
|
500
|
+
debugMessage({
|
|
501
|
+
message: `ServiceOps.exportServices: start, globalConfig=${globalConfig}`,
|
|
502
|
+
state
|
|
503
|
+
});
|
|
414
504
|
const exportData = createServiceExportTemplate();
|
|
415
505
|
try {
|
|
416
506
|
const services = await getFullServices({
|
|
@@ -423,9 +513,16 @@ export async function exportServices({
|
|
|
423
513
|
} catch (error) {
|
|
424
514
|
var _error$response15, _error$response15$dat;
|
|
425
515
|
const message = (_error$response15 = error.response) === null || _error$response15 === void 0 ? void 0 : (_error$response15$dat = _error$response15.data) === null || _error$response15$dat === void 0 ? void 0 : _error$response15$dat.message;
|
|
426
|
-
printMessage(
|
|
516
|
+
printMessage({
|
|
517
|
+
message: `Export servics: ${message}`,
|
|
518
|
+
type: 'error',
|
|
519
|
+
state
|
|
520
|
+
});
|
|
427
521
|
}
|
|
428
|
-
debugMessage(
|
|
522
|
+
debugMessage({
|
|
523
|
+
message: `ServiceOps.exportServices: end`,
|
|
524
|
+
state
|
|
525
|
+
});
|
|
429
526
|
return exportData;
|
|
430
527
|
}
|
|
431
528
|
|
|
@@ -444,7 +541,10 @@ export async function importService({
|
|
|
444
541
|
globalConfig = false,
|
|
445
542
|
state
|
|
446
543
|
}) {
|
|
447
|
-
debugMessage(
|
|
544
|
+
debugMessage({
|
|
545
|
+
message: `ServiceOps.importService: start, globalConfig=${globalConfig}`,
|
|
546
|
+
state
|
|
547
|
+
});
|
|
448
548
|
const serviceData = importData.service[serviceId];
|
|
449
549
|
const result = await putFullService({
|
|
450
550
|
serviceId,
|
|
@@ -453,7 +553,10 @@ export async function importService({
|
|
|
453
553
|
globalConfig,
|
|
454
554
|
state
|
|
455
555
|
});
|
|
456
|
-
debugMessage(
|
|
556
|
+
debugMessage({
|
|
557
|
+
message: `ServiceOps.importService: end`,
|
|
558
|
+
state
|
|
559
|
+
});
|
|
457
560
|
return result;
|
|
458
561
|
}
|
|
459
562
|
|
|
@@ -469,7 +572,10 @@ export async function importServices({
|
|
|
469
572
|
globalConfig = false,
|
|
470
573
|
state
|
|
471
574
|
}) {
|
|
472
|
-
debugMessage(
|
|
575
|
+
debugMessage({
|
|
576
|
+
message: `ServiceOps.importServices: start, globalConfig=${globalConfig}`,
|
|
577
|
+
state
|
|
578
|
+
});
|
|
473
579
|
try {
|
|
474
580
|
const result = await putFullServices({
|
|
475
581
|
serviceEntries: Object.entries(importData.service),
|
|
@@ -477,15 +583,26 @@ export async function importServices({
|
|
|
477
583
|
globalConfig,
|
|
478
584
|
state
|
|
479
585
|
});
|
|
480
|
-
debugMessage(
|
|
586
|
+
debugMessage({
|
|
587
|
+
message: `ServiceOps.importServices: end`,
|
|
588
|
+
state
|
|
589
|
+
});
|
|
481
590
|
return result;
|
|
482
591
|
} catch (error) {
|
|
483
592
|
var _error$response16, _error$response16$dat, _error$response17, _error$response17$dat;
|
|
484
593
|
const message = (_error$response16 = error.response) === null || _error$response16 === void 0 ? void 0 : (_error$response16$dat = _error$response16.data) === null || _error$response16$dat === void 0 ? void 0 : _error$response16$dat.message;
|
|
485
594
|
const detail = (_error$response17 = error.response) === null || _error$response17 === void 0 ? void 0 : (_error$response17$dat = _error$response17.data) === null || _error$response17$dat === void 0 ? void 0 : _error$response17$dat.detail;
|
|
486
|
-
printMessage(
|
|
595
|
+
printMessage({
|
|
596
|
+
message: `Unable to import services: error: ${message}`,
|
|
597
|
+
type: 'error',
|
|
598
|
+
state
|
|
599
|
+
});
|
|
487
600
|
if (detail) {
|
|
488
|
-
printMessage(
|
|
601
|
+
printMessage({
|
|
602
|
+
message: `Details: ${JSON.stringify(detail)}`,
|
|
603
|
+
type: 'error',
|
|
604
|
+
state
|
|
605
|
+
});
|
|
489
606
|
}
|
|
490
607
|
throw error;
|
|
491
608
|
}
|
package/esm/ops/ThemeOps.mjs
CHANGED
|
@@ -343,7 +343,10 @@ export async function putThemes({
|
|
|
343
343
|
realm = null,
|
|
344
344
|
state
|
|
345
345
|
}) {
|
|
346
|
-
debugMessage(
|
|
346
|
+
debugMessage({
|
|
347
|
+
message: `ThemeApi.putThemes: start`,
|
|
348
|
+
state
|
|
349
|
+
});
|
|
347
350
|
realm = realm ? realm : getCurrentRealmName(state);
|
|
348
351
|
const themes = await getConfigEntity({
|
|
349
352
|
entityId: THEMEREALM_ID,
|
|
@@ -358,7 +361,10 @@ export async function putThemes({
|
|
|
358
361
|
realm
|
|
359
362
|
}).map(theme => {
|
|
360
363
|
if (themeMap[theme._id]) {
|
|
361
|
-
debugMessage(
|
|
364
|
+
debugMessage({
|
|
365
|
+
message: `Update theme: ${theme._id} - ${theme.name}`,
|
|
366
|
+
state
|
|
367
|
+
});
|
|
362
368
|
existingThemeIDs.push(theme._id);
|
|
363
369
|
// remember the id of the last default theme
|
|
364
370
|
if (themeMap[theme._id].isDefault) defaultThemeId = theme._id;
|
|
@@ -369,7 +375,10 @@ export async function putThemes({
|
|
|
369
375
|
const newThemeIDs = allThemeIDs.filter(id => !existingThemeIDs.includes(id));
|
|
370
376
|
// add new themes
|
|
371
377
|
newThemeIDs.forEach(themeId => {
|
|
372
|
-
debugMessage(
|
|
378
|
+
debugMessage({
|
|
379
|
+
message: `Add theme: ${themeMap[themeId]._id} - ${themeMap[themeId].name}`,
|
|
380
|
+
state
|
|
381
|
+
});
|
|
373
382
|
// remember the id of the last default theme
|
|
374
383
|
if (themeMap[themeId].isDefault) defaultThemeId = themeId;
|
|
375
384
|
realmThemes.push(themeMap[themeId]);
|
|
@@ -390,8 +399,14 @@ export async function putThemes({
|
|
|
390
399
|
}),
|
|
391
400
|
realm
|
|
392
401
|
}).map(theme => [theme._id, theme]));
|
|
393
|
-
debugMessage(
|
|
394
|
-
|
|
402
|
+
debugMessage({
|
|
403
|
+
message: updatedThemes,
|
|
404
|
+
state
|
|
405
|
+
});
|
|
406
|
+
debugMessage({
|
|
407
|
+
message: `ThemeApi.putThemes: finished`,
|
|
408
|
+
state
|
|
409
|
+
});
|
|
395
410
|
return updatedThemes;
|
|
396
411
|
}
|
|
397
412
|
|
|
@@ -45,7 +45,10 @@ export async function getFeatures({
|
|
|
45
45
|
state.setFeatures(JSON.parse(JSON.stringify(result)));
|
|
46
46
|
} catch (error) {
|
|
47
47
|
var _error$response;
|
|
48
|
-
debugMessage(
|
|
48
|
+
debugMessage({
|
|
49
|
+
message: (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data,
|
|
50
|
+
state
|
|
51
|
+
});
|
|
49
52
|
state.setFeatures([]);
|
|
50
53
|
}
|
|
51
54
|
return state.getFeatures();
|
|
@@ -57,12 +57,18 @@ const moType = 'svcacct';
|
|
|
57
57
|
export async function isServiceAccountsFeatureAvailable({
|
|
58
58
|
state
|
|
59
59
|
}) {
|
|
60
|
-
debugMessage(
|
|
60
|
+
debugMessage({
|
|
61
|
+
message: `ServiceAccountOps.isServiceAccountsFeatureAvailable: start`,
|
|
62
|
+
state
|
|
63
|
+
});
|
|
61
64
|
const featureAvailable = await hasFeature({
|
|
62
65
|
featureId: 'service-accounts',
|
|
63
66
|
state
|
|
64
67
|
});
|
|
65
|
-
debugMessage(
|
|
68
|
+
debugMessage({
|
|
69
|
+
message: `ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${featureAvailable}`,
|
|
70
|
+
state
|
|
71
|
+
});
|
|
66
72
|
return featureAvailable;
|
|
67
73
|
}
|
|
68
74
|
|
|
@@ -84,7 +90,10 @@ export async function createServiceAccount({
|
|
|
84
90
|
jwks,
|
|
85
91
|
state
|
|
86
92
|
}) {
|
|
87
|
-
debugMessage(
|
|
93
|
+
debugMessage({
|
|
94
|
+
message: `ServiceAccountOps.createServiceAccount: start`,
|
|
95
|
+
state
|
|
96
|
+
});
|
|
88
97
|
const payload = {
|
|
89
98
|
name,
|
|
90
99
|
description,
|
|
@@ -92,10 +101,19 @@ export async function createServiceAccount({
|
|
|
92
101
|
scopes,
|
|
93
102
|
jwks: JSON.stringify(jwks)
|
|
94
103
|
};
|
|
95
|
-
debugMessage(
|
|
96
|
-
|
|
104
|
+
debugMessage({
|
|
105
|
+
message: `ServiceAccountOps: createServiceAccount: payload:`,
|
|
106
|
+
state
|
|
107
|
+
});
|
|
108
|
+
debugMessage({
|
|
109
|
+
message: payload,
|
|
110
|
+
state
|
|
111
|
+
});
|
|
97
112
|
const result = await createManagedObject(getTenantURL(state.getHost()), moType, payload, state);
|
|
98
|
-
debugMessage(
|
|
113
|
+
debugMessage({
|
|
114
|
+
message: `ServiceAccountOps.createServiceAccount: end`,
|
|
115
|
+
state
|
|
116
|
+
});
|
|
99
117
|
return result;
|
|
100
118
|
}
|
|
101
119
|
|