@rockcarver/frodo-lib 0.16.2-9 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/CHANGELOG.md +222 -1
  2. package/cjs/api/AgentApi.js +14 -61
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js +0 -5
  6. package/cjs/api/ApiTypes.js.map +1 -1
  7. package/cjs/api/AuthenticateApi.js +9 -20
  8. package/cjs/api/AuthenticateApi.js.map +1 -1
  9. package/cjs/api/AuthenticateApi.test.js.map +1 -0
  10. package/cjs/api/BaseApi.js +82 -124
  11. package/cjs/api/BaseApi.js.map +1 -1
  12. package/cjs/api/CirclesOfTrustApi.js +8 -32
  13. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  14. package/cjs/api/IdmConfigApi.js +9 -34
  15. package/cjs/api/IdmConfigApi.js.map +1 -1
  16. package/cjs/api/LogApi.js +8 -31
  17. package/cjs/api/LogApi.js.map +1 -1
  18. package/cjs/api/ManagedObjectApi.js +34 -31
  19. package/cjs/api/ManagedObjectApi.js.map +1 -1
  20. package/cjs/api/NodeApi.js +10 -41
  21. package/cjs/api/NodeApi.js.map +1 -1
  22. package/cjs/api/NodeApi.test.js.map +1 -1
  23. package/cjs/api/OAuth2ClientApi.js +7 -26
  24. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  25. package/cjs/api/OAuth2OIDCApi.js +28 -34
  26. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  27. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -0
  28. package/cjs/api/OAuth2ProviderApi.js +5 -15
  29. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  30. package/cjs/api/RealmApi.js +8 -34
  31. package/cjs/api/RealmApi.js.map +1 -1
  32. package/cjs/api/Saml2Api.js +16 -67
  33. package/cjs/api/Saml2Api.js.map +1 -1
  34. package/cjs/api/ScriptApi.js +8 -30
  35. package/cjs/api/ScriptApi.js.map +1 -1
  36. package/cjs/api/SecretsApi.js +14 -64
  37. package/cjs/api/SecretsApi.js.map +1 -1
  38. package/cjs/api/SecretsApi.test.js.map +1 -1
  39. package/cjs/api/ServerInfoApi.js +6 -21
  40. package/cjs/api/ServerInfoApi.js.map +1 -1
  41. package/cjs/api/ServiceApi.js +49 -47
  42. package/cjs/api/ServiceApi.js.map +1 -1
  43. package/cjs/api/SocialIdentityProvidersApi.js +9 -36
  44. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  45. package/cjs/api/StartupApi.js +5 -24
  46. package/cjs/api/StartupApi.js.map +1 -1
  47. package/cjs/api/StartupApi.test.js.map +1 -1
  48. package/cjs/api/TreeApi.js +8 -30
  49. package/cjs/api/TreeApi.js.map +1 -1
  50. package/cjs/api/TreeApi.test.js.map +1 -1
  51. package/cjs/api/VariablesApi.js +9 -37
  52. package/cjs/api/VariablesApi.js.map +1 -1
  53. package/cjs/api/VariablesApi.test.js.map +1 -1
  54. package/cjs/api/utils/ApiUtils.js +47 -57
  55. package/cjs/api/utils/ApiUtils.js.map +1 -1
  56. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  57. package/cjs/api/utils/Base64.js +5 -15
  58. package/cjs/api/utils/Base64.js.map +1 -1
  59. package/cjs/ext/axios-curlirize/curlirize.js +2 -9
  60. package/cjs/ext/axios-curlirize/curlirize.js.map +1 -1
  61. package/cjs/ext/axios-curlirize/lib/CurlHelper.js +7 -22
  62. package/cjs/ext/axios-curlirize/lib/CurlHelper.js.map +1 -1
  63. package/cjs/index.js +30 -89
  64. package/cjs/index.js.map +1 -1
  65. package/cjs/ops/AdminOps.js +27 -165
  66. package/cjs/ops/AdminOps.js.map +1 -1
  67. package/cjs/ops/AgentOps.js +2 -159
  68. package/cjs/ops/AgentOps.js.map +1 -1
  69. package/cjs/ops/AgentOps.test.js.map +1 -1
  70. package/cjs/ops/AuthenticateOps.js +266 -226
  71. package/cjs/ops/AuthenticateOps.js.map +1 -1
  72. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  73. package/cjs/ops/CirclesOfTrustOps.js +13 -91
  74. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  75. package/cjs/ops/ConnectionProfileOps.js +220 -136
  76. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  77. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  78. package/cjs/ops/EmailTemplateOps.js +35 -379
  79. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  80. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  81. package/cjs/ops/IdmOps.js +52 -426
  82. package/cjs/ops/IdmOps.js.map +1 -1
  83. package/cjs/ops/IdmOps.test.js.map +1 -1
  84. package/cjs/ops/IdpOps.js +11 -94
  85. package/cjs/ops/IdpOps.js.map +1 -1
  86. package/cjs/ops/IdpOps.test.js.map +1 -1
  87. package/cjs/ops/JoseOps.js +81 -0
  88. package/cjs/ops/JoseOps.js.map +1 -0
  89. package/cjs/ops/JoseOps.test.js.map +1 -0
  90. package/cjs/ops/JourneyOps.js +139 -370
  91. package/cjs/ops/JourneyOps.js.map +1 -1
  92. package/cjs/ops/JourneyOps.test.js.map +1 -1
  93. package/cjs/ops/LogOps.js +14 -47
  94. package/cjs/ops/LogOps.js.map +1 -1
  95. package/cjs/ops/ManagedObjectOps.js +4 -12
  96. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  97. package/cjs/ops/NodeOps.js +9 -67
  98. package/cjs/ops/NodeOps.js.map +1 -1
  99. package/cjs/ops/OAuth2ClientOps.js +10 -40
  100. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  101. package/cjs/ops/OpsTypes.js +0 -5
  102. package/cjs/ops/OpsTypes.js.map +1 -1
  103. package/cjs/ops/OrganizationOps.js +6 -25
  104. package/cjs/ops/OrganizationOps.js.map +1 -1
  105. package/cjs/ops/RealmOps.js +0 -19
  106. package/cjs/ops/RealmOps.js.map +1 -1
  107. package/cjs/ops/Saml2Ops.js +11 -107
  108. package/cjs/ops/Saml2Ops.js.map +1 -1
  109. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  110. package/cjs/ops/ScriptOps.js +26 -73
  111. package/cjs/ops/ScriptOps.js.map +1 -1
  112. package/cjs/ops/SecretsOps.js +2 -58
  113. package/cjs/ops/SecretsOps.js.map +1 -1
  114. package/cjs/ops/ServiceAccountOps.js +61 -0
  115. package/cjs/ops/ServiceAccountOps.js.map +1 -0
  116. package/cjs/ops/ServiceAccountOps.test.js.map +1 -0
  117. package/cjs/ops/ServiceOps.js +55 -101
  118. package/cjs/ops/ServiceOps.js.map +1 -1
  119. package/cjs/ops/StartupOps.js +2 -23
  120. package/cjs/ops/StartupOps.js.map +1 -1
  121. package/cjs/ops/ThemeOps.js +230 -436
  122. package/cjs/ops/ThemeOps.js.map +1 -1
  123. package/cjs/ops/ThemeOps.test.js.map +1 -0
  124. package/cjs/ops/VariablesOps.js +0 -38
  125. package/cjs/ops/VariablesOps.js.map +1 -1
  126. package/cjs/ops/utils/Console.js +29 -62
  127. package/cjs/ops/utils/Console.js.map +1 -1
  128. package/cjs/ops/utils/DataProtection.js +13 -47
  129. package/cjs/ops/utils/DataProtection.js.map +1 -1
  130. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  131. package/cjs/ops/utils/ExportImportUtils.js +36 -74
  132. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  133. package/cjs/ops/utils/ExportImportUtils.test.js.map +1 -1
  134. package/cjs/ops/utils/OpsUtils.js +27 -43
  135. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  136. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  137. package/cjs/ops/utils/ValidationUtils.js +0 -13
  138. package/cjs/ops/utils/ValidationUtils.js.map +1 -1
  139. package/cjs/ops/utils/ValidationUtils.test.js.map +1 -1
  140. package/cjs/ops/utils/Version.js +2 -12
  141. package/cjs/ops/utils/Version.js.map +1 -1
  142. package/cjs/ops/utils/Version.test.js.map +1 -1
  143. package/cjs/ops/utils/Wordwrap.js +1 -2
  144. package/cjs/ops/utils/Wordwrap.js.map +1 -1
  145. package/cjs/ops/utils/Wordwrap.test.js.map +1 -0
  146. package/cjs/shared/State.js +239 -0
  147. package/cjs/shared/State.js.map +1 -0
  148. package/cjs/shared/State.test.js.map +1 -0
  149. package/cjs/storage/StaticStorage.js.map +1 -1
  150. package/cjs/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
  151. package/cjs/test/mocks/ForgeRockApiMockEngine.js +161 -83
  152. package/cjs/test/mocks/ForgeRockApiMockEngine.js.map +1 -1
  153. package/cjs/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
  154. package/cjs/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
  155. package/cjs/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
  156. package/cjs/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
  157. package/cjs/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
  158. package/cjs/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
  159. package/cjs/utils/AutoSetupPolly.js +79 -0
  160. package/cjs/utils/AutoSetupPolly.js.map +1 -0
  161. package/cjs/utils/SetupJest.js +6 -0
  162. package/cjs/utils/SetupJest.js.map +1 -0
  163. package/cjs/{test/mocks → utils}/snapshotResolve.js +10 -12
  164. package/cjs/utils/snapshotResolve.js.map +1 -0
  165. package/esm/api/AgentApi.mjs +19 -21
  166. package/esm/api/AgentApi.test.mjs +6 -15
  167. package/esm/api/ApiTypes.mjs +0 -5
  168. package/esm/api/AuthenticateApi.mjs +7 -10
  169. package/esm/api/AuthenticateApi.test.mjs +39 -0
  170. package/esm/api/BaseApi.mjs +96 -81
  171. package/esm/api/CirclesOfTrustApi.mjs +9 -12
  172. package/esm/api/IdmConfigApi.mjs +11 -12
  173. package/esm/api/LogApi.mjs +6 -10
  174. package/esm/api/ManagedObjectApi.mjs +23 -8
  175. package/esm/api/NodeApi.mjs +13 -15
  176. package/esm/api/NodeApi.test.mjs +13 -17
  177. package/esm/api/OAuth2ClientApi.mjs +7 -9
  178. package/esm/api/OAuth2OIDCApi.mjs +15 -9
  179. package/esm/api/OAuth2OIDCApi.test.mjs +53 -0
  180. package/esm/api/OAuth2ProviderApi.mjs +3 -5
  181. package/esm/api/RealmApi.mjs +10 -13
  182. package/esm/api/Saml2Api.mjs +25 -29
  183. package/esm/api/ScriptApi.mjs +9 -11
  184. package/esm/api/SecretsApi.mjs +21 -24
  185. package/esm/api/SecretsApi.test.mjs +9 -31
  186. package/esm/api/ServerInfoApi.mjs +5 -9
  187. package/esm/api/ServiceApi.mjs +53 -26
  188. package/esm/api/SocialIdentityProvidersApi.mjs +11 -13
  189. package/esm/api/StartupApi.mjs +5 -10
  190. package/esm/api/StartupApi.test.mjs +4 -7
  191. package/esm/api/TreeApi.mjs +9 -11
  192. package/esm/api/TreeApi.test.mjs +24 -61
  193. package/esm/api/VariablesApi.mjs +11 -13
  194. package/esm/api/VariablesApi.test.mjs +80 -222
  195. package/esm/api/utils/ApiUtils.mjs +45 -48
  196. package/esm/api/utils/ApiUtils.test.mjs +33 -32
  197. package/esm/api/utils/Base64.mjs +5 -9
  198. package/esm/ext/axios-curlirize/curlirize.mjs +2 -7
  199. package/esm/ext/axios-curlirize/lib/CurlHelper.mjs +7 -20
  200. package/esm/index.mjs +23 -13
  201. package/esm/ops/AdminOps.mjs +33 -119
  202. package/esm/ops/AgentOps.mjs +37 -80
  203. package/esm/ops/AgentOps.test.mjs +5 -45
  204. package/esm/ops/AuthenticateOps.mjs +242 -175
  205. package/esm/ops/AuthenticateOps.test.mjs +7 -9
  206. package/esm/ops/CirclesOfTrustOps.mjs +24 -61
  207. package/esm/ops/ConnectionProfileOps.mjs +192 -82
  208. package/esm/ops/ConnectionProfileOps.test.mjs +19 -19
  209. package/esm/ops/EmailTemplateOps.mjs +18 -276
  210. package/esm/ops/EmailTemplateOps.test.mjs +19 -44
  211. package/esm/ops/IdmOps.mjs +30 -327
  212. package/esm/ops/IdmOps.test.mjs +47 -54
  213. package/esm/ops/IdpOps.mjs +21 -59
  214. package/esm/ops/IdpOps.test.mjs +5 -5
  215. package/esm/ops/JoseOps.mjs +41 -0
  216. package/esm/ops/JoseOps.test.mjs +137 -0
  217. package/esm/ops/JourneyOps.mjs +146 -289
  218. package/esm/ops/JourneyOps.test.mjs +29 -27
  219. package/esm/ops/LogOps.mjs +15 -25
  220. package/esm/ops/ManagedObjectOps.mjs +6 -6
  221. package/esm/ops/NodeOps.mjs +9 -47
  222. package/esm/ops/OAuth2ClientOps.mjs +13 -19
  223. package/esm/ops/OpsTypes.mjs +1 -3
  224. package/esm/ops/OrganizationOps.mjs +7 -14
  225. package/esm/ops/RealmOps.mjs +4 -7
  226. package/esm/ops/Saml2Ops.mjs +28 -62
  227. package/esm/ops/Saml2Ops.test.mjs +20 -23
  228. package/esm/ops/ScriptOps.mjs +29 -47
  229. package/esm/ops/SecretsOps.mjs +15 -31
  230. package/esm/ops/ServiceAccountOps.mjs +41 -0
  231. package/esm/ops/ServiceAccountOps.test.mjs +51 -0
  232. package/esm/ops/ServiceOps.mjs +66 -83
  233. package/esm/ops/StartupOps.mjs +4 -13
  234. package/esm/ops/ThemeOps.mjs +189 -298
  235. package/esm/{api/ThemeApi.test.mjs → ops/ThemeOps.test.mjs} +91 -96
  236. package/esm/ops/VariablesOps.mjs +9 -18
  237. package/esm/ops/utils/Console.mjs +28 -46
  238. package/esm/ops/utils/DataProtection.mjs +15 -28
  239. package/esm/ops/utils/DataProtection.test.mjs +8 -8
  240. package/esm/ops/utils/ExportImportUtils.mjs +34 -43
  241. package/esm/ops/utils/ExportImportUtils.test.mjs +20 -18
  242. package/esm/ops/utils/OpsUtils.mjs +27 -21
  243. package/esm/ops/utils/OpsUtils.test.mjs +155 -27
  244. package/esm/ops/utils/ValidationUtils.mjs +0 -9
  245. package/esm/ops/utils/Version.mjs +2 -3
  246. package/esm/ops/utils/Version.test.mjs +0 -2
  247. package/esm/ops/utils/Wordwrap.mjs +1 -1
  248. package/esm/ops/utils/Wordwrap.test.mjs +19 -0
  249. package/esm/shared/State.mjs +164 -0
  250. package/esm/shared/State.test.mjs +249 -0
  251. package/esm/test/mocks/AuthenticateApi/step/default_steps.json +88 -0
  252. package/esm/test/mocks/ForgeRockApiMockEngine.mjs +147 -31
  253. package/esm/test/mocks/IdmConfigApi/getConfigEntity/managed.json +4420 -0
  254. package/esm/test/mocks/OAuth2OIDCApi/accessToken/body.json +6 -0
  255. package/esm/test/mocks/OAuth2OIDCApi/accessToken/headers.json +19 -0
  256. package/esm/test/mocks/OAuth2OIDCApi/authorize/headers.json +38 -0
  257. package/esm/test/mocks/ServerInfoApi/getServerInfo/info.json +25 -0
  258. package/esm/test/mocks/ServerInfoApi/getServerVersionInfo/version.json +8 -0
  259. package/esm/utils/AutoSetupPolly.mjs +72 -0
  260. package/esm/utils/SetupJest.mjs +3 -0
  261. package/esm/{test/mocks → utils}/snapshotResolve.mjs +10 -12
  262. package/package.json +36 -26
  263. package/types/api/AgentApi.d.ts.map +1 -1
  264. package/types/api/ApiTypes.d.ts +15 -16
  265. package/types/api/ApiTypes.d.ts.map +1 -1
  266. package/types/api/AuthenticateApi.d.ts +1 -1
  267. package/types/api/AuthenticateApi.d.ts.map +1 -1
  268. package/types/api/BaseApi.d.ts +2 -0
  269. package/types/api/BaseApi.d.ts.map +1 -1
  270. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  271. package/types/api/IdmConfigApi.d.ts.map +1 -1
  272. package/types/api/LogApi.d.ts.map +1 -1
  273. package/types/api/ManagedObjectApi.d.ts +9 -1
  274. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  275. package/types/api/NodeApi.d.ts.map +1 -1
  276. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  277. package/types/api/OAuth2OIDCApi.d.ts +4 -2
  278. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  279. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  280. package/types/api/RealmApi.d.ts.map +1 -1
  281. package/types/api/Saml2Api.d.ts.map +1 -1
  282. package/types/api/ScriptApi.d.ts.map +1 -1
  283. package/types/api/SecretsApi.d.ts.map +1 -1
  284. package/types/api/ServerInfoApi.d.ts.map +1 -1
  285. package/types/api/ServiceApi.d.ts +14 -7
  286. package/types/api/ServiceApi.d.ts.map +1 -1
  287. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  288. package/types/api/StartupApi.d.ts.map +1 -1
  289. package/types/api/TreeApi.d.ts.map +1 -1
  290. package/types/api/VariablesApi.d.ts.map +1 -1
  291. package/types/api/utils/ApiUtils.d.ts +1 -0
  292. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  293. package/types/index.d.ts +11 -5
  294. package/types/index.d.ts.map +1 -1
  295. package/types/ops/AuthenticateOps.d.ts +10 -2
  296. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  297. package/types/ops/ConnectionProfileOps.d.ts +49 -21
  298. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  299. package/types/ops/EmailTemplateOps.d.ts +14 -33
  300. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  301. package/types/ops/IdmOps.d.ts +29 -37
  302. package/types/ops/IdmOps.d.ts.map +1 -1
  303. package/types/ops/JoseOps.d.ts +33 -0
  304. package/types/ops/JoseOps.d.ts.map +1 -0
  305. package/types/ops/JourneyOps.d.ts.map +1 -1
  306. package/types/ops/LogOps.d.ts.map +1 -1
  307. package/types/ops/NodeOps.d.ts.map +1 -1
  308. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  309. package/types/ops/OpsTypes.d.ts +1 -1
  310. package/types/ops/OpsTypes.d.ts.map +1 -1
  311. package/types/ops/OrganizationOps.d.ts.map +1 -1
  312. package/types/ops/ScriptOps.d.ts.map +1 -1
  313. package/types/ops/ServiceAccountOps.d.ts +20 -0
  314. package/types/ops/ServiceAccountOps.d.ts.map +1 -0
  315. package/types/ops/ServiceOps.d.ts +18 -10
  316. package/types/ops/ServiceOps.d.ts.map +1 -1
  317. package/types/ops/ThemeOps.d.ts +35 -50
  318. package/types/ops/ThemeOps.d.ts.map +1 -1
  319. package/types/ops/utils/Console.d.ts +1 -1
  320. package/types/ops/utils/Console.d.ts.map +1 -1
  321. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  322. package/types/ops/utils/ExportImportUtils.d.ts +5 -2
  323. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  324. package/types/ops/utils/OpsUtils.d.ts +6 -0
  325. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  326. package/types/ops/utils/Wordwrap.d.ts.map +1 -1
  327. package/types/shared/State.d.ts +223 -0
  328. package/types/shared/State.d.ts.map +1 -0
  329. package/types/test/mocks/ForgeRockApiMockEngine.d.ts +19 -1
  330. package/types/test/mocks/ForgeRockApiMockEngine.d.ts.map +1 -1
  331. package/types/utils/AutoSetupPolly.d.ts +1 -0
  332. package/types/utils/AutoSetupPolly.d.ts.map +1 -0
  333. package/types/utils/SetupJest.d.ts +1 -0
  334. package/types/utils/SetupJest.d.ts.map +1 -0
  335. package/types/utils/snapshotResolve.d.ts +1 -0
  336. package/types/utils/snapshotResolve.d.ts.map +1 -0
  337. package/cjs/api/EmailTemplateApi.js +0 -73
  338. package/cjs/api/EmailTemplateApi.js.map +0 -1
  339. package/cjs/api/ThemeApi.js +0 -367
  340. package/cjs/api/ThemeApi.js.map +0 -1
  341. package/cjs/api/ThemeApi.test.js.map +0 -1
  342. package/cjs/storage/SessionStorage.js +0 -91
  343. package/cjs/storage/SessionStorage.js.map +0 -1
  344. package/cjs/test/mocks/snapshotResolve.js.map +0 -1
  345. package/esm/api/EmailTemplateApi.mjs +0 -34
  346. package/esm/api/ThemeApi.mjs +0 -271
  347. package/esm/storage/SessionStorage.mjs +0 -79
  348. package/types/api/EmailTemplateApi.d.ts +0 -22
  349. package/types/api/EmailTemplateApi.d.ts.map +0 -1
  350. package/types/api/ThemeApi.d.ts +0 -56
  351. package/types/api/ThemeApi.d.ts.map +0 -1
  352. package/types/storage/SessionStorage.d.ts +0 -71
  353. package/types/storage/SessionStorage.d.ts.map +0 -1
  354. package/types/test/mocks/snapshotResolve.d.ts +0 -1
  355. package/types/test/mocks/snapshotResolve.d.ts.map +0 -1
