auth0-deploy-cli 7.3.6 → 7.5.0

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 (113) hide show
  1. package/.circleci/config.yml +15 -0
  2. package/.github/CODEOWNERS +1 -0
  3. package/.husky/pre-commit +6 -0
  4. package/.husky/pre-push +4 -0
  5. package/.nyc_output/60b76a45-577b-4171-9982-a8e836ab7fd6.json +1 -0
  6. package/.nyc_output/processinfo/60b76a45-577b-4171-9982-a8e836ab7fd6.json +1 -0
  7. package/.nyc_output/processinfo/index.json +1 -1
  8. package/CHANGELOG.md +35 -2
  9. package/lib/args.js +89 -81
  10. package/lib/commands/export.js +51 -77
  11. package/lib/commands/import.js +45 -69
  12. package/lib/commands/index.js +11 -20
  13. package/lib/configFactory.js +19 -27
  14. package/lib/context/defaults.js +18 -41
  15. package/lib/context/directory/handlers/actions.js +77 -107
  16. package/lib/context/directory/handlers/attackProtection.js +59 -0
  17. package/lib/context/directory/handlers/clientGrants.js +45 -54
  18. package/lib/context/directory/handlers/clients.js +60 -79
  19. package/lib/context/directory/handlers/connections.js +65 -89
  20. package/lib/context/directory/handlers/databases.js +91 -123
  21. package/lib/context/directory/handlers/emailProvider.js +46 -57
  22. package/lib/context/directory/handlers/emailTemplates.js +67 -80
  23. package/lib/context/directory/handlers/guardianFactorProviders.js +41 -49
  24. package/lib/context/directory/handlers/guardianFactorTemplates.js +41 -49
  25. package/lib/context/directory/handlers/guardianFactors.js +41 -49
  26. package/lib/context/directory/handlers/guardianPhoneFactorMessageTypes.js +40 -50
  27. package/lib/context/directory/handlers/guardianPhoneFactorSelectedProvider.js +40 -50
  28. package/lib/context/directory/handlers/guardianPolicies.js +40 -50
  29. package/lib/context/directory/handlers/hooks.js +55 -70
  30. package/lib/context/directory/handlers/index.js +53 -123
  31. package/lib/context/directory/handlers/migrations.js +36 -41
  32. package/lib/context/directory/handlers/organizations.js +54 -69
  33. package/lib/context/directory/handlers/pages.js +72 -86
  34. package/lib/context/directory/handlers/resourceServers.js +41 -49
  35. package/lib/context/directory/handlers/roles.js +49 -62
  36. package/lib/context/directory/handlers/rules.js +52 -68
  37. package/lib/context/directory/handlers/rulesConfigs.js +33 -32
  38. package/lib/context/directory/handlers/tenant.js +52 -47
  39. package/lib/context/directory/handlers/triggers.js +39 -54
  40. package/lib/context/directory/index.js +113 -101
  41. package/lib/context/index.js +96 -105
  42. package/lib/context/yaml/handlers/actions.js +71 -88
  43. package/lib/context/yaml/handlers/attackProtection.js +29 -0
  44. package/lib/context/yaml/handlers/clientGrants.js +36 -29
  45. package/lib/context/yaml/handlers/clients.js +61 -76
  46. package/lib/context/yaml/handlers/connections.js +76 -103
  47. package/lib/context/yaml/handlers/databases.js +64 -79
  48. package/lib/context/yaml/handlers/emailProvider.js +33 -30
  49. package/lib/context/yaml/handlers/emailTemplates.js +45 -54
  50. package/lib/context/yaml/handlers/guardianFactorProviders.js +27 -18
  51. package/lib/context/yaml/handlers/guardianFactorTemplates.js +27 -18
  52. package/lib/context/yaml/handlers/guardianFactors.js +27 -18
  53. package/lib/context/yaml/handlers/guardianPhoneFactorMessageTypes.js +27 -20
  54. package/lib/context/yaml/handlers/guardianPhoneFactorSelectedProvider.js +27 -20
  55. package/lib/context/yaml/handlers/guardianPolicies.js +27 -20
  56. package/lib/context/yaml/handlers/hooks.js +57 -67
  57. package/lib/context/yaml/handlers/index.js +53 -123
  58. package/lib/context/yaml/handlers/migrations.js +23 -24
  59. package/lib/context/yaml/handlers/organizations.js +40 -38
  60. package/lib/context/yaml/handlers/pages.js +49 -58
  61. package/lib/context/yaml/handlers/resourceServers.js +27 -18
  62. package/lib/context/yaml/handlers/roles.js +34 -24
  63. package/lib/context/yaml/handlers/rules.js +48 -58
  64. package/lib/context/yaml/handlers/rulesConfigs.js +27 -18
  65. package/lib/context/yaml/handlers/tenant.js +44 -30
  66. package/lib/context/yaml/handlers/triggers.js +32 -23
  67. package/lib/context/yaml/index.js +127 -142
  68. package/lib/index.js +73 -79
  69. package/lib/logger.js +18 -22
  70. package/lib/readonly.js +74 -66
  71. package/lib/tools/ValidationError.js +8 -13
  72. package/lib/tools/auth0/client.js +143 -133
  73. package/lib/tools/auth0/handlers/actions.js +231 -241
  74. package/lib/tools/auth0/handlers/attackProtection.js +86 -0
  75. package/lib/tools/auth0/handlers/branding.js +47 -46
  76. package/lib/tools/auth0/handlers/clientGrants.js +118 -116
  77. package/lib/tools/auth0/handlers/clients.js +72 -90
  78. package/lib/tools/auth0/handlers/connections.js +150 -118
  79. package/lib/tools/auth0/handlers/databases.js +127 -124
  80. package/lib/tools/auth0/handlers/default.js +186 -189
  81. package/lib/tools/auth0/handlers/emailProvider.js +67 -78
  82. package/lib/tools/auth0/handlers/emailTemplates.js +116 -92
  83. package/lib/tools/auth0/handlers/guardianFactorProviders.js +66 -81
  84. package/lib/tools/auth0/handlers/guardianFactorTemplates.js +60 -71
  85. package/lib/tools/auth0/handlers/guardianFactors.js +56 -63
  86. package/lib/tools/auth0/handlers/guardianPhoneFactorMessageTypes.js +80 -79
  87. package/lib/tools/auth0/handlers/guardianPhoneFactorSelectedProvider.js +77 -76
  88. package/lib/tools/auth0/handlers/guardianPolicies.js +59 -62
  89. package/lib/tools/auth0/handlers/hooks.js +201 -227
  90. package/lib/tools/auth0/handlers/index.js +53 -111
  91. package/lib/tools/auth0/handlers/migrations.js +99 -79
  92. package/lib/tools/auth0/handlers/organizations.js +225 -247
  93. package/lib/tools/auth0/handlers/pages.js +116 -154
  94. package/lib/tools/auth0/handlers/prompts.js +47 -46
  95. package/lib/tools/auth0/handlers/resourceServers.js +88 -112
  96. package/lib/tools/auth0/handlers/roles.js +203 -220
  97. package/lib/tools/auth0/handlers/rules.js +168 -189
  98. package/lib/tools/auth0/handlers/rulesConfigs.js +54 -63
  99. package/lib/tools/auth0/handlers/tenant.js +88 -64
  100. package/lib/tools/auth0/handlers/triggers.js +126 -126
  101. package/lib/tools/auth0/index.js +92 -85
  102. package/lib/tools/auth0/schema.js +39 -31
  103. package/lib/tools/constants.js +111 -21
  104. package/lib/tools/deploy.js +35 -32
  105. package/lib/tools/index.js +19 -32
  106. package/lib/tools/logger.js +11 -12
  107. package/lib/tools/utils.js +258 -254
  108. package/lib/utils.js +167 -190
  109. package/package.json +6 -3
  110. package/tsconfig.json +96 -0
  111. package/typescript-migration-progress.sh +22 -0
  112. package/.nyc_output/8cf4dd0c-1f3a-4ac1-899c-8e453a64221e.json +0 -1
  113. package/.nyc_output/processinfo/8cf4dd0c-1f3a-4ac1-899c-8e453a64221e.json +0 -1
