@rockcarver/frodo-lib 2.0.0-13 → 2.0.0-14

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 (398) hide show
  1. package/build.zip +0 -0
  2. package/cjs/api/AgentApi.js.map +1 -1
  3. package/cjs/api/AuthenticateApi.js.map +1 -1
  4. package/cjs/api/BaseApi.js +1 -1
  5. package/cjs/api/BaseApi.js.map +1 -1
  6. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  7. package/cjs/api/IdmConfigApi.js.map +1 -1
  8. package/cjs/api/IdmSystemApi.js.map +1 -1
  9. package/cjs/api/ManagedObjectApi.js.map +1 -1
  10. package/cjs/api/NodeApi.js.map +1 -1
  11. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  12. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  13. package/cjs/api/OAuth2OIDCApi.test.js +2 -2
  14. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
  15. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  16. package/cjs/api/PoliciesApi.js.map +1 -1
  17. package/cjs/api/PolicySetApi.js.map +1 -1
  18. package/cjs/api/RealmApi.js.map +1 -1
  19. package/cjs/api/ResourceTypesApi.js.map +1 -1
  20. package/cjs/api/Saml2Api.js.map +1 -1
  21. package/cjs/api/ScriptApi.js.map +1 -1
  22. package/cjs/api/ServerInfoApi.js.map +1 -1
  23. package/cjs/api/ServiceApi.js.map +1 -1
  24. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  25. package/cjs/api/TreeApi.js.map +1 -1
  26. package/cjs/api/cloud/AdminFederationProvidersApi.js.map +1 -1
  27. package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
  28. package/cjs/api/cloud/FeatureApi.js.map +1 -1
  29. package/cjs/api/cloud/LogApi.js.map +1 -1
  30. package/cjs/api/cloud/SecretsApi.js.map +1 -1
  31. package/cjs/api/cloud/StartupApi.js.map +1 -1
  32. package/cjs/api/cloud/VariablesApi.js.map +1 -1
  33. package/cjs/api/utils/ApiUtils.js.map +1 -1
  34. package/cjs/api/utils/Base64.js +4 -4
  35. package/cjs/api/utils/Base64.js.map +1 -1
  36. package/cjs/index.js.map +1 -1
  37. package/cjs/lib/Frodo.js +9 -2
  38. package/cjs/lib/Frodo.js.map +1 -1
  39. package/cjs/lib/FrodoLib.js +17 -20
  40. package/cjs/lib/FrodoLib.js.map +1 -1
  41. package/cjs/ops/AdminOps.js.map +1 -1
  42. package/cjs/ops/AgentOps.js +35 -35
  43. package/cjs/ops/AgentOps.js.map +1 -1
  44. package/cjs/ops/AuthenticateOps.js +10 -12
  45. package/cjs/ops/AuthenticateOps.js.map +1 -1
  46. package/cjs/ops/CirclesOfTrustOps.js +14 -14
  47. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  48. package/cjs/ops/ConnectionProfileOps.js +2 -2
  49. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  50. package/cjs/ops/ConnectionProfileOps.test.js +5 -5
  51. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  52. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  53. package/cjs/ops/IdmOps.js.map +1 -1
  54. package/cjs/ops/IdpOps.js.map +1 -1
  55. package/cjs/ops/InfoOps.js +3 -4
  56. package/cjs/ops/InfoOps.js.map +1 -1
  57. package/cjs/ops/JoseOps.js +30 -0
  58. package/cjs/ops/JoseOps.js.map +1 -1
  59. package/cjs/ops/JourneyOps.js +41 -43
  60. package/cjs/ops/JourneyOps.js.map +1 -1
  61. package/cjs/ops/JourneyOps.test.js +3 -2
  62. package/cjs/ops/JourneyOps.test.js.map +1 -1
  63. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  64. package/cjs/ops/NodeOps.js.map +1 -1
  65. package/cjs/ops/OAuth2ClientOps.js +19 -19
  66. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  67. package/cjs/ops/OAuth2OidcOps.js.map +1 -1
  68. package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
  69. package/cjs/ops/OpsTypes.js.map +1 -1
  70. package/cjs/ops/OrganizationOps.js.map +1 -1
  71. package/cjs/ops/PolicyOps.js +29 -29
  72. package/cjs/ops/PolicyOps.js.map +1 -1
  73. package/cjs/ops/PolicySetOps.js +27 -27
  74. package/cjs/ops/PolicySetOps.js.map +1 -1
  75. package/cjs/ops/RealmOps.js.map +1 -1
  76. package/cjs/ops/ResourceTypeOps.js +23 -23
  77. package/cjs/ops/ResourceTypeOps.js.map +1 -1
  78. package/cjs/ops/Saml2Ops.js +11 -11
  79. package/cjs/ops/Saml2Ops.js.map +1 -1
  80. package/cjs/ops/Saml2Ops.test.js +3 -2
  81. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  82. package/cjs/ops/ScriptOps.js +3 -3
  83. package/cjs/ops/ScriptOps.js.map +1 -1
  84. package/cjs/ops/ServiceOps.js.map +1 -1
  85. package/cjs/ops/ThemeOps.js.map +1 -1
  86. package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
  87. package/cjs/ops/cloud/FeatureOps.js.map +1 -1
  88. package/cjs/ops/cloud/LogOps.js.map +1 -1
  89. package/cjs/ops/cloud/SecretsOps.js.map +1 -1
  90. package/cjs/ops/cloud/ServiceAccountOps.js +1 -1
  91. package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
  92. package/cjs/ops/cloud/StartupOps.js.map +1 -1
  93. package/cjs/ops/cloud/VariablesOps.js.map +1 -1
  94. package/cjs/ops/utils/Console.js.map +1 -1
  95. package/cjs/ops/utils/DataProtection.js +3 -3
  96. package/cjs/ops/utils/DataProtection.js.map +1 -1
  97. package/cjs/ops/utils/DataProtection.test.js +1 -1
  98. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  99. package/cjs/ops/utils/ExportImportUtils.js +2 -2
  100. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  101. package/cjs/ops/utils/OpsUtils.js +105 -25
  102. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  103. package/cjs/ops/utils/OpsUtils.test.js +6 -5
  104. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  105. package/cjs/ops/utils/ScriptValidationUtils.js +33 -2
  106. package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
  107. package/cjs/ops/utils/ScriptValidationUtils.test.js +1 -1
  108. package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
  109. package/cjs/ops/utils/{Version.js → VersionUtils.js} +1 -1
  110. package/cjs/ops/utils/VersionUtils.js.map +1 -0
  111. package/cjs/ops/utils/{Version.test.js → VersionUtils.test.js} +3 -3
  112. package/cjs/ops/utils/VersionUtils.test.js.map +1 -0
  113. package/cjs/shared/Constants.js +34 -0
  114. package/cjs/shared/Constants.js.map +1 -0
  115. package/cjs/shared/State.js +477 -220
  116. package/cjs/shared/State.js.map +1 -1
  117. package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
  118. package/esm/api/AgentApi.js.map +1 -1
  119. package/esm/api/AuthenticateApi.js.map +1 -1
  120. package/esm/api/BaseApi.js +2 -2
  121. package/esm/api/BaseApi.js.map +1 -1
  122. package/esm/api/CirclesOfTrustApi.js.map +1 -1
  123. package/esm/api/IdmConfigApi.js.map +1 -1
  124. package/esm/api/IdmSystemApi.js.map +1 -1
  125. package/esm/api/ManagedObjectApi.js.map +1 -1
  126. package/esm/api/NodeApi.js.map +1 -1
  127. package/esm/api/OAuth2ClientApi.js.map +1 -1
  128. package/esm/api/OAuth2OIDCApi.js.map +1 -1
  129. package/esm/api/OAuth2OIDCApi.test.js +2 -2
  130. package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
  131. package/esm/api/OAuth2ProviderApi.js.map +1 -1
  132. package/esm/api/PoliciesApi.js.map +1 -1
  133. package/esm/api/PolicySetApi.js.map +1 -1
  134. package/esm/api/RealmApi.js.map +1 -1
  135. package/esm/api/ResourceTypesApi.js.map +1 -1
  136. package/esm/api/Saml2Api.js.map +1 -1
  137. package/esm/api/ScriptApi.js.map +1 -1
  138. package/esm/api/ServerInfoApi.js.map +1 -1
  139. package/esm/api/ServiceApi.js.map +1 -1
  140. package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
  141. package/esm/api/TreeApi.js.map +1 -1
  142. package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
  143. package/esm/api/cloud/EnvInfoApi.js.map +1 -1
  144. package/esm/api/cloud/FeatureApi.js.map +1 -1
  145. package/esm/api/cloud/LogApi.js.map +1 -1
  146. package/esm/api/cloud/SecretsApi.js.map +1 -1
  147. package/esm/api/cloud/StartupApi.js.map +1 -1
  148. package/esm/api/cloud/VariablesApi.js.map +1 -1
  149. package/esm/api/utils/ApiUtils.js.map +1 -1
  150. package/esm/api/utils/Base64.js +4 -4
  151. package/esm/api/utils/Base64.js.map +1 -1
  152. package/esm/index.js +13 -1
  153. package/esm/index.js.map +1 -1
  154. package/esm/lib/Frodo.js +9 -2
  155. package/esm/lib/Frodo.js.map +1 -1
  156. package/esm/lib/FrodoLib.js +12 -16
  157. package/esm/lib/FrodoLib.js.map +1 -1
  158. package/esm/ops/AdminOps.js.map +1 -1
  159. package/esm/ops/AgentOps.js.map +1 -1
  160. package/esm/ops/AuthenticateOps.js +10 -10
  161. package/esm/ops/AuthenticateOps.js.map +1 -1
  162. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  163. package/esm/ops/ConnectionProfileOps.js +2 -2
  164. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  165. package/esm/ops/ConnectionProfileOps.test.js +5 -5
  166. package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
  167. package/esm/ops/EmailTemplateOps.js.map +1 -1
  168. package/esm/ops/IdmOps.js.map +1 -1
  169. package/esm/ops/IdpOps.js.map +1 -1
  170. package/esm/ops/InfoOps.js +2 -2
  171. package/esm/ops/InfoOps.js.map +1 -1
  172. package/esm/ops/JoseOps.js +20 -0
  173. package/esm/ops/JoseOps.js.map +1 -1
  174. package/esm/ops/JourneyOps.js +10 -11
  175. package/esm/ops/JourneyOps.js.map +1 -1
  176. package/esm/ops/JourneyOps.test.js +2 -2
  177. package/esm/ops/JourneyOps.test.js.map +1 -1
  178. package/esm/ops/ManagedObjectOps.js.map +1 -1
  179. package/esm/ops/NodeOps.js.map +1 -1
  180. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  181. package/esm/ops/OAuth2OidcOps.js.map +1 -1
  182. package/esm/ops/OAuth2ProviderOps.js.map +1 -1
  183. package/esm/ops/OpsTypes.js.map +1 -1
  184. package/esm/ops/OrganizationOps.js.map +1 -1
  185. package/esm/ops/PolicyOps.js.map +1 -1
  186. package/esm/ops/PolicySetOps.js.map +1 -1
  187. package/esm/ops/RealmOps.js.map +1 -1
  188. package/esm/ops/ResourceTypeOps.js.map +1 -1
  189. package/esm/ops/Saml2Ops.js.map +1 -1
  190. package/esm/ops/Saml2Ops.test.js +2 -2
  191. package/esm/ops/Saml2Ops.test.js.map +1 -1
  192. package/esm/ops/ScriptOps.js.map +1 -1
  193. package/esm/ops/ServiceOps.js.map +1 -1
  194. package/esm/ops/ThemeOps.js.map +1 -1
  195. package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
  196. package/esm/ops/cloud/FeatureOps.js.map +1 -1
  197. package/esm/ops/cloud/LogOps.js.map +1 -1
  198. package/esm/ops/cloud/SecretsOps.js.map +1 -1
  199. package/esm/ops/cloud/ServiceAccountOps.js +1 -1
  200. package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
  201. package/esm/ops/cloud/StartupOps.js.map +1 -1
  202. package/esm/ops/cloud/VariablesOps.js.map +1 -1
  203. package/esm/ops/utils/Console.js.map +1 -1
  204. package/esm/ops/utils/DataProtection.js +3 -3
  205. package/esm/ops/utils/DataProtection.js.map +1 -1
  206. package/esm/ops/utils/DataProtection.test.js +2 -2
  207. package/esm/ops/utils/DataProtection.test.js.map +1 -1
  208. package/esm/ops/utils/ExportImportUtils.js +2 -2
  209. package/esm/ops/utils/ExportImportUtils.js.map +1 -1
  210. package/esm/ops/utils/OpsUtils.js +96 -22
  211. package/esm/ops/utils/OpsUtils.js.map +1 -1
  212. package/esm/ops/utils/OpsUtils.test.js +5 -5
  213. package/esm/ops/utils/OpsUtils.test.js.map +1 -1
  214. package/esm/ops/utils/ScriptValidationUtils.js +28 -0
  215. package/esm/ops/utils/ScriptValidationUtils.js.map +1 -1
  216. package/esm/ops/utils/ScriptValidationUtils.test.js +2 -2
  217. package/esm/ops/utils/ScriptValidationUtils.test.js.map +1 -1
  218. package/esm/ops/utils/{Version.js → VersionUtils.js} +1 -1
  219. package/esm/ops/utils/VersionUtils.js.map +1 -0
  220. package/esm/ops/utils/{Version.test.js → VersionUtils.test.js} +2 -2
  221. package/esm/ops/utils/VersionUtils.test.js.map +1 -0
  222. package/esm/shared/Constants.js +27 -0
  223. package/esm/shared/Constants.js.map +1 -0
  224. package/esm/shared/State.js +481 -226
  225. package/esm/shared/State.js.map +1 -1
  226. package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
  227. package/package.json +5 -2
  228. package/types/api/AgentApi.d.ts +1 -1
  229. package/types/api/AgentApi.d.ts.map +1 -1
  230. package/types/api/AuthenticateApi.d.ts +1 -1
  231. package/types/api/AuthenticateApi.d.ts.map +1 -1
  232. package/types/api/BaseApi.d.ts +1 -1
  233. package/types/api/BaseApi.d.ts.map +1 -1
  234. package/types/api/CirclesOfTrustApi.d.ts +1 -1
  235. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  236. package/types/api/IdmConfigApi.d.ts +1 -1
  237. package/types/api/IdmConfigApi.d.ts.map +1 -1
  238. package/types/api/IdmSystemApi.d.ts +1 -1
  239. package/types/api/IdmSystemApi.d.ts.map +1 -1
  240. package/types/api/ManagedObjectApi.d.ts +1 -1
  241. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  242. package/types/api/NodeApi.d.ts +1 -1
  243. package/types/api/NodeApi.d.ts.map +1 -1
  244. package/types/api/OAuth2ClientApi.d.ts +1 -1
  245. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  246. package/types/api/OAuth2OIDCApi.d.ts +1 -1
  247. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  248. package/types/api/OAuth2ProviderApi.d.ts +1 -1
  249. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  250. package/types/api/PoliciesApi.d.ts +1 -1
  251. package/types/api/PoliciesApi.d.ts.map +1 -1
  252. package/types/api/PolicySetApi.d.ts +1 -1
  253. package/types/api/PolicySetApi.d.ts.map +1 -1
  254. package/types/api/RealmApi.d.ts +1 -1
  255. package/types/api/RealmApi.d.ts.map +1 -1
  256. package/types/api/ResourceTypesApi.d.ts +1 -1
  257. package/types/api/ResourceTypesApi.d.ts.map +1 -1
  258. package/types/api/Saml2Api.d.ts +1 -1
  259. package/types/api/Saml2Api.d.ts.map +1 -1
  260. package/types/api/ScriptApi.d.ts +1 -1
  261. package/types/api/ScriptApi.d.ts.map +1 -1
  262. package/types/api/ServerInfoApi.d.ts +1 -1
  263. package/types/api/ServerInfoApi.d.ts.map +1 -1
  264. package/types/api/ServiceApi.d.ts +1 -1
  265. package/types/api/ServiceApi.d.ts.map +1 -1
  266. package/types/api/SocialIdentityProvidersApi.d.ts +1 -1
  267. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  268. package/types/api/TreeApi.d.ts +1 -1
  269. package/types/api/TreeApi.d.ts.map +1 -1
  270. package/types/api/cloud/AdminFederationProvidersApi.d.ts +1 -1
  271. package/types/api/cloud/AdminFederationProvidersApi.d.ts.map +1 -1
  272. package/types/api/cloud/EnvInfoApi.d.ts +1 -1
  273. package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
  274. package/types/api/cloud/FeatureApi.d.ts +1 -1
  275. package/types/api/cloud/FeatureApi.d.ts.map +1 -1
  276. package/types/api/cloud/LogApi.d.ts +1 -1
  277. package/types/api/cloud/LogApi.d.ts.map +1 -1
  278. package/types/api/cloud/SecretsApi.d.ts +1 -1
  279. package/types/api/cloud/SecretsApi.d.ts.map +1 -1
  280. package/types/api/cloud/StartupApi.d.ts +1 -1
  281. package/types/api/cloud/StartupApi.d.ts.map +1 -1
  282. package/types/api/cloud/VariablesApi.d.ts +1 -1
  283. package/types/api/cloud/VariablesApi.d.ts.map +1 -1
  284. package/types/api/utils/ApiUtils.d.ts +1 -1
  285. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  286. package/types/api/utils/Base64.d.ts +6 -6
  287. package/types/api/utils/Base64.d.ts.map +1 -1
  288. package/types/index.d.ts +37 -0
  289. package/types/index.d.ts.map +1 -1
  290. package/types/lib/Frodo.d.ts +13 -1135
  291. package/types/lib/Frodo.d.ts.map +1 -1
  292. package/types/lib/FrodoLib.d.ts +79 -368
  293. package/types/lib/FrodoLib.d.ts.map +1 -1
  294. package/types/ops/AdminOps.d.ts +3 -2
  295. package/types/ops/AdminOps.d.ts.map +1 -1
  296. package/types/ops/AgentOps.d.ts +3 -2
  297. package/types/ops/AgentOps.d.ts.map +1 -1
  298. package/types/ops/AuthenticateOps.d.ts +3 -2
  299. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  300. package/types/ops/CirclesOfTrustOps.d.ts +3 -2
  301. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  302. package/types/ops/ConnectionProfileOps.d.ts +3 -2
  303. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  304. package/types/ops/EmailTemplateOps.d.ts +3 -2
  305. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  306. package/types/ops/IdmOps.d.ts +3 -2
  307. package/types/ops/IdmOps.d.ts.map +1 -1
  308. package/types/ops/IdpOps.d.ts +3 -2
  309. package/types/ops/IdpOps.d.ts.map +1 -1
  310. package/types/ops/InfoOps.d.ts +3 -2
  311. package/types/ops/InfoOps.d.ts.map +1 -1
  312. package/types/ops/JoseOps.d.ts +17 -1
  313. package/types/ops/JoseOps.d.ts.map +1 -1
  314. package/types/ops/JourneyOps.d.ts +16 -10
  315. package/types/ops/JourneyOps.d.ts.map +1 -1
  316. package/types/ops/ManagedObjectOps.d.ts +3 -2
  317. package/types/ops/ManagedObjectOps.d.ts.map +1 -1
  318. package/types/ops/NodeOps.d.ts +3 -2
  319. package/types/ops/NodeOps.d.ts.map +1 -1
  320. package/types/ops/OAuth2ClientOps.d.ts +3 -2
  321. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  322. package/types/ops/OAuth2OidcOps.d.ts +6 -5
  323. package/types/ops/OAuth2OidcOps.d.ts.map +1 -1
  324. package/types/ops/OAuth2ProviderOps.d.ts +3 -2
  325. package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
  326. package/types/ops/OpsTypes.d.ts +1 -1
  327. package/types/ops/OpsTypes.d.ts.map +1 -1
  328. package/types/ops/OrganizationOps.d.ts +3 -2
  329. package/types/ops/OrganizationOps.d.ts.map +1 -1
  330. package/types/ops/PolicyOps.d.ts +3 -2
  331. package/types/ops/PolicyOps.d.ts.map +1 -1
  332. package/types/ops/PolicySetOps.d.ts +3 -2
  333. package/types/ops/PolicySetOps.d.ts.map +1 -1
  334. package/types/ops/RealmOps.d.ts +3 -2
  335. package/types/ops/RealmOps.d.ts.map +1 -1
  336. package/types/ops/ResourceTypeOps.d.ts +3 -2
  337. package/types/ops/ResourceTypeOps.d.ts.map +1 -1
  338. package/types/ops/Saml2Ops.d.ts +3 -2
  339. package/types/ops/Saml2Ops.d.ts.map +1 -1
  340. package/types/ops/ScriptOps.d.ts +3 -2
  341. package/types/ops/ScriptOps.d.ts.map +1 -1
  342. package/types/ops/ServiceOps.d.ts +4 -3
  343. package/types/ops/ServiceOps.d.ts.map +1 -1
  344. package/types/ops/ThemeOps.d.ts +3 -2
  345. package/types/ops/ThemeOps.d.ts.map +1 -1
  346. package/types/ops/cloud/AdminFederationOps.d.ts +3 -2
  347. package/types/ops/cloud/AdminFederationOps.d.ts.map +1 -1
  348. package/types/ops/cloud/FeatureOps.d.ts +3 -2
  349. package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
  350. package/types/ops/cloud/LogOps.d.ts +3 -2
  351. package/types/ops/cloud/LogOps.d.ts.map +1 -1
  352. package/types/ops/cloud/SecretsOps.d.ts +3 -2
  353. package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
  354. package/types/ops/cloud/ServiceAccountOps.d.ts +7 -6
  355. package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
  356. package/types/ops/cloud/StartupOps.d.ts +3 -2
  357. package/types/ops/cloud/StartupOps.d.ts.map +1 -1
  358. package/types/ops/cloud/VariablesOps.d.ts +3 -2
  359. package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
  360. package/types/ops/utils/Console.d.ts +1 -1
  361. package/types/ops/utils/Console.d.ts.map +1 -1
  362. package/types/ops/utils/DataProtection.d.ts +1 -1
  363. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  364. package/types/ops/utils/ExportImportUtils.d.ts +3 -2
  365. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  366. package/types/ops/utils/OpsUtils.d.ts +73 -17
  367. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  368. package/types/ops/utils/ScriptValidationUtils.d.ts +20 -1
  369. package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
  370. package/types/ops/utils/{Version.d.ts → VersionUtils.d.ts} +4 -4
  371. package/types/ops/utils/VersionUtils.d.ts.map +1 -0
  372. package/types/shared/Constants.d.ts +34 -0
  373. package/types/shared/Constants.d.ts.map +1 -0
  374. package/types/shared/State.d.ts +38 -38
  375. package/types/shared/State.d.ts.map +1 -1
  376. package/types/utils/SetupPollyForFrodoLib.d.ts +1 -1
  377. package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
  378. package/cjs/ops/utils/Version.js.map +0 -1
  379. package/cjs/ops/utils/Version.test.js.map +0 -1
  380. package/cjs/ops/utils/Wordwrap.js +0 -12
  381. package/cjs/ops/utils/Wordwrap.js.map +0 -1
  382. package/cjs/ops/utils/Wordwrap.test.js +0 -22
  383. package/cjs/ops/utils/Wordwrap.test.js.map +0 -1
  384. package/cjs/storage/StaticStorage.js +0 -31
  385. package/cjs/storage/StaticStorage.js.map +0 -1
  386. package/esm/ops/utils/Version.js.map +0 -1
  387. package/esm/ops/utils/Version.test.js.map +0 -1
  388. package/esm/ops/utils/Wordwrap.js +0 -5
  389. package/esm/ops/utils/Wordwrap.js.map +0 -1
  390. package/esm/ops/utils/Wordwrap.test.js +0 -19
  391. package/esm/ops/utils/Wordwrap.test.js.map +0 -1
  392. package/esm/storage/StaticStorage.js +0 -15
  393. package/esm/storage/StaticStorage.js.map +0 -1
  394. package/types/ops/utils/Version.d.ts.map +0 -1
  395. package/types/ops/utils/Wordwrap.d.ts +0 -2
  396. package/types/ops/utils/Wordwrap.d.ts.map +0 -1
  397. package/types/storage/StaticStorage.d.ts +0 -15
  398. package/types/storage/StaticStorage.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionProfileOps.test.js","names":["fs","homedir","state","ConnectionProfileOps","FRODO_CONNECTION_PROFILES_PATH_KEY","FRODO_MASTER_KEY_PATH_KEY","FRODO_MASTER_KEY_KEY","describe","connectionProfilePath1","connectionProfilePath2","connectionProfilePath3","beforeAll","unlinkSync","error","afterAll","test","host","user","password","setHost","setUsername","setPassword","setConnectionProfilesPath","saveConnectionProfile","expect","existsSync","toBeTruthy","connections","JSON","parse","readFileSync","username","toEqual","encodedPassword","process","env","getConnectionProfilesPath","masterKey"],"sources":["../../src/ops/ConnectionProfileOps.test.ts"],"sourcesContent":["/**\n * Run tests\n *\n * npm run test:only ConnectionProfileOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport fs from 'fs';\nimport { homedir } from 'os';\nimport { state } from '../index';\nimport * as ConnectionProfileOps from './ConnectionProfileOps';\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 const connectionProfilePath1 = `${homedir()}/connections1.json`;\n const connectionProfilePath2 = `${homedir()}/connections2.json`;\n const connectionProfilePath3 = `${homedir()}/connections3.json`;\n\n // delete all connection profile files before running the tests\n beforeAll(() => {\n try {\n fs.unlinkSync(connectionProfilePath1);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath2);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath3);\n } catch (error) {\n // ignore\n }\n });\n\n // clean up all connection profile files after running the tests\n afterAll(() => {\n try {\n fs.unlinkSync(connectionProfilePath1);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath2);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath3);\n } catch (error) {\n // ignore\n }\n });\n\n describe('saveConnectionProfile()', () => {\n test('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\n state.setHost(host);\n state.setUsername(user);\n state.setPassword(password);\n state.setConnectionProfilesPath(connectionProfilePath1);\n await ConnectionProfileOps.saveConnectionProfile({ host, state });\n expect(fs.existsSync(connectionProfilePath1)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath1, '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(`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 // set the hard-coded master key\n process.env[FRODO_CONNECTION_PROFILES_PATH_KEY] = connectionProfilePath2;\n\n state.setHost(host);\n state.setUsername(user);\n state.setPassword(password);\n state.setConnectionProfilesPath('');\n await ConnectionProfileOps.saveConnectionProfile({ host, state });\n expect(ConnectionProfileOps.getConnectionProfilesPath({ state })).toEqual(\n connectionProfilePath2\n );\n expect(fs.existsSync(connectionProfilePath2)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath2, '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(`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 masterKey = 'bxnQlhcU5VfyDs+BBPhRhK09yHaNtdIIk85HUMKBnqg=';\n // set the hard-coded master key\n process.env[FRODO_MASTER_KEY_KEY] = masterKey;\n\n state.setHost(host);\n state.setUsername(user);\n state.setPassword(password);\n state.setConnectionProfilesPath(connectionProfilePath3);\n await ConnectionProfileOps.saveConnectionProfile({ host, state });\n expect(fs.existsSync(connectionProfilePath3)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath3, '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});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConnectionProfileOps.test.js","names":["fs","homedir","state","ConnectionProfileOps","Constants","describe","connectionProfilePath1","connectionProfilePath2","connectionProfilePath3","beforeAll","unlinkSync","error","afterAll","test","host","user","password","setHost","setUsername","setPassword","setConnectionProfilesPath","saveConnectionProfile","expect","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":["../../src/ops/ConnectionProfileOps.test.ts"],"sourcesContent":["/**\n * Run tests\n *\n * npm run test:only ConnectionProfileOps\n *\n * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output\n * in case things don't function as expected\n */\nimport fs from 'fs';\nimport { homedir } from 'os';\nimport { state } from '../index';\nimport * as ConnectionProfileOps from './ConnectionProfileOps';\nimport Constants from '../shared/Constants';\n\ndescribe('ConnectionProfileOps', () => {\n const connectionProfilePath1 = `${homedir()}/connections1.json`;\n const connectionProfilePath2 = `${homedir()}/connections2.json`;\n const connectionProfilePath3 = `${homedir()}/connections3.json`;\n\n // delete all connection profile files before running the tests\n beforeAll(() => {\n try {\n fs.unlinkSync(connectionProfilePath1);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath2);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath3);\n } catch (error) {\n // ignore\n }\n });\n\n // clean up all connection profile files after running the tests\n afterAll(() => {\n try {\n fs.unlinkSync(connectionProfilePath1);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath2);\n } catch (error) {\n // ignore\n }\n try {\n fs.unlinkSync(connectionProfilePath3);\n } catch (error) {\n // ignore\n }\n });\n\n describe('saveConnectionProfile()', () => {\n test('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\n state.setHost(host);\n state.setUsername(user);\n state.setPassword(password);\n state.setConnectionProfilesPath(connectionProfilePath1);\n await ConnectionProfileOps.saveConnectionProfile({ host, state });\n expect(fs.existsSync(connectionProfilePath1)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath1, '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(`2: Create connection profiles in location from env ${Constants.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 // set the hard-coded master key\n process.env[Constants.FRODO_CONNECTION_PROFILES_PATH_KEY] =\n connectionProfilePath2;\n\n state.setHost(host);\n state.setUsername(user);\n state.setPassword(password);\n state.setConnectionProfilesPath('');\n await ConnectionProfileOps.saveConnectionProfile({ host, state });\n expect(ConnectionProfileOps.getConnectionProfilesPath({ state })).toEqual(\n connectionProfilePath2\n );\n expect(fs.existsSync(connectionProfilePath2)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath2, '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(`3: Use Master Key from env ${Constants.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 masterKey = 'bxnQlhcU5VfyDs+BBPhRhK09yHaNtdIIk85HUMKBnqg=';\n // set the hard-coded master key\n process.env[Constants.FRODO_MASTER_KEY_KEY] = masterKey;\n\n state.setHost(host);\n state.setUsername(user);\n state.setPassword(password);\n state.setConnectionProfilesPath(connectionProfilePath3);\n await ConnectionProfileOps.saveConnectionProfile({ host, state });\n expect(fs.existsSync(connectionProfilePath3)).toBeTruthy();\n const connections = JSON.parse(\n fs.readFileSync(connectionProfilePath3, '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});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmailTemplateOps.js","names":["getConfigEntitiesByType","getConfigEntity","putConfigEntity","state","EMAIL_TEMPLATE_TYPE","getEmailTemplates","getEmailTemplate","templateId","putEmailTemplate","templateData","type","entityId","entityData"],"sources":["../../src/ops/EmailTemplateOps.ts"],"sourcesContent":["import {\n EmailTemplateSkeleton,\n NoIdObjectSkeletonInterface,\n} from '../api/ApiTypes';\nimport {\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n} from '../api/IdmConfigApi';\nimport State from '../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\n EMAIL_TEMPLATE_TYPE,\n\n /**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\n async getEmailTemplates() {\n return getEmailTemplates({ state });\n },\n\n /**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\n async getEmailTemplate(templateId: string) {\n return getEmailTemplate({ templateId, state });\n },\n\n /**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\n async putEmailTemplate(\n templateId: string,\n templateData: EmailTemplateSkeleton\n ) {\n return putEmailTemplate({ templateId, templateData, state });\n },\n };\n};\n\n/**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\nexport const EMAIL_TEMPLATE_TYPE = 'emailTemplate';\n\n/**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\nexport async function getEmailTemplates({ state }: { state: State }) {\n return getConfigEntitiesByType({ type: EMAIL_TEMPLATE_TYPE, state });\n}\n\n/**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\nexport async function getEmailTemplate({\n templateId,\n state,\n}: {\n templateId: string;\n state: State;\n}) {\n return getConfigEntity({\n entityId: `${EMAIL_TEMPLATE_TYPE}/${templateId}`,\n state,\n });\n}\n\n/**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\nexport async function putEmailTemplate({\n templateId,\n templateData,\n state,\n}: {\n templateId: string;\n templateData: EmailTemplateSkeleton | NoIdObjectSkeletonInterface;\n state: State;\n}) {\n return putConfigEntity({\n entityId: `${EMAIL_TEMPLATE_TYPE}/${templateId}`,\n entityData: templateData,\n state,\n });\n}\n"],"mappings":"SAKEA,uBAAuB,EACvBC,eAAe,EACfC,eAAe;AAIjB,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACL;AACJ;AACA;IACIC,mBAAmB;IAEnB;AACJ;AACA;AACA;IACI,MAAMC,iBAAiBA,CAAA,EAAG;MACxB,OAAOA,iBAAiB,CAAC;QAAEF;MAAM,CAAC,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI,MAAMG,gBAAgBA,CAACC,UAAkB,EAAE;MACzC,OAAOD,gBAAgB,CAAC;QAAEC,UAAU;QAAEJ;MAAM,CAAC,CAAC;IAChD,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACI,MAAMK,gBAAgBA,CACpBD,UAAkB,EAClBE,YAAmC,EACnC;MACA,OAAOD,gBAAgB,CAAC;QAAED,UAAU;QAAEE,YAAY;QAAEN;MAAM,CAAC,CAAC;IAC9D;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAG,eAAe;;AAElD;AACA;AACA;AACA;AACA,OAAO,eAAeC,iBAAiBA,CAAC;EAAEF;AAAwB,CAAC,EAAE;EACnE,OAAOH,uBAAuB,CAAC;IAAEU,IAAI,EAAEN,mBAAmB;IAAED;EAAM,CAAC,CAAC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,gBAAgBA,CAAC;EACrCC,UAAU;EACVJ;AAIF,CAAC,EAAE;EACD,OAAOF,eAAe,CAAC;IACrBU,QAAQ,EAAG,GAAEP,mBAAoB,IAAGG,UAAW,EAAC;IAChDJ;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeK,gBAAgBA,CAAC;EACrCD,UAAU;EACVE,YAAY;EACZN;AAKF,CAAC,EAAE;EACD,OAAOD,eAAe,CAAC;IACrBS,QAAQ,EAAG,GAAEP,mBAAoB,IAAGG,UAAW,EAAC;IAChDK,UAAU,EAAEH,YAAY;IACxBN;EACF,CAAC,CAAC;AACJ"}
1
+ {"version":3,"file":"EmailTemplateOps.js","names":["getConfigEntitiesByType","getConfigEntity","putConfigEntity","state","EMAIL_TEMPLATE_TYPE","getEmailTemplates","getEmailTemplate","templateId","putEmailTemplate","templateData","type","entityId","entityData"],"sources":["../../src/ops/EmailTemplateOps.ts"],"sourcesContent":["import {\n EmailTemplateSkeleton,\n NoIdObjectSkeletonInterface,\n} from '../api/ApiTypes';\nimport {\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n} from '../api/IdmConfigApi';\nimport { State } from '../shared/State';\n\nexport type EmailTemplate = {\n /**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\n EMAIL_TEMPLATE_TYPE: string;\n /**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\n getEmailTemplates(): Promise<any>;\n /**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\n getEmailTemplate(templateId: string): Promise<any>;\n /**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\n putEmailTemplate(\n templateId: string,\n templateData: EmailTemplateSkeleton\n ): Promise<any>;\n};\n\nexport default (state: State): EmailTemplate => {\n return {\n /**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\n EMAIL_TEMPLATE_TYPE,\n\n /**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\n async getEmailTemplates() {\n return getEmailTemplates({ state });\n },\n\n /**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\n async getEmailTemplate(templateId: string) {\n return getEmailTemplate({ templateId, state });\n },\n\n /**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\n async putEmailTemplate(\n templateId: string,\n templateData: EmailTemplateSkeleton\n ) {\n return putEmailTemplate({ templateId, templateData, state });\n },\n };\n};\n\n/**\n * Email template type key used to build the IDM id: 'emailTemplate/<id>'\n */\nexport const EMAIL_TEMPLATE_TYPE = 'emailTemplate';\n\n/**\n * Get all email templates\n * @returns {Promise} a promise that resolves to an array of email template objects\n */\nexport async function getEmailTemplates({ state }: { state: State }) {\n return getConfigEntitiesByType({ type: EMAIL_TEMPLATE_TYPE, state });\n}\n\n/**\n * Get email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @returns {Promise} a promise that resolves an email template object\n */\nexport async function getEmailTemplate({\n templateId,\n state,\n}: {\n templateId: string;\n state: State;\n}) {\n return getConfigEntity({\n entityId: `${EMAIL_TEMPLATE_TYPE}/${templateId}`,\n state,\n });\n}\n\n/**\n * Put email template\n * @param {string} templateId id/name of the email template without the type prefix\n * @param {Object} templateData email template object\n * @returns {Promise} a promise that resolves to an email template object\n */\nexport async function putEmailTemplate({\n templateId,\n templateData,\n state,\n}: {\n templateId: string;\n templateData: EmailTemplateSkeleton | NoIdObjectSkeletonInterface;\n state: State;\n}) {\n return putConfigEntity({\n entityId: `${EMAIL_TEMPLATE_TYPE}/${templateId}`,\n entityData: templateData,\n state,\n });\n}\n"],"mappings":"SAKEA,uBAAuB,EACvBC,eAAe,EACfC,eAAe;AAgCjB,gBAAgBC,KAAY,IAAoB;EAC9C,OAAO;IACL;AACJ;AACA;IACIC,mBAAmB;IAEnB;AACJ;AACA;AACA;IACI,MAAMC,iBAAiBA,CAAA,EAAG;MACxB,OAAOA,iBAAiB,CAAC;QAAEF;MAAM,CAAC,CAAC;IACrC,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI,MAAMG,gBAAgBA,CAACC,UAAkB,EAAE;MACzC,OAAOD,gBAAgB,CAAC;QAAEC,UAAU;QAAEJ;MAAM,CAAC,CAAC;IAChD,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACI,MAAMK,gBAAgBA,CACpBD,UAAkB,EAClBE,YAAmC,EACnC;MACA,OAAOD,gBAAgB,CAAC;QAAED,UAAU;QAAEE,YAAY;QAAEN;MAAM,CAAC,CAAC;IAC9D;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAG,eAAe;;AAElD;AACA;AACA;AACA;AACA,OAAO,eAAeC,iBAAiBA,CAAC;EAAEF;AAAwB,CAAC,EAAE;EACnE,OAAOH,uBAAuB,CAAC;IAAEU,IAAI,EAAEN,mBAAmB;IAAED;EAAM,CAAC,CAAC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,gBAAgBA,CAAC;EACrCC,UAAU;EACVJ;AAIF,CAAC,EAAE;EACD,OAAOF,eAAe,CAAC;IACrBU,QAAQ,EAAG,GAAEP,mBAAoB,IAAGG,UAAW,EAAC;IAChDJ;EACF,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeK,gBAAgBA,CAAC;EACrCD,UAAU;EACVE,YAAY;EACZN;AAKF,CAAC,EAAE;EACD,OAAOD,eAAe,CAAC;IACrBS,QAAQ,EAAG,GAAEP,mBAAoB,IAAGG,UAAW,EAAC;IAChDK,UAAU,EAAEH,YAAY;IACxBN;EACF,CAAC,CAAC;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdmOps.js","names":["getAllConfigEntities","getConfigEntity","putConfigEntity","getConfigEntitiesByType","queryAllManagedObjectsByType","testConnectorServers","_testConnectorServers","state","type","entityId","entityData","fields","pageCookie","response","openicf"],"sources":["../../src/ops/IdmOps.ts"],"sourcesContent":["import {\n IdObjectSkeletonInterface,\n NoIdObjectSkeletonInterface,\n PagedResult,\n} from '../api/ApiTypes';\nimport {\n getAllConfigEntities,\n getConfigEntity,\n putConfigEntity,\n getConfigEntitiesByType,\n queryAllManagedObjectsByType,\n} from '../api/IdmConfigApi';\nimport {\n testConnectorServers as _testConnectorServers,\n ConnectorServerStatusInterface,\n} from '../api/IdmSystemApi';\nimport State from '../shared/State';\n\nexport default (state: State) => {\n return {\n getAllConfigEntities() {\n return getAllConfigEntities({ state });\n },\n\n getConfigEntitiesByType(type: string) {\n return getConfigEntitiesByType({ type, state });\n },\n\n getConfigEntity(entityId: string) {\n return getConfigEntity({ entityId, state });\n },\n\n putConfigEntity(\n entityId: string,\n entityData: NoIdObjectSkeletonInterface | string\n ) {\n return putConfigEntity({ entityId, entityData, state });\n },\n\n /**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<PagedResult<IdObjectSkeletonInterface>>} a promise that resolves to managed objects of the desired type\n */\n queryAllManagedObjectsByType(\n type: string,\n fields: string[],\n pageCookie: string\n ): Promise<PagedResult<IdObjectSkeletonInterface>> {\n return queryAllManagedObjectsByType({\n type,\n fields,\n pageCookie,\n state,\n });\n },\n\n /**\n * Test connector servers\n * @returns {Promise<ConnectorServerStatusInterface[]>} a promise that resolves to an array of ConnectorServerStatusInterface objects\n */\n async testConnectorServers(): Promise<ConnectorServerStatusInterface[]> {\n return testConnectorServers({ state });\n },\n };\n};\n\nexport {\n getAllConfigEntities,\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n queryAllManagedObjectsByType,\n};\n\n/**\n * Test connector servers\n * @returns {Promise<ConnectorServerStatusInterface[]>} a promise that resolves to an array of ConnectorServerStatusInterface objects\n */\nexport async function testConnectorServers({\n state,\n}: {\n state: State;\n}): Promise<ConnectorServerStatusInterface[]> {\n const response = await _testConnectorServers({ state });\n return response.openicf;\n}\n"],"mappings":"SAMEA,oBAAoB,EACpBC,eAAe,EACfC,eAAe,EACfC,uBAAuB,EACvBC,4BAA4B;AAAA,SAG5BC,oBAAoB,IAAIC,qBAAqB;AAK/C,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACLP,oBAAoBA,CAAA,EAAG;MACrB,OAAOA,oBAAoB,CAAC;QAAEO;MAAM,CAAC,CAAC;IACxC,CAAC;IAEDJ,uBAAuBA,CAACK,IAAY,EAAE;MACpC,OAAOL,uBAAuB,CAAC;QAAEK,IAAI;QAAED;MAAM,CAAC,CAAC;IACjD,CAAC;IAEDN,eAAeA,CAACQ,QAAgB,EAAE;MAChC,OAAOR,eAAe,CAAC;QAAEQ,QAAQ;QAAEF;MAAM,CAAC,CAAC;IAC7C,CAAC;IAEDL,eAAeA,CACbO,QAAgB,EAChBC,UAAgD,EAChD;MACA,OAAOR,eAAe,CAAC;QAAEO,QAAQ;QAAEC,UAAU;QAAEH;MAAM,CAAC,CAAC;IACzD,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;IACIH,4BAA4BA,CAC1BI,IAAY,EACZG,MAAgB,EAChBC,UAAkB,EAC+B;MACjD,OAAOR,4BAA4B,CAAC;QAClCI,IAAI;QACJG,MAAM;QACNC,UAAU;QACVL;MACF,CAAC,CAAC;IACJ,CAAC;IAED;AACJ;AACA;AACA;IACI,MAAMF,oBAAoBA,CAAA,EAA8C;MACtE,OAAOA,oBAAoB,CAAC;QAAEE;MAAM,CAAC,CAAC;IACxC;EACF,CAAC;AACH,CAAC;AAED,SACEP,oBAAoB,EACpBG,uBAAuB,EACvBF,eAAe,EACfC,eAAe,EACfE,4BAA4B;;AAG9B;AACA;AACA;AACA;AACA,OAAO,eAAeC,oBAAoBA,CAAC;EACzCE;AAGF,CAAC,EAA6C;EAC5C,MAAMM,QAAQ,GAAG,MAAMP,qBAAqB,CAAC;IAAEC;EAAM,CAAC,CAAC;EACvD,OAAOM,QAAQ,CAACC,OAAO;AACzB"}
1
+ {"version":3,"file":"IdmOps.js","names":["getAllConfigEntities","getConfigEntity","putConfigEntity","getConfigEntitiesByType","queryAllManagedObjectsByType","testConnectorServers","_testConnectorServers","state","type","entityId","entityData","fields","pageCookie","response","openicf"],"sources":["../../src/ops/IdmOps.ts"],"sourcesContent":["import {\n IdObjectSkeletonInterface,\n NoIdObjectSkeletonInterface,\n PagedResult,\n} from '../api/ApiTypes';\nimport {\n getAllConfigEntities,\n getConfigEntity,\n putConfigEntity,\n getConfigEntitiesByType,\n queryAllManagedObjectsByType,\n} from '../api/IdmConfigApi';\nimport {\n testConnectorServers as _testConnectorServers,\n ConnectorServerStatusInterface,\n} from '../api/IdmSystemApi';\nimport { State } from '../shared/State';\n\nexport type Idm = {\n getAllConfigEntities(): Promise<any>;\n getConfigEntitiesByType(type: string): Promise<any>;\n getConfigEntity(entityId: string): Promise<any>;\n putConfigEntity(\n entityId: string,\n entityData: NoIdObjectSkeletonInterface | string\n ): Promise<any>;\n /**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<PagedResult<IdObjectSkeletonInterface>>} a promise that resolves to managed objects of the desired type\n */\n queryAllManagedObjectsByType(\n type: string,\n fields: string[],\n pageCookie: string\n ): Promise<PagedResult<IdObjectSkeletonInterface>>;\n /**\n * Test connector servers\n * @returns {Promise<ConnectorServerStatusInterface[]>} a promise that resolves to an array of ConnectorServerStatusInterface objects\n */\n testConnectorServers(): Promise<ConnectorServerStatusInterface[]>;\n};\n\nexport default (state: State): Idm => {\n return {\n getAllConfigEntities() {\n return getAllConfigEntities({ state });\n },\n\n getConfigEntitiesByType(type: string) {\n return getConfigEntitiesByType({ type, state });\n },\n\n getConfigEntity(entityId: string) {\n return getConfigEntity({ entityId, state });\n },\n\n putConfigEntity(\n entityId: string,\n entityData: NoIdObjectSkeletonInterface | string\n ) {\n return putConfigEntity({ entityId, entityData, state });\n },\n\n /**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<PagedResult<IdObjectSkeletonInterface>>} a promise that resolves to managed objects of the desired type\n */\n queryAllManagedObjectsByType(\n type: string,\n fields: string[],\n pageCookie: string\n ): Promise<PagedResult<IdObjectSkeletonInterface>> {\n return queryAllManagedObjectsByType({\n type,\n fields,\n pageCookie,\n state,\n });\n },\n\n /**\n * Test connector servers\n * @returns {Promise<ConnectorServerStatusInterface[]>} a promise that resolves to an array of ConnectorServerStatusInterface objects\n */\n async testConnectorServers(): Promise<ConnectorServerStatusInterface[]> {\n return testConnectorServers({ state });\n },\n };\n};\n\nexport {\n getAllConfigEntities,\n getConfigEntitiesByType,\n getConfigEntity,\n putConfigEntity,\n queryAllManagedObjectsByType,\n};\n\n/**\n * Test connector servers\n * @returns {Promise<ConnectorServerStatusInterface[]>} a promise that resolves to an array of ConnectorServerStatusInterface objects\n */\nexport async function testConnectorServers({\n state,\n}: {\n state: State;\n}): Promise<ConnectorServerStatusInterface[]> {\n const response = await _testConnectorServers({ state });\n return response.openicf;\n}\n"],"mappings":"SAMEA,oBAAoB,EACpBC,eAAe,EACfC,eAAe,EACfC,uBAAuB,EACvBC,4BAA4B;AAAA,SAG5BC,oBAAoB,IAAIC,qBAAqB;AAgC/C,gBAAgBC,KAAY,IAAU;EACpC,OAAO;IACLP,oBAAoBA,CAAA,EAAG;MACrB,OAAOA,oBAAoB,CAAC;QAAEO;MAAM,CAAC,CAAC;IACxC,CAAC;IAEDJ,uBAAuBA,CAACK,IAAY,EAAE;MACpC,OAAOL,uBAAuB,CAAC;QAAEK,IAAI;QAAED;MAAM,CAAC,CAAC;IACjD,CAAC;IAEDN,eAAeA,CAACQ,QAAgB,EAAE;MAChC,OAAOR,eAAe,CAAC;QAAEQ,QAAQ;QAAEF;MAAM,CAAC,CAAC;IAC7C,CAAC;IAEDL,eAAeA,CACbO,QAAgB,EAChBC,UAAgD,EAChD;MACA,OAAOR,eAAe,CAAC;QAAEO,QAAQ;QAAEC,UAAU;QAAEH;MAAM,CAAC,CAAC;IACzD,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;IACIH,4BAA4BA,CAC1BI,IAAY,EACZG,MAAgB,EAChBC,UAAkB,EAC+B;MACjD,OAAOR,4BAA4B,CAAC;QAClCI,IAAI;QACJG,MAAM;QACNC,UAAU;QACVL;MACF,CAAC,CAAC;IACJ,CAAC;IAED;AACJ;AACA;AACA;IACI,MAAMF,oBAAoBA,CAAA,EAA8C;MACtE,OAAOA,oBAAoB,CAAC;QAAEE;MAAM,CAAC,CAAC;IACxC;EACF,CAAC;AACH,CAAC;AAED,SACEP,oBAAoB,EACpBG,uBAAuB,EACvBF,eAAe,EACfC,eAAe,EACfE,4BAA4B;;AAG9B;AACA;AACA;AACA;AACA,OAAO,eAAeC,oBAAoBA,CAAC;EACzCE;AAGF,CAAC,EAA6C;EAC5C,MAAMM,QAAQ,GAAG,MAAMP,qBAAqB,CAAC;IAAEC;EAAM,CAAC,CAAC;EACvD,OAAOM,QAAQ,CAACC,OAAO;AACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"IdpOps.js","names":["deleteProviderByTypeAndId","getSocialIdentityProviders","_getSocialIdentityProviders","putProviderByTypeAndId","_putProviderByTypeAndId","getScript","putScript","convertBase64TextToArray","convertTextArrayToBase64","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","getMetadata","debugMessage","state","getSocialProvider","providerId","providerType","providerData","deleteSocialProvider","exportSocialProvider","exportSocialProviders","importSocialProvider","importData","importFirstSocialProvider","importSocialProviders","createIdpExportTemplate","meta","script","idp","result","response","foundProviders","filter","provider","_id","length","Error","message","type","id","importError","_importError$response","_importError$response2","_importError$response3","status","data","validAttributes","detail","push","attribute","Object","keys","includes","getVerbose","newline","_type","idpData","exportData","transform","scriptData","scriptId","allIdpsData","total","idpId","outcome","error","_error$response"],"sources":["../../src/ops/IdpOps.ts"],"sourcesContent":["import {\n deleteProviderByTypeAndId,\n getSocialIdentityProviders as _getSocialIdentityProviders,\n putProviderByTypeAndId as _putProviderByTypeAndId,\n} from '../api/SocialIdentityProvidersApi';\nimport { getScript } from '../api/ScriptApi';\nimport { putScript } from './ScriptOps';\nimport {\n convertBase64TextToArray,\n convertTextArrayToBase64,\n} from './utils/ExportImportUtils';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n NoIdObjectSkeletonInterface,\n ScriptSkeleton,\n SocialIdpSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport State from '../shared/State';\nimport { debugMessage } from './utils/Console';\n\nexport default (state: State) => {\n return {\n /**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\n async getSocialIdentityProviders() {\n return getSocialIdentityProviders({ state });\n },\n\n /**\n * Get social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\n async getSocialProvider(providerId: string) {\n return getSocialProvider({ providerId, state });\n },\n\n async putProviderByTypeAndId(\n providerType: string,\n providerId: string,\n providerData: SocialIdpSkeleton\n ) {\n return putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n },\n\n /**\n * Delete social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\n async deleteSocialProvider(providerId: string): Promise<unknown> {\n return deleteSocialProvider({ providerId, state });\n },\n\n /**\n * Export social provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportSocialProvider(\n providerId: string\n ): Promise<SocialProviderExportInterface> {\n return exportSocialProvider({ providerId, state });\n },\n\n /**\n * Export all providers\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportSocialProviders(): Promise<SocialProviderExportInterface> {\n return exportSocialProviders({ state });\n },\n\n /**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {SocialProviderExportInterface} importData import data\n */\n async importSocialProvider(\n providerId: string,\n importData: SocialProviderExportInterface\n ): Promise<boolean> {\n return importSocialProvider({ providerId, importData, state });\n },\n\n /**\n * Import first provider\n * @param {SocialProviderExportInterface} importData import data\n */\n async importFirstSocialProvider(\n importData: SocialProviderExportInterface\n ): Promise<boolean> {\n return importFirstSocialProvider({ importData, state });\n },\n\n /**\n * Import all providers\n * @param {SocialProviderExportInterface} importData import data\n */\n async importSocialProviders(\n importData: SocialProviderExportInterface\n ): Promise<boolean> {\n return importSocialProviders({ importData, state });\n },\n };\n};\n\nexport interface SocialProviderExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n idp: Record<string, SocialIdpSkeleton>;\n}\n\n/**\n * Create an empty idp export template\n * @returns {SocialProviderExportInterface} an empty idp export template\n */\nfunction createIdpExportTemplate({\n state,\n}: {\n state: State;\n}): SocialProviderExportInterface {\n return {\n meta: getMetadata({ state }),\n script: {},\n idp: {},\n } as SocialProviderExportInterface;\n}\n\n/**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\nexport async function getSocialIdentityProviders({ state }: { state: State }) {\n const { result } = await _getSocialIdentityProviders({ state });\n return result;\n}\n\n/**\n * Get social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\nexport async function getSocialProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}) {\n const response = await getSocialIdentityProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return foundProviders[0];\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\nexport async function putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n}: {\n providerType: string;\n providerId: string;\n providerData: SocialIdpSkeleton | NoIdObjectSkeletonInterface;\n state: State;\n}) {\n debugMessage({ message: `IdpOps.putProviderByTypeAndId: start`, state });\n try {\n const response = await _putProviderByTypeAndId({\n type: providerType,\n id: providerId,\n providerData,\n state,\n });\n debugMessage({ message: `IdpOps.putProviderByTypeAndId: end`, state });\n return response;\n } catch (importError) {\n if (\n importError.response?.status === 400 &&\n importError.response?.data?.message === 'Invalid attribute specified.'\n ) {\n const { validAttributes } = importError.response.data.detail;\n validAttributes.push('_id', '_type');\n for (const attribute of Object.keys(providerData)) {\n if (!validAttributes.includes(attribute)) {\n if (state.getVerbose())\n printMessage({\n message: `\\nRemoving invalid attribute: ${attribute}`,\n type: 'warn',\n newline: false,\n state,\n });\n delete providerData[attribute];\n }\n }\n if (state.getVerbose())\n printMessage({ message: '\\n', type: 'warn', newline: false, state });\n const response = await _putProviderByTypeAndId({\n type: providerType,\n id: providerId,\n providerData,\n state,\n });\n debugMessage({\n message: `IdpOps.putProviderByTypeAndId: end (after retry)`,\n state,\n });\n return response;\n } else {\n // re-throw unhandleable error\n throw importError;\n }\n }\n}\n\n/**\n * Delete social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\nexport async function deleteSocialProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<unknown> {\n const response = await getSocialIdentityProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return await deleteProviderByTypeAndId({\n type: foundProviders[0]._type._id,\n providerId: foundProviders[0]._id,\n state,\n });\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\n/**\n * Export social provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportSocialProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<SocialProviderExportInterface> {\n debugMessage({ message: `IdpOps.exportSocialProvider: start`, state });\n const idpData = await getSocialProvider({ providerId, state });\n const exportData = createIdpExportTemplate({ state });\n exportData.idp[idpData._id] = idpData;\n if (idpData.transform) {\n const scriptData = await getScript({ scriptId: idpData.transform, state });\n scriptData.script = convertBase64TextToArray(scriptData.script);\n exportData.script[idpData.transform] = scriptData;\n }\n debugMessage({ message: `IdpOps.exportSocialProvider: end`, state });\n return exportData;\n}\n\n/**\n * Export all providers\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportSocialProviders({\n state,\n}: {\n state: State;\n}): Promise<SocialProviderExportInterface> {\n const exportData = createIdpExportTemplate({ state });\n const allIdpsData = await getSocialIdentityProviders({ state });\n createProgressIndicator({\n total: allIdpsData.length,\n message: 'Exporting providers',\n state,\n });\n for (const idpData of allIdpsData) {\n updateProgressIndicator({\n message: `Exporting provider ${idpData._id}`,\n state,\n });\n exportData.idp[idpData._id] = idpData;\n if (idpData.transform) {\n const scriptData = await getScript({\n scriptId: idpData.transform,\n state,\n });\n scriptData.script = convertBase64TextToArray(scriptData.script);\n exportData.script[idpData.transform] = scriptData;\n }\n }\n stopProgressIndicator({\n message: `${allIdpsData.length} providers exported.`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {SocialProviderExportInterface} importData import data\n */\nexport async function importSocialProvider({\n providerId,\n importData,\n state,\n}: {\n providerId: string;\n importData: SocialProviderExportInterface;\n state: State;\n}): Promise<boolean> {\n for (const idpId of Object.keys(importData.idp)) {\n if (idpId === providerId) {\n const scriptId = importData.idp[idpId].transform as string;\n const scriptData = importData.script[scriptId as string];\n if (scriptId && scriptData) {\n scriptData.script = convertTextArrayToBase64(\n scriptData.script as string[]\n );\n await putScript({ scriptId, scriptData, state });\n }\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n return true;\n }\n }\n return false;\n}\n\n/**\n * Import first provider\n * @param {SocialProviderExportInterface} importData import data\n */\nexport async function importFirstSocialProvider({\n importData,\n state,\n}: {\n importData: SocialProviderExportInterface;\n state: State;\n}): Promise<boolean> {\n for (const idpId of Object.keys(importData.idp)) {\n const scriptId = importData.idp[idpId].transform as string;\n const scriptData = importData.script[scriptId as string];\n if (scriptId && scriptData) {\n scriptData.script = convertTextArrayToBase64(\n scriptData.script as string[]\n );\n await putScript({ scriptId, scriptData, state });\n }\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n return true;\n }\n return false;\n}\n\n/**\n * Import all providers\n * @param {SocialProviderExportInterface} importData import data\n */\nexport async function importSocialProviders({\n importData,\n state,\n}: {\n importData: SocialProviderExportInterface;\n state: State;\n}): Promise<boolean> {\n let outcome = true;\n for (const idpId of Object.keys(importData.idp)) {\n try {\n const scriptId = importData.idp[idpId].transform as string;\n const scriptData = { ...importData.script[scriptId as string] };\n if (scriptId && scriptData) {\n scriptData.script = convertTextArrayToBase64(\n scriptData.script as string[]\n );\n await putScript({ scriptId, scriptData, state });\n }\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n } catch (error) {\n printMessage({\n message: error.response?.data || error,\n type: 'error',\n state,\n });\n printMessage({\n message: `\\nError importing provider ${idpId}`,\n type: 'error',\n state,\n });\n outcome = false;\n }\n }\n return outcome;\n}\n"],"mappings":"SACEA,yBAAyB,EACzBC,0BAA0B,IAAIC,2BAA2B,EACzDC,sBAAsB,IAAIC,uBAAuB;AAAA,SAE1CC,SAAS;AAAA,SACTC,SAAS;AAAA,SAEhBC,wBAAwB,EACxBC,wBAAwB;AAAA,SAGxBC,YAAY,EACZC,uBAAuB,EACvBC,uBAAuB,EACvBC,qBAAqB;AAAA,SAQdC,WAAW;AAAA,SAEXC,YAAY;AAErB,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACL;AACJ;AACA;AACA;IACI,MAAMd,0BAA0BA,CAAA,EAAG;MACjC,OAAOA,0BAA0B,CAAC;QAAEc;MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI,MAAMC,iBAAiBA,CAACC,UAAkB,EAAE;MAC1C,OAAOD,iBAAiB,CAAC;QAAEC,UAAU;QAAEF;MAAM,CAAC,CAAC;IACjD,CAAC;IAED,MAAMZ,sBAAsBA,CAC1Be,YAAoB,EACpBD,UAAkB,EAClBE,YAA+B,EAC/B;MACA,OAAOhB,sBAAsB,CAAC;QAC5Be,YAAY;QACZD,UAAU;QACVE,YAAY;QACZJ;MACF,CAAC,CAAC;IACJ,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI,MAAMK,oBAAoBA,CAACH,UAAkB,EAAoB;MAC/D,OAAOG,oBAAoB,CAAC;QAAEH,UAAU;QAAEF;MAAM,CAAC,CAAC;IACpD,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI,MAAMM,oBAAoBA,CACxBJ,UAAkB,EACsB;MACxC,OAAOI,oBAAoB,CAAC;QAAEJ,UAAU;QAAEF;MAAM,CAAC,CAAC;IACpD,CAAC;IAED;AACJ;AACA;AACA;IACI,MAAMO,qBAAqBA,CAAA,EAA2C;MACpE,OAAOA,qBAAqB,CAAC;QAAEP;MAAM,CAAC,CAAC;IACzC,CAAC;IAED;AACJ;AACA;AACA;AACA;IACI,MAAMQ,oBAAoBA,CACxBN,UAAkB,EAClBO,UAAyC,EACvB;MAClB,OAAOD,oBAAoB,CAAC;QAAEN,UAAU;QAAEO,UAAU;QAAET;MAAM,CAAC,CAAC;IAChE,CAAC;IAED;AACJ;AACA;AACA;IACI,MAAMU,yBAAyBA,CAC7BD,UAAyC,EACvB;MAClB,OAAOC,yBAAyB,CAAC;QAAED,UAAU;QAAET;MAAM,CAAC,CAAC;IACzD,CAAC;IAED;AACJ;AACA;AACA;IACI,MAAMW,qBAAqBA,CACzBF,UAAyC,EACvB;MAClB,OAAOE,qBAAqB,CAAC;QAAEF,UAAU;QAAET;MAAM,CAAC,CAAC;IACrD;EACF,CAAC;AACH,CAAC;AAQD;AACA;AACA;AACA;AACA,SAASY,uBAAuBA,CAAC;EAC/BZ;AAGF,CAAC,EAAiC;EAChC,OAAO;IACLa,IAAI,EAAEf,WAAW,CAAC;MAAEE;IAAM,CAAC,CAAC;IAC5Bc,MAAM,EAAE,CAAC,CAAC;IACVC,GAAG,EAAE,CAAC;EACR,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAe7B,0BAA0BA,CAAC;EAAEc;AAAwB,CAAC,EAAE;EAC5E,MAAM;IAAEgB;EAAO,CAAC,GAAG,MAAM7B,2BAA2B,CAAC;IAAEa;EAAM,CAAC,CAAC;EAC/D,OAAOgB,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAef,iBAAiBA,CAAC;EACtCC,UAAU;EACVF;AAIF,CAAC,EAAE;EACD,MAAMiB,QAAQ,GAAG,MAAM/B,0BAA0B,CAAC;IAAEc;EAAM,CAAC,CAAC;EAC5D,MAAMkB,cAAc,GAAGD,QAAQ,CAACE,MAAM,CACnCC,QAAQ,IAAKA,QAAQ,CAACC,GAAG,KAAKnB,UACjC,CAAC;EACD,QAAQgB,cAAc,CAACI,MAAM;IAC3B,KAAK,CAAC;MACJ,OAAOJ,cAAc,CAAC,CAAC,CAAC;IAC1B,KAAK,CAAC;MACJ,MAAM,IAAIK,KAAK,CAAE,aAAYrB,UAAW,aAAY,CAAC;IACvD;MACE,MAAM,IAAIqB,KAAK,CACZ,GAAEL,cAAc,CAACI,MAAO,eAAcpB,UAAW,SACpD,CAAC;EACL;AACF;AAEA,OAAO,eAAed,sBAAsBA,CAAC;EAC3Ce,YAAY;EACZD,UAAU;EACVE,YAAY;EACZJ;AAMF,CAAC,EAAE;EACDD,YAAY,CAAC;IAAEyB,OAAO,EAAG,sCAAqC;IAAExB;EAAM,CAAC,CAAC;EACxE,IAAI;IACF,MAAMiB,QAAQ,GAAG,MAAM5B,uBAAuB,CAAC;MAC7CoC,IAAI,EAAEtB,YAAY;MAClBuB,EAAE,EAAExB,UAAU;MACdE,YAAY;MACZJ;IACF,CAAC,CAAC;IACFD,YAAY,CAAC;MAAEyB,OAAO,EAAG,oCAAmC;MAAExB;IAAM,CAAC,CAAC;IACtE,OAAOiB,QAAQ;EACjB,CAAC,CAAC,OAAOU,WAAW,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpB,IACE,EAAAF,qBAAA,GAAAD,WAAW,CAACV,QAAQ,cAAAW,qBAAA,uBAApBA,qBAAA,CAAsBG,MAAM,MAAK,GAAG,IACpC,EAAAF,sBAAA,GAAAF,WAAW,CAACV,QAAQ,cAAAY,sBAAA,wBAAAC,sBAAA,GAApBD,sBAAA,CAAsBG,IAAI,cAAAF,sBAAA,uBAA1BA,sBAAA,CAA4BN,OAAO,MAAK,8BAA8B,EACtE;MACA,MAAM;QAAES;MAAgB,CAAC,GAAGN,WAAW,CAACV,QAAQ,CAACe,IAAI,CAACE,MAAM;MAC5DD,eAAe,CAACE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;MACpC,KAAK,MAAMC,SAAS,IAAIC,MAAM,CAACC,IAAI,CAAClC,YAAY,CAAC,EAAE;QACjD,IAAI,CAAC6B,eAAe,CAACM,QAAQ,CAACH,SAAS,CAAC,EAAE;UACxC,IAAIpC,KAAK,CAACwC,UAAU,CAAC,CAAC,EACpB9C,YAAY,CAAC;YACX8B,OAAO,EAAG,iCAAgCY,SAAU,EAAC;YACrDX,IAAI,EAAE,MAAM;YACZgB,OAAO,EAAE,KAAK;YACdzC;UACF,CAAC,CAAC;UACJ,OAAOI,YAAY,CAACgC,SAAS,CAAC;QAChC;MACF;MACA,IAAIpC,KAAK,CAACwC,UAAU,CAAC,CAAC,EACpB9C,YAAY,CAAC;QAAE8B,OAAO,EAAE,IAAI;QAAEC,IAAI,EAAE,MAAM;QAAEgB,OAAO,EAAE,KAAK;QAAEzC;MAAM,CAAC,CAAC;MACtE,MAAMiB,QAAQ,GAAG,MAAM5B,uBAAuB,CAAC;QAC7CoC,IAAI,EAAEtB,YAAY;QAClBuB,EAAE,EAAExB,UAAU;QACdE,YAAY;QACZJ;MACF,CAAC,CAAC;MACFD,YAAY,CAAC;QACXyB,OAAO,EAAG,kDAAiD;QAC3DxB;MACF,CAAC,CAAC;MACF,OAAOiB,QAAQ;IACjB,CAAC,MAAM;MACL;MACA,MAAMU,WAAW;IACnB;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAetB,oBAAoBA,CAAC;EACzCH,UAAU;EACVF;AAIF,CAAC,EAAoB;EACnB,MAAMiB,QAAQ,GAAG,MAAM/B,0BAA0B,CAAC;IAAEc;EAAM,CAAC,CAAC;EAC5D,MAAMkB,cAAc,GAAGD,QAAQ,CAACE,MAAM,CACnCC,QAAQ,IAAKA,QAAQ,CAACC,GAAG,KAAKnB,UACjC,CAAC;EACD,QAAQgB,cAAc,CAACI,MAAM;IAC3B,KAAK,CAAC;MACJ,OAAO,MAAMrC,yBAAyB,CAAC;QACrCwC,IAAI,EAAEP,cAAc,CAAC,CAAC,CAAC,CAACwB,KAAK,CAACrB,GAAG;QACjCnB,UAAU,EAAEgB,cAAc,CAAC,CAAC,CAAC,CAACG,GAAG;QACjCrB;MACF,CAAC,CAAC;IACJ,KAAK,CAAC;MACJ,MAAM,IAAIuB,KAAK,CAAE,aAAYrB,UAAW,aAAY,CAAC;IACvD;MACE,MAAM,IAAIqB,KAAK,CACZ,GAAEL,cAAc,CAACI,MAAO,eAAcpB,UAAW,SACpD,CAAC;EACL;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeI,oBAAoBA,CAAC;EACzCJ,UAAU;EACVF;AAIF,CAAC,EAA0C;EACzCD,YAAY,CAAC;IAAEyB,OAAO,EAAG,oCAAmC;IAAExB;EAAM,CAAC,CAAC;EACtE,MAAM2C,OAAO,GAAG,MAAM1C,iBAAiB,CAAC;IAAEC,UAAU;IAAEF;EAAM,CAAC,CAAC;EAC9D,MAAM4C,UAAU,GAAGhC,uBAAuB,CAAC;IAAEZ;EAAM,CAAC,CAAC;EACrD4C,UAAU,CAAC7B,GAAG,CAAC4B,OAAO,CAACtB,GAAG,CAAC,GAAGsB,OAAO;EACrC,IAAIA,OAAO,CAACE,SAAS,EAAE;IACrB,MAAMC,UAAU,GAAG,MAAMxD,SAAS,CAAC;MAAEyD,QAAQ,EAAEJ,OAAO,CAACE,SAAS;MAAE7C;IAAM,CAAC,CAAC;IAC1E8C,UAAU,CAAChC,MAAM,GAAGtB,wBAAwB,CAACsD,UAAU,CAAChC,MAAM,CAAC;IAC/D8B,UAAU,CAAC9B,MAAM,CAAC6B,OAAO,CAACE,SAAS,CAAC,GAAGC,UAAU;EACnD;EACA/C,YAAY,CAAC;IAAEyB,OAAO,EAAG,kCAAiC;IAAExB;EAAM,CAAC,CAAC;EACpE,OAAO4C,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAerC,qBAAqBA,CAAC;EAC1CP;AAGF,CAAC,EAA0C;EACzC,MAAM4C,UAAU,GAAGhC,uBAAuB,CAAC;IAAEZ;EAAM,CAAC,CAAC;EACrD,MAAMgD,WAAW,GAAG,MAAM9D,0BAA0B,CAAC;IAAEc;EAAM,CAAC,CAAC;EAC/DL,uBAAuB,CAAC;IACtBsD,KAAK,EAAED,WAAW,CAAC1B,MAAM;IACzBE,OAAO,EAAE,qBAAqB;IAC9BxB;EACF,CAAC,CAAC;EACF,KAAK,MAAM2C,OAAO,IAAIK,WAAW,EAAE;IACjCpD,uBAAuB,CAAC;MACtB4B,OAAO,EAAG,sBAAqBmB,OAAO,CAACtB,GAAI,EAAC;MAC5CrB;IACF,CAAC,CAAC;IACF4C,UAAU,CAAC7B,GAAG,CAAC4B,OAAO,CAACtB,GAAG,CAAC,GAAGsB,OAAO;IACrC,IAAIA,OAAO,CAACE,SAAS,EAAE;MACrB,MAAMC,UAAU,GAAG,MAAMxD,SAAS,CAAC;QACjCyD,QAAQ,EAAEJ,OAAO,CAACE,SAAS;QAC3B7C;MACF,CAAC,CAAC;MACF8C,UAAU,CAAChC,MAAM,GAAGtB,wBAAwB,CAACsD,UAAU,CAAChC,MAAM,CAAC;MAC/D8B,UAAU,CAAC9B,MAAM,CAAC6B,OAAO,CAACE,SAAS,CAAC,GAAGC,UAAU;IACnD;EACF;EACAjD,qBAAqB,CAAC;IACpB2B,OAAO,EAAG,GAAEwB,WAAW,CAAC1B,MAAO,sBAAqB;IACpDtB;EACF,CAAC,CAAC;EACF,OAAO4C,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAepC,oBAAoBA,CAAC;EACzCN,UAAU;EACVO,UAAU;EACVT;AAKF,CAAC,EAAoB;EACnB,KAAK,MAAMkD,KAAK,IAAIb,MAAM,CAACC,IAAI,CAAC7B,UAAU,CAACM,GAAG,CAAC,EAAE;IAC/C,IAAImC,KAAK,KAAKhD,UAAU,EAAE;MACxB,MAAM6C,QAAQ,GAAGtC,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC,CAACL,SAAmB;MAC1D,MAAMC,UAAU,GAAGrC,UAAU,CAACK,MAAM,CAACiC,QAAQ,CAAW;MACxD,IAAIA,QAAQ,IAAID,UAAU,EAAE;QAC1BA,UAAU,CAAChC,MAAM,GAAGrB,wBAAwB,CAC1CqD,UAAU,CAAChC,MACb,CAAC;QACD,MAAMvB,SAAS,CAAC;UAAEwD,QAAQ;UAAED,UAAU;UAAE9C;QAAM,CAAC,CAAC;MAClD;MACA,MAAMZ,sBAAsB,CAAC;QAC3Be,YAAY,EAAEM,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC,CAACR,KAAK,CAACrB,GAAG;QAC7CnB,UAAU,EAAEgD,KAAK;QACjB9C,YAAY,EAAEK,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC;QACnClD;MACF,CAAC,CAAC;MACF,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeU,yBAAyBA,CAAC;EAC9CD,UAAU;EACVT;AAIF,CAAC,EAAoB;EACnB,KAAK,MAAMkD,KAAK,IAAIb,MAAM,CAACC,IAAI,CAAC7B,UAAU,CAACM,GAAG,CAAC,EAAE;IAC/C,MAAMgC,QAAQ,GAAGtC,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC,CAACL,SAAmB;IAC1D,MAAMC,UAAU,GAAGrC,UAAU,CAACK,MAAM,CAACiC,QAAQ,CAAW;IACxD,IAAIA,QAAQ,IAAID,UAAU,EAAE;MAC1BA,UAAU,CAAChC,MAAM,GAAGrB,wBAAwB,CAC1CqD,UAAU,CAAChC,MACb,CAAC;MACD,MAAMvB,SAAS,CAAC;QAAEwD,QAAQ;QAAED,UAAU;QAAE9C;MAAM,CAAC,CAAC;IAClD;IACA,MAAMZ,sBAAsB,CAAC;MAC3Be,YAAY,EAAEM,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC,CAACR,KAAK,CAACrB,GAAG;MAC7CnB,UAAU,EAAEgD,KAAK;MACjB9C,YAAY,EAAEK,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC;MACnClD;IACF,CAAC,CAAC;IACF,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeW,qBAAqBA,CAAC;EAC1CF,UAAU;EACVT;AAIF,CAAC,EAAoB;EACnB,IAAImD,OAAO,GAAG,IAAI;EAClB,KAAK,MAAMD,KAAK,IAAIb,MAAM,CAACC,IAAI,CAAC7B,UAAU,CAACM,GAAG,CAAC,EAAE;IAC/C,IAAI;MACF,MAAMgC,QAAQ,GAAGtC,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC,CAACL,SAAmB;MAC1D,MAAMC,UAAU,GAAG;QAAE,GAAGrC,UAAU,CAACK,MAAM,CAACiC,QAAQ;MAAY,CAAC;MAC/D,IAAIA,QAAQ,IAAID,UAAU,EAAE;QAC1BA,UAAU,CAAChC,MAAM,GAAGrB,wBAAwB,CAC1CqD,UAAU,CAAChC,MACb,CAAC;QACD,MAAMvB,SAAS,CAAC;UAAEwD,QAAQ;UAAED,UAAU;UAAE9C;QAAM,CAAC,CAAC;MAClD;MACA,MAAMZ,sBAAsB,CAAC;QAC3Be,YAAY,EAAEM,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC,CAACR,KAAK,CAACrB,GAAG;QAC7CnB,UAAU,EAAEgD,KAAK;QACjB9C,YAAY,EAAEK,UAAU,CAACM,GAAG,CAACmC,KAAK,CAAC;QACnClD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOoD,KAAK,EAAE;MAAA,IAAAC,eAAA;MACd3D,YAAY,CAAC;QACX8B,OAAO,EAAE,EAAA6B,eAAA,GAAAD,KAAK,CAACnC,QAAQ,cAAAoC,eAAA,uBAAdA,eAAA,CAAgBrB,IAAI,KAAIoB,KAAK;QACtC3B,IAAI,EAAE,OAAO;QACbzB;MACF,CAAC,CAAC;MACFN,YAAY,CAAC;QACX8B,OAAO,EAAG,8BAA6B0B,KAAM,EAAC;QAC9CzB,IAAI,EAAE,OAAO;QACbzB;MACF,CAAC,CAAC;MACFmD,OAAO,GAAG,KAAK;IACjB;EACF;EACA,OAAOA,OAAO;AAChB"}
1
+ {"version":3,"file":"IdpOps.js","names":["deleteProviderByTypeAndId","getSocialIdentityProviders","_getSocialIdentityProviders","putProviderByTypeAndId","_putProviderByTypeAndId","getScript","putScript","convertBase64TextToArray","convertTextArrayToBase64","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","getMetadata","debugMessage","state","getSocialProvider","providerId","providerType","providerData","deleteSocialProvider","exportSocialProvider","exportSocialProviders","importSocialProvider","importData","importFirstSocialProvider","importSocialProviders","createIdpExportTemplate","meta","script","idp","result","response","foundProviders","filter","provider","_id","length","Error","message","type","id","importError","_importError$response","_importError$response2","_importError$response3","status","data","validAttributes","detail","push","attribute","Object","keys","includes","getVerbose","newline","_type","idpData","exportData","transform","scriptData","scriptId","allIdpsData","total","idpId","outcome","error","_error$response"],"sources":["../../src/ops/IdpOps.ts"],"sourcesContent":["import {\n deleteProviderByTypeAndId,\n getSocialIdentityProviders as _getSocialIdentityProviders,\n putProviderByTypeAndId as _putProviderByTypeAndId,\n} from '../api/SocialIdentityProvidersApi';\nimport { getScript } from '../api/ScriptApi';\nimport { putScript } from './ScriptOps';\nimport {\n convertBase64TextToArray,\n convertTextArrayToBase64,\n} from './utils/ExportImportUtils';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n NoIdObjectSkeletonInterface,\n ScriptSkeleton,\n SocialIdpSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { State } from '../shared/State';\nimport { debugMessage } from './utils/Console';\n\nexport type Idp = {\n /**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\n getSocialIdentityProviders(): Promise<any>;\n /**\n * Get social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\n getSocialProvider(providerId: string): Promise<any>;\n putProviderByTypeAndId(\n providerType: string,\n providerId: string,\n providerData: SocialIdpSkeleton\n ): Promise<any>;\n /**\n * Delete social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\n deleteSocialProvider(providerId: string): Promise<unknown>;\n /**\n * Export social provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n exportSocialProvider(\n providerId: string\n ): Promise<SocialProviderExportInterface>;\n /**\n * Export all providers\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n exportSocialProviders(): Promise<SocialProviderExportInterface>;\n /**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {SocialProviderExportInterface} importData import data\n */\n importSocialProvider(\n providerId: string,\n importData: SocialProviderExportInterface\n ): Promise<boolean>;\n /**\n * Import first provider\n * @param {SocialProviderExportInterface} importData import data\n */\n importFirstSocialProvider(\n importData: SocialProviderExportInterface\n ): Promise<boolean>;\n /**\n * Import all providers\n * @param {SocialProviderExportInterface} importData import data\n */\n importSocialProviders(\n importData: SocialProviderExportInterface\n ): Promise<boolean>;\n};\n\nexport default (state: State): Idp => {\n return {\n /**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\n async getSocialIdentityProviders() {\n return getSocialIdentityProviders({ state });\n },\n\n /**\n * Get social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\n async getSocialProvider(providerId: string) {\n return getSocialProvider({ providerId, state });\n },\n\n async putProviderByTypeAndId(\n providerType: string,\n providerId: string,\n providerData: SocialIdpSkeleton\n ) {\n return putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n });\n },\n\n /**\n * Delete social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\n async deleteSocialProvider(providerId: string): Promise<unknown> {\n return deleteSocialProvider({ providerId, state });\n },\n\n /**\n * Export social provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportSocialProvider(\n providerId: string\n ): Promise<SocialProviderExportInterface> {\n return exportSocialProvider({ providerId, state });\n },\n\n /**\n * Export all providers\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\n async exportSocialProviders(): Promise<SocialProviderExportInterface> {\n return exportSocialProviders({ state });\n },\n\n /**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {SocialProviderExportInterface} importData import data\n */\n async importSocialProvider(\n providerId: string,\n importData: SocialProviderExportInterface\n ): Promise<boolean> {\n return importSocialProvider({ providerId, importData, state });\n },\n\n /**\n * Import first provider\n * @param {SocialProviderExportInterface} importData import data\n */\n async importFirstSocialProvider(\n importData: SocialProviderExportInterface\n ): Promise<boolean> {\n return importFirstSocialProvider({ importData, state });\n },\n\n /**\n * Import all providers\n * @param {SocialProviderExportInterface} importData import data\n */\n async importSocialProviders(\n importData: SocialProviderExportInterface\n ): Promise<boolean> {\n return importSocialProviders({ importData, state });\n },\n };\n};\n\nexport interface SocialProviderExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n idp: Record<string, SocialIdpSkeleton>;\n}\n\n/**\n * Create an empty idp export template\n * @returns {SocialProviderExportInterface} an empty idp export template\n */\nfunction createIdpExportTemplate({\n state,\n}: {\n state: State;\n}): SocialProviderExportInterface {\n return {\n meta: getMetadata({ state }),\n script: {},\n idp: {},\n } as SocialProviderExportInterface;\n}\n\n/**\n * Get all social identity providers\n * @returns {Promise} a promise that resolves to an object containing an array of social identity providers\n */\nexport async function getSocialIdentityProviders({ state }: { state: State }) {\n const { result } = await _getSocialIdentityProviders({ state });\n return result;\n}\n\n/**\n * Get social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\nexport async function getSocialProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}) {\n const response = await getSocialIdentityProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return foundProviders[0];\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\nexport async function putProviderByTypeAndId({\n providerType,\n providerId,\n providerData,\n state,\n}: {\n providerType: string;\n providerId: string;\n providerData: SocialIdpSkeleton | NoIdObjectSkeletonInterface;\n state: State;\n}) {\n debugMessage({ message: `IdpOps.putProviderByTypeAndId: start`, state });\n try {\n const response = await _putProviderByTypeAndId({\n type: providerType,\n id: providerId,\n providerData,\n state,\n });\n debugMessage({ message: `IdpOps.putProviderByTypeAndId: end`, state });\n return response;\n } catch (importError) {\n if (\n importError.response?.status === 400 &&\n importError.response?.data?.message === 'Invalid attribute specified.'\n ) {\n const { validAttributes } = importError.response.data.detail;\n validAttributes.push('_id', '_type');\n for (const attribute of Object.keys(providerData)) {\n if (!validAttributes.includes(attribute)) {\n if (state.getVerbose())\n printMessage({\n message: `\\nRemoving invalid attribute: ${attribute}`,\n type: 'warn',\n newline: false,\n state,\n });\n delete providerData[attribute];\n }\n }\n if (state.getVerbose())\n printMessage({ message: '\\n', type: 'warn', newline: false, state });\n const response = await _putProviderByTypeAndId({\n type: providerType,\n id: providerId,\n providerData,\n state,\n });\n debugMessage({\n message: `IdpOps.putProviderByTypeAndId: end (after retry)`,\n state,\n });\n return response;\n } else {\n // re-throw unhandleable error\n throw importError;\n }\n }\n}\n\n/**\n * Delete social identity provider by id\n * @param {String} providerId social identity provider id/name\n * @returns {Promise} a promise that resolves a social identity provider object\n */\nexport async function deleteSocialProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<unknown> {\n const response = await getSocialIdentityProviders({ state });\n const foundProviders = response.filter(\n (provider) => provider._id === providerId\n );\n switch (foundProviders.length) {\n case 1:\n return await deleteProviderByTypeAndId({\n type: foundProviders[0]._type._id,\n providerId: foundProviders[0]._id,\n state,\n });\n case 0:\n throw new Error(`Provider '${providerId}' not found`);\n default:\n throw new Error(\n `${foundProviders.length} providers '${providerId}' found`\n );\n }\n}\n\n/**\n * Export social provider by id\n * @param {string} providerId provider id/name\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportSocialProvider({\n providerId,\n state,\n}: {\n providerId: string;\n state: State;\n}): Promise<SocialProviderExportInterface> {\n debugMessage({ message: `IdpOps.exportSocialProvider: start`, state });\n const idpData = await getSocialProvider({ providerId, state });\n const exportData = createIdpExportTemplate({ state });\n exportData.idp[idpData._id] = idpData;\n if (idpData.transform) {\n const scriptData = await getScript({ scriptId: idpData.transform, state });\n scriptData.script = convertBase64TextToArray(scriptData.script);\n exportData.script[idpData.transform] = scriptData;\n }\n debugMessage({ message: `IdpOps.exportSocialProvider: end`, state });\n return exportData;\n}\n\n/**\n * Export all providers\n * @returns {Promise<SocialProviderExportInterface>} a promise that resolves to a SocialProviderExportInterface object\n */\nexport async function exportSocialProviders({\n state,\n}: {\n state: State;\n}): Promise<SocialProviderExportInterface> {\n const exportData = createIdpExportTemplate({ state });\n const allIdpsData = await getSocialIdentityProviders({ state });\n createProgressIndicator({\n total: allIdpsData.length,\n message: 'Exporting providers',\n state,\n });\n for (const idpData of allIdpsData) {\n updateProgressIndicator({\n message: `Exporting provider ${idpData._id}`,\n state,\n });\n exportData.idp[idpData._id] = idpData;\n if (idpData.transform) {\n const scriptData = await getScript({\n scriptId: idpData.transform,\n state,\n });\n scriptData.script = convertBase64TextToArray(scriptData.script);\n exportData.script[idpData.transform] = scriptData;\n }\n }\n stopProgressIndicator({\n message: `${allIdpsData.length} providers exported.`,\n state,\n });\n return exportData;\n}\n\n/**\n * Import provider by id/name\n * @param {string} providerId provider id/name\n * @param {SocialProviderExportInterface} importData import data\n */\nexport async function importSocialProvider({\n providerId,\n importData,\n state,\n}: {\n providerId: string;\n importData: SocialProviderExportInterface;\n state: State;\n}): Promise<boolean> {\n for (const idpId of Object.keys(importData.idp)) {\n if (idpId === providerId) {\n const scriptId = importData.idp[idpId].transform as string;\n const scriptData = importData.script[scriptId as string];\n if (scriptId && scriptData) {\n scriptData.script = convertTextArrayToBase64(\n scriptData.script as string[]\n );\n await putScript({ scriptId, scriptData, state });\n }\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n return true;\n }\n }\n return false;\n}\n\n/**\n * Import first provider\n * @param {SocialProviderExportInterface} importData import data\n */\nexport async function importFirstSocialProvider({\n importData,\n state,\n}: {\n importData: SocialProviderExportInterface;\n state: State;\n}): Promise<boolean> {\n for (const idpId of Object.keys(importData.idp)) {\n const scriptId = importData.idp[idpId].transform as string;\n const scriptData = importData.script[scriptId as string];\n if (scriptId && scriptData) {\n scriptData.script = convertTextArrayToBase64(\n scriptData.script as string[]\n );\n await putScript({ scriptId, scriptData, state });\n }\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n return true;\n }\n return false;\n}\n\n/**\n * Import all providers\n * @param {SocialProviderExportInterface} importData import data\n */\nexport async function importSocialProviders({\n importData,\n state,\n}: {\n importData: SocialProviderExportInterface;\n state: State;\n}): Promise<boolean> {\n let outcome = true;\n for (const idpId of Object.keys(importData.idp)) {\n try {\n const scriptId = importData.idp[idpId].transform as string;\n const scriptData = { ...importData.script[scriptId as string] };\n if (scriptId && scriptData) {\n scriptData.script = convertTextArrayToBase64(\n scriptData.script as string[]\n );\n await putScript({ scriptId, scriptData, state });\n }\n await putProviderByTypeAndId({\n providerType: importData.idp[idpId]._type._id,\n providerId: idpId,\n providerData: importData.idp[idpId],\n state,\n });\n } catch (error) {\n printMessage({\n message: error.response?.data || error,\n type: 'error',\n state,\n });\n printMessage({\n message: `\\nError importing provider ${idpId}`,\n type: 'error',\n state,\n });\n outcome = false;\n }\n }\n return outcome;\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { getEnvInfo } from "../api/cloud/EnvInfoApi.js";
2
- import * as globalConfig from "../storage/StaticStorage.js";
2
+ import Constants from "../shared/Constants.js";
3
3
  import { getServerVersionInfo } from "../api/ServerInfoApi.js";
4
4
  import { getServiceAccount } from "./cloud/ServiceAccountOps.js";
5
5
  export default (state => {
@@ -62,7 +62,7 @@ export async function getInfo(state) {
62
62
  bearerToken: state.getBearerToken()
63
63
  }),
64
64
  // only add cloud env info if deployment type is cloud
65
- ...(state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY && (await getCloudInfo(state)))
65
+ ...(state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY && (await getCloudInfo(state)))
66
66
  };
67
67
  return info;
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InfoOps.js","names":["getEnvInfo","globalConfig","getServerVersionInfo","getServiceAccount","state","getInfo","getCloudInfo","info","message_box_html","message_box_title","message_variant","warning_message_html","placeholder_management_migration_date","getAmVersion","versionObj","amVersion","getAuthenticatedSubject","subjectString","getUsername","getUseBearerTokenForAmApis","name","serviceAccountId","getServiceAccountId","host","getHost","authenticatedSubject","deploymentType","getDeploymentType","cookieName","getCookieName","sessionToken","getCookieValue","getBearerToken","bearerToken","CLOUD_DEPLOYMENT_TYPE_KEY"],"sources":["../../src/ops/InfoOps.ts"],"sourcesContent":["import { getEnvInfo, EnvInfoInterface } from '../api/cloud/EnvInfoApi';\nimport * as globalConfig from '../storage/StaticStorage';\nimport { getServerVersionInfo } from '../api/ServerInfoApi';\nimport { getServiceAccount } from './cloud/ServiceAccountOps';\nimport State from '../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Get info about the platform instance\n * @returns {Promise<PlatformInfo>} a promise that resolves to a json blob with information about the instance and tokens\n */\n getInfo(): Promise<PlatformInfo> {\n return getInfo(state);\n },\n };\n};\n\nexport interface PlatformInfoInterface {\n host: string;\n authenticatedSubject: string;\n amVersion: string;\n cookieName: string;\n sessionToken: string;\n bearerToken?: string;\n deploymentType: string;\n}\n\nexport type PlatformInfo = PlatformInfoInterface & Partial<EnvInfoInterface>;\n\nasync function getCloudInfo(state: State): Promise<Partial<EnvInfoInterface>> {\n let info: Partial<EnvInfoInterface> = {};\n info = await getEnvInfo({ state });\n delete info.message_box_html;\n delete info.message_box_title;\n delete info.message_variant;\n delete info.warning_message_html;\n if (!info.placeholder_management_migration_date)\n delete info.placeholder_management_migration_date;\n return info;\n}\n\nasync function getAmVersion(state: State): Promise<string> {\n const versionObj = await getServerVersionInfo({ state });\n const amVersion = `${versionObj['version']} Build ${versionObj['revision']} (${versionObj['date']})`;\n return amVersion;\n}\n\nasync function getAuthenticatedSubject(state: State): Promise<string> {\n let subjectString = `${state.getUsername()} (User)`;\n if (state.getUseBearerTokenForAmApis()) {\n const name = (\n await getServiceAccount({\n serviceAccountId: state.getServiceAccountId(),\n state,\n })\n ).name;\n subjectString = `${name} [${state.getServiceAccountId()}] (Service Account)`;\n }\n return subjectString;\n}\n\n/**\n * Get info about the platform instance\n * @param {State} state library state\n * @returns {Promise<PlatformInfo>} a promise that resolves to a json blob with information about the instance and tokens\n */\nexport async function getInfo(state: State): Promise<PlatformInfo> {\n const info: PlatformInfo = {\n host: state.getHost(),\n amVersion: await getAmVersion(state),\n authenticatedSubject: await getAuthenticatedSubject(state),\n deploymentType: state.getDeploymentType(),\n cookieName: state.getCookieName(),\n sessionToken: state.getCookieValue(),\n // only add bearerToken if we have it\n ...(state.getBearerToken() && { bearerToken: state.getBearerToken() }),\n // only add cloud env info if deployment type is cloud\n ...(state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY &&\n (await getCloudInfo(state))),\n };\n return info;\n}\n"],"mappings":"SAASA,UAAU;AAAA,OACZ,KAAKC,YAAY;AAAA,SACfC,oBAAoB;AAAA,SACpBC,iBAAiB;AAG1B,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACL;AACJ;AACA;AACA;IACIC,OAAOA,CAAA,EAA0B;MAC/B,OAAOA,OAAO,CAACD,KAAK,CAAC;IACvB;EACF,CAAC;AACH,CAAC;AAcD,eAAeE,YAAYA,CAACF,KAAY,EAAsC;EAC5E,IAAIG,IAA+B,GAAG,CAAC,CAAC;EACxCA,IAAI,GAAG,MAAMP,UAAU,CAAC;IAAEI;EAAM,CAAC,CAAC;EAClC,OAAOG,IAAI,CAACC,gBAAgB;EAC5B,OAAOD,IAAI,CAACE,iBAAiB;EAC7B,OAAOF,IAAI,CAACG,eAAe;EAC3B,OAAOH,IAAI,CAACI,oBAAoB;EAChC,IAAI,CAACJ,IAAI,CAACK,qCAAqC,EAC7C,OAAOL,IAAI,CAACK,qCAAqC;EACnD,OAAOL,IAAI;AACb;AAEA,eAAeM,YAAYA,CAACT,KAAY,EAAmB;EACzD,MAAMU,UAAU,GAAG,MAAMZ,oBAAoB,CAAC;IAAEE;EAAM,CAAC,CAAC;EACxD,MAAMW,SAAS,GAAI,GAAED,UAAU,CAAC,SAAS,CAAE,UAASA,UAAU,CAAC,UAAU,CAAE,KAAIA,UAAU,CAAC,MAAM,CAAE,GAAE;EACpG,OAAOC,SAAS;AAClB;AAEA,eAAeC,uBAAuBA,CAACZ,KAAY,EAAmB;EACpE,IAAIa,aAAa,GAAI,GAAEb,KAAK,CAACc,WAAW,CAAC,CAAE,SAAQ;EACnD,IAAId,KAAK,CAACe,0BAA0B,CAAC,CAAC,EAAE;IACtC,MAAMC,IAAI,GAAG,CACX,MAAMjB,iBAAiB,CAAC;MACtBkB,gBAAgB,EAAEjB,KAAK,CAACkB,mBAAmB,CAAC,CAAC;MAC7ClB;IACF,CAAC,CAAC,EACFgB,IAAI;IACNH,aAAa,GAAI,GAAEG,IAAK,KAAIhB,KAAK,CAACkB,mBAAmB,CAAC,CAAE,qBAAoB;EAC9E;EACA,OAAOL,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeZ,OAAOA,CAACD,KAAY,EAAyB;EACjE,MAAMG,IAAkB,GAAG;IACzBgB,IAAI,EAAEnB,KAAK,CAACoB,OAAO,CAAC,CAAC;IACrBT,SAAS,EAAE,MAAMF,YAAY,CAACT,KAAK,CAAC;IACpCqB,oBAAoB,EAAE,MAAMT,uBAAuB,CAACZ,KAAK,CAAC;IAC1DsB,cAAc,EAAEtB,KAAK,CAACuB,iBAAiB,CAAC,CAAC;IACzCC,UAAU,EAAExB,KAAK,CAACyB,aAAa,CAAC,CAAC;IACjCC,YAAY,EAAE1B,KAAK,CAAC2B,cAAc,CAAC,CAAC;IACpC;IACA,IAAI3B,KAAK,CAAC4B,cAAc,CAAC,CAAC,IAAI;MAAEC,WAAW,EAAE7B,KAAK,CAAC4B,cAAc,CAAC;IAAE,CAAC,CAAC;IACtE;IACA,IAAI5B,KAAK,CAACuB,iBAAiB,CAAC,CAAC,KAAK1B,YAAY,CAACiC,yBAAyB,KACrE,MAAM5B,YAAY,CAACF,KAAK,CAAC,CAAC;EAC/B,CAAC;EACD,OAAOG,IAAI;AACb"}
1
+ {"version":3,"file":"InfoOps.js","names":["getEnvInfo","Constants","getServerVersionInfo","getServiceAccount","state","getInfo","getCloudInfo","info","message_box_html","message_box_title","message_variant","warning_message_html","placeholder_management_migration_date","getAmVersion","versionObj","amVersion","getAuthenticatedSubject","subjectString","getUsername","getUseBearerTokenForAmApis","name","serviceAccountId","getServiceAccountId","host","getHost","authenticatedSubject","deploymentType","getDeploymentType","cookieName","getCookieName","sessionToken","getCookieValue","getBearerToken","bearerToken","CLOUD_DEPLOYMENT_TYPE_KEY"],"sources":["../../src/ops/InfoOps.ts"],"sourcesContent":["import { getEnvInfo, EnvInfoInterface } from '../api/cloud/EnvInfoApi';\nimport Constants from '../shared/Constants';\nimport { getServerVersionInfo } from '../api/ServerInfoApi';\nimport { getServiceAccount } from './cloud/ServiceAccountOps';\nimport { State } from '../shared/State';\n\nexport type Info = {\n /**\n * Get info about the platform instance\n * @returns {Promise<PlatformInfo>} a promise that resolves to a json blob with information about the instance and tokens\n */\n getInfo(): Promise<PlatformInfo>;\n};\n\nexport default (state: State): Info => {\n return {\n /**\n * Get info about the platform instance\n * @returns {Promise<PlatformInfo>} a promise that resolves to a json blob with information about the instance and tokens\n */\n getInfo(): Promise<PlatformInfo> {\n return getInfo(state);\n },\n };\n};\n\nexport interface PlatformInfoInterface {\n host: string;\n authenticatedSubject: string;\n amVersion: string;\n cookieName: string;\n sessionToken: string;\n bearerToken?: string;\n deploymentType: string;\n}\n\nexport type PlatformInfo = PlatformInfoInterface & Partial<EnvInfoInterface>;\n\nasync function getCloudInfo(state: State): Promise<Partial<EnvInfoInterface>> {\n let info: Partial<EnvInfoInterface> = {};\n info = await getEnvInfo({ state });\n delete info.message_box_html;\n delete info.message_box_title;\n delete info.message_variant;\n delete info.warning_message_html;\n if (!info.placeholder_management_migration_date)\n delete info.placeholder_management_migration_date;\n return info;\n}\n\nasync function getAmVersion(state: State): Promise<string> {\n const versionObj = await getServerVersionInfo({ state });\n const amVersion = `${versionObj['version']} Build ${versionObj['revision']} (${versionObj['date']})`;\n return amVersion;\n}\n\nasync function getAuthenticatedSubject(state: State): Promise<string> {\n let subjectString = `${state.getUsername()} (User)`;\n if (state.getUseBearerTokenForAmApis()) {\n const name = (\n await getServiceAccount({\n serviceAccountId: state.getServiceAccountId(),\n state,\n })\n ).name;\n subjectString = `${name} [${state.getServiceAccountId()}] (Service Account)`;\n }\n return subjectString;\n}\n\n/**\n * Get info about the platform instance\n * @param {State} state library state\n * @returns {Promise<PlatformInfo>} a promise that resolves to a json blob with information about the instance and tokens\n */\nexport async function getInfo(state: State): Promise<PlatformInfo> {\n const info: PlatformInfo = {\n host: state.getHost(),\n amVersion: await getAmVersion(state),\n authenticatedSubject: await getAuthenticatedSubject(state),\n deploymentType: state.getDeploymentType(),\n cookieName: state.getCookieName(),\n sessionToken: state.getCookieValue(),\n // only add bearerToken if we have it\n ...(state.getBearerToken() && { bearerToken: state.getBearerToken() }),\n // only add cloud env info if deployment type is cloud\n ...(state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY &&\n (await getCloudInfo(state))),\n };\n return info;\n}\n"],"mappings":"SAASA,UAAU;AAAA,OACZC,SAAS;AAAA,SACPC,oBAAoB;AAAA,SACpBC,iBAAiB;AAW1B,gBAAgBC,KAAY,IAAW;EACrC,OAAO;IACL;AACJ;AACA;AACA;IACIC,OAAOA,CAAA,EAA0B;MAC/B,OAAOA,OAAO,CAACD,KAAK,CAAC;IACvB;EACF,CAAC;AACH,CAAC;AAcD,eAAeE,YAAYA,CAACF,KAAY,EAAsC;EAC5E,IAAIG,IAA+B,GAAG,CAAC,CAAC;EACxCA,IAAI,GAAG,MAAMP,UAAU,CAAC;IAAEI;EAAM,CAAC,CAAC;EAClC,OAAOG,IAAI,CAACC,gBAAgB;EAC5B,OAAOD,IAAI,CAACE,iBAAiB;EAC7B,OAAOF,IAAI,CAACG,eAAe;EAC3B,OAAOH,IAAI,CAACI,oBAAoB;EAChC,IAAI,CAACJ,IAAI,CAACK,qCAAqC,EAC7C,OAAOL,IAAI,CAACK,qCAAqC;EACnD,OAAOL,IAAI;AACb;AAEA,eAAeM,YAAYA,CAACT,KAAY,EAAmB;EACzD,MAAMU,UAAU,GAAG,MAAMZ,oBAAoB,CAAC;IAAEE;EAAM,CAAC,CAAC;EACxD,MAAMW,SAAS,GAAI,GAAED,UAAU,CAAC,SAAS,CAAE,UAASA,UAAU,CAAC,UAAU,CAAE,KAAIA,UAAU,CAAC,MAAM,CAAE,GAAE;EACpG,OAAOC,SAAS;AAClB;AAEA,eAAeC,uBAAuBA,CAACZ,KAAY,EAAmB;EACpE,IAAIa,aAAa,GAAI,GAAEb,KAAK,CAACc,WAAW,CAAC,CAAE,SAAQ;EACnD,IAAId,KAAK,CAACe,0BAA0B,CAAC,CAAC,EAAE;IACtC,MAAMC,IAAI,GAAG,CACX,MAAMjB,iBAAiB,CAAC;MACtBkB,gBAAgB,EAAEjB,KAAK,CAACkB,mBAAmB,CAAC,CAAC;MAC7ClB;IACF,CAAC,CAAC,EACFgB,IAAI;IACNH,aAAa,GAAI,GAAEG,IAAK,KAAIhB,KAAK,CAACkB,mBAAmB,CAAC,CAAE,qBAAoB;EAC9E;EACA,OAAOL,aAAa;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeZ,OAAOA,CAACD,KAAY,EAAyB;EACjE,MAAMG,IAAkB,GAAG;IACzBgB,IAAI,EAAEnB,KAAK,CAACoB,OAAO,CAAC,CAAC;IACrBT,SAAS,EAAE,MAAMF,YAAY,CAACT,KAAK,CAAC;IACpCqB,oBAAoB,EAAE,MAAMT,uBAAuB,CAACZ,KAAK,CAAC;IAC1DsB,cAAc,EAAEtB,KAAK,CAACuB,iBAAiB,CAAC,CAAC;IACzCC,UAAU,EAAExB,KAAK,CAACyB,aAAa,CAAC,CAAC;IACjCC,YAAY,EAAE1B,KAAK,CAAC2B,cAAc,CAAC,CAAC;IACpC;IACA,IAAI3B,KAAK,CAAC4B,cAAc,CAAC,CAAC,IAAI;MAAEC,WAAW,EAAE7B,KAAK,CAAC4B,cAAc,CAAC;IAAE,CAAC,CAAC;IACtE;IACA,IAAI5B,KAAK,CAACuB,iBAAiB,CAAC,CAAC,KAAK1B,SAAS,CAACiC,yBAAyB,KAClE,MAAM5B,YAAY,CAACF,KAAK,CAAC,CAAC;EAC/B,CAAC;EACD,OAAOG,IAAI;AACb"}
@@ -1,4 +1,24 @@
1
1
  import jose from 'node-jose';
2
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3
+ export default (_state => {
4
+ return {
5
+ async createJwkRsa() {
6
+ return createJwkRsa();
7
+ },
8
+ async getJwkRsaPublic(jwkJson) {
9
+ return getJwkRsaPublic(jwkJson);
10
+ },
11
+ createJwks(...keys) {
12
+ return createJwks(...keys);
13
+ },
14
+ async createSignedJwtToken(payload, jwkJson) {
15
+ return createSignedJwtToken(payload, jwkJson);
16
+ },
17
+ async verifySignedJwtToken(jwt, jwkJson) {
18
+ return verifySignedJwtToken(jwt, jwkJson);
19
+ }
20
+ };
21
+ });
2
22
  export async function createJwkRsa() {
3
23
  const jwk = await jose.JWK.createKey('RSA', 4096, {
4
24
  alg: 'RS256'
@@ -1 +1 @@
1
- {"version":3,"file":"JoseOps.js","names":["jose","createJwkRsa","jwk","JWK","createKey","alg","toJSON","getJwkRsaPublic","jwkJson","asKey","createJwks","keys","createSignedJwtToken","payload","key","JSON","stringify","jwt","JWS","createSign","compact","fields","reference","update","final","verifySignedJwtToken","verifyResult","createVerify","verify"],"sources":["../../src/ops/JoseOps.ts"],"sourcesContent":["import jose from 'node-jose';\n\nexport interface JwkInterface {\n kty: string;\n use?: string;\n key_ops?: string[];\n alg: string;\n kid?: string;\n x5u?: string;\n x5c?: string;\n x5t?: string;\n 'x5t#S256'?: string;\n}\n\nexport type JwkRsa = JwkInterface & {\n d: string;\n dp: string;\n dq: string;\n e: string;\n n: string;\n p: string;\n q: string;\n qi: string;\n};\n\nexport type JwkRsaPublic = JwkInterface & {\n e: string;\n n: string;\n};\n\nexport interface JwksInterface {\n keys: JwkInterface[];\n}\n\nexport async function createJwkRsa(): Promise<JwkRsa> {\n const jwk = await jose.JWK.createKey('RSA', 4096, { alg: 'RS256' });\n // include the private key\n return jwk.toJSON(true) as JwkRsa;\n}\n\nexport async function getJwkRsaPublic(jwkJson: JwkRsa): Promise<JwkRsaPublic> {\n const jwk = await jose.JWK.asKey(jwkJson);\n // do not include the private key\n return jwk.toJSON(false) as JwkRsaPublic;\n}\n\nexport function createJwks(...keys: JwkInterface[]): JwksInterface {\n return {\n keys,\n };\n}\n\nexport async function createSignedJwtToken(payload, jwkJson: JwkRsa) {\n const key = await jose.JWK.asKey(jwkJson);\n if (typeof payload === 'object') {\n payload = JSON.stringify(payload);\n }\n const jwt = await jose.JWS.createSign(\n { alg: 'RS256', compact: true, fields: {} },\n // https://github.com/cisco/node-jose/issues/253\n { key, reference: false }\n )\n .update(payload)\n .final();\n return jwt;\n}\n\nexport async function verifySignedJwtToken(jwt: string, jwkJson: JwkRsaPublic) {\n const jwk = await jose.JWK.asKey(jwkJson);\n const verifyResult = await jose.JWS.createVerify(jwk).verify(jwt);\n return verifyResult;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,WAAW;AAkC5B,OAAO,eAAeC,YAAYA,CAAA,EAAoB;EACpD,MAAMC,GAAG,GAAG,MAAMF,IAAI,CAACG,GAAG,CAACC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE;IAAEC,GAAG,EAAE;EAAQ,CAAC,CAAC;EACnE;EACA,OAAOH,GAAG,CAACI,MAAM,CAAC,IAAI,CAAC;AACzB;AAEA,OAAO,eAAeC,eAAeA,CAACC,OAAe,EAAyB;EAC5E,MAAMN,GAAG,GAAG,MAAMF,IAAI,CAACG,GAAG,CAACM,KAAK,CAACD,OAAO,CAAC;EACzC;EACA,OAAON,GAAG,CAACI,MAAM,CAAC,KAAK,CAAC;AAC1B;AAEA,OAAO,SAASI,UAAUA,CAAC,GAAGC,IAAoB,EAAiB;EACjE,OAAO;IACLA;EACF,CAAC;AACH;AAEA,OAAO,eAAeC,oBAAoBA,CAACC,OAAO,EAAEL,OAAe,EAAE;EACnE,MAAMM,GAAG,GAAG,MAAMd,IAAI,CAACG,GAAG,CAACM,KAAK,CAACD,OAAO,CAAC;EACzC,IAAI,OAAOK,OAAO,KAAK,QAAQ,EAAE;IAC/BA,OAAO,GAAGE,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC;EACnC;EACA,MAAMI,GAAG,GAAG,MAAMjB,IAAI,CAACkB,GAAG,CAACC,UAAU,CACnC;IAAEd,GAAG,EAAE,OAAO;IAAEe,OAAO,EAAE,IAAI;IAAEC,MAAM,EAAE,CAAC;EAAE,CAAC;EAC3C;EACA;IAAEP,GAAG;IAAEQ,SAAS,EAAE;EAAM,CAC1B,CAAC,CACEC,MAAM,CAACV,OAAO,CAAC,CACfW,KAAK,CAAC,CAAC;EACV,OAAOP,GAAG;AACZ;AAEA,OAAO,eAAeQ,oBAAoBA,CAACR,GAAW,EAAET,OAAqB,EAAE;EAC7E,MAAMN,GAAG,GAAG,MAAMF,IAAI,CAACG,GAAG,CAACM,KAAK,CAACD,OAAO,CAAC;EACzC,MAAMkB,YAAY,GAAG,MAAM1B,IAAI,CAACkB,GAAG,CAACS,YAAY,CAACzB,GAAG,CAAC,CAAC0B,MAAM,CAACX,GAAG,CAAC;EACjE,OAAOS,YAAY;AACrB"}
1
+ {"version":3,"file":"JoseOps.js","names":["jose","_state","createJwkRsa","getJwkRsaPublic","jwkJson","createJwks","keys","createSignedJwtToken","payload","verifySignedJwtToken","jwt","jwk","JWK","createKey","alg","toJSON","asKey","key","JSON","stringify","JWS","createSign","compact","fields","reference","update","final","verifyResult","createVerify","verify"],"sources":["../../src/ops/JoseOps.ts"],"sourcesContent":["import jose from 'node-jose';\nimport { State } from '../shared/State';\n\nexport type Jose = {\n createJwkRsa(): Promise<JwkRsa>;\n getJwkRsaPublic(jwkJson: JwkRsa): Promise<JwkRsaPublic>;\n createJwks(...keys: JwkInterface[]): JwksInterface;\n createSignedJwtToken(payload: string | object, jwkJson: JwkRsa): Promise<any>;\n verifySignedJwtToken(jwt: string, jwkJson: JwkRsaPublic): Promise<any>;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport default (_state: State) => {\n return {\n async createJwkRsa(): Promise<JwkRsa> {\n return createJwkRsa();\n },\n\n async getJwkRsaPublic(jwkJson: JwkRsa): Promise<JwkRsaPublic> {\n return getJwkRsaPublic(jwkJson);\n },\n\n createJwks(...keys: JwkInterface[]): JwksInterface {\n return createJwks(...keys);\n },\n\n async createSignedJwtToken(payload: string | object, jwkJson: JwkRsa) {\n return createSignedJwtToken(payload, jwkJson);\n },\n\n async verifySignedJwtToken(jwt: string, jwkJson: JwkRsaPublic) {\n return verifySignedJwtToken(jwt, jwkJson);\n },\n };\n};\n\nexport interface JwkInterface {\n kty: string;\n use?: string;\n key_ops?: string[];\n alg: string;\n kid?: string;\n x5u?: string;\n x5c?: string;\n x5t?: string;\n 'x5t#S256'?: string;\n}\n\nexport type JwkRsa = JwkInterface & {\n d: string;\n dp: string;\n dq: string;\n e: string;\n n: string;\n p: string;\n q: string;\n qi: string;\n};\n\nexport type JwkRsaPublic = JwkInterface & {\n e: string;\n n: string;\n};\n\nexport interface JwksInterface {\n keys: JwkInterface[];\n}\n\nexport async function createJwkRsa(): Promise<JwkRsa> {\n const jwk = await jose.JWK.createKey('RSA', 4096, { alg: 'RS256' });\n // include the private key\n return jwk.toJSON(true) as JwkRsa;\n}\n\nexport async function getJwkRsaPublic(jwkJson: JwkRsa): Promise<JwkRsaPublic> {\n const jwk = await jose.JWK.asKey(jwkJson);\n // do not include the private key\n return jwk.toJSON(false) as JwkRsaPublic;\n}\n\nexport function createJwks(...keys: JwkInterface[]): JwksInterface {\n return {\n keys,\n };\n}\n\nexport async function createSignedJwtToken(\n payload: string | object,\n jwkJson: JwkRsa\n) {\n const key = await jose.JWK.asKey(jwkJson);\n if (typeof payload === 'object') {\n payload = JSON.stringify(payload);\n }\n const jwt = await jose.JWS.createSign(\n { alg: 'RS256', compact: true, fields: {} },\n // https://github.com/cisco/node-jose/issues/253\n { key, reference: false }\n )\n .update(payload)\n .final();\n return jwt;\n}\n\nexport async function verifySignedJwtToken(jwt: string, jwkJson: JwkRsaPublic) {\n const jwk = await jose.JWK.asKey(jwkJson);\n const verifyResult = await jose.JWS.createVerify(jwk).verify(jwt);\n return verifyResult;\n}\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,WAAW;AAW5B;AACA,gBAAgBC,MAAa,IAAK;EAChC,OAAO;IACL,MAAMC,YAAYA,CAAA,EAAoB;MACpC,OAAOA,YAAY,CAAC,CAAC;IACvB,CAAC;IAED,MAAMC,eAAeA,CAACC,OAAe,EAAyB;MAC5D,OAAOD,eAAe,CAACC,OAAO,CAAC;IACjC,CAAC;IAEDC,UAAUA,CAAC,GAAGC,IAAoB,EAAiB;MACjD,OAAOD,UAAU,CAAC,GAAGC,IAAI,CAAC;IAC5B,CAAC;IAED,MAAMC,oBAAoBA,CAACC,OAAwB,EAAEJ,OAAe,EAAE;MACpE,OAAOG,oBAAoB,CAACC,OAAO,EAAEJ,OAAO,CAAC;IAC/C,CAAC;IAED,MAAMK,oBAAoBA,CAACC,GAAW,EAAEN,OAAqB,EAAE;MAC7D,OAAOK,oBAAoB,CAACC,GAAG,EAAEN,OAAO,CAAC;IAC3C;EACF,CAAC;AACH,CAAC;AAkCD,OAAO,eAAeF,YAAYA,CAAA,EAAoB;EACpD,MAAMS,GAAG,GAAG,MAAMX,IAAI,CAACY,GAAG,CAACC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE;IAAEC,GAAG,EAAE;EAAQ,CAAC,CAAC;EACnE;EACA,OAAOH,GAAG,CAACI,MAAM,CAAC,IAAI,CAAC;AACzB;AAEA,OAAO,eAAeZ,eAAeA,CAACC,OAAe,EAAyB;EAC5E,MAAMO,GAAG,GAAG,MAAMX,IAAI,CAACY,GAAG,CAACI,KAAK,CAACZ,OAAO,CAAC;EACzC;EACA,OAAOO,GAAG,CAACI,MAAM,CAAC,KAAK,CAAC;AAC1B;AAEA,OAAO,SAASV,UAAUA,CAAC,GAAGC,IAAoB,EAAiB;EACjE,OAAO;IACLA;EACF,CAAC;AACH;AAEA,OAAO,eAAeC,oBAAoBA,CACxCC,OAAwB,EACxBJ,OAAe,EACf;EACA,MAAMa,GAAG,GAAG,MAAMjB,IAAI,CAACY,GAAG,CAACI,KAAK,CAACZ,OAAO,CAAC;EACzC,IAAI,OAAOI,OAAO,KAAK,QAAQ,EAAE;IAC/BA,OAAO,GAAGU,IAAI,CAACC,SAAS,CAACX,OAAO,CAAC;EACnC;EACA,MAAME,GAAG,GAAG,MAAMV,IAAI,CAACoB,GAAG,CAACC,UAAU,CACnC;IAAEP,GAAG,EAAE,OAAO;IAAEQ,OAAO,EAAE,IAAI;IAAEC,MAAM,EAAE,CAAC;EAAE,CAAC;EAC3C;EACA;IAAEN,GAAG;IAAEO,SAAS,EAAE;EAAM,CAC1B,CAAC,CACEC,MAAM,CAACjB,OAAO,CAAC,CACfkB,KAAK,CAAC,CAAC;EACV,OAAOhB,GAAG;AACZ;AAEA,OAAO,eAAeD,oBAAoBA,CAACC,GAAW,EAAEN,OAAqB,EAAE;EAC7E,MAAMO,GAAG,GAAG,MAAMX,IAAI,CAACY,GAAG,CAACI,KAAK,CAACZ,OAAO,CAAC;EACzC,MAAMuB,YAAY,GAAG,MAAM3B,IAAI,CAACoB,GAAG,CAACQ,YAAY,CAACjB,GAAG,CAAC,CAACkB,MAAM,CAACnB,GAAG,CAAC;EACjE,OAAOiB,YAAY;AACrB"}
@@ -2,13 +2,13 @@ import fs from 'fs';
2
2
  import { v4 as uuidv4 } from 'uuid';
3
3
  import _ from 'lodash';
4
4
  import { convertBase64TextToArray, getTypedFilename, convertTextArrayToBase64, convertTextArrayToBase64Url, findFilesByName, getMetadata } from "./utils/ExportImportUtils.js";
5
- import { getRealmManagedUser, replaceAll } from "./utils/OpsUtils.js";
5
+ import { getRealmManagedUser } from "./utils/OpsUtils.js";
6
6
  import { getNode, putNode, deleteNode, getNodeTypes, getNodesByType } from "../api/NodeApi.js";
7
7
  import { isCloudOnlyNode, isCustomNode, isPremiumNode } from "./NodeOps.js";
8
8
  import { getTrees, getTree, putTree, deleteTree } from "../api/TreeApi.js";
9
9
  import { getEmailTemplate, putEmailTemplate } from "./EmailTemplateOps.js";
10
10
  import { getScript } from "../api/ScriptApi.js";
11
- import * as globalConfig from "../storage/StaticStorage.js";
11
+ import Constants from "../shared/Constants.js";
12
12
  import { printMessage, createProgressIndicator, updateProgressIndicator, stopProgressIndicator, debugMessage } from "./utils/Console.js";
13
13
  import { getProviderByLocationAndId, getProviders, getProviderMetadata, createProvider, findProviders, updateProvider } from "../api/Saml2Api.js";
14
14
  import { createCircleOfTrust, getCirclesOfTrust, updateCircleOfTrust } from "../api/CirclesOfTrustApi.js";
@@ -461,7 +461,7 @@ export async function exportJourney({
461
461
  const saml2ConfigPromises = [];
462
462
  let socialProviderPromise = null;
463
463
  let themePromise = null;
464
- if (deps && state.getDeploymentType() !== globalConfig.CLASSIC_DEPLOYMENT_TYPE_KEY) {
464
+ if (deps && state.getDeploymentType() !== Constants.CLASSIC_DEPLOYMENT_TYPE_KEY) {
465
465
  try {
466
466
  themePromise = getThemes({
467
467
  state
@@ -514,7 +514,7 @@ export async function exportJourney({
514
514
  }
515
515
 
516
516
  // frodo supports email templates in platform deployments
517
- if (deps && state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
517
+ if (deps && state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
518
518
  if (emailTemplateNodes.includes(nodeType)) {
519
519
  try {
520
520
  const emailTemplate = await getEmailTemplate({
@@ -580,7 +580,7 @@ export async function exportJourney({
580
580
  }));
581
581
  }
582
582
  // frodo supports themes in platform deployments
583
- if (deps && state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
583
+ if (deps && state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
584
584
  let themeId = false;
585
585
  if (nodeObject.stage) {
586
586
  // see if themeId is part of the stage object
@@ -628,7 +628,7 @@ export async function exportJourney({
628
628
  }
629
629
 
630
630
  // frodo supports email templates in platform deployments
631
- if (deps && state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
631
+ if (deps && state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
632
632
  if (emailTemplateNodes.includes(innerNodeType)) {
633
633
  try {
634
634
  const emailTemplate = await getEmailTemplate({
@@ -1280,7 +1280,7 @@ export async function importJourney({
1280
1280
  if (nodeType === 'PageNode' && reUuid) {
1281
1281
  for (const [, inPageNodeData] of Object.entries(nodeData['nodes'])) {
1282
1282
  const currentId = inPageNodeData['_id'];
1283
- nodeData = JSON.parse(replaceAll(JSON.stringify(nodeData), currentId, uuidMap[currentId]));
1283
+ nodeData = JSON.parse(JSON.stringify(nodeData).replaceAll(currentId, uuidMap[currentId]));
1284
1284
  }
1285
1285
  }
1286
1286
  if (verbose) printMessage({
@@ -1371,7 +1371,7 @@ export async function importJourney({
1371
1371
  if (reUuid) {
1372
1372
  let journeyText = JSON.stringify(treeObject.tree, null, 2);
1373
1373
  for (const [oldId, newId] of Object.entries(uuidMap)) {
1374
- journeyText = replaceAll(journeyText, oldId, newId);
1374
+ journeyText = journeyText.replaceAll(oldId, newId);
1375
1375
  }
1376
1376
  treeObject.tree = JSON.parse(journeyText);
1377
1377
  }
@@ -1379,7 +1379,7 @@ export async function importJourney({
1379
1379
  // If the tree has an identityResource config setting
1380
1380
  // and the identityResource ends in 'user'
1381
1381
  // Set the identityResource for the tree to the selected resource.
1382
- if (treeObject.tree.identityResource && treeObject.tree['identityResource'].endsWith('user') || state.getDeploymentType() === globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === globalConfig.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
1382
+ if (treeObject.tree.identityResource && treeObject.tree['identityResource'].endsWith('user') || state.getDeploymentType() === Constants.CLOUD_DEPLOYMENT_TYPE_KEY || state.getDeploymentType() === Constants.FORGEOPS_DEPLOYMENT_TYPE_KEY) {
1383
1383
  treeObject.tree.identityResource = `managed/${getRealmManagedUser({
1384
1384
  state
1385
1385
  })}`;
@@ -2031,7 +2031,6 @@ export function getJourneyClassification({
2031
2031
  if (premium) classifications.push(JourneyClassification.PREMIUM);
2032
2032
  return classifications;
2033
2033
  }
2034
-
2035
2034
  /**
2036
2035
  * Delete a journey
2037
2036
  * @param {string} journeyId journey id/name
@@ -2048,6 +2047,7 @@ export async function deleteJourney({
2048
2047
  } = options;
2049
2048
  const progress = !('progress' in options) ? true : options.progress;
2050
2049
  const status = {
2050
+ status: 'unknown',
2051
2051
  nodes: {}
2052
2052
  };
2053
2053
  if (progress) createProgressIndicator({
@@ -2230,7 +2230,6 @@ export async function deleteJourney({
2230
2230
  return status;
2231
2231
  });
2232
2232
  }
2233
-
2234
2233
  /**
2235
2234
  * Delete all journeys
2236
2235
  * @param {Object} options deep=true also delete all the nodes and inner nodes, verbose=true print verbose info