@@ -20,38 +20,26 @@ exports.importSaml2Provider = importSaml2Provider;
20
20
  exports.importSaml2Providers = importSaml2Providers;
21
21
  exports.putRawProvider = putRawProvider;
22
22
  exports.roleMap = void 0;
23
-
24
23
  var _lodash = _interopRequireDefault(require("lodash"));
25
-
26
24
  var _ApiTypes = require("../api/ApiTypes");
27
-
28
25
  var _Saml2Api = require("../api/Saml2Api");
29
-
30
26
  var _ScriptApi = require("../api/ScriptApi");
31
-
32
27
  var _Base = require("../api/utils/Base64");
33
-
34
28
  var _ScriptOps = require("./ScriptOps");
35
-
36
29
  var _Console = require("./utils/Console");
37
-
38
30
  var _ExportImportUtils = require("./utils/ExportImportUtils");
39
-
40
31
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
-
42
32
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
43
-
44
33
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
45
-
46
34
  var roleMap = {
47
35
  identityProvider: 'IDP',
48
36
  serviceProvider: 'SP',
49
37
  attributeQueryProvider: 'AttrQuery',
50
38
  xacmlPolicyEnforcementPoint: 'XACML PEP'
51
- }; // use a function vs a template variable to avoid problems in loops
39
+ };
52
40
 