@@ -1,98 +1,81 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _path = require("path");
8
-
9
- var _path2 = _interopRequireDefault(_path);
10
-
11
- var _fsExtra = require("fs-extra");
12
-
13
- var _fsExtra2 = _interopRequireDefault(_fsExtra);
14
-
15
- var _tools = require("../../../tools");
16
-
17
- var _utils = require("../../../utils");
18
-
19
- var _logger = require("../../../logger");
20
-
21
- var _logger2 = _interopRequireDefault(_logger);
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /* eslint-disable consistent-return */
16
+ const path_1 = __importDefault(require("path"));
17
+ const fs_extra_1 = __importDefault(require("fs-extra"));
18
+ const tools_1 = require("../../../tools");
19
+ const utils_1 = require("../../../utils");
20
+ const logger_1 = __importDefault(require("../../../logger"));
25
21
  function parseCode(context, code) {
26
- if (code) {
27
- return context.loadFile(code, _tools.constants.ACTIONS_DIRECTORY);
28
- }
22
+ if (code) {
23
+ return context.loadFile(code, tools_1.constants.ACTIONS_DIRECTORY);
24
+ }
29
25
  }
30
-
31
- async function parse(context) {
32
- if (!context.assets.actions) return [];
33
- const actions = {
34
- actions: [...context.assets.actions.map(action => ({ ...action,
35
- code: parseCode(context, action.code)
36
- }))]
37
- };
38
- return actions;
26
+ function parse(context) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ // Load the script file for each action
29
+ if (!context.assets.actions)
30
+ return [];
31
+ const actions = {
32
+ actions: [
33
+ ...context.assets.actions.map((action) => (Object.assign(Object.assign({}, action), { code: parseCode(context, action.code) })))
34
+ ]
35
+ };
36
+ return actions;
37
+ });
39
38
  }
