@rockcarver/frodo-lib 0.13.2-0 → 0.14.1

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/CHANGELOG.md +33 -1
  2. package/cjs/api/ApiTypes.js.map +1 -1
  3. package/cjs/api/ThemeApi.js +132 -40
  4. package/cjs/api/ThemeApi.js.map +1 -1
  5. package/cjs/api/ThemeApi.test.js.map +1 -0
  6. package/cjs/index.js +5 -1
  7. package/cjs/index.js.map +1 -1
  8. package/cjs/ops/JourneyOps.js +260 -237
  9. package/cjs/ops/JourneyOps.js.map +1 -1
  10. package/cjs/ops/ThemeOps.js +103 -84
  11. package/cjs/ops/ThemeOps.js.map +1 -1
  12. package/cjs/ops/utils/Console.js +21 -5
  13. package/cjs/ops/utils/Console.js.map +1 -1
  14. package/cjs/storage/SessionStorage.js +6 -0
  15. package/cjs/storage/SessionStorage.js.map +1 -1
  16. package/cjs/test/mocks/ForgeRockApiMockEngine.js +2 -1
  17. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  18. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm-encore.json +77 -0
  19. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm-putThemes.json +665 -0
  20. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm.json +1 -1
  21. package/esm/api/ThemeApi.mjs +129 -41
  22. package/esm/api/ThemeApi.test.mjs +903 -0
  23. package/esm/index.mjs +2 -1
  24. package/esm/ops/JourneyOps.mjs +259 -236
  25. package/esm/ops/ThemeOps.mjs +44 -34
  26. package/esm/ops/utils/Console.mjs +18 -4
  27. package/esm/storage/SessionStorage.mjs +6 -0
  28. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +2 -2
  29. package/esm/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm-encore.json +77 -0
  30. package/esm/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm-putThemes.json +665 -0
  31. package/esm/test/mocks/IdmConfigApi/getConfigEntity/ui/themerealm.json +1 -1
  32. package/package.json +1 -1
  33. package/types/api/ApiTypes.d.ts +5 -1
  34. package/types/api/ApiTypes.d.ts.map +1 -1
  35. package/types/api/ThemeApi.d.ts +28 -26
  36. package/types/api/ThemeApi.d.ts.map +1 -1
  37. package/types/index.d.ts +1 -0
  38. package/types/index.d.ts.map +1 -1
  39. package/types/ops/JourneyOps.d.ts.map +1 -1
  40. package/types/ops/ThemeOps.d.ts +5 -0
  41. package/types/ops/ThemeOps.d.ts.map +1 -1
  42. package/types/ops/utils/Console.d.ts +11 -4
  43. package/types/ops/utils/Console.d.ts.map +1 -1
  44. package/types/storage/SessionStorage.d.ts +6 -0
  45. package/types/storage/SessionStorage.d.ts.map +1 -1
  46. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +1 -1
  47. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.deleteThemeByNameCmd = deleteThemeByNameCmd;
7
7
  exports.deleteThemeCmd = deleteThemeCmd;
8
+ exports.deleteThemes = deleteThemes;
8
9
  exports.deleteThemesCmd = deleteThemesCmd;
9
10
  exports.exportThemeById = exportThemeById;
10
11
  exports.exportThemeByName = exportThemeByName;
@@ -53,7 +54,7 @@ function _listThemes() {
53
54
 
54
55
  if (!long) {
55
56
  themeList.forEach(theme => {
56
- (0, _Console.printMessage)("".concat(theme.isDefault ? theme.name.brightCyan : theme.name), 'data');
57
+ (0, _Console.printMessage)("".concat(theme.isDefault ? theme.name['brightCyan'] : theme.name), 'data');
57
58
  });
58
59
  } else {
59
60
  var table = (0, _Console.createTable)(['Name'['brightCyan'], 'Id'['brightCyan'], 'Default'['brightCyan']]);
@@ -85,15 +86,15 @@ function _exportThemeByName() {
85
86
  }
86
87
 
87
88
  (0, _Console.createProgressIndicator)(1, "Exporting ".concat(name));
88
- var themeData = yield (0, _ThemeApi.getThemeByName)(name);
89
89
 
90
- if (themeData.length === 0) {
91
- (0, _Console.stopProgressIndicator)("Theme ".concat(name, " not found!"));
92
- (0, _Console.printMessage)("Theme ".concat(name, " not found!"), 'error');
93
- } else {
90
+ try {
91
+ var themeData = yield (0, _ThemeApi.getThemeByName)(name);
94
92
  (0, _Console.updateProgressIndicator)("Writing file ".concat(fileName));
95
- (0, _ExportImportUtils.saveToFile)('theme', themeData, '_id', fileName);
93
+ (0, _ExportImportUtils.saveToFile)('theme', [themeData], '_id', fileName);
96
94
  (0, _Console.stopProgressIndicator)("Successfully exported theme ".concat(name, "."));
95
+ } catch (error) {
96
+ (0, _Console.stopProgressIndicator)("".concat(error.message));
97
+ (0, _Console.printMessage)("".concat(error.message), 'error');
97
98
  }
98
99
  });
99
100
  return _exportThemeByName.apply(this, arguments);
@@ -117,15 +118,15 @@ function _exportThemeById() {
117
118
  }
118
119
 
119
120
  (0, _Console.createProgressIndicator)(1, "Exporting ".concat(id));
120
- var themeData = yield (0, _ThemeApi.getTheme)(id);
121
121
 
122
- if (themeData.length === 0) {
123
- (0, _Console.stopProgressIndicator)("Theme ".concat(id, " not found!"));
124
- (0, _Console.printMessage)("Theme ".concat(id, " not found!"), 'error');
125
- } else {
122
+ try {
123
+ var themeData = yield (0, _ThemeApi.getTheme)(id);
126
124
  (0, _Console.updateProgressIndicator)("Writing file ".concat(fileName));
127
- (0, _ExportImportUtils.saveToFile)('theme', themeData, '_id', fileName);
125
+ (0, _ExportImportUtils.saveToFile)('theme', [themeData], '_id', fileName);
128
126
  (0, _Console.stopProgressIndicator)("Successfully exported theme ".concat(id, "."));
127
+ } catch (error) {
128
+ (0, _Console.stopProgressIndicator)("".concat(error.message));
129
+ (0, _Console.printMessage)("".concat(error.message), 'error');
129
130
  }
130
131
  });
131
132
  return _exportThemeById.apply(this, arguments);
