@rockcarver/frodo-lib 0.12.0 → 0.12.2-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 (223) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/cjs/api/AuthenticateApi.js +44 -14
  3. package/cjs/api/AuthenticateApi.js.map +1 -1
  4. package/cjs/api/BaseApi.js +171 -90
  5. package/cjs/api/BaseApi.js.map +1 -1
  6. package/cjs/api/CirclesOfTrustApi.js +87 -31
  7. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  8. package/cjs/api/EmailTemplateApi.js +48 -9
  9. package/cjs/api/EmailTemplateApi.js.map +1 -1
  10. package/cjs/api/IdmConfigApi.js +91 -25
  11. package/cjs/api/IdmConfigApi.js.map +1 -1
  12. package/cjs/api/LogApi.js +84 -29
  13. package/cjs/api/LogApi.js.map +1 -1
  14. package/cjs/api/ManagedObjectApi.js +66 -19
  15. package/cjs/api/ManagedObjectApi.js.map +1 -1
  16. package/cjs/api/NodeApi.js +190 -0
  17. package/cjs/api/NodeApi.js.map +1 -0
  18. package/cjs/api/NodeApi.test.js.map +1 -0
  19. package/cjs/api/OAuth2ClientApi.js +73 -27
  20. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  21. package/cjs/api/OAuth2OIDCApi.js +82 -31
  22. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  23. package/cjs/api/OAuth2ProviderApi.js +39 -14
  24. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  25. package/cjs/api/RealmApi.js +100 -36
  26. package/cjs/api/RealmApi.js.map +1 -1
  27. package/cjs/api/Saml2Api.js +162 -74
  28. package/cjs/api/Saml2Api.js.map +1 -1
  29. package/cjs/api/ScriptApi.js +84 -29
  30. package/cjs/api/ScriptApi.js.map +1 -1
  31. package/cjs/api/SecretsApi.js +188 -69
  32. package/cjs/api/SecretsApi.js.map +1 -1
  33. package/cjs/api/ServerInfoApi.js +48 -14
  34. package/cjs/api/ServerInfoApi.js.map +1 -1
  35. package/cjs/api/SocialIdentityProvidersApi.js +103 -37
  36. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  37. package/cjs/api/StartupApi.js +74 -26
  38. package/cjs/api/StartupApi.js.map +1 -1
  39. package/cjs/api/StartupApi.test.js.map +1 -0
  40. package/cjs/api/ThemeApi.js +188 -96
  41. package/cjs/api/ThemeApi.js.map +1 -1
  42. package/cjs/api/TreeApi.js +96 -113
  43. package/cjs/api/TreeApi.js.map +1 -1
  44. package/cjs/api/TreeApi.test.js.map +1 -0
  45. package/cjs/api/VariablesApi.js +106 -39
  46. package/cjs/api/VariablesApi.js.map +1 -1
  47. package/cjs/api/utils/ApiUtils.js +41 -21
  48. package/cjs/api/utils/ApiUtils.js.map +1 -1
  49. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  50. package/cjs/api/utils/Base64.js +35 -10
  51. package/cjs/api/utils/Base64.js.map +1 -1
  52. package/cjs/index.js +126 -41
  53. package/cjs/index.js.map +1 -1
  54. package/cjs/index.test.js.map +1 -1
  55. package/cjs/ops/AdminOps.js +649 -480
  56. package/cjs/ops/AdminOps.js.map +1 -1
  57. package/cjs/ops/AuthenticateOps.js +302 -211
  58. package/cjs/ops/AuthenticateOps.js.map +1 -1
  59. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  60. package/cjs/ops/CirclesOfTrustOps.js +356 -219
  61. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  62. package/cjs/ops/ConnectionProfileOps.js +200 -122
  63. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  64. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  65. package/cjs/ops/EmailTemplateOps.js +301 -192
  66. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  67. package/cjs/ops/IdmOps.js +190 -121
  68. package/cjs/ops/IdmOps.js.map +1 -1
  69. package/cjs/ops/IdpOps.js +327 -196
  70. package/cjs/ops/IdpOps.js.map +1 -1
  71. package/cjs/ops/JourneyOps.js +1402 -1131
  72. package/cjs/ops/JourneyOps.js.map +1 -1
  73. package/cjs/ops/LogOps.js +125 -75
  74. package/cjs/ops/LogOps.js.map +1 -1
  75. package/cjs/ops/ManagedObjectOps.js +43 -16
  76. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  77. package/cjs/ops/OAuth2ClientOps.js +155 -87
  78. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  79. package/cjs/ops/OrganizationOps.js +89 -56
  80. package/cjs/ops/OrganizationOps.js.map +1 -1
  81. package/cjs/ops/RealmOps.js +131 -83
  82. package/cjs/ops/RealmOps.js.map +1 -1
  83. package/cjs/ops/SamlOps.js +497 -331
  84. package/cjs/ops/SamlOps.js.map +1 -1
  85. package/cjs/ops/ScriptOps.js +215 -133
  86. package/cjs/ops/ScriptOps.js.map +1 -1
  87. package/cjs/ops/SecretsOps.js +269 -156
  88. package/cjs/ops/SecretsOps.js.map +1 -1
  89. package/cjs/ops/StartupOps.js +100 -75
  90. package/cjs/ops/StartupOps.js.map +1 -1
  91. package/cjs/ops/ThemeOps.js +373 -221
  92. package/cjs/ops/ThemeOps.js.map +1 -1
  93. package/cjs/ops/VariablesOps.js +168 -90
  94. package/cjs/ops/VariablesOps.js.map +1 -1
  95. package/cjs/ops/utils/Console.js +68 -33
  96. package/cjs/ops/utils/Console.js.map +1 -1
  97. package/cjs/ops/utils/DataProtection.js +100 -64
  98. package/cjs/ops/utils/DataProtection.js.map +1 -1
  99. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  100. package/cjs/ops/utils/ExportImportUtils.js +86 -47
  101. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  102. package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
  103. package/cjs/ops/utils/OpsUtils.js +47 -20
  104. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  105. package/cjs/ops/utils/Wordwrap.js +10 -2
  106. package/cjs/ops/utils/Wordwrap.js.map +1 -1
  107. package/cjs/storage/SessionStorage.js +20 -8
  108. package/cjs/storage/SessionStorage.js.map +1 -1
  109. package/cjs/storage/StaticStorage.js +26 -10
  110. package/cjs/storage/StaticStorage.js.map +1 -1
  111. package/esm/api/BaseApi.mjs +35 -7
  112. package/esm/api/NodeApi.mjs +114 -0
  113. package/esm/api/NodeApi.test.mjs +105 -0
  114. package/esm/api/StartupApi.mjs +18 -8
  115. package/esm/api/StartupApi.test.mjs +56 -0
  116. package/esm/api/TreeApi.mjs +27 -99
  117. package/esm/api/TreeApi.test.mjs +175 -0
  118. package/esm/index.mjs +7 -5
  119. package/esm/ops/IdpOps.mjs +1 -1
  120. package/esm/ops/JourneyOps.mjs +165 -154
  121. package/esm/ops/StartupOps.mjs +59 -62
  122. package/esm/ops/utils/Console.mjs +3 -2
  123. package/package.json +7 -4
  124. package/types/api/AuthenticateApi.d.ts +2 -0
  125. package/types/api/AuthenticateApi.d.ts.map +1 -0
  126. package/types/api/BaseApi.d.ts +50 -0
  127. package/types/api/BaseApi.d.ts.map +1 -0
  128. package/types/api/CirclesOfTrustApi.d.ts +24 -0
  129. package/types/api/CirclesOfTrustApi.d.ts.map +1 -0
  130. package/types/api/EmailTemplateApi.d.ts +22 -0
  131. package/types/api/EmailTemplateApi.d.ts.map +1 -0
  132. package/types/api/IdmConfigApi.d.ts +39 -0
  133. package/types/api/IdmConfigApi.d.ts.map +1 -0
  134. package/types/api/LogApi.d.ts +4 -0
  135. package/types/api/LogApi.d.ts.map +1 -0
  136. package/types/api/ManagedObjectApi.d.ts +21 -0
  137. package/types/api/ManagedObjectApi.d.ts.map +1 -0
  138. package/types/api/NodeApi.d.ts +38 -0
  139. package/types/api/NodeApi.d.ts.map +1 -0
  140. package/types/api/OAuth2ClientApi.d.ts +18 -0
  141. package/types/api/OAuth2ClientApi.d.ts.map +1 -0
  142. package/types/api/OAuth2OIDCApi.d.ts +22 -0
  143. package/types/api/OAuth2OIDCApi.d.ts.map +1 -0
  144. package/types/api/OAuth2ProviderApi.d.ts +5 -0
  145. package/types/api/OAuth2ProviderApi.d.ts.map +1 -0
  146. package/types/api/RealmApi.d.ts +30 -0
  147. package/types/api/RealmApi.d.ts.map +1 -0
  148. package/types/api/Saml2Api.d.ts +52 -0
  149. package/types/api/Saml2Api.d.ts.map +1 -0
  150. package/types/api/ScriptApi.d.ts +24 -0
  151. package/types/api/ScriptApi.d.ts.map +1 -0
  152. package/types/api/SecretsApi.d.ts +10 -0
  153. package/types/api/SecretsApi.d.ts.map +1 -0
  154. package/types/api/ServerInfoApi.d.ts +10 -0
  155. package/types/api/ServerInfoApi.d.ts.map +1 -0
  156. package/types/api/SocialIdentityProvidersApi.d.ts +31 -0
  157. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -0
  158. package/types/api/StartupApi.d.ts +14 -0
  159. package/types/api/StartupApi.d.ts.map +1 -0
  160. package/types/api/ThemeApi.d.ts +54 -0
  161. package/types/api/ThemeApi.d.ts.map +1 -0
  162. package/types/api/TreeApi.d.ts +24 -0
  163. package/types/api/TreeApi.d.ts.map +1 -0
  164. package/types/api/VariablesApi.d.ts +32 -0
  165. package/types/api/VariablesApi.d.ts.map +1 -0
  166. package/types/api/utils/ApiUtils.d.ts +29 -0
  167. package/types/api/utils/ApiUtils.d.ts.map +1 -0
  168. package/types/api/utils/Base64.d.ts +30 -0
  169. package/types/api/utils/Base64.d.ts.map +1 -0
  170. package/types/index.d.ts +26 -0
  171. package/types/index.d.ts.map +1 -0
  172. package/types/ops/AdminOps.d.ts +11 -0
  173. package/types/ops/AdminOps.d.ts.map +1 -0
  174. package/types/ops/AuthenticateOps.d.ts +6 -0
  175. package/types/ops/AuthenticateOps.d.ts.map +1 -0
  176. package/types/ops/CirclesOfTrustOps.d.ts +40 -0
  177. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -0
  178. package/types/ops/ConnectionProfileOps.d.ts +47 -0
  179. package/types/ops/ConnectionProfileOps.d.ts.map +1 -0
  180. package/types/ops/EmailTemplateOps.d.ts +40 -0
  181. package/types/ops/EmailTemplateOps.d.ts.map +1 -0
  182. package/types/ops/IdmOps.d.ts +27 -0
  183. package/types/ops/IdmOps.d.ts.map +1 -0
  184. package/types/ops/IdpOps.d.ts +45 -0
  185. package/types/ops/IdpOps.d.ts.map +1 -0
  186. package/types/ops/JourneyOps.d.ts +145 -0
  187. package/types/ops/JourneyOps.d.ts.map +1 -0
  188. package/types/ops/LogOps.d.ts +5 -0
  189. package/types/ops/LogOps.d.ts.map +1 -0
  190. package/types/ops/ManagedObjectOps.d.ts +14 -0
  191. package/types/ops/ManagedObjectOps.d.ts.map +1 -0
  192. package/types/ops/OAuth2ClientOps.d.ts +24 -0
  193. package/types/ops/OAuth2ClientOps.d.ts.map +1 -0
  194. package/types/ops/OrganizationOps.d.ts +11 -0
  195. package/types/ops/OrganizationOps.d.ts.map +1 -0
  196. package/types/ops/RealmOps.d.ts +22 -0
  197. package/types/ops/RealmOps.d.ts.map +1 -0
  198. package/types/ops/SamlOps.d.ts +51 -0
  199. package/types/ops/SamlOps.d.ts.map +1 -0
  200. package/types/ops/ScriptOps.d.ts +30 -0
  201. package/types/ops/ScriptOps.d.ts.map +1 -0
  202. package/types/ops/SecretsOps.d.ts +63 -0
  203. package/types/ops/SecretsOps.d.ts.map +1 -0
  204. package/types/ops/StartupOps.d.ts +25 -0
  205. package/types/ops/StartupOps.d.ts.map +1 -0
  206. package/types/ops/ThemeOps.d.ts +66 -0
  207. package/types/ops/ThemeOps.d.ts.map +1 -0
  208. package/types/ops/VariablesOps.d.ts +39 -0
  209. package/types/ops/VariablesOps.d.ts.map +1 -0
  210. package/types/ops/utils/Console.d.ts +63 -0
  211. package/types/ops/utils/Console.d.ts.map +1 -0
  212. package/types/ops/utils/DataProtection.d.ts +6 -0
  213. package/types/ops/utils/DataProtection.d.ts.map +1 -0
  214. package/types/ops/utils/ExportImportUtils.d.ts +22 -0
  215. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -0
  216. package/types/ops/utils/OpsUtils.d.ts +27 -0
  217. package/types/ops/utils/OpsUtils.d.ts.map +1 -0
  218. package/types/ops/utils/Wordwrap.d.ts +1 -0
  219. package/types/ops/utils/Wordwrap.d.ts.map +1 -0
  220. package/types/storage/SessionStorage.d.ts +47 -0
  221. package/types/storage/SessionStorage.d.ts.map +1 -0
  222. package/types/storage/StaticStorage.d.ts +14 -0
  223. package/types/storage/StaticStorage.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionProfileOps.test.js","names":["fs","homedir","ConnectionProfile","state","FRODO_CONNECTION_PROFILES_PATH_KEY","FRODO_MASTER_KEY_PATH_KEY","FRODO_MASTER_KEY_KEY","describe","test","host","user","password","connectionProfilePath","default","session","setTenant","setUsername","setPassword","setConnectionProfilesPath","saveConnectionProfile","expect","existsSync","toBeTruthy","connections","JSON","parse","readFileSync","username","toEqual","encodedPassword","process","env","getConnectionProfilesPath","masterKey"],"sources":["ops/ConnectionProfileOps.test.ts"],"sourcesContent":["import fs from 'fs';\nimport { homedir } from 'os';\nimport { ConnectionProfile, state } from '../index';\nimport {\n FRODO_CONNECTION_PROFILES_PATH_KEY,\n FRODO_MASTER_KEY_PATH_KEY,\n FRODO_MASTER_KEY_KEY,\n} from '../storage/StaticStorage';\n\ndescribe('ConnectionProfileOps', () => {\n test('saveConnectionProfile() 1: Create connection profiles in location from state field', async () => {\n const host = 'https://openam-tenant-name.forgeblocks.com/am';\n const user = 'frodo.baggins@shire.me';\n const password = 'G@nd@lfTheW153';\n const connectionProfilePath = `${homedir()}/connections1.json`;\n\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setConnectionProfilesPath(connectionProfilePath);\n await ConnectionProfile.saveConnectionProfile();\n expect(fs.existsSync(connectionProfilePath)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath, 'utf8')\n );\n expect(connections).toBeTruthy();\n expect(connections[host]).toBeTruthy();\n expect(connections[host].username).toEqual(user);\n expect(connections[host].encodedPassword).toBeTruthy();\n });\n\n test(`saveConnectionProfile() 2: Create connection profiles in location from env ${FRODO_MASTER_KEY_PATH_KEY}`, async () => {\n const host = 'https://openam-tenant-name.forgeblocks.com/am';\n const user = 'frodo.baggins@shire.me';\n const password = 'G@nd@lfTheW153';\n const connectionProfilePath = `${homedir()}/connections2.json`;\n // set the hard-coded master key\n process.env[FRODO_CONNECTION_PROFILES_PATH_KEY] = connectionProfilePath;\n\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setConnectionProfilesPath(null);\n await ConnectionProfile.saveConnectionProfile();\n expect(ConnectionProfile.getConnectionProfilesPath()).toEqual(\n connectionProfilePath\n );\n expect(fs.existsSync(connectionProfilePath)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath, 'utf8')\n );\n expect(connections).toBeTruthy();\n expect(connections[host]).toBeTruthy();\n expect(connections[host].username).toEqual(user);\n expect(connections[host].encodedPassword).toBeTruthy();\n });\n\n test(`saveConnectionProfile() 3: Use Master Key from env ${FRODO_MASTER_KEY_KEY}`, async () => {\n const host = 'https://openam-tenant-name.forgeblocks.com/am';\n const user = 'frodo.baggins@shire.me';\n const password = 'G@nd@lfTheW153';\n const connectionProfilePath = `${homedir()}/connections3.json`;\n const masterKey = 'bxnQlhcU5VfyDs+BBPhRhK09yHaNtdIIk85HUMKBnqg=';\n // set the hard-coded master key\n process.env[FRODO_MASTER_KEY_KEY] = masterKey;\n\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setConnectionProfilesPath(connectionProfilePath);\n await ConnectionProfile.saveConnectionProfile();\n expect(fs.existsSync(connectionProfilePath)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath, 'utf8')\n );\n expect(connections).toBeTruthy();\n expect(connections[host]).toBeTruthy();\n expect(connections[host].username).toEqual(user);\n expect(connections[host].encodedPassword).toBeTruthy();\n });\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConnectionProfileOps.test.js","names":["describe","test","host","user","password","connectionProfilePath","homedir","state","default","session","setTenant","setUsername","setPassword","setConnectionProfilesPath","ConnectionProfile","saveConnectionProfile","expect","fs","existsSync","toBeTruthy","connections","JSON","parse","readFileSync","username","toEqual","encodedPassword","FRODO_MASTER_KEY_PATH_KEY","process","env","FRODO_CONNECTION_PROFILES_PATH_KEY","getConnectionProfilesPath","FRODO_MASTER_KEY_KEY","masterKey"],"sources":["ops/ConnectionProfileOps.test.ts"],"sourcesContent":["import fs from 'fs';\nimport { homedir } from 'os';\nimport { ConnectionProfile, state } from '../index';\nimport {\n FRODO_CONNECTION_PROFILES_PATH_KEY,\n FRODO_MASTER_KEY_PATH_KEY,\n FRODO_MASTER_KEY_KEY,\n} from '../storage/StaticStorage';\n\ndescribe('ConnectionProfileOps', () => {\n test('saveConnectionProfile() 1: Create connection profiles in location from state field', async () => {\n const host = 'https://openam-tenant-name.forgeblocks.com/am';\n const user = 'frodo.baggins@shire.me';\n const password = 'G@nd@lfTheW153';\n const connectionProfilePath = `${homedir()}/connections1.json`;\n\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setConnectionProfilesPath(connectionProfilePath);\n await ConnectionProfile.saveConnectionProfile();\n expect(fs.existsSync(connectionProfilePath)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath, 'utf8')\n );\n expect(connections).toBeTruthy();\n expect(connections[host]).toBeTruthy();\n expect(connections[host].username).toEqual(user);\n expect(connections[host].encodedPassword).toBeTruthy();\n });\n\n test(`saveConnectionProfile() 2: Create connection profiles in location from env ${FRODO_MASTER_KEY_PATH_KEY}`, async () => {\n const host = 'https://openam-tenant-name.forgeblocks.com/am';\n const user = 'frodo.baggins@shire.me';\n const password = 'G@nd@lfTheW153';\n const connectionProfilePath = `${homedir()}/connections2.json`;\n // set the hard-coded master key\n process.env[FRODO_CONNECTION_PROFILES_PATH_KEY] = connectionProfilePath;\n\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setConnectionProfilesPath(null);\n await ConnectionProfile.saveConnectionProfile();\n expect(ConnectionProfile.getConnectionProfilesPath()).toEqual(\n connectionProfilePath\n );\n expect(fs.existsSync(connectionProfilePath)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath, 'utf8')\n );\n expect(connections).toBeTruthy();\n expect(connections[host]).toBeTruthy();\n expect(connections[host].username).toEqual(user);\n expect(connections[host].encodedPassword).toBeTruthy();\n });\n\n test(`saveConnectionProfile() 3: Use Master Key from env ${FRODO_MASTER_KEY_KEY}`, async () => {\n const host = 'https://openam-tenant-name.forgeblocks.com/am';\n const user = 'frodo.baggins@shire.me';\n const password = 'G@nd@lfTheW153';\n const connectionProfilePath = `${homedir()}/connections3.json`;\n const masterKey = 'bxnQlhcU5VfyDs+BBPhRhK09yHaNtdIIk85HUMKBnqg=';\n // set the hard-coded master key\n process.env[FRODO_MASTER_KEY_KEY] = masterKey;\n\n state.default.session.setTenant(host);\n state.default.session.setUsername(user);\n state.default.session.setPassword(password);\n state.default.session.setConnectionProfilesPath(connectionProfilePath);\n await ConnectionProfile.saveConnectionProfile();\n expect(fs.existsSync(connectionProfilePath)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath, 'utf8')\n );\n expect(connections).toBeTruthy();\n expect(connections[host]).toBeTruthy();\n expect(connections[host].username).toEqual(user);\n expect(connections[host].encodedPassword).toBeTruthy();\n });\n});\n"],"mappings":"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"}
@@ -1,18 +1,42 @@
1
- import fs from 'fs';
2
- import { EMAIL_TEMPLATE_TYPE, getEmailTemplate, getEmailTemplates, putEmailTemplate } from '../api/EmailTemplateApi';
3
- import { createProgressIndicator, createTable, printMessage, stopProgressIndicator, updateProgressIndicator } from './utils/Console';
4
- import { getTypedFilename, saveJsonToFile, validateImport } from './utils/ExportImportUtils';
5
- import wordwrap from './utils/Wordwrap';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.exportEmailTemplateToFile = exportEmailTemplateToFile;
7
+ exports.exportEmailTemplatesToFile = exportEmailTemplatesToFile;
8
+ exports.exportEmailTemplatesToFiles = exportEmailTemplatesToFiles;
9
+ exports.importEmailTemplateFromFile = importEmailTemplateFromFile;
10
+ exports.importEmailTemplatesFromFile = importEmailTemplatesFromFile;
11
+ exports.importEmailTemplatesFromFiles = importEmailTemplatesFromFiles;
12
+ exports.importFirstEmailTemplateFromFile = importFirstEmailTemplateFromFile;
13
+ exports.listEmailTemplates = listEmailTemplates;
14
+
15
+ var _fs = _interopRequireDefault(require("fs"));
16
+
17
+ var _EmailTemplateApi = require("../api/EmailTemplateApi");
18
+
19
+ var _Console = require("./utils/Console");
20
+
21
+ var _ExportImportUtils = require("./utils/ExportImportUtils");
22
+
23
+ var _Wordwrap = _interopRequireDefault(require("./utils/Wordwrap"));
24
+
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
+
27
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
28
+
29
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
30
+
6
31
  /**
7
32
  * Regex to remove email template type from id
8
33
  */
9
-
10
- const regexEmailTemplateType = new RegExp(`${EMAIL_TEMPLATE_TYPE}/`, 'g');
34
+ var regexEmailTemplateType = new RegExp("".concat(_EmailTemplateApi.EMAIL_TEMPLATE_TYPE, "/"), 'g');
11
35
  /**
12
36
  * Maintain the file type centrally
13
37
  */
14
38
 
15
- const EMAIL_TEMPLATE_FILE_TYPE = 'template.email'; // use a function vs a template variable to avoid problems in loops
39
+ var EMAIL_TEMPLATE_FILE_TYPE = 'template.email'; // use a function vs a template variable to avoid problems in loops
16
40
 
17
41
  function getFileDataTemplate() {
18
42
  return {
@@ -26,35 +50,8 @@ function getFileDataTemplate() {
26
50
  */
27
51
 
28
52
 
29
- export async function listEmailTemplates(long = false) {
30
- let emailTemplates = [];
31
-
32
- try {
33
- emailTemplates = (await getEmailTemplates()).data.result;
34
- } catch (error) {
35
- printMessage(`${error.message}`, 'error');
36
- printMessage(error.response.data, 'error');
37
- }
38
-
39
- emailTemplates.sort((a, b) => a._id.localeCompare(b._id));
40
-
41
- if (!long) {
42
- for (const [, emailTemplate] of emailTemplates.entries()) {
43
- printMessage(`${emailTemplate._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '')}`, 'data');
44
- }
45
- } else {
46
- const table = createTable(['Id'['brightCyan'], 'Name'['brightCyan'], 'Status'['brightCyan'], 'Locale(s)'['brightCyan'], 'From'['brightCyan'], 'Subject'['brightCyan']]);
47
- emailTemplates.forEach(emailTemplate => {
48
- table.push([// Id
49
- `${emailTemplate._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '')}`, // Name
50
- `${emailTemplate.displayName ? emailTemplate.displayName : ''}`, // Status
51
- emailTemplate.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], // Locale(s)
52
- `${emailTemplate.defaultLocale}${Object.keys(emailTemplate.subject).length > 1 ? ` (${Object.keys(emailTemplate.subject).filter(locale => locale !== emailTemplate.defaultLocale).join(',')})` : ''}`, // From
53
- `${emailTemplate.from ? emailTemplate.from : ''}`, // Subject
54
- wordwrap(emailTemplate.subject[emailTemplate.defaultLocale], 40)]);
55
- });
56
- printMessage(table.toString(), 'data');
57
- }
53
+ function listEmailTemplates() {
54
+ return _listEmailTemplates.apply(this, arguments);
58
55
  }
59
56
  /**
60
57
  * Export a single email template to file
@@ -62,81 +59,121 @@ export async function listEmailTemplates(long = false) {
62
59
  * @param {String} file optional filename
63
60
  */
64
61
 
65
- export async function exportEmailTemplateToFile(templateId, file) {
66
- let fileName = file;
67
-
68
- if (!fileName) {
69
- fileName = getTypedFilename(templateId, EMAIL_TEMPLATE_FILE_TYPE);
70
- }
71
-
72
- createProgressIndicator(1, `Exporting ${templateId}`);
73
- getEmailTemplate(templateId).then(async response => {
74
- const templateData = response.data;
75
- updateProgressIndicator(`Writing file ${fileName}`);
76
- const fileData = getFileDataTemplate();
77
- fileData.emailTemplate[templateId] = templateData;
78
- saveJsonToFile(fileData, fileName);
79
- stopProgressIndicator(`Exported ${templateId.brightCyan} to ${fileName.brightCyan}.`);
80
- }).catch(err => {
81
- stopProgressIndicator(`${err}`);
82
- printMessage(err, 'error');
62
+
63
+ function _listEmailTemplates() {
64
+ _listEmailTemplates = _asyncToGenerator(function* () {
65
+ var long = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
66
+ var emailTemplates = [];
67
+
68
+ try {
69
+ emailTemplates = (yield (0, _EmailTemplateApi.getEmailTemplates)()).data.result;
70
+ } catch (error) {
71
+ (0, _Console.printMessage)("".concat(error.message), 'error');
72
+ (0, _Console.printMessage)(error.response.data, 'error');
73
+ }
74
+
75
+ emailTemplates.sort((a, b) => a._id.localeCompare(b._id));
76
+
77
+ if (!long) {
78
+ for (var [, emailTemplate] of emailTemplates.entries()) {
79
+ (0, _Console.printMessage)("".concat(emailTemplate._id.replace("".concat(_EmailTemplateApi.EMAIL_TEMPLATE_TYPE, "/"), '')), 'data');
80
+ }
81
+ } else {
82
+ var table = (0, _Console.createTable)(['Id'['brightCyan'], 'Name'['brightCyan'], 'Status'['brightCyan'], 'Locale(s)'['brightCyan'], 'From'['brightCyan'], 'Subject'['brightCyan']]);
83
+ emailTemplates.forEach(emailTemplate => {
84
+ table.push([// Id
85
+ "".concat(emailTemplate._id.replace("".concat(_EmailTemplateApi.EMAIL_TEMPLATE_TYPE, "/"), '')), // Name
86
+ "".concat(emailTemplate.displayName ? emailTemplate.displayName : ''), // Status
87
+ emailTemplate.enabled === false ? 'disabled'['brightRed'] : 'enabled'['brightGreen'], // Locale(s)
88
+ "".concat(emailTemplate.defaultLocale).concat(Object.keys(emailTemplate.subject).length > 1 ? " (".concat(Object.keys(emailTemplate.subject).filter(locale => locale !== emailTemplate.defaultLocale).join(','), ")") : ''), // From
89
+ "".concat(emailTemplate.from ? emailTemplate.from : ''), // Subject
90
+ (0, _Wordwrap.default)(emailTemplate.subject[emailTemplate.defaultLocale], 40)]);
91
+ });
92
+ (0, _Console.printMessage)(table.toString(), 'data');
93
+ }
83
94
  });
95
+ return _listEmailTemplates.apply(this, arguments);
96
+ }
97
+
98
+ function exportEmailTemplateToFile(_x, _x2) {
99
+ return _exportEmailTemplateToFile.apply(this, arguments);
84
100
  }
85
101
  /**
86
102
  * Export all email templates to file
87
103
  * @param {String} file optional filename
88
104
  */
89
105
 
90
- export async function exportEmailTemplatesToFile(file) {
91
- let fileName = file;
92
-
93
- if (!fileName) {
94
- fileName = getTypedFilename(`allEmailTemplates`, EMAIL_TEMPLATE_FILE_TYPE);
95
- }
96
106
 
97
- const fileData = getFileDataTemplate();
98
- getEmailTemplates().then(response => {
99
- const templates = response.data.result;
100
- createProgressIndicator(response.data.resultCount, 'Exporting email templates');
107
+ function _exportEmailTemplateToFile() {
108
+ _exportEmailTemplateToFile = _asyncToGenerator(function* (templateId, file) {
109
+ var fileName = file;
101
110
 
102
- for (const template of templates) {
103
- const templateId = template._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '');
104
-
105
- updateProgressIndicator(`Exporting ${templateId}`);
106
- fileData.emailTemplate[templateId] = template;
111
+ if (!fileName) {
112
+ fileName = (0, _ExportImportUtils.getTypedFilename)(templateId, EMAIL_TEMPLATE_FILE_TYPE);
107
113
  }
108
114
 
109
- saveJsonToFile(fileData, fileName);
110
- stopProgressIndicator(`${response.data.resultCount} templates exported to ${fileName}.`);
111
- }).catch(err => {
112
- stopProgressIndicator(`${err}`);
113
- printMessage(err, 'error');
115
+ (0, _Console.createProgressIndicator)(1, "Exporting ".concat(templateId));
116
+ (0, _EmailTemplateApi.getEmailTemplate)(templateId).then( /*#__PURE__*/function () {
117
+ var _ref = _asyncToGenerator(function* (response) {
118
+ var templateData = response.data;
119
+ (0, _Console.updateProgressIndicator)("Writing file ".concat(fileName));
120
+ var fileData = getFileDataTemplate();
121
+ fileData.emailTemplate[templateId] = templateData;
122
+ (0, _ExportImportUtils.saveJsonToFile)(fileData, fileName);
123
+ (0, _Console.stopProgressIndicator)("Exported ".concat(templateId.brightCyan, " to ").concat(fileName.brightCyan, "."));
124
+ });
125
+
126
+ return function (_x8) {
127
+ return _ref.apply(this, arguments);
128
+ };
129
+ }()).catch(err => {
130
+ (0, _Console.stopProgressIndicator)("".concat(err));
131
+ (0, _Console.printMessage)(err, 'error');
132
+ });
114
133
  });
134
+ return _exportEmailTemplateToFile.apply(this, arguments);
135
+ }
136
+
137
+ function exportEmailTemplatesToFile(_x3) {
138
+ return _exportEmailTemplatesToFile.apply(this, arguments);
115
139
  }
116
140
  /**
117
141
  * Export all email templates to separate files
118
142
  */
119
143
 
120
- export async function exportEmailTemplatesToFiles() {
121
- getEmailTemplates().then(response => {
122
- const templates = response.data.result;
123
- createProgressIndicator(response.data.resultCount, 'Exporting email templates');
124
144
 
125
- for (const template of templates) {
126
- const templateId = template._id.replace(`${EMAIL_TEMPLATE_TYPE}/`, '');
145
+ function _exportEmailTemplatesToFile() {
146
+ _exportEmailTemplatesToFile = _asyncToGenerator(function* (file) {
147
+ var fileName = file;
127
148
 
128
- const fileName = getTypedFilename(templateId, EMAIL_TEMPLATE_FILE_TYPE);
129
- const fileData = getFileDataTemplate();
130
- updateProgressIndicator(`Exporting ${templateId}`);
131
- fileData.emailTemplate[templateId] = template;
132
- saveJsonToFile(fileData, fileName);
149
+ if (!fileName) {
150
+ fileName = (0, _ExportImportUtils.getTypedFilename)("allEmailTemplates", EMAIL_TEMPLATE_FILE_TYPE);
133
151
  }
134
152
 
135
- stopProgressIndicator(`${response.data.resultCount} templates exported.`);
136
- }).catch(err => {
137
- stopProgressIndicator(`${err}`);
138
- printMessage(err, 'error');
153
+ var fileData = getFileDataTemplate();
154
+ (0, _EmailTemplateApi.getEmailTemplates)().then(response => {
155
+ var templates = response.data.result;
156
+ (0, _Console.createProgressIndicator)(response.data.resultCount, 'Exporting email templates');
157
+
158
+ for (var template of templates) {
159
+ var templateId = template._id.replace("".concat(_EmailTemplateApi.EMAIL_TEMPLATE_TYPE, "/"), '');
160
+
161
+ (0, _Console.updateProgressIndicator)("Exporting ".concat(templateId));
162
+ fileData.emailTemplate[templateId] = template;
163
+ }
164
+
165
+ (0, _ExportImportUtils.saveJsonToFile)(fileData, fileName);
166
+ (0, _Console.stopProgressIndicator)("".concat(response.data.resultCount, " templates exported to ").concat(fileName, "."));
167
+ }).catch(err => {
168
+ (0, _Console.stopProgressIndicator)("".concat(err));
169
+ (0, _Console.printMessage)(err, 'error');
170
+ });
139
171
  });
172
+ return _exportEmailTemplatesToFile.apply(this, arguments);
173
+ }
174
+
175
+ function exportEmailTemplatesToFiles() {
176
+ return _exportEmailTemplatesToFiles.apply(this, arguments);
140
177
  }
141
178
  /**
142
179
  * Import email template by id from file
@@ -144,139 +181,211 @@ export async function exportEmailTemplatesToFiles() {
144
181
  * @param {String} file optional filename
145
182
  */
146
183
 
147
- export async function importEmailTemplateFromFile(templateId, file) {
148
- // eslint-disable-next-line no-param-reassign
149
- templateId = templateId.replaceAll(`${EMAIL_TEMPLATE_TYPE}/`, '');
150
- fs.readFile(file, 'utf8', (err, data) => {
151
- if (err) throw err;
152
- const fileData = JSON.parse(data);
153
-
154
- if (validateImport(fileData.meta)) {
155
- createProgressIndicator(1, `Importing ${templateId}`);
156
-
157
- if (fileData.emailTemplate[templateId]) {
158
- putEmailTemplate(templateId, fileData.emailTemplate[templateId]).then(() => {
159
- updateProgressIndicator(`Importing ${templateId}`);
160
- stopProgressIndicator(`Imported ${templateId}`);
161
- }).catch(putEmailTemplateError => {
162
- stopProgressIndicator(`${putEmailTemplateError}`);
163
- printMessage(putEmailTemplateError, 'error');
164
- });
165
- } else {
166
- stopProgressIndicator(`Email template ${templateId.brightCyan} not found in ${file.brightCyan}!`);
167
- printMessage(`Email template ${templateId.brightCyan} not found in ${file.brightCyan}!`, 'error');
184
+
185
+ function _exportEmailTemplatesToFiles() {
186
+ _exportEmailTemplatesToFiles = _asyncToGenerator(function* () {
187
+ (0, _EmailTemplateApi.getEmailTemplates)().then(response => {
188
+ var templates = response.data.result;
189
+ (0, _Console.createProgressIndicator)(response.data.resultCount, 'Exporting email templates');
190
+
191
+ for (var template of templates) {
192
+ var templateId = template._id.replace("".concat(_EmailTemplateApi.EMAIL_TEMPLATE_TYPE, "/"), '');
193
+
194
+ var fileName = (0, _ExportImportUtils.getTypedFilename)(templateId, EMAIL_TEMPLATE_FILE_TYPE);
195
+ var fileData = getFileDataTemplate();
196
+ (0, _Console.updateProgressIndicator)("Exporting ".concat(templateId));
197
+ fileData.emailTemplate[templateId] = template;
198
+ (0, _ExportImportUtils.saveJsonToFile)(fileData, fileName);
168
199
  }
169
- } else {
170
- printMessage('Import validation failed...', 'error');
171
- }
200
+
201
+ (0, _Console.stopProgressIndicator)("".concat(response.data.resultCount, " templates exported."));
202
+ }).catch(err => {
203
+ (0, _Console.stopProgressIndicator)("".concat(err));
204
+ (0, _Console.printMessage)(err, 'error');
205
+ });
172
206
  });
207
+ return _exportEmailTemplatesToFiles.apply(this, arguments);
208
+ }
209
+
210
+ function importEmailTemplateFromFile(_x4, _x5) {
211
+ return _importEmailTemplateFromFile.apply(this, arguments);
173
212
  }
174
213
  /**
175
214
  * Import all email templates from file
176
215
  * @param {String} file optional filename
177
216
  */
178
217
 
179
- export async function importEmailTemplatesFromFile(file) {
180
- fs.readFile(file, 'utf8', async (err, data) => {
181
- if (err) throw err;
182
- const fileData = JSON.parse(data);
183
-
184
- if (validateImport(fileData.meta)) {
185
- createProgressIndicator(Object.keys(fileData.emailTemplate).length, `Importing email templates`);
186
-
187
- for (const id in fileData.emailTemplate) {
188
- if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
189
- const templateId = id.replace(regexEmailTemplateType, '');
190
-
191
- try {
192
- // eslint-disable-next-line no-await-in-loop
193
- await putEmailTemplate(templateId, fileData.emailTemplate[templateId]);
194
- updateProgressIndicator(`Imported ${templateId}`);
195
- } catch (putEmailTemplateError) {
196
- printMessage(`\nError importing ${templateId}`, 'error');
197
- printMessage(putEmailTemplateError.response.data, 'error');
198
- }
218
+
219
+ function _importEmailTemplateFromFile() {
220
+ _importEmailTemplateFromFile = _asyncToGenerator(function* (templateId, file) {
221
+ // eslint-disable-next-line no-param-reassign
222
+ templateId = templateId.replaceAll("".concat(_EmailTemplateApi.EMAIL_TEMPLATE_TYPE, "/"), '');
223
+
224
+ _fs.default.readFile(file, 'utf8', (err, data) => {
225
+ if (err) throw err;
226
+ var fileData = JSON.parse(data);
227
+
228
+ if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
229
+ (0, _Console.createProgressIndicator)(1, "Importing ".concat(templateId));
230
+
231
+ if (fileData.emailTemplate[templateId]) {
232
+ (0, _EmailTemplateApi.putEmailTemplate)(templateId, fileData.emailTemplate[templateId]).then(() => {
233
+ (0, _Console.updateProgressIndicator)("Importing ".concat(templateId));
234
+ (0, _Console.stopProgressIndicator)("Imported ".concat(templateId));
235
+ }).catch(putEmailTemplateError => {
236
+ (0, _Console.stopProgressIndicator)("".concat(putEmailTemplateError));
237
+ (0, _Console.printMessage)(putEmailTemplateError, 'error');
238
+ });
239
+ } else {
240
+ (0, _Console.stopProgressIndicator)("Email template ".concat(templateId.brightCyan, " not found in ").concat(file.brightCyan, "!"));
241
+ (0, _Console.printMessage)("Email template ".concat(templateId.brightCyan, " not found in ").concat(file.brightCyan, "!"), 'error');
199
242
  }
243
+ } else {
244
+ (0, _Console.printMessage)('Import validation failed...', 'error');
200
245
  }
201
-
202
- stopProgressIndicator(`Done.`);
203
- } else {
204
- printMessage('Import validation failed...', 'error');
205
- }
246
+ });
206
247
  });
248
+ return _importEmailTemplateFromFile.apply(this, arguments);
249
+ }
250
+
251
+ function importEmailTemplatesFromFile(_x6) {
252
+ return _importEmailTemplatesFromFile.apply(this, arguments);
207
253
  }
208
254
  /**
209
255
  * Import all email templates from separate files
210
256
  */
211
257
 
212
- export async function importEmailTemplatesFromFiles() {
213
- const names = fs.readdirSync('.');
214
- const jsonFiles = names.filter(name => name.toLowerCase().endsWith(`${EMAIL_TEMPLATE_FILE_TYPE}.json`));
215
- createProgressIndicator(jsonFiles.length, 'Importing email templates...');
216
- let total = 0;
217
- let totalErrors = 0;
218
-
219
- for (const file of jsonFiles) {
220
- const data = fs.readFileSync(file, 'utf8');
221
- const fileData = JSON.parse(data);
222
-
223
- if (validateImport(fileData.meta)) {
224
- total += Object.keys(fileData.emailTemplate).length;
225
- let errors = 0;
226
-
227
- for (const id in fileData.emailTemplate) {
228
- if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
229
- const templateId = id.replace(regexEmailTemplateType, '');
230
-
231
- try {
232
- // eslint-disable-next-line no-await-in-loop
233
- await putEmailTemplate(templateId, fileData.emailTemplate[templateId]);
234
- } catch (putEmailTemplateError) {
235
- errors += 1;
236
- printMessage(`\nError importing ${templateId}`, 'error');
237
- printMessage(putEmailTemplateError.response.data, 'error');
258
+
259
+ function _importEmailTemplatesFromFile() {
260
+ _importEmailTemplatesFromFile = _asyncToGenerator(function* (file) {
261
+ _fs.default.readFile(file, 'utf8', /*#__PURE__*/function () {
262
+ var _ref2 = _asyncToGenerator(function* (err, data) {
263
+ if (err) throw err;
264
+ var fileData = JSON.parse(data);
265
+
266
+ if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
267
+ (0, _Console.createProgressIndicator)(Object.keys(fileData.emailTemplate).length, "Importing email templates");
268
+
269
+ for (var id in fileData.emailTemplate) {
270
+ if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
271
+ var templateId = id.replace(regexEmailTemplateType, '');
272
+
273
+ try {
274
+ // eslint-disable-next-line no-await-in-loop
275
+ yield (0, _EmailTemplateApi.putEmailTemplate)(templateId, fileData.emailTemplate[templateId]);
276
+ (0, _Console.updateProgressIndicator)("Imported ".concat(templateId));
277
+ } catch (putEmailTemplateError) {
278
+ (0, _Console.printMessage)("\nError importing ".concat(templateId), 'error');
279
+ (0, _Console.printMessage)(putEmailTemplateError.response.data, 'error');
280
+ }
281
+ }
238
282
  }
283
+
284
+ (0, _Console.stopProgressIndicator)("Done.");
285
+ } else {
286
+ (0, _Console.printMessage)('Import validation failed...', 'error');
239
287
  }
240
- }
288
+ });
241
289
 
242
- totalErrors += errors;
243
- updateProgressIndicator(`Imported ${file}`);
244
- } else {
245
- printMessage(`Validation of ${file} failed!`, 'error');
246
- }
247
- }
290
+ return function (_x9, _x10) {
291
+ return _ref2.apply(this, arguments);
292
+ };
293
+ }());
294
+ });
295
+ return _importEmailTemplatesFromFile.apply(this, arguments);
296
+ }
248
297
 
249
- stopProgressIndicator(`Imported ${total - totalErrors} of ${total} email template(s) from ${jsonFiles.length} file(s).`);
298
+ function importEmailTemplatesFromFiles() {
299
+ return _importEmailTemplatesFromFiles.apply(this, arguments);
250
300
  }
251
301
  /**
252
302
  * Import first email template from file
253
303
  * @param {String} file optional filename
254
304
  */
255
305
 
256
- export async function importFirstEmailTemplateFromFile(file) {
257
- fs.readFile(file, 'utf8', (err, data) => {
258
- if (err) throw err;
259
- const fileData = JSON.parse(data);
260
306
 
261
- if (validateImport(fileData.meta)) {
262
- createProgressIndicator(1, `Importing first email template`);
307
+ function _importEmailTemplatesFromFiles() {
308
+ _importEmailTemplatesFromFiles = _asyncToGenerator(function* () {
309
+ var names = _fs.default.readdirSync('.');
263
310
 
264
- for (const id in fileData.emailTemplate) {
265
- if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
266
- putEmailTemplate(id.replace(regexEmailTemplateType, ''), fileData.emailTemplate[id]).then(() => {
267
- updateProgressIndicator(`Imported ${id}`);
268
- stopProgressIndicator(`Imported ${id}`);
269
- }).catch(putEmailTemplateError => {
270
- stopProgressIndicator(`Error importing email template ${id}`);
271
- printMessage(`\nError importing email template ${id}`, 'error');
272
- printMessage(putEmailTemplateError.response.data, 'error');
273
- });
274
- break;
311
+ var jsonFiles = names.filter(name => name.toLowerCase().endsWith("".concat(EMAIL_TEMPLATE_FILE_TYPE, ".json")));
312
+ (0, _Console.createProgressIndicator)(jsonFiles.length, 'Importing email templates...');
313
+ var total = 0;
314
+ var totalErrors = 0;
315
+
316
+ for (var file of jsonFiles) {
317
+ var data = _fs.default.readFileSync(file, 'utf8');
318
+
319
+ var fileData = JSON.parse(data);
320
+
321
+ if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
322
+ total += Object.keys(fileData.emailTemplate).length;
323
+ var errors = 0;
324
+
325
+ for (var id in fileData.emailTemplate) {
326
+ if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
327
+ var templateId = id.replace(regexEmailTemplateType, '');
328
+
329
+ try {
330
+ // eslint-disable-next-line no-await-in-loop
331
+ yield (0, _EmailTemplateApi.putEmailTemplate)(templateId, fileData.emailTemplate[templateId]);
332
+ } catch (putEmailTemplateError) {
333
+ errors += 1;
334
+ (0, _Console.printMessage)("\nError importing ".concat(templateId), 'error');
335
+ (0, _Console.printMessage)(putEmailTemplateError.response.data, 'error');
336
+ }
337
+ }
275
338
  }
339
+
340
+ totalErrors += errors;
341
+ (0, _Console.updateProgressIndicator)("Imported ".concat(file));
342
+ } else {
343
+ (0, _Console.printMessage)("Validation of ".concat(file, " failed!"), 'error');
276
344
  }
277
- } else {
278
- printMessage('Import validation failed...', 'error');
279
345
  }
346
+
347
+ (0, _Console.stopProgressIndicator)("Imported ".concat(total - totalErrors, " of ").concat(total, " email template(s) from ").concat(jsonFiles.length, " file(s)."));
348
+ });
349
+ return _importEmailTemplatesFromFiles.apply(this, arguments);
350
+ }
351
+
352
+ function importFirstEmailTemplateFromFile(_x7) {
353
+ return _importFirstEmailTemplateFromFile.apply(this, arguments);
354
+ }
355
+
356
+ function _importFirstEmailTemplateFromFile() {
357
+ _importFirstEmailTemplateFromFile = _asyncToGenerator(function* (file) {
358
+ _fs.default.readFile(file, 'utf8', (err, data) => {
359
+ if (err) throw err;
360
+ var fileData = JSON.parse(data);
361
+
362
+ if ((0, _ExportImportUtils.validateImport)(fileData.meta)) {
363
+ (0, _Console.createProgressIndicator)(1, "Importing first email template");
364
+
365
+ var _loop = function _loop(id) {
366
+ if ({}.hasOwnProperty.call(fileData.emailTemplate, id)) {
367
+ (0, _EmailTemplateApi.putEmailTemplate)(id.replace(regexEmailTemplateType, ''), fileData.emailTemplate[id]).then(() => {
368
+ (0, _Console.updateProgressIndicator)("Imported ".concat(id));
369
+ (0, _Console.stopProgressIndicator)("Imported ".concat(id));
370
+ }).catch(putEmailTemplateError => {
371
+ (0, _Console.stopProgressIndicator)("Error importing email template ".concat(id));
372
+ (0, _Console.printMessage)("\nError importing email template ".concat(id), 'error');
373
+ (0, _Console.printMessage)(putEmailTemplateError.response.data, 'error');
374
+ });
375
+ return "break";
376
+ }
377
+ };
378
+
379
+ for (var id in fileData.emailTemplate) {
380
+ var _ret = _loop(id);
381
+
382
+ if (_ret === "break") break;
383
+ }
384
+ } else {
385
+ (0, _Console.printMessage)('Import validation failed...', 'error');
386
+ }
387
+ });
280
388
  });
389
+ return _importFirstEmailTemplateFromFile.apply(this, arguments);
281
390
  }
282
391
  //# sourceMappingURL=EmailTemplateOps.js.map