40
-
41
39
  function mapSecrets(secrets) {
42
- if (secrets && secrets.length > 0) {
43
- return secrets.map(secret => ({
44
- name: secret.name,
45
- value: secret.value
46
- }));
47
- }
48
-
49
- return [];
40
+ if (secrets && secrets.length > 0) {
41
+ return secrets.map((secret) => ({ name: secret.name, value: secret.value }));
42
+ }
43
+ return [];
50
44
  }
51
-
52
45
  function mapActionCode(basePath, action) {
53
- const {
54
- code
55
- } = action;
56
-
57
- if (!code) {
58
- return '';
59
- }
60
-
61
- const actionName = (0, _utils.sanitize)(action.name);
62
-
63
- const actionVersionsFolder = _path2.default.join(basePath, _tools.constants.ACTIONS_DIRECTORY, actionName);
64
-
65
- _fsExtra2.default.ensureDirSync(actionVersionsFolder);
66
-
67
- const codeFile = _path2.default.join(actionVersionsFolder, 'code.js');
68
-
69
- _logger2.default.info(`Writing ${codeFile}`);
70
-
71
- _fsExtra2.default.writeFileSync(codeFile, code);
72
-
73
- return `./${_tools.constants.ACTIONS_DIRECTORY}/${actionName}/code.js`;
46
+ const { code } = action;
47
+ if (!code) {
48
+ return '';
49
+ }
50
+ const actionName = (0, utils_1.sanitize)(action.name);
51
+ const actionVersionsFolder = path_1.default.join(basePath, tools_1.constants.ACTIONS_DIRECTORY, actionName);
52
+ fs_extra_1.default.ensureDirSync(actionVersionsFolder);
53
+ const codeFile = path_1.default.join(actionVersionsFolder, 'code.js');
54
+ logger_1.default.info(`Writing ${codeFile}`);
55
+ fs_extra_1.default.writeFileSync(codeFile, code);
56
+ return `./${tools_1.constants.ACTIONS_DIRECTORY}/${actionName}/code.js`;
74
57
  }
75
-
76
- async function dump(context) {
77
- const {
78
- actions
79
- } = context.assets;
80
- if (!actions) return;
81
- return {
82
- actions: actions.map(action => ({
83
- name: action.name,
84
- deployed: action.deployed || action.all_changes_deployed,
85
- code: mapActionCode(context.basePath, action),
86
- runtime: action.runtime,
87
- dependencies: action.dependencies || [],
88
- status: action.status,
89
- secrets: mapSecrets(action.secrets),
90
- supported_triggers: action.supported_triggers
91
- }))
92
- };
58
+ function dump(context) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const { actions } = context.assets;
61
+ // Nothing to do
62
+ if (!actions)
63
+ return;
64
+ return {
65
+ actions: actions.map((action) => ({
66
+ name: action.name,
67
+ deployed: action.deployed || action.all_changes_deployed,
68
+ code: mapActionCode(context.basePath, action),
69
+ runtime: action.runtime,
70
+ dependencies: action.dependencies || [],
71
+ status: action.status,
72
+ secrets: mapSecrets(action.secrets),
73
+ supported_triggers: action.supported_triggers
74
+ }))
75
+ };
76
+ });
93
77
  }