@@ -198,45 +199,46 @@ function importThemeByName(_x6, _x7) {
198
199
 
199
200
  function _importThemeByName() {
200
201
  _importThemeByName = _asyncToGenerator(function* (name, file) {
201
- _fs.default.readFile(file, 'utf8', (err, data) => {
202
- if (err) throw err;
203
- var themeData = JSON.parse(data);
204
-
205
- if ((0, _ExportImportUtils.validateImport)(themeData.meta)) {
206
- (0, _Console.createProgressIndicator)(1, 'Importing theme...');
207
- var found = false;
208
-
209
- var _loop = function _loop(id) {
210
- if ({}.hasOwnProperty.call(themeData.theme, id)) {
211
- if (themeData.theme[id].name === name) {
212
- found = true;
213
- (0, _Console.updateProgressIndicator)("Importing ".concat(themeData.theme[id].name));
214
- (0, _ThemeApi.putThemeByName)(name, themeData.theme[id]).then(result => {
215
- if (result == null) {
216
- (0, _Console.stopProgressIndicator)("Error importing theme ".concat(themeData.theme[id].name));
217
- (0, _Console.printMessage)("Error importing theme ".concat(themeData.theme[id].name), 'error');
218
- } else {
202
+ _fs.default.readFile(file, 'utf8', /*#__PURE__*/function () {
203
+ var _ref = _asyncToGenerator(function* (err, data) {
204
+ if (err) throw err;
205
+ var themeData = JSON.parse(data);
206
+
207
+ if ((0, _ExportImportUtils.validateImport)(themeData.meta)) {
208
+ (0, _Console.createProgressIndicator)(1, 'Importing theme...');
209
+ var found = false;
210
+
211
+ for (var id in themeData.theme) {
212
+ if ({}.hasOwnProperty.call(themeData.theme, id)) {
213
+ if (themeData.theme[id].name === name) {
214
+ found = true;
215
+ (0, _Console.updateProgressIndicator)("Importing ".concat(themeData.theme[id].name));
216
+
217
+ try {
218
+ yield (0, _ThemeApi.putThemeByName)(name, themeData.theme[id]);
219
219
  (0, _Console.stopProgressIndicator)("Successfully imported theme ".concat(name, "."));
220
+ } catch (error) {
221
+ (0, _Console.stopProgressIndicator)("Error importing theme ".concat(themeData.theme[id].name, ": ").concat(error.message));
222
+ (0, _Console.printMessage)("Error importing theme ".concat(themeData.theme[id].name, ": ").concat(error.message), 'error');
220
223
  }
221
- });
222
- return "break";
224
+
225
+ break;
226
+ }
223
227
  }
224
228
  }
225
- };
226
-
227
- for (var id in themeData.theme) {
228
- var _ret = _loop(id);
229
229
 
230
- if (_ret === "break") break;
230
+ if (!found) {
231
+ (0, _Console.stopProgressIndicator)("Theme ".concat(name, " not found!"));
232
+ }
233
+ } else {
234
+ (0, _Console.printMessage)('Import validation failed...', 'error');
231
235
  }
236
+ });
232
237
 
233
- if (!found) {
234
- (0, _Console.stopProgressIndicator)("Theme ".concat(name, " not found!"));
235
- }
236
- } else {
237
- (0, _Console.printMessage)('Import validation failed...', 'error');
238
- }
239
- });
238
+ return function (_x14, _x15) {
239
+ return _ref.apply(this, arguments);
240
+ };
241
+ }());
240
242
  });
241
243
  return _importThemeByName.apply(this, arguments);
242
244
  }
@@ -252,45 +254,46 @@ function importThemeById(_x8, _x9) {
252
254
 
253
255
  function _importThemeById() {
254
256
  _importThemeById = _asyncToGenerator(function* (id, file) {
255
- _fs.default.readFile(file, 'utf8', (err, data) => {
256
- if (err) throw err;
257
- var themeData = JSON.parse(data);
258
-
259
- if ((0, _ExportImportUtils.validateImport)(themeData.meta)) {
260
- (0, _Console.createProgressIndicator)(1, 'Importing theme...');
261
- var found = false;
262
-
263
- var _loop2 = function _loop2(themeId) {
264
- if ({}.hasOwnProperty.call(themeData.theme, themeId)) {
265
- if (themeId === id) {
266
- found = true;
267
- (0, _Console.updateProgressIndicator)("Importing ".concat(themeData.theme[themeId]._id));
268
- (0, _ThemeApi.putTheme)(themeId, themeData.theme[themeId]).then(result => {
269
- if (result == null) {
270
- (0, _Console.stopProgressIndicator)("Error importing theme ".concat(themeData.theme[themeId]._id));
271
- (0, _Console.printMessage)("Error importing theme ".concat(themeData.theme[themeId]._id), 'error');
272
- } else {
257
+ _fs.default.readFile(file, 'utf8', /*#__PURE__*/function () {
258
+ var _ref2 = _asyncToGenerator(function* (err, data) {
259
+ if (err) throw err;
260
+ var themeData = JSON.parse(data);
261
+
262
+ if ((0, _ExportImportUtils.validateImport)(themeData.meta)) {
263
+ (0, _Console.createProgressIndicator)(1, 'Importing theme...');
264
+ var found = false;
265
+
266
+ for (var themeId in themeData.theme) {
267
+ if ({}.hasOwnProperty.call(themeData.theme, themeId)) {
268
+ if (themeId === id) {
269
+ found = true;
270
+ (0, _Console.updateProgressIndicator)("Importing ".concat(themeData.theme[themeId]._id));
271
+
272
+ try {
273
+ yield (0, _ThemeApi.putTheme)(themeId, themeData.theme[themeId]);
273
274
  (0, _Console.stopProgressIndicator)("Successfully imported theme ".concat(id, "."));
275
+ } catch (error) {
276
+ (0, _Console.stopProgressIndicator)("Error importing theme ".concat(themeData.theme[themeId]._id, ": ").concat(error.message));
277
+ (0, _Console.printMessage)("Error importing theme ".concat(themeData.theme[themeId]._id, ": ").concat(error.message), 'error');
274
278
  }
275
- });
276
- return "break";
279
+
280
+ break;
281
+ }
277
282
  }
278
283
  }
279
- };
280
-
281
- for (var themeId in themeData.theme) {
282
- var _ret2 = _loop2(themeId);
283
284
 
284
- if (_ret2 === "break") break;
285
+ if (!found) {
286
+ (0, _Console.stopProgressIndicator)("Theme ".concat(id, " not found!"));
287
+ }
288
+ } else {
289
+ (0, _Console.printMessage)('Import validation failed...', 'error');
285
290
  }
291
+ });
286
292
 
287
- if (!found) {
288
- (0, _Console.stopProgressIndicator)("Theme ".concat(id, " not found!"));
289
- }
290
- } else {
291
- (0, _Console.printMessage)('Import validation failed...', 'error');
292
- }
293
- });
293
+ return function (_x16, _x17) {
294
+ return _ref2.apply(this, arguments);
295
+ };
296
+ }());
294
297
  });
295
298
  return _importThemeById.apply(this, arguments);
296
299
  }
@@ -399,7 +402,7 @@ function _importFirstThemeFromFile() {
399
402
  if ((0, _ExportImportUtils.validateImport)(themeData.meta)) {
400
403
  (0, _Console.createProgressIndicator)(1, 'Importing theme...');
401
404
 
402
- var _loop3 = function _loop3(id) {
405
+ var _loop = function _loop(id) {
403
406
  if ({}.hasOwnProperty.call(themeData.theme, id)) {
404
407
  (0, _Console.updateProgressIndicator)("Importing ".concat(themeData.theme[id].name));
405
408
  (0, _ThemeApi.putTheme)(id, themeData.theme[id]).then(result => {
@@ -415,9 +418,9 @@ function _importFirstThemeFromFile() {
415
418
  };
416
419
 
417
420
  for (var id in themeData.theme) {
418
- var _ret3 = _loop3(id);
421
+ var _ret = _loop(id);
419
422
 
420
- if (_ret3 === "break") break;
423
+ if (_ret === "break") break;
421
424
  }
422
425
  } else {
423
426
  (0, _Console.printMessage)('Import validation failed...', 'error');
@@ -472,12 +475,17 @@ function _deleteThemeByNameCmd() {
472
475
  return _deleteThemeByNameCmd.apply(this, arguments);
473
476
  }
474
477
 
475
- function deleteThemesCmd() {
476
- return _deleteThemesCmd.apply(this, arguments);
478
+ function deleteThemes() {
479
+ return _deleteThemes2.apply(this, arguments);
477
480
  }
481
+ /**
482
+ * Delete all themes
483
+ * @deprecated since version 0.14.0
484
+ */
478
485
 
479
- function _deleteThemesCmd() {
480
- _deleteThemesCmd = _asyncToGenerator(function* () {
486
+
487
+ function _deleteThemes2() {
488
+ _deleteThemes2 = _asyncToGenerator(function* () {
481
489
  (0, _Console.createProgressIndicator)(undefined, "Deleting all realm themes...", 'indeterminate');
482
490
 
483
491
  try {
@@ -487,6 +495,17 @@ function _deleteThemesCmd() {
487
495
  (0, _Console.stopProgressIndicator)("Error: ".concat(error.message), 'fail');
488
496
  }
489
497
  });
498
+ return _deleteThemes2.apply(this, arguments);
499
+ }
500
+
501
+ function deleteThemesCmd() {
502
+ return _deleteThemesCmd.apply(this, arguments);
503
+ }
504
+
505
+ function _deleteThemesCmd() {
506
+ _deleteThemesCmd = _asyncToGenerator(function* () {
507
+ return deleteThemes();
508
+ });
490
509
  return _deleteThemesCmd.apply(this, arguments);
491
510
  }
492
511
  //# sourceMappingURL=ThemeOps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeOps.js","names":["listThemes","long","themeList","getThemes","sort","a","b","name","localeCompare","forEach","theme","printMessage","isDefault","brightCyan","table","createTable","push","_id","toString","exportThemeByName","file","fileName","getTypedFilename","createProgressIndicator","themeData","getThemeByName","length","stopProgressIndicator","updateProgressIndicator","saveToFile","exportThemeById","id","getTheme","exportThemesToFile","getRealmString","allThemesData","exportThemesToFiles","importThemeByName","fs","readFile","err","data","JSON","parse","validateImport","meta","found","hasOwnProperty","call","putThemeByName","then","result","importThemeById","themeId","putTheme","importThemesFromFile","fileData","Object","keys","putThemes","importThemesFromFiles","names","readdirSync","jsonFiles","filter","toLowerCase","endsWith","count","total","files","readFileSync","importFirstThemeFromFile","deleteThemeCmd","undefined","deleteTheme","error","message","deleteThemeByNameCmd","deleteThemeByName","deleteThemesCmd","deleteThemes"],"sources":["ops/ThemeOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n deleteTheme,\n deleteThemeByName,\n deleteThemes,\n getTheme,\n getThemeByName,\n getThemes,\n putTheme,\n putThemeByName,\n putThemes,\n} from '../api/ThemeApi';\nimport {\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n getRealmString,\n getTypedFilename,\n saveToFile,\n validateImport,\n} from './utils/ExportImportUtils';\n\n/**\n * List all the themes\n * @param {boolean} long Long version, more fields\n */\nexport async function listThemes(long = false) {\n const themeList = await getThemes();\n themeList.sort((a, b) => a.name.localeCompare(b.name));\n if (!long) {\n themeList.forEach((theme) => {\n printMessage(\n `${theme.isDefault ? theme.name.brightCyan : theme.name}`,\n 'data'\n );\n });\n } else {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Id'['brightCyan'],\n 'Default'['brightCyan'],\n ]);\n themeList.forEach((theme) => {\n table.push([\n `${theme.name}`,\n `${theme._id}`,\n `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`,\n ]);\n });\n printMessage(table.toString(), 'data');\n }\n}\n\n/**\n * Export theme by name to file\n * @param {String} name theme name\n * @param {String} file optional export file name\n */\nexport async function exportThemeByName(name, file) {\n let fileName = getTypedFilename(name, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator(1, `Exporting ${name}`);\n const themeData = await getThemeByName(name);\n if (themeData.length === 0) {\n stopProgressIndicator(`Theme ${name} not found!`);\n printMessage(`Theme ${name} not found!`, 'error');\n } else {\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', themeData, '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${name}.`);\n }\n}\n\n/**\n * Export theme by uuid to file\n * @param {String} id theme uuid\n * @param {String} file optional export file name\n */\nexport async function exportThemeById(id, file) {\n let fileName = getTypedFilename(id, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator(1, `Exporting ${id}`);\n const themeData = await getTheme(id);\n if (themeData.length === 0) {\n stopProgressIndicator(`Theme ${id} not found!`);\n printMessage(`Theme ${id} not found!`, 'error');\n } else {\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', themeData, '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${id}.`);\n }\n}\n\n/**\n * Export all themes to file\n * @param {String} file optional export file name\n */\nexport async function exportThemesToFile(file) {\n let fileName = getTypedFilename(`all${getRealmString()}Themes`, 'theme');\n if (file) {\n fileName = file;\n }\n const allThemesData = await getThemes();\n createProgressIndicator(allThemesData.length, 'Exporting themes');\n for (const themeData of allThemesData) {\n updateProgressIndicator(`Exporting theme ${themeData.name}`);\n }\n saveToFile('theme', allThemesData, '_id', fileName);\n stopProgressIndicator(\n `${allThemesData.length} themes exported to ${fileName}.`\n );\n}\n\n/**\n * Export all themes to separate files\n */\nexport async function exportThemesToFiles() {\n const allThemesData = await getThemes();\n createProgressIndicator(allThemesData.length, 'Exporting themes');\n for (const themeData of allThemesData) {\n updateProgressIndicator(`Writing theme ${themeData.name}`);\n const fileName = getTypedFilename(themeData.name, 'theme');\n saveToFile('theme', themeData, '_id', fileName);\n }\n stopProgressIndicator(`${allThemesData.length} themes exported.`);\n}\n\n/**\n * Import theme by name from file\n * @param {String} name theme name\n * @param {String} file import file name\n */\nexport async function importThemeByName(name, file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator(1, 'Importing theme...');\n let found = false;\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n if (themeData.theme[id].name === name) {\n found = true;\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n putThemeByName(name, themeData.theme[id]).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}`,\n 'error'\n );\n } else {\n stopProgressIndicator(`Successfully imported theme ${name}.`);\n }\n });\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${name} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import theme by uuid from file\n * @param {String} id theme uuid\n * @param {String} file import file name\n */\nexport async function importThemeById(id, file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator(1, 'Importing theme...');\n let found = false;\n for (const themeId in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, themeId)) {\n if (themeId === id) {\n found = true;\n updateProgressIndicator(\n `Importing ${themeData.theme[themeId]._id}`\n );\n putTheme(themeId, themeData.theme[themeId]).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[themeId]._id}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[themeId]._id}`,\n 'error'\n );\n } else {\n stopProgressIndicator(`Successfully imported theme ${id}.`);\n }\n });\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${id} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import all themes from single file\n * @param {String} file import file name\n */\nexport async function importThemesFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const fileData = JSON.parse(data);\n if (validateImport(fileData.meta)) {\n createProgressIndicator(\n Object.keys(fileData.theme).length,\n 'Importing themes...'\n );\n for (const id in fileData.theme) {\n if ({}.hasOwnProperty.call(fileData.theme, id)) {\n updateProgressIndicator(`Importing ${fileData.theme[id].name}`);\n }\n }\n putThemes(fileData.theme).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing ${Object.keys(fileData.theme).length} themes!`\n );\n printMessage(\n `Error importing ${\n Object.keys(fileData.theme).length\n } themes from ${file}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported ${\n Object.keys(fileData.theme).length\n } themes.`\n );\n }\n });\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import themes from separate files\n */\nexport async function importThemesFromFiles() {\n const names = fs.readdirSync('.');\n const jsonFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.theme.json')\n );\n\n createProgressIndicator(jsonFiles.length, 'Importing themes...');\n let fileData = null;\n let count = 0;\n let total = 0;\n let files = 0;\n for (const file of jsonFiles) {\n const data = fs.readFileSync(file, 'utf8');\n fileData = JSON.parse(data);\n if (validateImport(fileData.meta)) {\n count = Object.keys(fileData.theme).length;\n // eslint-disable-next-line no-await-in-loop\n const result = await putThemes(fileData.theme);\n if (result == null) {\n printMessage(`Error importing ${count} themes from ${file}`, 'error');\n } else {\n files += 1;\n total += count;\n updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);\n }\n } else {\n printMessage(`Validation of ${file} failed!`, 'error');\n }\n }\n stopProgressIndicator(\n `Finished importing ${total} theme(s) from ${files} file(s).`\n );\n}\n\n/**\n * Import first theme from file\n * @param {String} file import file name\n */\nexport async function importFirstThemeFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator(1, 'Importing theme...');\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n putTheme(id, themeData.theme[id]).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported theme ${themeData.theme[id].name}`\n );\n }\n });\n break;\n }\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Delete theme by id\n * @param {String} id theme id\n */\nexport async function deleteThemeCmd(id) {\n createProgressIndicator(undefined, `Deleting ${id}...`, 'indeterminate');\n try {\n await deleteTheme(id);\n stopProgressIndicator(`Deleted ${id}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete theme by name\n * @param {String} name theme name\n */\nexport async function deleteThemeByNameCmd(name) {\n createProgressIndicator(undefined, `Deleting ${name}...`, 'indeterminate');\n try {\n await deleteThemeByName(name);\n stopProgressIndicator(`Deleted ${name}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n */\nexport async function deleteThemesCmd() {\n createProgressIndicator(\n undefined,\n `Deleting all realm themes...`,\n 'indeterminate'\n );\n try {\n await deleteThemes();\n stopProgressIndicator(`Deleted all realm themes.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ThemeOps.js","names":["listThemes","long","themeList","getThemes","sort","a","b","name","localeCompare","forEach","theme","printMessage","isDefault","table","createTable","push","_id","toString","exportThemeByName","file","fileName","getTypedFilename","createProgressIndicator","themeData","getThemeByName","updateProgressIndicator","saveToFile","stopProgressIndicator","error","message","exportThemeById","id","getTheme","exportThemesToFile","getRealmString","allThemesData","length","exportThemesToFiles","importThemeByName","fs","readFile","err","data","JSON","parse","validateImport","meta","found","hasOwnProperty","call","putThemeByName","importThemeById","themeId","putTheme","importThemesFromFile","fileData","Object","keys","putThemes","then","result","importThemesFromFiles","names","readdirSync","jsonFiles","filter","toLowerCase","endsWith","count","total","files","readFileSync","importFirstThemeFromFile","deleteThemeCmd","undefined","deleteTheme","deleteThemeByNameCmd","deleteThemeByName","deleteThemes","_deleteThemes","deleteThemesCmd"],"sources":["ops/ThemeOps.ts"],"sourcesContent":["import fs from 'fs';\nimport {\n deleteTheme,\n deleteThemeByName,\n deleteThemes as _deleteThemes,\n getTheme,\n getThemeByName,\n getThemes,\n putTheme,\n putThemeByName,\n putThemes,\n} from '../api/ThemeApi';\nimport {\n createProgressIndicator,\n createTable,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n getRealmString,\n getTypedFilename,\n saveToFile,\n validateImport,\n} from './utils/ExportImportUtils';\n\n/**\n * List all the themes\n * @param {boolean} long Long version, more fields\n */\nexport async function listThemes(long = false) {\n const themeList = await getThemes();\n themeList.sort((a, b) => a.name.localeCompare(b.name));\n if (!long) {\n themeList.forEach((theme) => {\n printMessage(\n `${theme.isDefault ? theme.name['brightCyan'] : theme.name}`,\n 'data'\n );\n });\n } else {\n const table = createTable([\n 'Name'['brightCyan'],\n 'Id'['brightCyan'],\n 'Default'['brightCyan'],\n ]);\n themeList.forEach((theme) => {\n table.push([\n `${theme.name}`,\n `${theme._id}`,\n `${theme.isDefault ? 'Yes'['brightGreen'] : ''}`,\n ]);\n });\n printMessage(table.toString(), 'data');\n }\n}\n\n/**\n * Export theme by name to file\n * @param {String} name theme name\n * @param {String} file optional export file name\n */\nexport async function exportThemeByName(name, file) {\n let fileName = getTypedFilename(name, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator(1, `Exporting ${name}`);\n try {\n const themeData = await getThemeByName(name);\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', [themeData], '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${name}.`);\n } catch (error) {\n stopProgressIndicator(`${error.message}`);\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Export theme by uuid to file\n * @param {String} id theme uuid\n * @param {String} file optional export file name\n */\nexport async function exportThemeById(id, file) {\n let fileName = getTypedFilename(id, 'theme');\n if (file) {\n fileName = file;\n }\n createProgressIndicator(1, `Exporting ${id}`);\n try {\n const themeData = await getTheme(id);\n updateProgressIndicator(`Writing file ${fileName}`);\n saveToFile('theme', [themeData], '_id', fileName);\n stopProgressIndicator(`Successfully exported theme ${id}.`);\n } catch (error) {\n stopProgressIndicator(`${error.message}`);\n printMessage(`${error.message}`, 'error');\n }\n}\n\n/**\n * Export all themes to file\n * @param {String} file optional export file name\n */\nexport async function exportThemesToFile(file) {\n let fileName = getTypedFilename(`all${getRealmString()}Themes`, 'theme');\n if (file) {\n fileName = file;\n }\n const allThemesData = await getThemes();\n createProgressIndicator(allThemesData.length, 'Exporting themes');\n for (const themeData of allThemesData) {\n updateProgressIndicator(`Exporting theme ${themeData.name}`);\n }\n saveToFile('theme', allThemesData, '_id', fileName);\n stopProgressIndicator(\n `${allThemesData.length} themes exported to ${fileName}.`\n );\n}\n\n/**\n * Export all themes to separate files\n */\nexport async function exportThemesToFiles() {\n const allThemesData = await getThemes();\n createProgressIndicator(allThemesData.length, 'Exporting themes');\n for (const themeData of allThemesData) {\n updateProgressIndicator(`Writing theme ${themeData.name}`);\n const fileName = getTypedFilename(themeData.name, 'theme');\n saveToFile('theme', themeData, '_id', fileName);\n }\n stopProgressIndicator(`${allThemesData.length} themes exported.`);\n}\n\n/**\n * Import theme by name from file\n * @param {String} name theme name\n * @param {String} file import file name\n */\nexport async function importThemeByName(name, file) {\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator(1, 'Importing theme...');\n let found = false;\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n if (themeData.theme[id].name === name) {\n found = true;\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n try {\n await putThemeByName(name, themeData.theme[id]);\n stopProgressIndicator(`Successfully imported theme ${name}.`);\n } catch (error) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}: ${error.message}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}: ${error.message}`,\n 'error'\n );\n }\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${name} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import theme by uuid from file\n * @param {String} id theme uuid\n * @param {String} file import file name\n */\nexport async function importThemeById(id, file) {\n fs.readFile(file, 'utf8', async (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator(1, 'Importing theme...');\n let found = false;\n for (const themeId in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, themeId)) {\n if (themeId === id) {\n found = true;\n updateProgressIndicator(\n `Importing ${themeData.theme[themeId]._id}`\n );\n try {\n await putTheme(themeId, themeData.theme[themeId]);\n stopProgressIndicator(`Successfully imported theme ${id}.`);\n } catch (error) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[themeId]._id}: ${error.message}`,\n 'error'\n );\n }\n break;\n }\n }\n }\n if (!found) {\n stopProgressIndicator(`Theme ${id} not found!`);\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import all themes from single file\n * @param {String} file import file name\n */\nexport async function importThemesFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const fileData = JSON.parse(data);\n if (validateImport(fileData.meta)) {\n createProgressIndicator(\n Object.keys(fileData.theme).length,\n 'Importing themes...'\n );\n for (const id in fileData.theme) {\n if ({}.hasOwnProperty.call(fileData.theme, id)) {\n updateProgressIndicator(`Importing ${fileData.theme[id].name}`);\n }\n }\n putThemes(fileData.theme).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing ${Object.keys(fileData.theme).length} themes!`\n );\n printMessage(\n `Error importing ${\n Object.keys(fileData.theme).length\n } themes from ${file}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported ${\n Object.keys(fileData.theme).length\n } themes.`\n );\n }\n });\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Import themes from separate files\n */\nexport async function importThemesFromFiles() {\n const names = fs.readdirSync('.');\n const jsonFiles = names.filter((name) =>\n name.toLowerCase().endsWith('.theme.json')\n );\n\n createProgressIndicator(jsonFiles.length, 'Importing themes...');\n let fileData = null;\n let count = 0;\n let total = 0;\n let files = 0;\n for (const file of jsonFiles) {\n const data = fs.readFileSync(file, 'utf8');\n fileData = JSON.parse(data);\n if (validateImport(fileData.meta)) {\n count = Object.keys(fileData.theme).length;\n // eslint-disable-next-line no-await-in-loop\n const result = await putThemes(fileData.theme);\n if (result == null) {\n printMessage(`Error importing ${count} themes from ${file}`, 'error');\n } else {\n files += 1;\n total += count;\n updateProgressIndicator(`Imported ${count} theme(s) from ${file}`);\n }\n } else {\n printMessage(`Validation of ${file} failed!`, 'error');\n }\n }\n stopProgressIndicator(\n `Finished importing ${total} theme(s) from ${files} file(s).`\n );\n}\n\n/**\n * Import first theme from file\n * @param {String} file import file name\n */\nexport async function importFirstThemeFromFile(file) {\n fs.readFile(file, 'utf8', (err, data) => {\n if (err) throw err;\n const themeData = JSON.parse(data);\n if (validateImport(themeData.meta)) {\n createProgressIndicator(1, 'Importing theme...');\n for (const id in themeData.theme) {\n if ({}.hasOwnProperty.call(themeData.theme, id)) {\n updateProgressIndicator(`Importing ${themeData.theme[id].name}`);\n putTheme(id, themeData.theme[id]).then((result) => {\n if (result == null) {\n stopProgressIndicator(\n `Error importing theme ${themeData.theme[id].name}`\n );\n printMessage(\n `Error importing theme ${themeData.theme[id].name}`,\n 'error'\n );\n } else {\n stopProgressIndicator(\n `Successfully imported theme ${themeData.theme[id].name}`\n );\n }\n });\n break;\n }\n }\n } else {\n printMessage('Import validation failed...', 'error');\n }\n });\n}\n\n/**\n * Delete theme by id\n * @param {String} id theme id\n */\nexport async function deleteThemeCmd(id) {\n createProgressIndicator(undefined, `Deleting ${id}...`, 'indeterminate');\n try {\n await deleteTheme(id);\n stopProgressIndicator(`Deleted ${id}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete theme by name\n * @param {String} name theme name\n */\nexport async function deleteThemeByNameCmd(name) {\n createProgressIndicator(undefined, `Deleting ${name}...`, 'indeterminate');\n try {\n await deleteThemeByName(name);\n stopProgressIndicator(`Deleted ${name}.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n */\nexport async function deleteThemes() {\n createProgressIndicator(\n undefined,\n `Deleting all realm themes...`,\n 'indeterminate'\n );\n try {\n await _deleteThemes();\n stopProgressIndicator(`Deleted all realm themes.`, 'success');\n } catch (error) {\n stopProgressIndicator(`Error: ${error.message}`, 'fail');\n }\n}\n\n/**\n * Delete all themes\n * @deprecated since version 0.14.0\n */\nexport async function deleteThemesCmd() {\n return deleteThemes();\n}\n"],"mappings":"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"}
@@ -7,10 +7,11 @@ exports.createKeyValueTable = createKeyValueTable;
7
7
  exports.createObjectTable = createObjectTable;
8
8
  exports.createProgressIndicator = createProgressIndicator;
9
9
  exports.createTable = createTable;
10
- exports.debugMessage = debugMessage;
10
+ exports.debug = debug;
11
11
  exports.printMessage = printMessage;
12
12
  exports.stopProgressIndicator = stopProgressIndicator;
13
13
  exports.updateProgressIndicator = updateProgressIndicator;
14
+ exports.verbose = verbose;
14
15
 
15
16
  var _cliTable = _interopRequireDefault(require("cli-table3"));
16
17
 
@@ -40,17 +41,32 @@ function printMessage(message) {
40
41
  handler(message, type, newline);
41
42
  }
42
43
  }
44
+ /**
45
+ * Handles verbose output. The caller decides and implements how
46
+ * the messages are handled, by implementing the handler function
47
+ * on its side. Implementing and registering a `handler` is optional.
48
+ *
49
+ * @param {string | unknown} message The verbose output message
50
+ */
51
+
52
+
53
+ function verbose(message) {
54
+ var handler = _SessionStorage.default.session.getVerboseHandler();
55
+
56
+ if (handler) {
57
+ handler(message);
58
+ }
59
+ }
43
60
  /**
44
61
  * Handles debug output. The caller decides and implements how
45
62
  * the messages are handled, by implementing the handler function
46
- * on its side. `handler` is optional, and if not included by the caller,
47
- * the data and messages will be lost.
63
+ * on its side. Implementing and registering a `handler` is optional.
48
64
  *
49
- * @param {string | unknown} message The string message to return
65
+ * @param {string | object} message The debug output message
50
66
  */
51
67
 
52
68
 
53
- function debugMessage(message) {
69
+ function debug(message) {
54
70
  var handler = _SessionStorage.default.session.getDebugHandler();
55
71
 
56
72
  if (handler) {
@@ -1 +1 @@
1
- {"version":3,"file":"Console.js","names":["printMessage","message","type","newline","handler","storage","session","getPrintHandler","debugMessage","getDebugHandler","createProgressIndicator","total","getCreateProgressHandler","updateProgressIndicator","getUpdateProgressHandler","stopProgressIndicator","status","getStopProgressHandler","createTable","head","Table","chars","top","bottom","left","mid","right","style","createKeyValueTable","wordWrap","getObjectDepth","object","Object","Math","max","values","map","hasValues","has","keys","key","addRows","depth","level","table","keyMap","space","push","hAlign","content","indention","Array","fill","join","concat","createObjectTable"],"sources":["ops/utils/Console.ts"],"sourcesContent":["import Table from 'cli-table3';\nimport storage from '../../storage/SessionStorage';\n\n/**\n * Handles data / messages output. The caller decides and implements how\n * the data and messages are handled, by implementing the handler function\n * on its side. `handler` is optional, and if not included by the caller,\n * the data and messages will be lost.\n *\n * @param {string | unknown} message The string message to return\n * @param {string} [type=text] \"text\", \"info\", \"warn\", \"error\" or \"data\". All but\n * type=\"data\" will be written to stderr.\n * @param {boolean} [newline=true] Whether to add a newline at the end of message\n * messages returned\n */\nexport function printMessage(\n message: string | unknown,\n type = 'text',\n newline = true\n) {\n const handler = storage.session.getPrintHandler();\n if (handler) {\n handler(message, type, newline);\n }\n}\n\n/**\n * Handles debug output. The caller decides and implements how\n * the messages are handled, by implementing the handler function\n * on its side. `handler` is optional, and if not included by the caller,\n * the data and messages will be lost.\n *\n * @param {string | unknown} message The string message to return\n */\nexport function debugMessage(message: string | unknown) {\n const handler = storage.session.getDebugHandler();\n if (handler) {\n handler(message);\n }\n}\n\n/**\n * Calls a callback on client to create a progress indicator.\n * The actual implementation of the indicator is left to the client\n * Two types of indicators are supported:\n * - determinate: should be used when the process completion rate\n * can be detected (example: progress bar showing percentage or count)\n * - indeterminate: used when progress isn’t detectable, or if\n * it’s not necessary to indicate how long an activity will take.\n * (example: spinner showing progress, but not quantifying the progress)\n *\n * Example:\n * [========================================] 100% | 49/49 | Analyzing journey - transactional_auth\n *\n * @param {Number} total The total number of entries to track progress for\n * @param {String} message optional progress bar message\n * @param {String} type optional type of progress indicator. default is 'determinate'\n *\n */\nexport function createProgressIndicator(\n total,\n message: string = null,\n type = 'determinate'\n) {\n const handler = storage.session.getCreateProgressHandler();\n if (handler) {\n handler(type, total, message);\n }\n}\n\n/**\n * Updates the progress indicator with new data/updated status.\n * @param {string} message optional message to show with the indicator\n *\n */\nexport function updateProgressIndicator(message: string = null) {\n const handler = storage.session.getUpdateProgressHandler();\n if (handler) {\n handler(message);\n }\n}\n\n/**\n * Stop and hide the progress indicator\n * @param {string} message optional message to show with the indicator\n * @param {string} status one of 'none', 'success', 'warn', 'fail'\n */\nexport function stopProgressIndicator(message: string = null, status = 'none') {\n const handler = storage.session.getStopProgressHandler();\n if (handler) {\n handler(message, status);\n }\n}\n\n/**\n * Create an empty table\n * @param {[String]} head header row as an array of strings\n * @returns {CliTable3} an empty table\n */\nexport function createTable(head) {\n return new Table({\n head,\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n}\n\n/**\n * Create a new key/value table\n * @returns {CliTable3} an empty key/value table\n */\nexport function createKeyValueTable() {\n return new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n}\n\n/**\n * Helper function to determine the total depth of an object\n * @param {Object} object input object\n * @returns {Number} total depth of the input object\n */\nfunction getObjectDepth(object) {\n return Object(object) === object\n ? 1 + Math.max(-1, ...Object.values(object).map(getObjectDepth))\n : 0;\n}\n\n/**\n * Helper function to determine if an object has values\n * @param {Object} object input object\n * @returns {boolean} true of the object or any of its sub-objects contain values, false otherwise\n */\nfunction hasValues(object) {\n let has = false;\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n return true;\n }\n has = has || hasValues(object[key]);\n }\n return has;\n}\n\n/**\n * Helper function (recursive) to add rows to an object table\n * @param {Object} object object to render\n * @param {Number} depth total depth of initial object\n * @param {Number} level current level\n * @param {CliTable3} table the object table to add the rows to\n * @returns the updated object table\n */\nfunction addRows(object, depth, level, table, keyMap) {\n const space = ' ';\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n if (level === 1) {\n table.push([\n keyMap[key] ? keyMap[key]['brightCyan'] : key['brightCyan'],\n object[key],\n ]);\n } else {\n table.push([\n {\n hAlign: 'right',\n content: keyMap[key] ? keyMap[key]['gray'] : key['gray'],\n },\n object[key],\n ]);\n }\n }\n }\n for (const key of keys) {\n if (Object(object[key]) === object[key]) {\n // only print header if there are any values below\n if (hasValues(object[key])) {\n let indention = new Array(level).fill(space).join('');\n if (level < 3) indention = `\\n${indention}`;\n table.push([\n indention.concat(\n keyMap[key] ? keyMap[key]['brightCyan'] : key['brightCyan']\n ),\n '',\n ]);\n }\n // eslint-disable-next-line no-param-reassign\n table = addRows(object[key], depth, level + 1, table, keyMap);\n }\n }\n return table;\n}\n\n/**\n * Create and populate an object table from any JSON object. Use for describe commands.\n * @param {Object} object JSON object to create\n * @returns {CliTable3} a table that can be printed to the console\n */\nexport function createObjectTable(object, keyMap = {}) {\n // eslint-disable-next-line no-param-reassign\n const depth = getObjectDepth(object);\n // eslint-disable-next-line no-param-reassign\n const level = 0;\n // eslint-disable-next-line no-param-reassign\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n addRows(object, depth, level + 1, table, keyMap);\n return table;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Console.js","names":["printMessage","message","type","newline","handler","storage","session","getPrintHandler","verbose","getVerboseHandler","debug","getDebugHandler","createProgressIndicator","total","getCreateProgressHandler","updateProgressIndicator","getUpdateProgressHandler","stopProgressIndicator","status","getStopProgressHandler","createTable","head","Table","chars","top","bottom","left","mid","right","style","createKeyValueTable","wordWrap","getObjectDepth","object","Object","Math","max","values","map","hasValues","has","keys","key","addRows","depth","level","table","keyMap","space","push","hAlign","content","indention","Array","fill","join","concat","createObjectTable"],"sources":["ops/utils/Console.ts"],"sourcesContent":["import Table from 'cli-table3';\nimport storage from '../../storage/SessionStorage';\n\n/**\n * Handles data / messages output. The caller decides and implements how\n * the data and messages are handled, by implementing the handler function\n * on its side. `handler` is optional, and if not included by the caller,\n * the data and messages will be lost.\n *\n * @param {string | unknown} message The string message to return\n * @param {string} [type=text] \"text\", \"info\", \"warn\", \"error\" or \"data\". All but\n * type=\"data\" will be written to stderr.\n * @param {boolean} [newline=true] Whether to add a newline at the end of message\n * messages returned\n */\nexport function printMessage(\n message: string | unknown,\n type = 'text',\n newline = true\n) {\n const handler = storage.session.getPrintHandler();\n if (handler) {\n handler(message, type, newline);\n }\n}\n\n/**\n * Handles verbose output. The caller decides and implements how\n * the messages are handled, by implementing the handler function\n * on its side. Implementing and registering a `handler` is optional.\n *\n * @param {string | unknown} message The verbose output message\n */\nexport function verbose(message: string | object) {\n const handler = storage.session.getVerboseHandler();\n if (handler) {\n handler(message);\n }\n}\n\n/**\n * Handles debug output. The caller decides and implements how\n * the messages are handled, by implementing the handler function\n * on its side. Implementing and registering a `handler` is optional.\n *\n * @param {string | object} message The debug output message\n */\nexport function debug(message: string | object) {\n const handler = storage.session.getDebugHandler();\n if (handler) {\n handler(message);\n }\n}\n\n/**\n * Calls a callback on client to create a progress indicator.\n * The actual implementation of the indicator is left to the client\n * Two types of indicators are supported:\n * - determinate: should be used when the process completion rate\n * can be detected (example: progress bar showing percentage or count)\n * - indeterminate: used when progress isn’t detectable, or if\n * it’s not necessary to indicate how long an activity will take.\n * (example: spinner showing progress, but not quantifying the progress)\n *\n * Example:\n * [========================================] 100% | 49/49 | Analyzing journey - transactional_auth\n *\n * @param {Number} total The total number of entries to track progress for\n * @param {String} message optional progress bar message\n * @param {String} type optional type of progress indicator. default is 'determinate'\n *\n */\nexport function createProgressIndicator(\n total,\n message: string = null,\n type = 'determinate'\n) {\n const handler = storage.session.getCreateProgressHandler();\n if (handler) {\n handler(type, total, message);\n }\n}\n\n/**\n * Updates the progress indicator with new data/updated status.\n * @param {string} message optional message to show with the indicator\n *\n */\nexport function updateProgressIndicator(message: string = null) {\n const handler = storage.session.getUpdateProgressHandler();\n if (handler) {\n handler(message);\n }\n}\n\n/**\n * Stop and hide the progress indicator\n * @param {string} message optional message to show with the indicator\n * @param {string} status one of 'none', 'success', 'warn', 'fail'\n */\nexport function stopProgressIndicator(message: string = null, status = 'none') {\n const handler = storage.session.getStopProgressHandler();\n if (handler) {\n handler(message, status);\n }\n}\n\n/**\n * Create an empty table\n * @param {[String]} head header row as an array of strings\n * @returns {CliTable3} an empty table\n */\nexport function createTable(head) {\n return new Table({\n head,\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n}\n\n/**\n * Create a new key/value table\n * @returns {CliTable3} an empty key/value table\n */\nexport function createKeyValueTable() {\n return new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0 },\n wordWrap: true,\n });\n}\n\n/**\n * Helper function to determine the total depth of an object\n * @param {Object} object input object\n * @returns {Number} total depth of the input object\n */\nfunction getObjectDepth(object) {\n return Object(object) === object\n ? 1 + Math.max(-1, ...Object.values(object).map(getObjectDepth))\n : 0;\n}\n\n/**\n * Helper function to determine if an object has values\n * @param {Object} object input object\n * @returns {boolean} true of the object or any of its sub-objects contain values, false otherwise\n */\nfunction hasValues(object) {\n let has = false;\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n return true;\n }\n has = has || hasValues(object[key]);\n }\n return has;\n}\n\n/**\n * Helper function (recursive) to add rows to an object table\n * @param {Object} object object to render\n * @param {Number} depth total depth of initial object\n * @param {Number} level current level\n * @param {CliTable3} table the object table to add the rows to\n * @returns the updated object table\n */\nfunction addRows(object, depth, level, table, keyMap) {\n const space = ' ';\n const keys = Object.keys(object);\n for (const key of keys) {\n if (Object(object[key]) !== object[key]) {\n if (level === 1) {\n table.push([\n keyMap[key] ? keyMap[key]['brightCyan'] : key['brightCyan'],\n object[key],\n ]);\n } else {\n table.push([\n {\n hAlign: 'right',\n content: keyMap[key] ? keyMap[key]['gray'] : key['gray'],\n },\n object[key],\n ]);\n }\n }\n }\n for (const key of keys) {\n if (Object(object[key]) === object[key]) {\n // only print header if there are any values below\n if (hasValues(object[key])) {\n let indention = new Array(level).fill(space).join('');\n if (level < 3) indention = `\\n${indention}`;\n table.push([\n indention.concat(\n keyMap[key] ? keyMap[key]['brightCyan'] : key['brightCyan']\n ),\n '',\n ]);\n }\n // eslint-disable-next-line no-param-reassign\n table = addRows(object[key], depth, level + 1, table, keyMap);\n }\n }\n return table;\n}\n\n/**\n * Create and populate an object table from any JSON object. Use for describe commands.\n * @param {Object} object JSON object to create\n * @returns {CliTable3} a table that can be printed to the console\n */\nexport function createObjectTable(object, keyMap = {}) {\n // eslint-disable-next-line no-param-reassign\n const depth = getObjectDepth(object);\n // eslint-disable-next-line no-param-reassign\n const level = 0;\n // eslint-disable-next-line no-param-reassign\n const table = new Table({\n chars: {\n top: '',\n 'top-mid': '',\n 'top-left': '',\n 'top-right': '',\n bottom: '',\n 'bottom-mid': '',\n 'bottom-left': '',\n 'bottom-right': '',\n left: '',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n right: '',\n 'right-mid': '',\n },\n style: { 'padding-left': 0, 'padding-right': 0, head: ['brightCyan'] },\n });\n addRows(object, depth, level + 1, table, keyMap);\n return table;\n}\n"],"mappings":"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"}
@@ -63,8 +63,14 @@ var _default = {
63
63
  getPrintHandler: () => _sessionStorage['printHandler'],
64
64
  setErrorHandler: errorHandler => _sessionStorage['errorHandler'] = errorHandler,
65
65
  getErrorHandler: () => _sessionStorage['errorHandler'],
66
+ setVerboseHandler: verboseHandler => _sessionStorage['verboseHandler'] = verboseHandler,
67
+ getVerboseHandler: () => _sessionStorage['verboseHandler'],
68
+ setVerbose: verbose => _sessionStorage['verbose'] = verbose,
69
+ getVerbose: () => _sessionStorage['verbose'],
66
70
  setDebugHandler: debugHandler => _sessionStorage['debugHandler'] = debugHandler,
67
71
  getDebugHandler: () => _sessionStorage['debugHandler'],
72
+ setDebug: debug => _sessionStorage['debug'] = debug,
73
+ getDebug: () => _sessionStorage['debug'],
68
74
  setCreateProgressHandler: handler => _sessionStorage['createProgressHandler'] = handler,
69
75
  getCreateProgressHandler: () => _sessionStorage['createProgressHandler'],
70
76
  setUpdateProgressHandler: handler => _sessionStorage['updateProgressHandler'] = handler,
@@ -1 +1 @@
1
- {"version":3,"file":"SessionStorage.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","_sessionStorage","authenticationHeaderOverrides","session","setItem","key","value","getItem","removeItem","raw","setUsername","getUsername","setPassword","getPassword","setTenant","getTenant","setDeploymentType","getDeploymentType","setRealm","getRealm","setCookieName","getCookieName","setCookieValue","getCookieValue","setAuthenticationService","getAuthenticationService","setAuthenticationHeaderOverrides","getAuthenticationHeaderOverrides","setBearerToken","getBearerToken","setLogApiKey","getLogApiKey","setLogApiSecret","getLogApiSecret","setAmVersion","getAmVersion","setFrodoVersion","getFrodoVersion","version","process","setAllowInsecureConnection","getAllowInsecureConnection","setConnectionProfilesPath","getConnectionProfilesPath","setMasterKeyPath","getMasterKeyPath","setPrintHandler","printHandler","getPrintHandler","setErrorHandler","errorHandler","getErrorHandler","setDebugHandler","debugHandler","getDebugHandler","setCreateProgressHandler","handler","getCreateProgressHandler","setUpdateProgressHandler","getUpdateProgressHandler","setStopProgressHandler","getStopProgressHandler"],"sources":["storage/SessionStorage.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nconst _sessionStorage = {\n authenticationHeaderOverrides: {},\n};\n\nexport default {\n session: {\n setItem: (key, value) => (_sessionStorage[key] = value),\n getItem: (key) => _sessionStorage[key],\n removeItem: (key) => delete _sessionStorage[key],\n raw: _sessionStorage,\n setUsername: (value) => (_sessionStorage['username'] = value),\n getUsername: () => _sessionStorage['username'],\n setPassword: (value) => (_sessionStorage['password'] = value),\n getPassword: () => _sessionStorage['password'],\n setTenant: (value) => (_sessionStorage['tenant'] = value),\n getTenant: () => _sessionStorage['tenant'],\n setDeploymentType: (value) => (_sessionStorage['deploymentType'] = value),\n getDeploymentType: () => _sessionStorage['deploymentType'],\n setRealm: (value) => (_sessionStorage['realm'] = value),\n getRealm: () => _sessionStorage['realm'],\n setCookieName: (value) => (_sessionStorage['cookieName'] = value),\n getCookieName: () => _sessionStorage['cookieName'],\n setCookieValue: (value) => (_sessionStorage['cookieValue'] = value),\n getCookieValue: () => _sessionStorage['cookieValue'],\n setAuthenticationService: (value) =>\n (_sessionStorage['authenticationService'] = value),\n getAuthenticationService: () => _sessionStorage['authenticationService'],\n setAuthenticationHeaderOverrides: (value) =>\n (_sessionStorage['authenticationHeaderOverrides'] = value),\n getAuthenticationHeaderOverrides: () =>\n _sessionStorage['authenticationHeaderOverrides'],\n setBearerToken: (value) => (_sessionStorage['bearerToken'] = value),\n getBearerToken: () => _sessionStorage['bearerToken'],\n setLogApiKey: (value) => (_sessionStorage['logApiKey'] = value),\n getLogApiKey: () => _sessionStorage['logApiKey'],\n setLogApiSecret: (value) => (_sessionStorage['logApiSecret'] = value),\n getLogApiSecret: () => _sessionStorage['logApiSecret'],\n setAmVersion: (value) => (_sessionStorage['amVersion'] = value),\n getAmVersion: () => _sessionStorage['amVersion'],\n setFrodoVersion: (value) => (_sessionStorage['frodoVersion'] = value),\n getFrodoVersion: () =>\n _sessionStorage['frodoVersion'] || `v${pkg.version} [${process.version}]`,\n setAllowInsecureConnection: (value) =>\n (_sessionStorage['insecure'] = value),\n getAllowInsecureConnection: () => _sessionStorage['insecure'],\n setConnectionProfilesPath: (value) =>\n (_sessionStorage['connectionProfilesPath'] = value),\n getConnectionProfilesPath: () => _sessionStorage['connectionProfilesPath'],\n setMasterKeyPath: (value) => (_sessionStorage['masterKeyPath'] = value),\n getMasterKeyPath: () => _sessionStorage['masterKeyPath'],\n setPrintHandler: (printHandler) =>\n (_sessionStorage['printHandler'] = printHandler),\n getPrintHandler: () => _sessionStorage['printHandler'],\n setErrorHandler: (errorHandler) =>\n (_sessionStorage['errorHandler'] = errorHandler),\n getErrorHandler: () => _sessionStorage['errorHandler'],\n setDebugHandler: (debugHandler) =>\n (_sessionStorage['debugHandler'] = debugHandler),\n getDebugHandler: () => _sessionStorage['debugHandler'],\n setCreateProgressHandler: (handler) =>\n (_sessionStorage['createProgressHandler'] = handler),\n getCreateProgressHandler: () => _sessionStorage['createProgressHandler'],\n setUpdateProgressHandler: (handler) =>\n (_sessionStorage['updateProgressHandler'] = handler),\n getUpdateProgressHandler: () => _sessionStorage['updateProgressHandler'],\n setStopProgressHandler: (handler) =>\n (_sessionStorage['stopProgressHandler'] = handler),\n getStopProgressHandler: () => _sessionStorage['stopProgressHandler'],\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"SessionStorage.js","names":["__dirname","path","dirname","fileURLToPath","pkg","JSON","parse","fs","readFileSync","resolve","_sessionStorage","authenticationHeaderOverrides","session","setItem","key","value","getItem","removeItem","raw","setUsername","getUsername","setPassword","getPassword","setTenant","getTenant","setDeploymentType","getDeploymentType","setRealm","getRealm","setCookieName","getCookieName","setCookieValue","getCookieValue","setAuthenticationService","getAuthenticationService","setAuthenticationHeaderOverrides","getAuthenticationHeaderOverrides","setBearerToken","getBearerToken","setLogApiKey","getLogApiKey","setLogApiSecret","getLogApiSecret","setAmVersion","getAmVersion","setFrodoVersion","getFrodoVersion","version","process","setAllowInsecureConnection","getAllowInsecureConnection","setConnectionProfilesPath","getConnectionProfilesPath","setMasterKeyPath","getMasterKeyPath","setPrintHandler","printHandler","getPrintHandler","setErrorHandler","errorHandler","getErrorHandler","setVerboseHandler","verboseHandler","getVerboseHandler","setVerbose","verbose","getVerbose","setDebugHandler","debugHandler","getDebugHandler","setDebug","debug","getDebug","setCreateProgressHandler","handler","getCreateProgressHandler","setUpdateProgressHandler","getUpdateProgressHandler","setStopProgressHandler","getStopProgressHandler"],"sources":["storage/SessionStorage.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { fileURLToPath } from 'url';\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nconst pkg = JSON.parse(\n fs.readFileSync(path.resolve(__dirname, '../../package.json'), 'utf8')\n);\n\nconst _sessionStorage = {\n authenticationHeaderOverrides: {},\n};\n\nexport default {\n session: {\n setItem: (key, value) => (_sessionStorage[key] = value),\n getItem: (key) => _sessionStorage[key],\n removeItem: (key) => delete _sessionStorage[key],\n raw: _sessionStorage,\n setUsername: (value) => (_sessionStorage['username'] = value),\n getUsername: () => _sessionStorage['username'],\n setPassword: (value) => (_sessionStorage['password'] = value),\n getPassword: () => _sessionStorage['password'],\n setTenant: (value) => (_sessionStorage['tenant'] = value),\n getTenant: () => _sessionStorage['tenant'],\n setDeploymentType: (value) => (_sessionStorage['deploymentType'] = value),\n getDeploymentType: () => _sessionStorage['deploymentType'],\n setRealm: (value) => (_sessionStorage['realm'] = value),\n getRealm: () => _sessionStorage['realm'],\n setCookieName: (value) => (_sessionStorage['cookieName'] = value),\n getCookieName: () => _sessionStorage['cookieName'],\n setCookieValue: (value) => (_sessionStorage['cookieValue'] = value),\n getCookieValue: () => _sessionStorage['cookieValue'],\n setAuthenticationService: (value) =>\n (_sessionStorage['authenticationService'] = value),\n getAuthenticationService: () => _sessionStorage['authenticationService'],\n setAuthenticationHeaderOverrides: (value) =>\n (_sessionStorage['authenticationHeaderOverrides'] = value),\n getAuthenticationHeaderOverrides: () =>\n _sessionStorage['authenticationHeaderOverrides'],\n setBearerToken: (value) => (_sessionStorage['bearerToken'] = value),\n getBearerToken: () => _sessionStorage['bearerToken'],\n setLogApiKey: (value) => (_sessionStorage['logApiKey'] = value),\n getLogApiKey: () => _sessionStorage['logApiKey'],\n setLogApiSecret: (value) => (_sessionStorage['logApiSecret'] = value),\n getLogApiSecret: () => _sessionStorage['logApiSecret'],\n setAmVersion: (value) => (_sessionStorage['amVersion'] = value),\n getAmVersion: () => _sessionStorage['amVersion'],\n setFrodoVersion: (value) => (_sessionStorage['frodoVersion'] = value),\n getFrodoVersion: () =>\n _sessionStorage['frodoVersion'] || `v${pkg.version} [${process.version}]`,\n setAllowInsecureConnection: (value) =>\n (_sessionStorage['insecure'] = value),\n getAllowInsecureConnection: () => _sessionStorage['insecure'],\n setConnectionProfilesPath: (value) =>\n (_sessionStorage['connectionProfilesPath'] = value),\n getConnectionProfilesPath: () => _sessionStorage['connectionProfilesPath'],\n setMasterKeyPath: (value) => (_sessionStorage['masterKeyPath'] = value),\n getMasterKeyPath: () => _sessionStorage['masterKeyPath'],\n setPrintHandler: (printHandler) =>\n (_sessionStorage['printHandler'] = printHandler),\n getPrintHandler: () => _sessionStorage['printHandler'],\n setErrorHandler: (errorHandler) =>\n (_sessionStorage['errorHandler'] = errorHandler),\n getErrorHandler: () => _sessionStorage['errorHandler'],\n setVerboseHandler: (verboseHandler) =>\n (_sessionStorage['verboseHandler'] = verboseHandler),\n getVerboseHandler: () => _sessionStorage['verboseHandler'],\n setVerbose: (verbose: boolean) => (_sessionStorage['verbose'] = verbose),\n getVerbose: (): boolean => _sessionStorage['verbose'],\n setDebugHandler: (debugHandler) =>\n (_sessionStorage['debugHandler'] = debugHandler),\n getDebugHandler: () => _sessionStorage['debugHandler'],\n setDebug: (debug: boolean) => (_sessionStorage['debug'] = debug),\n getDebug: (): boolean => _sessionStorage['debug'],\n setCreateProgressHandler: (handler) =>\n (_sessionStorage['createProgressHandler'] = handler),\n getCreateProgressHandler: () => _sessionStorage['createProgressHandler'],\n setUpdateProgressHandler: (handler) =>\n (_sessionStorage['updateProgressHandler'] = handler),\n getUpdateProgressHandler: () => _sessionStorage['updateProgressHandler'],\n setStopProgressHandler: (handler) =>\n (_sessionStorage['stopProgressHandler'] = handler),\n getStopProgressHandler: () => _sessionStorage['stopProgressHandler'],\n },\n};\n"],"mappings":"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"}
@@ -330,10 +330,11 @@ function mockListAllConfigEntities(mock) {
330
330
  }
331
331
 
332
332
  function mockGetConfigEntity(mock) {
333
+ var variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
333
334
  mock.onGet(/.*?\/openidm\/config\/.+/).reply(function (config) {
334
335
  var entityId = config.url ? config.url.substring(config.url.indexOf('/config/') + 8) : '';
335
336
  var mockStatus = 200;
336
- var mockResponse = JSON.parse(_fs.default.readFileSync(_path.default.resolve(_dirname, "./IdmConfigApi/getConfigEntity/".concat(entityId, ".json")), 'utf8'));
337
+ var mockResponse = JSON.parse(_fs.default.readFileSync(_path.default.resolve(_dirname, "./IdmConfigApi/getConfigEntity/".concat(variation ? entityId + '-' + variation : entityId, ".json")), 'utf8'));
337
338
  expect(mockResponse._id).toBe(entityId);
338
339
  return [mockStatus, mockResponse];
339
340
  });