41
+ // use a function vs a template variable to avoid problems in loops
53
42
  exports.roleMap = roleMap;
54
-
55
43
  function createSaml2ExportTemplate() {
56
44
  return {
57
45
  meta: {},
@@ -63,12 +51,11 @@ function createSaml2ExportTemplate() {
63
51
  }
64
52
  };
65
53
  }
54
+
66
55
  /**
67
56
  * Get SAML2 entity provider stubs
68
57
  * @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs
69
58
  */
70
-
71
-
72
59
  function getSaml2ProviderStubs() {
73
60
  return _getSaml2ProviderStubs.apply(this, arguments);
74
61
  }
@@ -78,8 +65,6 @@ function getSaml2ProviderStubs() {
78
65
  * @param {string} entityId64 Base64-encoded provider entity id
79
66
  * @returns {Promise} a promise that resolves to a saml2 entity provider object
80
67
  */
81
-
82
-
83
68
  function _getSaml2ProviderStubs() {
84
69
  _getSaml2ProviderStubs = _asyncToGenerator(function* () {
85
70
  var {
@@ -89,7 +74,6 @@ function _getSaml2ProviderStubs() {
89
74
  });
90
75
  return _getSaml2ProviderStubs.apply(this, arguments);
91
76
  }
92
-
93
77
  function getProviderByLocationAndId(_x, _x2) {
94
78
  return _getProviderByLocationAndId2.apply(this, arguments);
95
79
  }
@@ -98,25 +82,21 @@ function getProviderByLocationAndId(_x, _x2) {
98
82
  * @param {string} entityId SAML2 entity id
99
83
  * @returns {string} the URL to get the metadata from
100
84
  */
101
-
102
-
103
85
  function _getProviderByLocationAndId2() {
104
86
  _getProviderByLocationAndId2 = _asyncToGenerator(function* (location, entityId64) {
105
87
  return (0, _Saml2Api.getProviderByLocationAndId)(location, entityId64);
106
88
  });
107
89
  return _getProviderByLocationAndId2.apply(this, arguments);
108
90
  }
109
-
110
91
  function getProviderMetadataUrl(entityId) {
111
92
  return (0, _Saml2Api.getProviderMetadataUrl)(entityId);
112
93
  }
94
+
113
95
  /**
114
96
  * Get a SAML2 entity provider's metadata by entity id
115
97
  * @param {String} entityId SAML2 entity id
116
98
  * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata
117
99
  */
118
-
119
-
120
100
  function getProviderMetadata(_x3) {
121
101
  return _getProviderMetadata2.apply(this, arguments);
122
102
  }
@@ -125,15 +105,12 @@ function getProviderMetadata(_x3) {
125
105
  * @param {Object} providerData Object representing a SAML entity provider
126
106
  * @param {Object} fileData File data object to add dependencies to
127
107
  */
128
-
129
-
130
108
  function _getProviderMetadata2() {
131
109
  _getProviderMetadata2 = _asyncToGenerator(function* (entityId) {
132
110
  return (0, _Saml2Api.getProviderMetadata)(entityId);
133
111
  });
134
112
  return _getProviderMetadata2.apply(this, arguments);
135
113
  }
136
-
137
114
  function exportDependencies(_x4, _x5) {
138
115
  return _exportDependencies.apply(this, arguments);
139
116
  }
@@ -142,36 +119,28 @@ function exportDependencies(_x4, _x5) {
142
119
  * @param {String} entityId Provider entity id
143
120
  * @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.
144
121
  */
145
-
146
-
147
122
  function _exportDependencies() {
148
123
  _exportDependencies = _asyncToGenerator(function* (providerData, fileData) {
149
124
  var attrMapperScriptId = _lodash.default.get(providerData, ['identityProvider', 'assertionProcessing', 'attributeMapper', 'attributeMapperScript']);
150
-
151
125
  if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {
152
126
  var scriptData = yield (0, _ScriptApi.getScript)(attrMapperScriptId);
153
- scriptData.script = (0, _ExportImportUtils.convertBase64TextToArray)(scriptData.script); // eslint-disable-next-line no-param-reassign
154
-
127
+ scriptData.script = (0, _ExportImportUtils.convertBase64TextToArray)(scriptData.script);
128
+ // eslint-disable-next-line no-param-reassign
155
129
  fileData.script[attrMapperScriptId] = scriptData;
156
130
  }
157
-
158
131
  var idpAdapterScriptId = _lodash.default.get(providerData, ['identityProvider', 'advanced', 'idpAdapter', 'idpAdapterScript']);
159
-
160
132
  if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {
161
133
  var _scriptData = yield (0, _ScriptApi.getScript)(idpAdapterScriptId);
162
-
163
- _scriptData.script = (0, _ExportImportUtils.convertBase64TextToArray)(_scriptData.script); // eslint-disable-next-line no-param-reassign
164
-
134
+ _scriptData.script = (0, _ExportImportUtils.convertBase64TextToArray)(_scriptData.script);
135
+ // eslint-disable-next-line no-param-reassign
165
136
  fileData.script[idpAdapterScriptId] = _scriptData;
166
137
  }
167
-
168
- var metaDataResponse = yield getProviderMetadata(providerData.entityId); // eslint-disable-next-line no-param-reassign
169
-
138
+ var metaDataResponse = yield getProviderMetadata(providerData.entityId);
139
+ // eslint-disable-next-line no-param-reassign
170
140
  fileData.saml.metadata[providerData._id] = (0, _ExportImportUtils.convertBase64UrlTextToArray)((0, _Base.encodeBase64Url)(metaDataResponse));
171
141
  });
172
142
  return _exportDependencies.apply(this, arguments);
173
143
  }
174
-
175
144
  function getSaml2ProviderStub(_x6) {
176
145
  return _getSaml2ProviderStub.apply(this, arguments);
177
146
  }
@@ -180,30 +149,24 @@ function getSaml2ProviderStub(_x6) {
180
149
  * @param {String} entityId Provider entity id
181
150
  * @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.
182
151
  */
183
-
184
-
185
152
  function _getSaml2ProviderStub() {
186
153
  _getSaml2ProviderStub = _asyncToGenerator(function* (entityId) {
187
154
  (0, _Console.debugMessage)("Saml2Ops.getSaml2ProviderStub: start [entityId=".concat(entityId, "]"));
188
155
  var found = yield (0, _Saml2Api.findProviders)("entityId eq '".concat(entityId, "'"));
189
-
190
156
  switch (found.resultCount) {
191
157
  case 0:
192
158
  throw new Error("No provider with entity id '".concat(entityId, "' found"));
193
-
194
159
  case 1:
195
160
  {
196
161
  (0, _Console.debugMessage)("Saml2Ops.getSaml2ProviderStub: end [entityId=".concat(entityId, "]"));
197
162
  return found.result[0];
198
163
  }
199
-
200
164
  default:
201
165
  throw new Error("Multiple providers with entity id '".concat(entityId, "' found"));
202
166
  }
203
167
  });
204
168
  return _getSaml2ProviderStub.apply(this, arguments);
205
169
  }
206
-
207
170
  function getSaml2Provider(_x7) {
208
171
  return _getSaml2Provider.apply(this, arguments);
209
172
  }
@@ -212,8 +175,6 @@ function getSaml2Provider(_x7) {
212
175
  * @param {String} entityId Provider entity id
213
176
  * @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
214
177
  */
215
-
216
-
217
178
  function _getSaml2Provider() {
218
179
  _getSaml2Provider = _asyncToGenerator(function* (entityId) {
219
180
  (0, _Console.debugMessage)("Saml2Ops.getSaml2Provider: start [entityId=".concat(entityId, "]"));
@@ -228,7 +189,6 @@ function _getSaml2Provider() {
228
189
  });
229
190
  return _getSaml2Provider.apply(this, arguments);
230
191
  }
231
-
232
192
  function exportSaml2Provider(_x8) {
233
193
  return _exportSaml2Provider.apply(this, arguments);
234
194
  }
@@ -236,8 +196,6 @@ function exportSaml2Provider(_x8) {
236
196
  * Export all entity providers. The response can be saved to file as is.
237
197
  * @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.
238
198
  */
239
-
240
-
241
199
  function _exportSaml2Provider() {
242
200
  _exportSaml2Provider = _asyncToGenerator(function* (entityId) {
243
201
  (0, _Console.debugMessage)("Saml2Ops.exportSaml2Provider: start [entityId=".concat(entityId, "]"));
@@ -255,7 +213,6 @@ function _exportSaml2Provider() {
255
213
  });
256
214
  return _exportSaml2Provider.apply(this, arguments);
257
215
  }
258
-
259
216
  function exportSaml2Providers() {
260
217
  return _exportSaml2Providers.apply(this, arguments);
261
218
  }
@@ -264,24 +221,19 @@ function exportSaml2Providers() {
264
221
  * @param {Object} providerData Object representing a SAML entity provider
265
222
  * @param {Object} fileData File data object to read dependencies from
266
223
  */
267
-
268
-
269
224
  function _exportSaml2Providers() {
270
225
  _exportSaml2Providers = _asyncToGenerator(function* () {
271
226
  var fileData = createSaml2ExportTemplate();
272
227
  var stubs = yield getSaml2ProviderStubs();
273
-
274
228
  for (var stub of stubs) {
275
229
  var providerData = yield getProviderByLocationAndId(stub.location, stub._id);
276
230
  yield exportDependencies(providerData, fileData);
277
231
  fileData.saml[stub.location][providerData._id] = providerData;
278
232
  }
279
-
280
233
  return fileData;
281
234
  });
282
235
  return _exportSaml2Providers.apply(this, arguments);
283
236
  }
284
-
285
237
  function importDependencies(_x9, _x10) {
286
238
  return _importDependencies.apply(this, arguments);
287
239
  }
@@ -291,57 +243,42 @@ function importDependencies(_x9, _x10) {
291
243
  * @param {Object} data Import file json data
292
244
  * @returns {String} 'hosted' or 'remote' if found, undefined otherwise
293
245
  */
294
-
295
-
296
246
  function _importDependencies() {
297
247
  _importDependencies = _asyncToGenerator(function* (providerData, fileData) {
298
248
  (0, _Console.debugMessage)("Saml2Ops.importDependencies: start");
299
-
300
249
  var attrMapperScriptId = _lodash.default.get(providerData, ['identityProvider', 'assertionProcessing', 'attributeMapper', 'attributeMapperScript']);
301
-
302
250
  if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {
303
251
  (0, _Console.debugMessage)("Saml2Ops.importDependencies: attributeMapperScript=".concat(attrMapperScriptId));
304
-
305
252
  var scriptData = _lodash.default.get(fileData, ['script', attrMapperScriptId]);
306
-
307
253
  scriptData.script = (0, _ExportImportUtils.convertTextArrayToBase64)(scriptData.script);
308
254
  yield (0, _ScriptOps.createOrUpdateScript)(attrMapperScriptId, scriptData);
309
255
  }
310
-
311
256
  var idpAdapterScriptId = _lodash.default.get(providerData, ['identityProvider', 'advanced', 'idpAdapter', 'idpAdapterScript']);
312
-
313
257
  if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {
314
258
  (0, _Console.debugMessage)("Saml2Ops.importDependencies: idpAdapterScript=".concat(idpAdapterScriptId));
315
-
316
259
  var _scriptData2 = _lodash.default.get(fileData, ['script', idpAdapterScriptId]);
317
-
318
260
  _scriptData2.script = (0, _ExportImportUtils.convertTextArrayToBase64)(_scriptData2.script);
319
261
  yield (0, _ScriptOps.createOrUpdateScript)(idpAdapterScriptId, _scriptData2);
320
262
  }
321
-
322
263
  (0, _Console.debugMessage)("Saml2Ops.importDependencies: end");
323
264
  });
324
265
  return _importDependencies.apply(this, arguments);
325
266
  }
326
-
327
267
  function getLocation(entityId64, data) {
328
268
  if (data.saml.hosted[entityId64]) {
329
269
  return _ApiTypes.Saml2ProiderLocation.HOSTED;
330
270
  }
331
-
332
271
  if (data.saml.remote[entityId64]) {
333
272
  return _ApiTypes.Saml2ProiderLocation.REMOTE;
334
273
  }
335
-
336
274
  return undefined;
337
275
  }
276
+
338
277
  /**
339
278
  * Import a SAML entity provider
340
279
  * @param {string} entityId Provider entity id
341
280
  * @param {Saml2ExportInterface} importData Import data
342
281
  */
343
-
344
-
345
282
  function importSaml2Provider(_x11, _x12) {
346
283
  return _importSaml2Provider.apply(this, arguments);
347
284
  }
@@ -349,43 +286,33 @@ function importSaml2Provider(_x11, _x12) {
349
286
  * Import SAML entity providers
350
287
  * @param {Saml2ExportInterface} importData Import data
351
288
  */
352
-
353
-
354
289
  function _importSaml2Provider() {
355
290
  _importSaml2Provider = _asyncToGenerator(function* (entityId, importData) {
356
291
  (0, _Console.debugMessage)("Saml2Ops.importSaml2Provider: start");
357
292
  var entityId64 = (0, _Base.encode)(entityId, false);
358
293
  var location = getLocation(entityId64, importData);
359
-
360
294
  if (location) {
361
295
  var providerData = importData.saml[location][entityId64];
362
296
  yield importDependencies(providerData, importData);
363
297
  var metaData = null;
364
-
365
298
  if (location === _ApiTypes.Saml2ProiderLocation.REMOTE) {
366
299
  metaData = (0, _ExportImportUtils.convertTextArrayToBase64Url)(importData.saml.metadata[entityId64]);
367
300
  }
368
-
369
301
  yield (0, _Saml2Api.createProvider)(location, providerData, metaData);
370
302
  } else {
371
303
  throw new Error("Provider ".concat(entityId, " not found in import data!"));
372
304
  }
373
-
374
305
  (0, _Console.debugMessage)("Saml2Ops.importSaml2Provider: end");
375
306
  });
376
307
  return _importSaml2Provider.apply(this, arguments);
377
308
  }
378
-
379
309
  function importSaml2Providers(_x13) {
380
310
  return _importSaml2Providers.apply(this, arguments);
381
311
  } // Contributions using legacy APIs. Need to investigate if those will be deprecated in the future
382
-
383
312
  /**
384
313
  * Deletes entity provider
385
314
  * @param {string} entityId The entity id for the entity to be deleted
386
315
  */
387
-
388
-
389
316
  function _importSaml2Providers() {
390
317
  _importSaml2Providers = _asyncToGenerator(function* (importData) {
391
318
  (0, _Console.debugMessage)("Saml2Ops.importSaml2Providers: start");
@@ -395,7 +322,6 @@ function _importSaml2Providers() {
395
322
  warnings: 0,
396
323
  failures: 0
397
324
  };
398
-
399
325
  try {
400
326
  // find providers in hosted and in remote and map locations
401
327
  var hostedIds = Object.keys(importData.saml.hosted);
@@ -403,13 +329,11 @@ function _importSaml2Providers() {
403
329
  var providerIds = hostedIds.concat(remoteIds);
404
330
  myStatus.total = providerIds.length;
405
331
  (0, _Console.createProgressIndicator)(providerIds.length, 'Importing providers...');
406
-
407
332
  for (var entityId64 of providerIds) {
408
333
  (0, _Console.debugMessage)("Saml2Ops.importSaml2Providers: entityId=".concat((0, _Base.decodeBase64Url)(entityId64)));
409
334
  var location = hostedIds.includes(entityId64) ? _ApiTypes.Saml2ProiderLocation.HOSTED : _ApiTypes.Saml2ProiderLocation.REMOTE;
410
335
  var entityId = (0, _Base.decode)(entityId64);
411
336
  var providerData = importData.saml[location][entityId64];
412
-
413
337
  try {
414
338
  yield importDependencies(providerData, importData);
415
339
  } catch (importDependenciesErr) {
@@ -417,13 +341,10 @@ function _importSaml2Providers() {
417
341
  (0, _Console.printMessage)("\nWarning importing dependencies for ".concat(entityId), 'warn');
418
342
  (0, _Console.printMessage)(importDependenciesErr.response.data, 'error');
419
343
  }
420
-
421
344
  var metaData = null;
422
-
423
345
  if (location === _ApiTypes.Saml2ProiderLocation.REMOTE) {
424
346
  metaData = (0, _ExportImportUtils.convertTextArrayToBase64Url)(importData.saml.metadata[entityId64]);
425
347
  }
426
-
427
348
  try {
428
349
  yield (0, _Saml2Api.createProvider)(location, providerData, metaData);
429
350
  myStatus.successes += 1;
@@ -434,28 +355,23 @@ function _importSaml2Providers() {
434
355
  (0, _Console.printMessage)(createProviderErr, 'error');
435
356
  }
436
357
  }
437
-
438
358
  myStatus.message = "".concat(myStatus.successes, "/").concat(myStatus.total, " providers imported.");
439
359
  (0, _Console.stopProgressIndicator)(myStatus.message);
440
360
  } catch (error) {
441
361
  myStatus.failures += 1;
442
362
  (0, _Console.printMessage)("\nError importing providers ".concat(error.message), 'error');
443
363
  }
444
-
445
364
  (0, _Console.debugMessage)("Saml2Ops.importSaml2Providers: end");
446
365
  return myStatus;
447
366
  });
448
367
  return _importSaml2Providers.apply(this, arguments);
449
368
  }
450
-
451
369
  function deleteSaml2Provider(_x14) {
452
370
  return _deleteSaml2Provider.apply(this, arguments);
453
371
  }
454
372
  /**
455
373
  * Deletes all entity providers.
456
374
  */
457
-
458
-
459
375
  function _deleteSaml2Provider() {
460
376
  _deleteSaml2Provider = _asyncToGenerator(function* (entityId) {
461
377
  try {
@@ -466,7 +382,6 @@ function _deleteSaml2Provider() {
466
382
  });
467
383
  return _deleteSaml2Provider.apply(this, arguments);
468
384
  }
469
-
470
385
  function deleteSaml2Providers() {
471
386
  return _deleteSaml2Providers.apply(this, arguments);
472
387
  }
@@ -474,8 +389,6 @@ function deleteSaml2Providers() {
474
389
  * Retrieves all entity providers using the legacy federation enpoints.
475
390
  * @returns {Promise} a promise that resolves to an object containing an array of providers
476
391
  */
477
-
478
-
479
392
  function _deleteSaml2Providers() {
480
393
  _deleteSaml2Providers = _asyncToGenerator(function* () {
481
394
  var applicationList = (yield getRawProviders()).result;
@@ -485,14 +398,12 @@ function _deleteSaml2Providers() {
485
398
  deleteApplicationPromises.push(deleteSaml2Provider(item._id));
486
399
  });
487
400
  var deleteApplicationResult = yield Promise.all(deleteApplicationPromises);
488
-
489
401
  if (deleteApplicationResult.length == applicationList.length) {
490
402
  (0, _Console.printMessage)('SAML Entity cleanup done', 'info');
491
403
  }
492
404
  });
493
405
  return _deleteSaml2Providers.apply(this, arguments);
494
406
  }
495
-
496
407
  function getRawProviders() {
497
408
  return _getRawProviders2.apply(this, arguments);
498
409
  }
@@ -501,15 +412,12 @@ function getRawProviders() {
501
412
  * @param {string} entityId The entity provider id
502
413
  * @returns {Promise} a promise that resolves to an object containing an array of providers
503
414
  */
504
-
505
-
506
415
  function _getRawProviders2() {
507
416
  _getRawProviders2 = _asyncToGenerator(function* () {
508
417
  return (0, _Saml2Api.getRawProviders)();
509
418
  });
510
419
  return _getRawProviders2.apply(this, arguments);
511
420
  }
512
-
513
421
  function getRawProvider(_x15) {
514
422
  return _getRawProvider2.apply(this, arguments);
515
423
  }
@@ -519,19 +427,15 @@ function getRawProvider(_x15) {
519
427
  * @param {string} entityData The actual data containing the entity provider configuration
520
428
  * @returns {Promise} Promise that resolves to a provider object
521
429
  */
522
-
523
-
524
430
  function _getRawProvider2() {
525
431
  _getRawProvider2 = _asyncToGenerator(function* (entityId) {
526
432
  return (0, _Saml2Api.getRawProvider)(entityId);
527
433
  });
528
434
  return _getRawProvider2.apply(this, arguments);
529
435
  }
530
-
531
436
  function putRawProvider(_x16, _x17) {
532
437
  return _putRawProvider2.apply(this, arguments);
533
438
  }
534
-
535
439
  function _putRawProvider2() {
536
440
  _putRawProvider2 = _asyncToGenerator(function* (entityId, entityData) {
537
441
  return (0, _Saml2Api.putRawProvider)(entityId, entityData);
@@ -1 +1 @@
1
- {"version":3,"file":"Saml2Ops.js","names":["roleMap","identityProvider","serviceProvider","attributeQueryProvider","xacmlPolicyEnforcementPoint","createSaml2ExportTemplate","meta","script","saml","hosted","remote","metadata","getSaml2ProviderStubs","result","getProviders","getProviderByLocationAndId","location","entityId64","_getProviderByLocationAndId","getProviderMetadataUrl","entityId","_getProviderMetadataUrl","getProviderMetadata","_getProviderMetadata","exportDependencies","providerData","fileData","attrMapperScriptId","_","get","scriptData","getScript","convertBase64TextToArray","idpAdapterScriptId","metaDataResponse","_id","convertBase64UrlTextToArray","encodeBase64Url","getSaml2ProviderStub","debugMessage","found","findProviders","resultCount","Error","getSaml2Provider","stub","id","exportSaml2Provider","exportData","exportSaml2Providers","stubs","importDependencies","convertTextArrayToBase64","createOrUpdateScript","getLocation","data","Saml2ProiderLocation","HOSTED","REMOTE","undefined","importSaml2Provider","importData","encode","metaData","convertTextArrayToBase64Url","createProvider","importSaml2Providers","myStatus","total","successes","warnings","failures","hostedIds","Object","keys","remoteIds","providerIds","concat","length","createProgressIndicator","decodeBase64Url","includes","decode","importDependenciesErr","printMessage","response","updateProgressIndicator","createProviderErr","message","stopProgressIndicator","error","deleteSaml2Provider","deleteProvider","deleteSaml2Providers","applicationList","getRawProviders","deleteApplicationPromises","forEach","item","push","deleteApplicationResult","Promise","all","_getRawProviders","getRawProvider","_getRawProvider","putRawProvider","entityData","_putRawProvider"],"sources":["ops/Saml2Ops.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n Saml2ProiderLocation,\n Saml2ProviderSkeleton,\n Saml2ProviderStub,\n} from '../api/ApiTypes';\nimport {\n createProvider,\n deleteProvider,\n findProviders,\n getProviderByLocationAndId as _getProviderByLocationAndId,\n getProviderMetadata as _getProviderMetadata,\n getProviderMetadataUrl as _getProviderMetadataUrl,\n getRawProvider as _getRawProvider,\n getProviders,\n getRawProviders as _getRawProviders,\n putRawProvider as _putRawProvider,\n} from '../api/Saml2Api';\nimport { getScript } from '../api/ScriptApi';\nimport {\n decode,\n decodeBase64Url,\n encode,\n encodeBase64Url,\n} from '../api/utils/Base64';\nimport { MultiOpStatusInterface, Saml2ExportInterface } from './OpsTypes';\nimport { createOrUpdateScript } from './ScriptOps';\nimport {\n createProgressIndicator,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n convertBase64TextToArray,\n convertBase64UrlTextToArray,\n convertTextArrayToBase64,\n convertTextArrayToBase64Url,\n} from './utils/ExportImportUtils';\n\nexport const roleMap = {\n identityProvider: 'IDP',\n serviceProvider: 'SP',\n attributeQueryProvider: 'AttrQuery',\n xacmlPolicyEnforcementPoint: 'XACML PEP',\n};\n\n// use a function vs a template variable to avoid problems in loops\nexport function createSaml2ExportTemplate(): Saml2ExportInterface {\n return {\n meta: {},\n script: {},\n saml: {\n hosted: {},\n remote: {},\n metadata: {},\n },\n } as Saml2ExportInterface;\n}\n\n/**\n * Get SAML2 entity provider stubs\n * @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs\n */\nexport async function getSaml2ProviderStubs(): Promise<Saml2ProviderStub[]> {\n const { result } = await getProviders();\n return result;\n}\n\n/**\n * Geta SAML2 entity provider by location and id\n * @param {string} location Entity provider location (hosted or remote)\n * @param {string} entityId64 Base64-encoded provider entity id\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function getProviderByLocationAndId(\n location: string,\n entityId64: string\n) {\n return _getProviderByLocationAndId(location, entityId64);\n}\n\n/**\n * Get a SAML2 entity provider's metadata URL by entity id\n * @param {string} entityId SAML2 entity id\n * @returns {string} the URL to get the metadata from\n */\nexport function getProviderMetadataUrl(entityId: string): string {\n return _getProviderMetadataUrl(entityId);\n}\n\n/**\n * Get a SAML2 entity provider's metadata by entity id\n * @param {String} entityId SAML2 entity id\n * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata\n */\nexport async function getProviderMetadata(entityId) {\n return _getProviderMetadata(entityId);\n}\n\n/**\n * Include dependencies in the export file\n * @param {Object} providerData Object representing a SAML entity provider\n * @param {Object} fileData File data object to add dependencies to\n */\nasync function exportDependencies(providerData, fileData) {\n const attrMapperScriptId = _.get(providerData, [\n 'identityProvider',\n 'assertionProcessing',\n 'attributeMapper',\n 'attributeMapperScript',\n ]);\n if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {\n const scriptData = await getScript(attrMapperScriptId);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n // eslint-disable-next-line no-param-reassign\n fileData.script[attrMapperScriptId] = scriptData;\n }\n const idpAdapterScriptId = _.get(providerData, [\n 'identityProvider',\n 'advanced',\n 'idpAdapter',\n 'idpAdapterScript',\n ]);\n if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {\n const scriptData = await getScript(idpAdapterScriptId);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n // eslint-disable-next-line no-param-reassign\n fileData.script[idpAdapterScriptId] = scriptData;\n }\n const metaDataResponse = await getProviderMetadata(providerData.entityId);\n // eslint-disable-next-line no-param-reassign\n fileData.saml.metadata[providerData._id] = convertBase64UrlTextToArray(\n encodeBase64Url(metaDataResponse)\n );\n}\n\n/**\n *\n * @param {String} entityId Provider entity id\n * @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function getSaml2ProviderStub(\n entityId: string\n): Promise<Saml2ProviderStub> {\n debugMessage(`Saml2Ops.getSaml2ProviderStub: start [entityId=${entityId}]`);\n const found = await findProviders(`entityId eq '${entityId}'`);\n switch (found.resultCount) {\n case 0:\n throw new Error(`No provider with entity id '${entityId}' found`);\n case 1: {\n debugMessage(`Saml2Ops.getSaml2ProviderStub: end [entityId=${entityId}]`);\n return found.result[0];\n }\n default:\n throw new Error(`Multiple providers with entity id '${entityId}' found`);\n }\n}\n\n/**\n * Export a single entity provider. The response can be saved to file as is.\n * @param {String} entityId Provider entity id\n * @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function getSaml2Provider(\n entityId: string\n): Promise<Saml2ProviderSkeleton> {\n debugMessage(`Saml2Ops.getSaml2Provider: start [entityId=${entityId}]`);\n const stub = await getSaml2ProviderStub(entityId);\n const { location } = stub;\n const id = stub._id;\n const providerData = await getProviderByLocationAndId(location, id);\n debugMessage(`Saml2Ops.getSaml2Provider: end [entityId=${entityId}]`);\n return providerData;\n}\n\n/**\n * Export a single entity provider. The response can be saved to file as is.\n * @param {String} entityId Provider entity id\n * @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function exportSaml2Provider(\n entityId: string\n): Promise<Saml2ExportInterface> {\n debugMessage(`Saml2Ops.exportSaml2Provider: start [entityId=${entityId}]`);\n const exportData = createSaml2ExportTemplate();\n const stub = await getSaml2ProviderStub(entityId);\n const { location } = stub;\n const id = stub._id;\n const providerData = await getProviderByLocationAndId(location, id);\n exportData.saml[stub.location][providerData._id] = providerData;\n await exportDependencies(providerData, exportData);\n debugMessage(`Saml2Ops.exportSaml2Provider: end [entityId=${entityId}]`);\n return exportData;\n}\n\n/**\n * Export all entity providers. The response can be saved to file as is.\n * @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function exportSaml2Providers(): Promise<Saml2ExportInterface> {\n const fileData = createSaml2ExportTemplate();\n const stubs = await getSaml2ProviderStubs();\n for (const stub of stubs) {\n const providerData = await getProviderByLocationAndId(\n stub.location,\n stub._id\n );\n await exportDependencies(providerData, fileData);\n fileData.saml[stub.location][providerData._id] = providerData;\n }\n return fileData;\n}\n\n/**\n * Include dependencies from the import file\n * @param {Object} providerData Object representing a SAML entity provider\n * @param {Object} fileData File data object to read dependencies from\n */\nasync function importDependencies(providerData, fileData) {\n debugMessage(`Saml2Ops.importDependencies: start`);\n const attrMapperScriptId = _.get(providerData, [\n 'identityProvider',\n 'assertionProcessing',\n 'attributeMapper',\n 'attributeMapperScript',\n ]);\n if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {\n debugMessage(\n `Saml2Ops.importDependencies: attributeMapperScript=${attrMapperScriptId}`\n );\n const scriptData = _.get(fileData, ['script', attrMapperScriptId]);\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n await createOrUpdateScript(attrMapperScriptId, scriptData);\n }\n const idpAdapterScriptId = _.get(providerData, [\n 'identityProvider',\n 'advanced',\n 'idpAdapter',\n 'idpAdapterScript',\n ]);\n if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {\n debugMessage(\n `Saml2Ops.importDependencies: idpAdapterScript=${idpAdapterScriptId}`\n );\n const scriptData = _.get(fileData, ['script', idpAdapterScriptId]);\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n await createOrUpdateScript(idpAdapterScriptId, scriptData);\n }\n debugMessage(`Saml2Ops.importDependencies: end`);\n}\n\n/**\n * Find provider in import file and return its location\n * @param {String} entityId64 Base64-encoded provider entity id\n * @param {Object} data Import file json data\n * @returns {String} 'hosted' or 'remote' if found, undefined otherwise\n */\nfunction getLocation(\n entityId64: string,\n data: Saml2ExportInterface\n): Saml2ProiderLocation {\n if (data.saml.hosted[entityId64]) {\n return Saml2ProiderLocation.HOSTED;\n }\n if (data.saml.remote[entityId64]) {\n return Saml2ProiderLocation.REMOTE;\n }\n return undefined;\n}\n\n/**\n * Import a SAML entity provider\n * @param {string} entityId Provider entity id\n * @param {Saml2ExportInterface} importData Import data\n */\nexport async function importSaml2Provider(\n entityId: string,\n importData: Saml2ExportInterface\n): Promise<void> {\n debugMessage(`Saml2Ops.importSaml2Provider: start`);\n const entityId64 = encode(entityId, false);\n const location = getLocation(entityId64, importData);\n if (location) {\n const providerData = importData.saml[location][entityId64];\n await importDependencies(providerData, importData);\n let metaData = null;\n if (location === Saml2ProiderLocation.REMOTE) {\n metaData = convertTextArrayToBase64Url(\n importData.saml.metadata[entityId64]\n );\n }\n await createProvider(location, providerData, metaData);\n } else {\n throw new Error(`Provider ${entityId} not found in import data!`);\n }\n debugMessage(`Saml2Ops.importSaml2Provider: end`);\n}\n\n/**\n * Import SAML entity providers\n * @param {Saml2ExportInterface} importData Import data\n */\nexport async function importSaml2Providers(\n importData: Saml2ExportInterface\n): Promise<MultiOpStatusInterface> {\n debugMessage(`Saml2Ops.importSaml2Providers: start`);\n const myStatus: MultiOpStatusInterface = {\n total: 0,\n successes: 0,\n warnings: 0,\n failures: 0,\n };\n try {\n // find providers in hosted and in remote and map locations\n const hostedIds = Object.keys(importData.saml.hosted);\n const remoteIds = Object.keys(importData.saml.remote);\n const providerIds = hostedIds.concat(remoteIds);\n myStatus.total = providerIds.length;\n createProgressIndicator(providerIds.length, 'Importing providers...');\n for (const entityId64 of providerIds) {\n debugMessage(\n `Saml2Ops.importSaml2Providers: entityId=${decodeBase64Url(entityId64)}`\n );\n const location = hostedIds.includes(entityId64)\n ? Saml2ProiderLocation.HOSTED\n : Saml2ProiderLocation.REMOTE;\n const entityId = decode(entityId64);\n const providerData = importData.saml[location][entityId64];\n try {\n await importDependencies(providerData, importData);\n } catch (importDependenciesErr) {\n myStatus.warnings += 1;\n printMessage(\n `\\nWarning importing dependencies for ${entityId}`,\n 'warn'\n );\n printMessage(importDependenciesErr.response.data, 'error');\n }\n let metaData = null;\n if (location === Saml2ProiderLocation.REMOTE) {\n metaData = convertTextArrayToBase64Url(\n importData.saml.metadata[entityId64]\n );\n }\n try {\n await createProvider(location, providerData, metaData);\n myStatus.successes += 1;\n updateProgressIndicator(`Imported ${entityId}`);\n } catch (createProviderErr) {\n myStatus.failures += 1;\n printMessage(`\\nError importing provider ${entityId}`, 'error');\n printMessage(createProviderErr, 'error');\n }\n }\n myStatus.message = `${myStatus.successes}/${myStatus.total} providers imported.`;\n stopProgressIndicator(myStatus.message);\n } catch (error) {\n myStatus.failures += 1;\n printMessage(`\\nError importing providers ${error.message}`, 'error');\n }\n debugMessage(`Saml2Ops.importSaml2Providers: end`);\n return myStatus;\n}\n\n// Contributions using legacy APIs. Need to investigate if those will be deprecated in the future\n\n/**\n * Deletes entity provider\n * @param {string} entityId The entity id for the entity to be deleted\n */\nexport async function deleteSaml2Provider(entityId: string) {\n try {\n await deleteProvider(entityId);\n } catch (error) {\n printMessage(error.message, 'error');\n }\n}\n\n/**\n * Deletes all entity providers.\n */\nexport async function deleteSaml2Providers() {\n const applicationList = (await getRawProviders()).result;\n const deleteApplicationPromises = [];\n applicationList.forEach((item) => {\n printMessage(`Deleting Application ${item._id}`, 'error');\n deleteApplicationPromises.push(deleteSaml2Provider(item._id));\n });\n const deleteApplicationResult = await Promise.all(deleteApplicationPromises);\n if (deleteApplicationResult.length == applicationList.length) {\n printMessage('SAML Entity cleanup done', 'info');\n }\n}\n\n/**\n * Retrieves all entity providers using the legacy federation enpoints.\n * @returns {Promise} a promise that resolves to an object containing an array of providers\n */\nexport async function getRawProviders() {\n return _getRawProviders();\n}\n\n/**\n * Retrieves all entity providers using the legacy federation enpoints.\n * @param {string} entityId The entity provider id\n * @returns {Promise} a promise that resolves to an object containing an array of providers\n */\nexport async function getRawProvider(entityId: string) {\n return _getRawProvider(entityId);\n}\n\n/**\n * Stores a new SAML2 entity provider\n * @param {string} entityId The entity provider id\n * @param {string} entityData The actual data containing the entity provider configuration\n * @returns {Promise} Promise that resolves to a provider object\n */\nexport async function putRawProvider(entityId: string, entityData) {\n return _putRawProvider(entityId, entityData);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Saml2Ops.js","names":["roleMap","identityProvider","serviceProvider","attributeQueryProvider","xacmlPolicyEnforcementPoint","createSaml2ExportTemplate","meta","script","saml","hosted","remote","metadata","getSaml2ProviderStubs","result","getProviders","getProviderByLocationAndId","location","entityId64","_getProviderByLocationAndId","getProviderMetadataUrl","entityId","_getProviderMetadataUrl","getProviderMetadata","_getProviderMetadata","exportDependencies","providerData","fileData","attrMapperScriptId","_","get","scriptData","getScript","convertBase64TextToArray","idpAdapterScriptId","metaDataResponse","_id","convertBase64UrlTextToArray","encodeBase64Url","getSaml2ProviderStub","debugMessage","found","findProviders","resultCount","Error","getSaml2Provider","stub","id","exportSaml2Provider","exportData","exportSaml2Providers","stubs","importDependencies","convertTextArrayToBase64","createOrUpdateScript","getLocation","data","Saml2ProiderLocation","HOSTED","REMOTE","undefined","importSaml2Provider","importData","encode","metaData","convertTextArrayToBase64Url","createProvider","importSaml2Providers","myStatus","total","successes","warnings","failures","hostedIds","Object","keys","remoteIds","providerIds","concat","length","createProgressIndicator","decodeBase64Url","includes","decode","importDependenciesErr","printMessage","response","updateProgressIndicator","createProviderErr","message","stopProgressIndicator","error","deleteSaml2Provider","deleteProvider","deleteSaml2Providers","applicationList","getRawProviders","deleteApplicationPromises","forEach","item","push","deleteApplicationResult","Promise","all","_getRawProviders","getRawProvider","_getRawProvider","putRawProvider","entityData","_putRawProvider"],"sources":["ops/Saml2Ops.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n Saml2ProiderLocation,\n Saml2ProviderSkeleton,\n Saml2ProviderStub,\n} from '../api/ApiTypes';\nimport {\n createProvider,\n deleteProvider,\n findProviders,\n getProviderByLocationAndId as _getProviderByLocationAndId,\n getProviderMetadata as _getProviderMetadata,\n getProviderMetadataUrl as _getProviderMetadataUrl,\n getRawProvider as _getRawProvider,\n getProviders,\n getRawProviders as _getRawProviders,\n putRawProvider as _putRawProvider,\n} from '../api/Saml2Api';\nimport { getScript } from '../api/ScriptApi';\nimport {\n decode,\n decodeBase64Url,\n encode,\n encodeBase64Url,\n} from '../api/utils/Base64';\nimport { MultiOpStatusInterface, Saml2ExportInterface } from './OpsTypes';\nimport { createOrUpdateScript } from './ScriptOps';\nimport {\n createProgressIndicator,\n debugMessage,\n printMessage,\n stopProgressIndicator,\n updateProgressIndicator,\n} from './utils/Console';\nimport {\n convertBase64TextToArray,\n convertBase64UrlTextToArray,\n convertTextArrayToBase64,\n convertTextArrayToBase64Url,\n} from './utils/ExportImportUtils';\n\nexport const roleMap = {\n identityProvider: 'IDP',\n serviceProvider: 'SP',\n attributeQueryProvider: 'AttrQuery',\n xacmlPolicyEnforcementPoint: 'XACML PEP',\n};\n\n// use a function vs a template variable to avoid problems in loops\nexport function createSaml2ExportTemplate(): Saml2ExportInterface {\n return {\n meta: {},\n script: {},\n saml: {\n hosted: {},\n remote: {},\n metadata: {},\n },\n } as Saml2ExportInterface;\n}\n\n/**\n * Get SAML2 entity provider stubs\n * @returns {Promise<Saml2ProviderStub[]>} a promise that resolves to an array of saml2 entity stubs\n */\nexport async function getSaml2ProviderStubs(): Promise<Saml2ProviderStub[]> {\n const { result } = await getProviders();\n return result;\n}\n\n/**\n * Geta SAML2 entity provider by location and id\n * @param {string} location Entity provider location (hosted or remote)\n * @param {string} entityId64 Base64-encoded provider entity id\n * @returns {Promise} a promise that resolves to a saml2 entity provider object\n */\nexport async function getProviderByLocationAndId(\n location: string,\n entityId64: string\n) {\n return _getProviderByLocationAndId(location, entityId64);\n}\n\n/**\n * Get a SAML2 entity provider's metadata URL by entity id\n * @param {string} entityId SAML2 entity id\n * @returns {string} the URL to get the metadata from\n */\nexport function getProviderMetadataUrl(entityId: string): string {\n return _getProviderMetadataUrl(entityId);\n}\n\n/**\n * Get a SAML2 entity provider's metadata by entity id\n * @param {String} entityId SAML2 entity id\n * @returns {Promise} a promise that resolves to an object containing a SAML2 metadata\n */\nexport async function getProviderMetadata(entityId) {\n return _getProviderMetadata(entityId);\n}\n\n/**\n * Include dependencies in the export file\n * @param {Object} providerData Object representing a SAML entity provider\n * @param {Object} fileData File data object to add dependencies to\n */\nasync function exportDependencies(providerData, fileData) {\n const attrMapperScriptId = _.get(providerData, [\n 'identityProvider',\n 'assertionProcessing',\n 'attributeMapper',\n 'attributeMapperScript',\n ]);\n if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {\n const scriptData = await getScript(attrMapperScriptId);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n // eslint-disable-next-line no-param-reassign\n fileData.script[attrMapperScriptId] = scriptData;\n }\n const idpAdapterScriptId = _.get(providerData, [\n 'identityProvider',\n 'advanced',\n 'idpAdapter',\n 'idpAdapterScript',\n ]);\n if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {\n const scriptData = await getScript(idpAdapterScriptId);\n scriptData.script = convertBase64TextToArray(scriptData.script);\n // eslint-disable-next-line no-param-reassign\n fileData.script[idpAdapterScriptId] = scriptData;\n }\n const metaDataResponse = await getProviderMetadata(providerData.entityId);\n // eslint-disable-next-line no-param-reassign\n fileData.saml.metadata[providerData._id] = convertBase64UrlTextToArray(\n encodeBase64Url(metaDataResponse)\n );\n}\n\n/**\n *\n * @param {String} entityId Provider entity id\n * @returns {Promise<Saml2ProviderStub>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function getSaml2ProviderStub(\n entityId: string\n): Promise<Saml2ProviderStub> {\n debugMessage(`Saml2Ops.getSaml2ProviderStub: start [entityId=${entityId}]`);\n const found = await findProviders(`entityId eq '${entityId}'`);\n switch (found.resultCount) {\n case 0:\n throw new Error(`No provider with entity id '${entityId}' found`);\n case 1: {\n debugMessage(`Saml2Ops.getSaml2ProviderStub: end [entityId=${entityId}]`);\n return found.result[0];\n }\n default:\n throw new Error(`Multiple providers with entity id '${entityId}' found`);\n }\n}\n\n/**\n * Export a single entity provider. The response can be saved to file as is.\n * @param {String} entityId Provider entity id\n * @returns {Promise<Saml2ProviderSkeleton>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function getSaml2Provider(\n entityId: string\n): Promise<Saml2ProviderSkeleton> {\n debugMessage(`Saml2Ops.getSaml2Provider: start [entityId=${entityId}]`);\n const stub = await getSaml2ProviderStub(entityId);\n const { location } = stub;\n const id = stub._id;\n const providerData = await getProviderByLocationAndId(location, id);\n debugMessage(`Saml2Ops.getSaml2Provider: end [entityId=${entityId}]`);\n return providerData;\n}\n\n/**\n * Export a single entity provider. The response can be saved to file as is.\n * @param {String} entityId Provider entity id\n * @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function exportSaml2Provider(\n entityId: string\n): Promise<Saml2ExportInterface> {\n debugMessage(`Saml2Ops.exportSaml2Provider: start [entityId=${entityId}]`);\n const exportData = createSaml2ExportTemplate();\n const stub = await getSaml2ProviderStub(entityId);\n const { location } = stub;\n const id = stub._id;\n const providerData = await getProviderByLocationAndId(location, id);\n exportData.saml[stub.location][providerData._id] = providerData;\n await exportDependencies(providerData, exportData);\n debugMessage(`Saml2Ops.exportSaml2Provider: end [entityId=${entityId}]`);\n return exportData;\n}\n\n/**\n * Export all entity providers. The response can be saved to file as is.\n * @returns {Promise<Saml2ExportInterface>} Promise resolving to a Saml2ExportInterface object.\n */\nexport async function exportSaml2Providers(): Promise<Saml2ExportInterface> {\n const fileData = createSaml2ExportTemplate();\n const stubs = await getSaml2ProviderStubs();\n for (const stub of stubs) {\n const providerData = await getProviderByLocationAndId(\n stub.location,\n stub._id\n );\n await exportDependencies(providerData, fileData);\n fileData.saml[stub.location][providerData._id] = providerData;\n }\n return fileData;\n}\n\n/**\n * Include dependencies from the import file\n * @param {Object} providerData Object representing a SAML entity provider\n * @param {Object} fileData File data object to read dependencies from\n */\nasync function importDependencies(providerData, fileData) {\n debugMessage(`Saml2Ops.importDependencies: start`);\n const attrMapperScriptId = _.get(providerData, [\n 'identityProvider',\n 'assertionProcessing',\n 'attributeMapper',\n 'attributeMapperScript',\n ]);\n if (attrMapperScriptId && attrMapperScriptId !== '[Empty]') {\n debugMessage(\n `Saml2Ops.importDependencies: attributeMapperScript=${attrMapperScriptId}`\n );\n const scriptData = _.get(fileData, ['script', attrMapperScriptId]);\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n await createOrUpdateScript(attrMapperScriptId, scriptData);\n }\n const idpAdapterScriptId = _.get(providerData, [\n 'identityProvider',\n 'advanced',\n 'idpAdapter',\n 'idpAdapterScript',\n ]);\n if (idpAdapterScriptId && idpAdapterScriptId !== '[Empty]') {\n debugMessage(\n `Saml2Ops.importDependencies: idpAdapterScript=${idpAdapterScriptId}`\n );\n const scriptData = _.get(fileData, ['script', idpAdapterScriptId]);\n scriptData.script = convertTextArrayToBase64(scriptData.script);\n await createOrUpdateScript(idpAdapterScriptId, scriptData);\n }\n debugMessage(`Saml2Ops.importDependencies: end`);\n}\n\n/**\n * Find provider in import file and return its location\n * @param {String} entityId64 Base64-encoded provider entity id\n * @param {Object} data Import file json data\n * @returns {String} 'hosted' or 'remote' if found, undefined otherwise\n */\nfunction getLocation(\n entityId64: string,\n data: Saml2ExportInterface\n): Saml2ProiderLocation {\n if (data.saml.hosted[entityId64]) {\n return Saml2ProiderLocation.HOSTED;\n }\n if (data.saml.remote[entityId64]) {\n return Saml2ProiderLocation.REMOTE;\n }\n return undefined;\n}\n\n/**\n * Import a SAML entity provider\n * @param {string} entityId Provider entity id\n * @param {Saml2ExportInterface} importData Import data\n */\nexport async function importSaml2Provider(\n entityId: string,\n importData: Saml2ExportInterface\n): Promise<void> {\n debugMessage(`Saml2Ops.importSaml2Provider: start`);\n const entityId64 = encode(entityId, false);\n const location = getLocation(entityId64, importData);\n if (location) {\n const providerData = importData.saml[location][entityId64];\n await importDependencies(providerData, importData);\n let metaData = null;\n if (location === Saml2ProiderLocation.REMOTE) {\n metaData = convertTextArrayToBase64Url(\n importData.saml.metadata[entityId64]\n );\n }\n await createProvider(location, providerData, metaData);\n } else {\n throw new Error(`Provider ${entityId} not found in import data!`);\n }\n debugMessage(`Saml2Ops.importSaml2Provider: end`);\n}\n\n/**\n * Import SAML entity providers\n * @param {Saml2ExportInterface} importData Import data\n */\nexport async function importSaml2Providers(\n importData: Saml2ExportInterface\n): Promise<MultiOpStatusInterface> {\n debugMessage(`Saml2Ops.importSaml2Providers: start`);\n const myStatus: MultiOpStatusInterface = {\n total: 0,\n successes: 0,\n warnings: 0,\n failures: 0,\n };\n try {\n // find providers in hosted and in remote and map locations\n const hostedIds = Object.keys(importData.saml.hosted);\n const remoteIds = Object.keys(importData.saml.remote);\n const providerIds = hostedIds.concat(remoteIds);\n myStatus.total = providerIds.length;\n createProgressIndicator(providerIds.length, 'Importing providers...');\n for (const entityId64 of providerIds) {\n debugMessage(\n `Saml2Ops.importSaml2Providers: entityId=${decodeBase64Url(entityId64)}`\n );\n const location = hostedIds.includes(entityId64)\n ? Saml2ProiderLocation.HOSTED\n : Saml2ProiderLocation.REMOTE;\n const entityId = decode(entityId64);\n const providerData = importData.saml[location][entityId64];\n try {\n await importDependencies(providerData, importData);\n } catch (importDependenciesErr) {\n myStatus.warnings += 1;\n printMessage(\n `\\nWarning importing dependencies for ${entityId}`,\n 'warn'\n );\n printMessage(importDependenciesErr.response.data, 'error');\n }\n let metaData = null;\n if (location === Saml2ProiderLocation.REMOTE) {\n metaData = convertTextArrayToBase64Url(\n importData.saml.metadata[entityId64]\n );\n }\n try {\n await createProvider(location, providerData, metaData);\n myStatus.successes += 1;\n updateProgressIndicator(`Imported ${entityId}`);\n } catch (createProviderErr) {\n myStatus.failures += 1;\n printMessage(`\\nError importing provider ${entityId}`, 'error');\n printMessage(createProviderErr, 'error');\n }\n }\n myStatus.message = `${myStatus.successes}/${myStatus.total} providers imported.`;\n stopProgressIndicator(myStatus.message);\n } catch (error) {\n myStatus.failures += 1;\n printMessage(`\\nError importing providers ${error.message}`, 'error');\n }\n debugMessage(`Saml2Ops.importSaml2Providers: end`);\n return myStatus;\n}\n\n// Contributions using legacy APIs. Need to investigate if those will be deprecated in the future\n\n/**\n * Deletes entity provider\n * @param {string} entityId The entity id for the entity to be deleted\n */\nexport async function deleteSaml2Provider(entityId: string) {\n try {\n await deleteProvider(entityId);\n } catch (error) {\n printMessage(error.message, 'error');\n }\n}\n\n/**\n * Deletes all entity providers.\n */\nexport async function deleteSaml2Providers() {\n const applicationList = (await getRawProviders()).result;\n const deleteApplicationPromises = [];\n applicationList.forEach((item) => {\n printMessage(`Deleting Application ${item._id}`, 'error');\n deleteApplicationPromises.push(deleteSaml2Provider(item._id));\n });\n const deleteApplicationResult = await Promise.all(deleteApplicationPromises);\n if (deleteApplicationResult.length == applicationList.length) {\n printMessage('SAML Entity cleanup done', 'info');\n }\n}\n\n/**\n * Retrieves all entity providers using the legacy federation enpoints.\n * @returns {Promise} a promise that resolves to an object containing an array of providers\n */\nexport async function getRawProviders() {\n return _getRawProviders();\n}\n\n/**\n * Retrieves all entity providers using the legacy federation enpoints.\n * @param {string} entityId The entity provider id\n * @returns {Promise} a promise that resolves to an object containing an array of providers\n */\nexport async function getRawProvider(entityId: string) {\n return _getRawProvider(entityId);\n}\n\n/**\n * Stores a new SAML2 entity provider\n * @param {string} entityId The entity provider id\n * @param {string} entityData The actual data containing the entity provider configuration\n * @returns {Promise} Promise that resolves to a provider object\n */\nexport async function putRawProvider(entityId: string, entityData) {\n return _putRawProvider(entityId, entityData);\n}\n"],"mappings":"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"}