94
-
95
78
  exports.default = {
96
- parse,
97
- dump
98
- };
79
+ parse,
80
+ dump
81
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ function parse(context) {
13
+ return __awaiter(this, void 0, void 0, function* () {
14
+ return {
15
+ attackProtection: context.assets.attackProtection || {}
16
+ };
17
+ });
18
+ }
19
+ function dump(context) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ return {
22
+ attackProtection: context.assets.attackProtection || {}
23
+ };
24
+ });
25
+ }
26
+ exports.default = {
27
+ parse,
28
+ dump
29
+ };
@@ -1,33 +1,40 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _utils = require("../../../utils");
8
-
9
- async function parse(context) {
10
- return {
11
- clientGrants: context.assets.clientGrants
12
- };
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const utils_1 = require("../../../utils");
13
+ function parse(context) {
14
+ return __awaiter(this, void 0, void 0, function* () {
15
+ // nothing to do, set default empty
16
+ return {
17
+ clientGrants: context.assets.clientGrants
18
+ };
19
+ });
13
20
  }
14
-
15
- async function dump(context) {
16
- const {
17
- clientGrants
18
- } = context.assets;
19
- if (!clientGrants) return {};
20
- return {
21
- clientGrants: clientGrants.map(grant => {
22
- const dumpGrant = { ...grant
23
- };
24
- dumpGrant.client_id = (0, _utils.convertClientIdToName)(dumpGrant.client_id, context.assets.clients);
25
- return dumpGrant;
26
- })
27
- };
21
+ function dump(context) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const { clientGrants } = context.assets;
24
+ // Nothing to do
25
+ if (!clientGrants)
26
+ return {};
27
+ // Convert client_id to the client name for readability
28
+ return {
29
+ clientGrants: clientGrants.map((grant) => {
30
+ const dumpGrant = Object.assign({}, grant);
31
+ dumpGrant.client_id = (0, utils_1.convertClientIdToName)(dumpGrant.client_id, context.assets.clients);
32
+ return dumpGrant;
33
+ })
34
+ };
35
+ });
28
36
  }
29
-
30
37
  exports.default = {
31
- parse,
32
- dump
33
- };
38
+ parse,
39
+ dump
40
+ };
@@ -1,81 +1,66 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _path = require("path");
8
-
9
- var _path2 = _interopRequireDefault(_path);
10
-
11
- var _fsExtra = require("fs-extra");
12
-
13
- var _fsExtra2 = _interopRequireDefault(_fsExtra);
14
-
15
- var _tools = require("../../../tools");
16
-
17
- var _logger = require("../../../logger");
18
-
19
- var _logger2 = _interopRequireDefault(_logger);
20
-
21
- var _utils = require("../../../utils");
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
25
- async function parse(context) {
26
- const {
27
- clients
28
- } = context.assets;
29
-
30
- const clientsFolder = _path2.default.join(context.basePath, _tools.constants.CLIENTS_DIRECTORY);
31
-
32
- if (!clients || !clients.length) {
33
- return {
34
- clients: context.assets.clients
35
- };
36
- }
37
-
38
- return {
39
- clients: [...clients.map(client => {
40
- if (client.custom_login_page) {
41
- const htmlFileName = _path2.default.join(clientsFolder, client.custom_login_page);
42
-
43
- if ((0, _utils.isFile)(htmlFileName)) {
44
- client.custom_login_page = context.loadFile(htmlFileName);
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const path_1 = __importDefault(require("path"));
16
+ const fs_extra_1 = __importDefault(require("fs-extra"));
17
+ const tools_1 = require("../../../tools");
18
+ const logger_1 = __importDefault(require("../../../logger"));
19
+ const utils_1 = require("../../../utils");
20
+ function parse(context) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ // Load the HTML file for custom_login_page
23
+ const { clients } = context.assets;
24
+ const clientsFolder = path_1.default.join(context.basePath, tools_1.constants.CLIENTS_DIRECTORY);
25
+ if (!clients || !clients.length) {
26
+ return { clients: context.assets.clients };
45
27
  }
46
- }
47
-
48
- return client;
49
- })]
50
- };
28
+ return {
29
+ clients: [
30
+ ...clients.map((client) => {
31
+ if (client.custom_login_page) {
32
+ const htmlFileName = path_1.default.join(clientsFolder, client.custom_login_page);
33
+ if ((0, utils_1.isFile)(htmlFileName)) {
34
+ client.custom_login_page = context.loadFile(htmlFileName);
35
+ }
36
+ }
37
+ return client;
38
+ })
39
+ ]
40
+ };
41
+ });
51
42
  }
52
-
53
- async function dump(context) {
54
- const clientsFolder = _path2.default.join(context.basePath, _tools.constants.CLIENTS_DIRECTORY);
55
-
56
- return {
57
- clients: [...context.assets.clients.map(client => {
58
- if (client.custom_login_page) {
59
- const clientName = (0, _utils.sanitize)(client.name);
60
- const html = client.custom_login_page;
61
-
62
- const customLoginHtml = _path2.default.join(clientsFolder, `${clientName}_custom_login_page.html`);
63
-
64
- _logger2.default.info(`Writing ${customLoginHtml}`);
65
-
66
- _fsExtra2.default.ensureDirSync(clientsFolder);
67
-
68
- _fsExtra2.default.writeFileSync(customLoginHtml, html);
69
-
70
- client.custom_login_page = `./${clientName}_custom_login_page.html`;
71
- }
72
-
73
- return (0, _utils.clearClientArrays)(client);
74
- })]
75
- };
43
+ function dump(context) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ // Save custom_login_page to a separate html file
46
+ const clientsFolder = path_1.default.join(context.basePath, tools_1.constants.CLIENTS_DIRECTORY);
47
+ return {
48
+ clients: [...context.assets.clients.map((client) => {
49
+ if (client.custom_login_page) {
50
+ const clientName = (0, utils_1.sanitize)(client.name);
51
+ const html = client.custom_login_page;
52
+ const customLoginHtml = path_1.default.join(clientsFolder, `${clientName}_custom_login_page.html`);
53
+ logger_1.default.info(`Writing ${customLoginHtml}`);
54
+ fs_extra_1.default.ensureDirSync(clientsFolder);
55
+ fs_extra_1.default.writeFileSync(customLoginHtml, html);
56
+ client.custom_login_page = `./${clientName}_custom_login_page.html`;
57
+ }
58
+ return (0, utils_1.clearClientArrays)(client);
59
+ })]
60
+ };
61
+ });
76
62
  }
77
-
78
63
  exports.default = {
79
- parse,
80
- dump
81
- };
64
+ parse,
65
+ dump
66
+ };
@@ -1,110 +1,83 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- var _path = require("path");
8
-
9
- var _path2 = _interopRequireDefault(_path);
10
-
11
- var _fsExtra = require("fs-extra");
12
-
13
- var _fsExtra2 = _interopRequireDefault(_fsExtra);
14
-
15
- var _tools = require("../../../tools");
16
-
17
- var _logger = require("../../../logger");
18
-
19
- var _logger2 = _interopRequireDefault(_logger);
20
-
21
- var _utils = require("../../../utils");
22
-
23
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
-
25
- async function parse(context) {
26
- const {
27
- connections
28
- } = context.assets;
29
-
30
- const connectionsFolder = _path2.default.join(context.basePath, _tools.constants.CONNECTIONS_DIRECTORY);
31
-
32
- if (!connections || !connections.length) {
33
- return {
34
- connections: context.assets.connections
35
- };
36
- }
37
-
38
- return {
39
- connections: [...connections.map(connection => {
40
- if (connection.strategy === 'email') {
41
- (0, _utils.ensureProp)(connection, 'options.email.body');
42
-
43
- const htmlFileName = _path2.default.join(connectionsFolder, connection.options.email.body);
44
-
45
- if ((0, _utils.isFile)(htmlFileName)) {
46
- connection.options.email.body = context.loadFile(htmlFileName);
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const path_1 = __importDefault(require("path"));
16
+ const fs_extra_1 = __importDefault(require("fs-extra"));
17
+ const tools_1 = require("../../../tools");
18
+ const logger_1 = __importDefault(require("../../../logger"));
19
+ const utils_1 = require("../../../utils");
20
+ function parse(context) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ // Load the HTML file for email connections
23
+ const { connections } = context.assets;
24
+ const connectionsFolder = path_1.default.join(context.basePath, tools_1.constants.CONNECTIONS_DIRECTORY);
25
+ if (!connections || !connections.length) {
26
+ return { connections: context.assets.connections };
47
27
  }
48
- }
49
-
50
- return connection;
51
- })]
52
- };
28
+ return {
29
+ connections: [
30
+ ...connections.map((connection) => {
31
+ if (connection.strategy === 'email') {
32
+ (0, utils_1.ensureProp)(connection, 'options.email.body');
33
+ const htmlFileName = path_1.default.join(connectionsFolder, connection.options.email.body);
34
+ if ((0, utils_1.isFile)(htmlFileName)) {
35
+ connection.options.email.body = context.loadFile(htmlFileName);
36
+ }
37
+ }
38
+ return connection;
39
+ })
40
+ ]
41
+ };
42
+ });
53
43
  }
54
-
55
44
  const getFormattedOptions = (connection, clients) => {
56
- try {
57
- return {
58
- options: { ...connection.options,
59
- idpinitiated: { ...connection.options.idpinitiated,
60
- client_id: (0, _utils.convertClientIdToName)(connection.options.idpinitiated.client_id, clients)
61
- }
62
- }
63
- };
64
- } catch (e) {
65
- return {};
66
- }
45
+ try {
46
+ return {
47
+ options: Object.assign(Object.assign({}, connection.options), { idpinitiated: Object.assign(Object.assign({}, connection.options.idpinitiated), { client_id: (0, utils_1.convertClientIdToName)(connection.options.idpinitiated.client_id, clients) }) })
48
+ };
49
+ }
50
+ catch (e) {
51
+ return {};
52
+ }
67
53
  };
68
-
69
- async function dump(context) {
70
- const {
71
- connections
72
- } = context.assets;
73
- if (!connections) return {};
74
- return {
75
- connections: connections.map(connection => {
76
- const dumpedConnection = { ...connection,
77
- ...getFormattedOptions(connection, context.assets.clients),
78
- ...(connection.enabled_clients && {
79
- enabled_clients: (0, _utils.mapClientID2NameSorted)(connection.enabled_clients, context.assets.clients)
80
- })
81
- };
82
-
83
- if (dumpedConnection.strategy === 'email') {
84
- (0, _utils.ensureProp)(connection, 'options.email.body');
85
-
86
- const connectionsFolder = _path2.default.join(context.basePath, _tools.constants.CONNECTIONS_DIRECTORY);
87
-
88
- const connectionName = (0, _utils.sanitize)(dumpedConnection.name);
89
- const html = dumpedConnection.options.email.body;
90
-
91
- const emailConnectionHtml = _path2.default.join(connectionsFolder, `${connectionName}.html`);
92
-
93
- _logger2.default.info(`Writing ${emailConnectionHtml}`);
94
-
95
- _fsExtra2.default.ensureDirSync(connectionsFolder);
96
-
97
- _fsExtra2.default.writeFileSync(emailConnectionHtml, html);
98
-
99
- dumpedConnection.options.email.body = `./${connectionName}.html`;
100
- }
101
-
102
- return dumpedConnection;
103
- })
104
- };
54
+ function dump(context) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ const { connections } = context.assets;
57
+ // Nothing to do
58
+ if (!connections)
59
+ return {};
60
+ // nothing to do, set default if empty
61
+ return {
62
+ connections: connections.map((connection) => {
63
+ const dumpedConnection = Object.assign(Object.assign(Object.assign({}, connection), getFormattedOptions(connection, context.assets.clients)), (connection.enabled_clients && { enabled_clients: (0, utils_1.mapClientID2NameSorted)(connection.enabled_clients, context.assets.clients) }));
64
+ if (dumpedConnection.strategy === 'email') {
65
+ (0, utils_1.ensureProp)(connection, 'options.email.body');
66
+ const connectionsFolder = path_1.default.join(context.basePath, tools_1.constants.CONNECTIONS_DIRECTORY);
67
+ const connectionName = (0, utils_1.sanitize)(dumpedConnection.name);
68
+ const html = dumpedConnection.options.email.body;
69
+ const emailConnectionHtml = path_1.default.join(connectionsFolder, `${connectionName}.html`);
70
+ logger_1.default.info(`Writing ${emailConnectionHtml}`);
71
+ fs_extra_1.default.ensureDirSync(connectionsFolder);
72
+ fs_extra_1.default.writeFileSync(emailConnectionHtml, html);
73
+ dumpedConnection.options.email.body = `./${connectionName}.html`;
74
+ }
75
+ return dumpedConnection;
76
+ })
77
+ };
78
+ });
105
79
  }
106
-
107
80
  exports.default = {
108
- parse,
109
- dump
110
- };
81
+ parse,
82
+ dump
83
+ };