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

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 (403) 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 +12 -10
  37. package/cjs/index.js.map +1 -1
  38. package/cjs/lib/FrodoLib.js +181 -22
  39. package/cjs/lib/FrodoLib.js.map +1 -1
  40. package/cjs/lib/FrodoLib.test.js +9 -9
  41. package/cjs/lib/FrodoLib.test.js.map +1 -1
  42. package/cjs/ops/AdminOps.js.map +1 -1
  43. package/cjs/ops/AgentOps.js +35 -35
  44. package/cjs/ops/AgentOps.js.map +1 -1
  45. package/cjs/ops/AuthenticateOps.js +10 -12
  46. package/cjs/ops/AuthenticateOps.js.map +1 -1
  47. package/cjs/ops/CirclesOfTrustOps.js +14 -14
  48. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  49. package/cjs/ops/ConnectionProfileOps.js +2 -2
  50. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  51. package/cjs/ops/ConnectionProfileOps.test.js +5 -5
  52. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  53. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  54. package/cjs/ops/IdmOps.js.map +1 -1
  55. package/cjs/ops/IdpOps.js.map +1 -1
  56. package/cjs/ops/InfoOps.js +3 -4
  57. package/cjs/ops/InfoOps.js.map +1 -1
  58. package/cjs/ops/JoseOps.js +30 -0
  59. package/cjs/ops/JoseOps.js.map +1 -1
  60. package/cjs/ops/JourneyOps.js +41 -43
  61. package/cjs/ops/JourneyOps.js.map +1 -1
  62. package/cjs/ops/JourneyOps.test.js +3 -2
  63. package/cjs/ops/JourneyOps.test.js.map +1 -1
  64. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  65. package/cjs/ops/NodeOps.js.map +1 -1
  66. package/cjs/ops/OAuth2ClientOps.js +19 -19
  67. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  68. package/cjs/ops/OAuth2OidcOps.js.map +1 -1
  69. package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
  70. package/cjs/ops/OpsTypes.js.map +1 -1
  71. package/cjs/ops/OrganizationOps.js.map +1 -1
  72. package/cjs/ops/PolicyOps.js +29 -29
  73. package/cjs/ops/PolicyOps.js.map +1 -1
  74. package/cjs/ops/PolicySetOps.js +27 -27
  75. package/cjs/ops/PolicySetOps.js.map +1 -1
  76. package/cjs/ops/RealmOps.js.map +1 -1
  77. package/cjs/ops/ResourceTypeOps.js +23 -23
  78. package/cjs/ops/ResourceTypeOps.js.map +1 -1
  79. package/cjs/ops/Saml2Ops.js +11 -11
  80. package/cjs/ops/Saml2Ops.js.map +1 -1
  81. package/cjs/ops/Saml2Ops.test.js +3 -2
  82. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  83. package/cjs/ops/ScriptOps.js +3 -3
  84. package/cjs/ops/ScriptOps.js.map +1 -1
  85. package/cjs/ops/ServiceOps.js.map +1 -1
  86. package/cjs/ops/ThemeOps.js.map +1 -1
  87. package/cjs/ops/cloud/AdminFederationOps.js.map +1 -1
  88. package/cjs/ops/cloud/FeatureOps.js.map +1 -1
  89. package/cjs/ops/cloud/LogOps.js.map +1 -1
  90. package/cjs/ops/cloud/SecretsOps.js.map +1 -1
  91. package/cjs/ops/cloud/ServiceAccountOps.js +1 -1
  92. package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
  93. package/cjs/ops/cloud/StartupOps.js.map +1 -1
  94. package/cjs/ops/cloud/VariablesOps.js.map +1 -1
  95. package/cjs/ops/utils/Console.js.map +1 -1
  96. package/cjs/ops/utils/DataProtection.js +3 -3
  97. package/cjs/ops/utils/DataProtection.js.map +1 -1
  98. package/cjs/ops/utils/DataProtection.test.js +1 -1
  99. package/cjs/ops/utils/DataProtection.test.js.map +1 -1
  100. package/cjs/ops/utils/ExportImportUtils.js +2 -2
  101. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  102. package/cjs/ops/utils/OpsUtils.js +105 -25
  103. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  104. package/cjs/ops/utils/OpsUtils.test.js +6 -5
  105. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  106. package/cjs/ops/utils/ScriptValidationUtils.js +33 -2
  107. package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -1
  108. package/cjs/ops/utils/ScriptValidationUtils.test.js +1 -1
  109. package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -1
  110. package/cjs/ops/utils/{Version.js → VersionUtils.js} +1 -1
  111. package/cjs/ops/utils/VersionUtils.js.map +1 -0
  112. package/cjs/ops/utils/{Version.test.js → VersionUtils.test.js} +3 -3
  113. package/cjs/ops/utils/VersionUtils.test.js.map +1 -0
  114. package/cjs/shared/Constants.js +34 -0
  115. package/cjs/shared/Constants.js.map +1 -0
  116. package/cjs/shared/State.js +477 -220
  117. package/cjs/shared/State.js.map +1 -1
  118. package/cjs/utils/SetupPollyForFrodoLib.js.map +1 -1
  119. package/esm/api/AgentApi.js.map +1 -1
  120. package/esm/api/AuthenticateApi.js.map +1 -1
  121. package/esm/api/BaseApi.js +2 -2
  122. package/esm/api/BaseApi.js.map +1 -1
  123. package/esm/api/CirclesOfTrustApi.js.map +1 -1
  124. package/esm/api/IdmConfigApi.js.map +1 -1
  125. package/esm/api/IdmSystemApi.js.map +1 -1
  126. package/esm/api/ManagedObjectApi.js.map +1 -1
  127. package/esm/api/NodeApi.js.map +1 -1
  128. package/esm/api/OAuth2ClientApi.js.map +1 -1
  129. package/esm/api/OAuth2OIDCApi.js.map +1 -1
  130. package/esm/api/OAuth2OIDCApi.test.js +2 -2
  131. package/esm/api/OAuth2OIDCApi.test.js.map +1 -1
  132. package/esm/api/OAuth2ProviderApi.js.map +1 -1
  133. package/esm/api/PoliciesApi.js.map +1 -1
  134. package/esm/api/PolicySetApi.js.map +1 -1
  135. package/esm/api/RealmApi.js.map +1 -1
  136. package/esm/api/ResourceTypesApi.js.map +1 -1
  137. package/esm/api/Saml2Api.js.map +1 -1
  138. package/esm/api/ScriptApi.js.map +1 -1
  139. package/esm/api/ServerInfoApi.js.map +1 -1
  140. package/esm/api/ServiceApi.js.map +1 -1
  141. package/esm/api/SocialIdentityProvidersApi.js.map +1 -1
  142. package/esm/api/TreeApi.js.map +1 -1
  143. package/esm/api/cloud/AdminFederationProvidersApi.js.map +1 -1
  144. package/esm/api/cloud/EnvInfoApi.js.map +1 -1
  145. package/esm/api/cloud/FeatureApi.js.map +1 -1
  146. package/esm/api/cloud/LogApi.js.map +1 -1
  147. package/esm/api/cloud/SecretsApi.js.map +1 -1
  148. package/esm/api/cloud/StartupApi.js.map +1 -1
  149. package/esm/api/cloud/VariablesApi.js.map +1 -1
  150. package/esm/api/utils/ApiUtils.js.map +1 -1
  151. package/esm/api/utils/Base64.js +4 -4
  152. package/esm/api/utils/Base64.js.map +1 -1
  153. package/esm/index.js +2 -1
  154. package/esm/index.js.map +1 -1
  155. package/esm/lib/FrodoLib.js +164 -19
  156. package/esm/lib/FrodoLib.js.map +1 -1
  157. package/esm/lib/FrodoLib.test.js +10 -10
  158. package/esm/lib/FrodoLib.test.js.map +1 -1
  159. package/esm/ops/AdminOps.js.map +1 -1
  160. package/esm/ops/AgentOps.js.map +1 -1
  161. package/esm/ops/AuthenticateOps.js +10 -10
  162. package/esm/ops/AuthenticateOps.js.map +1 -1
  163. package/esm/ops/CirclesOfTrustOps.js.map +1 -1
  164. package/esm/ops/ConnectionProfileOps.js +2 -2
  165. package/esm/ops/ConnectionProfileOps.js.map +1 -1
  166. package/esm/ops/ConnectionProfileOps.test.js +5 -5
  167. package/esm/ops/ConnectionProfileOps.test.js.map +1 -1
  168. package/esm/ops/EmailTemplateOps.js.map +1 -1
  169. package/esm/ops/IdmOps.js.map +1 -1
  170. package/esm/ops/IdpOps.js.map +1 -1
  171. package/esm/ops/InfoOps.js +2 -2
  172. package/esm/ops/InfoOps.js.map +1 -1
  173. package/esm/ops/JoseOps.js +20 -0
  174. package/esm/ops/JoseOps.js.map +1 -1
  175. package/esm/ops/JourneyOps.js +10 -11
  176. package/esm/ops/JourneyOps.js.map +1 -1
  177. package/esm/ops/JourneyOps.test.js +2 -2
  178. package/esm/ops/JourneyOps.test.js.map +1 -1
  179. package/esm/ops/ManagedObjectOps.js.map +1 -1
  180. package/esm/ops/NodeOps.js.map +1 -1
  181. package/esm/ops/OAuth2ClientOps.js.map +1 -1
  182. package/esm/ops/OAuth2OidcOps.js.map +1 -1
  183. package/esm/ops/OAuth2ProviderOps.js.map +1 -1
  184. package/esm/ops/OpsTypes.js.map +1 -1
  185. package/esm/ops/OrganizationOps.js.map +1 -1
  186. package/esm/ops/PolicyOps.js.map +1 -1
  187. package/esm/ops/PolicySetOps.js.map +1 -1
  188. package/esm/ops/RealmOps.js.map +1 -1
  189. package/esm/ops/ResourceTypeOps.js.map +1 -1
  190. package/esm/ops/Saml2Ops.js.map +1 -1
  191. package/esm/ops/Saml2Ops.test.js +2 -2
  192. package/esm/ops/Saml2Ops.test.js.map +1 -1
  193. package/esm/ops/ScriptOps.js.map +1 -1
  194. package/esm/ops/ServiceOps.js.map +1 -1
  195. package/esm/ops/ThemeOps.js.map +1 -1
  196. package/esm/ops/cloud/AdminFederationOps.js.map +1 -1
  197. package/esm/ops/cloud/FeatureOps.js.map +1 -1
  198. package/esm/ops/cloud/LogOps.js.map +1 -1
  199. package/esm/ops/cloud/SecretsOps.js.map +1 -1
  200. package/esm/ops/cloud/ServiceAccountOps.js +1 -1
  201. package/esm/ops/cloud/ServiceAccountOps.js.map +1 -1
  202. package/esm/ops/cloud/StartupOps.js.map +1 -1
  203. package/esm/ops/cloud/VariablesOps.js.map +1 -1
  204. package/esm/ops/utils/Console.js.map +1 -1
  205. package/esm/ops/utils/DataProtection.js +3 -3
  206. package/esm/ops/utils/DataProtection.js.map +1 -1
  207. package/esm/ops/utils/DataProtection.test.js +2 -2
  208. package/esm/ops/utils/DataProtection.test.js.map +1 -1
  209. package/esm/ops/utils/ExportImportUtils.js +2 -2
  210. package/esm/ops/utils/ExportImportUtils.js.map +1 -1
  211. package/esm/ops/utils/OpsUtils.js +96 -22
  212. package/esm/ops/utils/OpsUtils.js.map +1 -1
  213. package/esm/ops/utils/OpsUtils.test.js +5 -5
  214. package/esm/ops/utils/OpsUtils.test.js.map +1 -1
  215. package/esm/ops/utils/ScriptValidationUtils.js +28 -0
  216. package/esm/ops/utils/ScriptValidationUtils.js.map +1 -1
  217. package/esm/ops/utils/ScriptValidationUtils.test.js +2 -2
  218. package/esm/ops/utils/ScriptValidationUtils.test.js.map +1 -1
  219. package/esm/ops/utils/{Version.js → VersionUtils.js} +1 -1
  220. package/esm/ops/utils/VersionUtils.js.map +1 -0
  221. package/esm/ops/utils/{Version.test.js → VersionUtils.test.js} +2 -2
  222. package/esm/ops/utils/VersionUtils.test.js.map +1 -0
  223. package/esm/shared/Constants.js +27 -0
  224. package/esm/shared/Constants.js.map +1 -0
  225. package/esm/shared/State.js +481 -226
  226. package/esm/shared/State.js.map +1 -1
  227. package/esm/utils/SetupPollyForFrodoLib.js.map +1 -1
  228. package/package.json +5 -2
  229. package/types/api/AgentApi.d.ts +1 -1
  230. package/types/api/AgentApi.d.ts.map +1 -1
  231. package/types/api/AuthenticateApi.d.ts +1 -1
  232. package/types/api/AuthenticateApi.d.ts.map +1 -1
  233. package/types/api/BaseApi.d.ts +1 -1
  234. package/types/api/BaseApi.d.ts.map +1 -1
  235. package/types/api/CirclesOfTrustApi.d.ts +1 -1
  236. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  237. package/types/api/IdmConfigApi.d.ts +1 -1
  238. package/types/api/IdmConfigApi.d.ts.map +1 -1
  239. package/types/api/IdmSystemApi.d.ts +1 -1
  240. package/types/api/IdmSystemApi.d.ts.map +1 -1
  241. package/types/api/ManagedObjectApi.d.ts +1 -1
  242. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  243. package/types/api/NodeApi.d.ts +1 -1
  244. package/types/api/NodeApi.d.ts.map +1 -1
  245. package/types/api/OAuth2ClientApi.d.ts +1 -1
  246. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  247. package/types/api/OAuth2OIDCApi.d.ts +1 -1
  248. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  249. package/types/api/OAuth2ProviderApi.d.ts +1 -1
  250. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  251. package/types/api/PoliciesApi.d.ts +1 -1
  252. package/types/api/PoliciesApi.d.ts.map +1 -1
  253. package/types/api/PolicySetApi.d.ts +1 -1
  254. package/types/api/PolicySetApi.d.ts.map +1 -1
  255. package/types/api/RealmApi.d.ts +1 -1
  256. package/types/api/RealmApi.d.ts.map +1 -1
  257. package/types/api/ResourceTypesApi.d.ts +1 -1
  258. package/types/api/ResourceTypesApi.d.ts.map +1 -1
  259. package/types/api/Saml2Api.d.ts +1 -1
  260. package/types/api/Saml2Api.d.ts.map +1 -1
  261. package/types/api/ScriptApi.d.ts +1 -1
  262. package/types/api/ScriptApi.d.ts.map +1 -1
  263. package/types/api/ServerInfoApi.d.ts +1 -1
  264. package/types/api/ServerInfoApi.d.ts.map +1 -1
  265. package/types/api/ServiceApi.d.ts +1 -1
  266. package/types/api/ServiceApi.d.ts.map +1 -1
  267. package/types/api/SocialIdentityProvidersApi.d.ts +1 -1
  268. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  269. package/types/api/TreeApi.d.ts +1 -1
  270. package/types/api/TreeApi.d.ts.map +1 -1
  271. package/types/api/cloud/AdminFederationProvidersApi.d.ts +1 -1
  272. package/types/api/cloud/AdminFederationProvidersApi.d.ts.map +1 -1
  273. package/types/api/cloud/EnvInfoApi.d.ts +1 -1
  274. package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
  275. package/types/api/cloud/FeatureApi.d.ts +1 -1
  276. package/types/api/cloud/FeatureApi.d.ts.map +1 -1
  277. package/types/api/cloud/LogApi.d.ts +1 -1
  278. package/types/api/cloud/LogApi.d.ts.map +1 -1
  279. package/types/api/cloud/SecretsApi.d.ts +1 -1
  280. package/types/api/cloud/SecretsApi.d.ts.map +1 -1
  281. package/types/api/cloud/StartupApi.d.ts +1 -1
  282. package/types/api/cloud/StartupApi.d.ts.map +1 -1
  283. package/types/api/cloud/VariablesApi.d.ts +1 -1
  284. package/types/api/cloud/VariablesApi.d.ts.map +1 -1
  285. package/types/api/utils/ApiUtils.d.ts +1 -1
  286. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  287. package/types/api/utils/Base64.d.ts +6 -6
  288. package/types/api/utils/Base64.d.ts.map +1 -1
  289. package/types/index.d.ts +2 -1
  290. package/types/index.d.ts.map +1 -1
  291. package/types/lib/FrodoLib.d.ts +224 -370
  292. package/types/lib/FrodoLib.d.ts.map +1 -1
  293. package/types/ops/AdminOps.d.ts +3 -2
  294. package/types/ops/AdminOps.d.ts.map +1 -1
  295. package/types/ops/AgentOps.d.ts +3 -2
  296. package/types/ops/AgentOps.d.ts.map +1 -1
  297. package/types/ops/AuthenticateOps.d.ts +3 -2
  298. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  299. package/types/ops/CirclesOfTrustOps.d.ts +3 -2
  300. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  301. package/types/ops/ConnectionProfileOps.d.ts +3 -2
  302. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  303. package/types/ops/EmailTemplateOps.d.ts +3 -2
  304. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  305. package/types/ops/IdmOps.d.ts +3 -2
  306. package/types/ops/IdmOps.d.ts.map +1 -1
  307. package/types/ops/IdpOps.d.ts +3 -2
  308. package/types/ops/IdpOps.d.ts.map +1 -1
  309. package/types/ops/InfoOps.d.ts +3 -2
  310. package/types/ops/InfoOps.d.ts.map +1 -1
  311. package/types/ops/JoseOps.d.ts +17 -1
  312. package/types/ops/JoseOps.d.ts.map +1 -1
  313. package/types/ops/JourneyOps.d.ts +16 -10
  314. package/types/ops/JourneyOps.d.ts.map +1 -1
  315. package/types/ops/ManagedObjectOps.d.ts +3 -2
  316. package/types/ops/ManagedObjectOps.d.ts.map +1 -1
  317. package/types/ops/NodeOps.d.ts +3 -2
  318. package/types/ops/NodeOps.d.ts.map +1 -1
  319. package/types/ops/OAuth2ClientOps.d.ts +3 -2
  320. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  321. package/types/ops/OAuth2OidcOps.d.ts +6 -5
  322. package/types/ops/OAuth2OidcOps.d.ts.map +1 -1
  323. package/types/ops/OAuth2ProviderOps.d.ts +3 -2
  324. package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
  325. package/types/ops/OpsTypes.d.ts +1 -1
  326. package/types/ops/OpsTypes.d.ts.map +1 -1
  327. package/types/ops/OrganizationOps.d.ts +3 -2
  328. package/types/ops/OrganizationOps.d.ts.map +1 -1
  329. package/types/ops/PolicyOps.d.ts +3 -2
  330. package/types/ops/PolicyOps.d.ts.map +1 -1
  331. package/types/ops/PolicySetOps.d.ts +3 -2
  332. package/types/ops/PolicySetOps.d.ts.map +1 -1
  333. package/types/ops/RealmOps.d.ts +3 -2
  334. package/types/ops/RealmOps.d.ts.map +1 -1
  335. package/types/ops/ResourceTypeOps.d.ts +3 -2
  336. package/types/ops/ResourceTypeOps.d.ts.map +1 -1
  337. package/types/ops/Saml2Ops.d.ts +3 -2
  338. package/types/ops/Saml2Ops.d.ts.map +1 -1
  339. package/types/ops/ScriptOps.d.ts +3 -2
  340. package/types/ops/ScriptOps.d.ts.map +1 -1
  341. package/types/ops/ServiceOps.d.ts +4 -3
  342. package/types/ops/ServiceOps.d.ts.map +1 -1
  343. package/types/ops/ThemeOps.d.ts +3 -2
  344. package/types/ops/ThemeOps.d.ts.map +1 -1
  345. package/types/ops/cloud/AdminFederationOps.d.ts +3 -2
  346. package/types/ops/cloud/AdminFederationOps.d.ts.map +1 -1
  347. package/types/ops/cloud/FeatureOps.d.ts +3 -2
  348. package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
  349. package/types/ops/cloud/LogOps.d.ts +3 -2
  350. package/types/ops/cloud/LogOps.d.ts.map +1 -1
  351. package/types/ops/cloud/SecretsOps.d.ts +3 -2
  352. package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
  353. package/types/ops/cloud/ServiceAccountOps.d.ts +7 -6
  354. package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
  355. package/types/ops/cloud/StartupOps.d.ts +3 -2
  356. package/types/ops/cloud/StartupOps.d.ts.map +1 -1
  357. package/types/ops/cloud/VariablesOps.d.ts +3 -2
  358. package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
  359. package/types/ops/utils/Console.d.ts +1 -1
  360. package/types/ops/utils/Console.d.ts.map +1 -1
  361. package/types/ops/utils/DataProtection.d.ts +1 -1
  362. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  363. package/types/ops/utils/ExportImportUtils.d.ts +3 -2
  364. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  365. package/types/ops/utils/OpsUtils.d.ts +73 -17
  366. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  367. package/types/ops/utils/ScriptValidationUtils.d.ts +20 -1
  368. package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -1
  369. package/types/ops/utils/{Version.d.ts → VersionUtils.d.ts} +4 -4
  370. package/types/ops/utils/VersionUtils.d.ts.map +1 -0
  371. package/types/shared/Constants.d.ts +34 -0
  372. package/types/shared/Constants.d.ts.map +1 -0
  373. package/types/shared/State.d.ts +38 -38
  374. package/types/shared/State.d.ts.map +1 -1
  375. package/types/utils/SetupPollyForFrodoLib.d.ts +1 -1
  376. package/types/utils/SetupPollyForFrodoLib.d.ts.map +1 -1
  377. package/cjs/lib/Frodo.js +0 -85
  378. package/cjs/lib/Frodo.js.map +0 -1
  379. package/cjs/ops/utils/Version.js.map +0 -1
  380. package/cjs/ops/utils/Version.test.js.map +0 -1
  381. package/cjs/ops/utils/Wordwrap.js +0 -12
  382. package/cjs/ops/utils/Wordwrap.js.map +0 -1
  383. package/cjs/ops/utils/Wordwrap.test.js +0 -22
  384. package/cjs/ops/utils/Wordwrap.test.js.map +0 -1
  385. package/cjs/storage/StaticStorage.js +0 -31
  386. package/cjs/storage/StaticStorage.js.map +0 -1
  387. package/esm/lib/Frodo.js +0 -59
  388. package/esm/lib/Frodo.js.map +0 -1
  389. package/esm/ops/utils/Version.js.map +0 -1
  390. package/esm/ops/utils/Version.test.js.map +0 -1
  391. package/esm/ops/utils/Wordwrap.js +0 -5
  392. package/esm/ops/utils/Wordwrap.js.map +0 -1
  393. package/esm/ops/utils/Wordwrap.test.js +0 -19
  394. package/esm/ops/utils/Wordwrap.test.js.map +0 -1
  395. package/esm/storage/StaticStorage.js +0 -15
  396. package/esm/storage/StaticStorage.js.map +0 -1
  397. package/types/lib/Frodo.d.ts +0 -1159
  398. package/types/lib/Frodo.d.ts.map +0 -1
  399. package/types/ops/utils/Version.d.ts.map +0 -1
  400. package/types/ops/utils/Wordwrap.d.ts +0 -2
  401. package/types/ops/utils/Wordwrap.d.ts.map +0 -1
  402. package/types/storage/StaticStorage.d.ts +0 -15
  403. package/types/storage/StaticStorage.d.ts.map +0 -1
@@ -50,9 +50,9 @@ import { state } from "../index.js";
50
50
  import * as JourneyOps from "./JourneyOps.js";
51
51
  import { getJourney } from "../test/mocks/ForgeRockApiMockEngine.js";
52
52
  import { autoSetupPolly } from "../utils/AutoSetupPolly.js";
53
- import * as globalConfig from "../storage/StaticStorage.js";
53
+ import Constants from "../shared/Constants.js";
54
54
  autoSetupPolly();
55
- state.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);
55
+ state.setDeploymentType(Constants.CLOUD_DEPLOYMENT_TYPE_KEY);
56
56
  async function stageJourney(journey, create = true) {
57
57
  // delete if exists, then create
58
58
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"JourneyOps.test.js","names":["state","JourneyOps","getJourney","autoSetupPolly","globalConfig","setDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","stageJourney","journey","create","journeyId","id","deleteJourney","options","deep","verbose","progress","error","importJourney","treeObject","reUuid","deps","describe","journey1","journey2","journey3","journey4","journey5","journey6","journey7","journey8","journey9","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","FRODO_RECORD_PHASE","test","expect","getJourneys","toBeDefined","journeys","toMatchSnapshot","exportJourney","response","treeId","useStringArrays","meta","any","Object","journeyExport","assertions","toBeTruthy","enableJourney","result","disableJourney"],"sources":["../../src/ops/JourneyOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * This step breaks down into 4 phases:\n *\n * Phase 1: Record Non-destructive tests\n * Phase 2: Record Group 1 of DESTRUCTIVE tests - Deletes by ID\n * Phase 3: Record Group 2 of DESTRUCTIVE tests - Deletes by tag\n * Phase 4: Record Group 3 of DESTRUCTIVE tests - Delete all\n *\n * Because destructive tests interfere with the recording of non-destructive\n * tests and also interfere among themselves, they have to be run in groups\n * of non-interfering tests.\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE JOURNEYS!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update JourneyOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only JourneyOps\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 { state } from '../index';\nimport * as JourneyOps from './JourneyOps';\nimport { getJourney } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\nimport * as globalConfig from '../storage/StaticStorage';\n\nautoSetupPolly();\n\nstate.setDeploymentType(globalConfig.CLOUD_DEPLOYMENT_TYPE_KEY);\n\nasync function stageJourney(journey: { id: string }, create = true) {\n // delete if exists, then create\n try {\n await JourneyOps.getJourney({ journeyId: journey.id, state });\n await JourneyOps.deleteJourney({\n journeyId: journey.id,\n options: {\n deep: true,\n verbose: false,\n progress: false,\n },\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await JourneyOps.importJourney({\n treeObject: getJourney(journey.id),\n options: {\n reUuid: false,\n deps: true,\n },\n state,\n });\n }\n }\n}\n\ndescribe('JourneyOps', () => {\n const journey1 = {\n id: 'FrodoTestJourney1',\n };\n const journey2 = {\n id: 'FrodoTestJourney2',\n };\n const journey3 = {\n id: 'FrodoTestJourney3',\n };\n const journey4 = {\n id: 'FrodoTestJourney4',\n };\n const journey5 = {\n id: 'FrodoTestJourney5',\n };\n const journey6 = {\n id: 'FrodoTestJourney6',\n };\n const journey7 = {\n id: 'FrodoTestJourney7',\n };\n const journey8 = {\n id: 'FrodoTestJourney8',\n };\n const journey9 = {\n id: 'FrodoTestJourney9',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageJourney(journey1);\n await stageJourney(journey2);\n await stageJourney(journey3);\n await stageJourney(journey4, false);\n await stageJourney(journey5, false);\n await stageJourney(journey6);\n await stageJourney(journey7);\n await stageJourney(journey8);\n await stageJourney(journey9);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageJourney(journey1, false);\n await stageJourney(journey2, false);\n await stageJourney(journey3, false);\n await stageJourney(journey4, false);\n await stageJourney(journey5, false);\n await stageJourney(journey6, false);\n await stageJourney(journey7, false);\n await stageJourney(journey8, false);\n await stageJourney(journey9, false);\n }\n });\n // Phase 1\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('getJourneys()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.getJourneys).toBeDefined();\n });\n\n test('1: Get all journeys', async () => {\n const journeys = await JourneyOps.getJourneys({ state });\n expect(journeys).toMatchSnapshot();\n });\n });\n\n describe('exportJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.exportJourney).toBeDefined();\n });\n\n test(`1: Export journey '${journey3.id}' w/o dependencies`, async () => {\n const response = await JourneyOps.exportJourney({\n treeId: journey3.id,\n options: {\n useStringArrays: false,\n deps: false,\n },\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test(`2: Export journey '${journey3.id}' w/ dependencies`, async () => {\n const response = await JourneyOps.exportJourney({\n treeId: journey3.id,\n options: {\n useStringArrays: false,\n deps: true,\n },\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.importJourney).toBeDefined();\n });\n\n test(`1: Import journey '${journey4.id}' w/o dependencies`, async () => {\n const journeyExport = getJourney(journey4.id);\n expect.assertions(1);\n const response = await JourneyOps.importJourney({\n treeObject: journeyExport,\n options: {\n reUuid: false,\n deps: false,\n },\n state,\n });\n expect(response).toBeTruthy();\n });\n\n test(`2: Import journey '${journey5.id}' w/ dependencies`, async () => {\n const journeyExport = getJourney(journey5.id);\n expect.assertions(1);\n const response = await JourneyOps.importJourney({\n treeObject: journeyExport,\n options: {\n reUuid: false,\n deps: true,\n },\n state,\n });\n expect(response).toBeTruthy();\n });\n });\n\n describe('enableJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.enableJourney).toBeDefined();\n });\n\n test(`1: Enable disabled journey '${journey6.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.enableJourney({\n journeyId: journey6.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n\n test(`2: Enable already enabled journey '${journey7.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.enableJourney({\n journeyId: journey7.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n });\n\n describe('disableJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.disableJourney).toBeDefined();\n });\n\n test(`1: Disable enabled journey '${journey8.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.disableJourney({\n journeyId: journey8.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n\n test(`2: Disable already disabled journey '${journey9.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.disableJourney({\n journeyId: journey9.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n });\n }\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"JourneyOps.test.js","names":["state","JourneyOps","getJourney","autoSetupPolly","Constants","setDeploymentType","CLOUD_DEPLOYMENT_TYPE_KEY","stageJourney","journey","create","journeyId","id","deleteJourney","options","deep","verbose","progress","error","importJourney","treeObject","reUuid","deps","describe","journey1","journey2","journey3","journey4","journey5","journey6","journey7","journey8","journey9","beforeAll","process","env","FRODO_POLLY_MODE","afterAll","FRODO_RECORD_PHASE","test","expect","getJourneys","toBeDefined","journeys","toMatchSnapshot","exportJourney","response","treeId","useStringArrays","meta","any","Object","journeyExport","assertions","toBeTruthy","enableJourney","result","disableJourney"],"sources":["../../src/ops/JourneyOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses & update ESM snapshots\n *\n * This step breaks down into 4 phases:\n *\n * Phase 1: Record Non-destructive tests\n * Phase 2: Record Group 1 of DESTRUCTIVE tests - Deletes by ID\n * Phase 3: Record Group 2 of DESTRUCTIVE tests - Deletes by tag\n * Phase 4: Record Group 3 of DESTRUCTIVE tests - Delete all\n *\n * Because destructive tests interfere with the recording of non-destructive\n * tests and also interfere among themselves, they have to be run in groups\n * of non-interfering tests.\n *\n * To record and update ESM snapshots, you must call the test:record\n * script and override all the connection state variables required\n * to connect to the env to record from and also indicate the phase:\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=1 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n *\n * THESE TESTS ARE DESTRUCTIVE!!! DO NOT RUN AGAINST AN ENV WITH ACTIVE JOURNEYS!!!\n *\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=2 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=3 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n * FRODO_DEBUG=1 FRODO_RECORD_PHASE=4 FRODO_HOST=frodo-dev npm run test:record JourneyOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update CJS snapshots\n *\n * After recording, the ESM snapshots will already be updated as that happens\n * in one go, but you must manually update the CJS snapshots by running:\n *\n * FRODO_DEBUG=1 npm run test:update JourneyOps\n *\n * 3. Test your changes\n *\n * If 1 and 2 didn't produce any errors, you are ready to run the tests in\n * replay mode and make sure they all succeed as well:\n *\n * npm run test:only JourneyOps\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 { state } from '../index';\nimport * as JourneyOps from './JourneyOps';\nimport { getJourney } from '../test/mocks/ForgeRockApiMockEngine';\nimport { autoSetupPolly } from '../utils/AutoSetupPolly';\nimport Constants from '../shared/Constants';\n\nautoSetupPolly();\n\nstate.setDeploymentType(Constants.CLOUD_DEPLOYMENT_TYPE_KEY);\n\nasync function stageJourney(journey: { id: string }, create = true) {\n // delete if exists, then create\n try {\n await JourneyOps.getJourney({ journeyId: journey.id, state });\n await JourneyOps.deleteJourney({\n journeyId: journey.id,\n options: {\n deep: true,\n verbose: false,\n progress: false,\n },\n state,\n });\n } catch (error) {\n // ignore\n } finally {\n if (create) {\n await JourneyOps.importJourney({\n treeObject: getJourney(journey.id),\n options: {\n reUuid: false,\n deps: true,\n },\n state,\n });\n }\n }\n}\n\ndescribe('JourneyOps', () => {\n const journey1 = {\n id: 'FrodoTestJourney1',\n };\n const journey2 = {\n id: 'FrodoTestJourney2',\n };\n const journey3 = {\n id: 'FrodoTestJourney3',\n };\n const journey4 = {\n id: 'FrodoTestJourney4',\n };\n const journey5 = {\n id: 'FrodoTestJourney5',\n };\n const journey6 = {\n id: 'FrodoTestJourney6',\n };\n const journey7 = {\n id: 'FrodoTestJourney7',\n };\n const journey8 = {\n id: 'FrodoTestJourney8',\n };\n const journey9 = {\n id: 'FrodoTestJourney9',\n };\n // in recording mode, setup test data before recording\n beforeAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageJourney(journey1);\n await stageJourney(journey2);\n await stageJourney(journey3);\n await stageJourney(journey4, false);\n await stageJourney(journey5, false);\n await stageJourney(journey6);\n await stageJourney(journey7);\n await stageJourney(journey8);\n await stageJourney(journey9);\n }\n });\n // in recording mode, remove test data after recording\n afterAll(async () => {\n if (process.env.FRODO_POLLY_MODE === 'record') {\n await stageJourney(journey1, false);\n await stageJourney(journey2, false);\n await stageJourney(journey3, false);\n await stageJourney(journey4, false);\n await stageJourney(journey5, false);\n await stageJourney(journey6, false);\n await stageJourney(journey7, false);\n await stageJourney(journey8, false);\n await stageJourney(journey9, false);\n }\n });\n // Phase 1\n if (\n !process.env.FRODO_POLLY_MODE ||\n (process.env.FRODO_POLLY_MODE === 'record' &&\n process.env.FRODO_RECORD_PHASE === '1')\n ) {\n describe('getJourneys()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.getJourneys).toBeDefined();\n });\n\n test('1: Get all journeys', async () => {\n const journeys = await JourneyOps.getJourneys({ state });\n expect(journeys).toMatchSnapshot();\n });\n });\n\n describe('exportJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.exportJourney).toBeDefined();\n });\n\n test(`1: Export journey '${journey3.id}' w/o dependencies`, async () => {\n const response = await JourneyOps.exportJourney({\n treeId: journey3.id,\n options: {\n useStringArrays: false,\n deps: false,\n },\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n\n test(`2: Export journey '${journey3.id}' w/ dependencies`, async () => {\n const response = await JourneyOps.exportJourney({\n treeId: journey3.id,\n options: {\n useStringArrays: false,\n deps: true,\n },\n state,\n });\n expect(response).toMatchSnapshot({\n meta: expect.any(Object),\n });\n });\n });\n\n describe('importJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.importJourney).toBeDefined();\n });\n\n test(`1: Import journey '${journey4.id}' w/o dependencies`, async () => {\n const journeyExport = getJourney(journey4.id);\n expect.assertions(1);\n const response = await JourneyOps.importJourney({\n treeObject: journeyExport,\n options: {\n reUuid: false,\n deps: false,\n },\n state,\n });\n expect(response).toBeTruthy();\n });\n\n test(`2: Import journey '${journey5.id}' w/ dependencies`, async () => {\n const journeyExport = getJourney(journey5.id);\n expect.assertions(1);\n const response = await JourneyOps.importJourney({\n treeObject: journeyExport,\n options: {\n reUuid: false,\n deps: true,\n },\n state,\n });\n expect(response).toBeTruthy();\n });\n });\n\n describe('enableJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.enableJourney).toBeDefined();\n });\n\n test(`1: Enable disabled journey '${journey6.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.enableJourney({\n journeyId: journey6.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n\n test(`2: Enable already enabled journey '${journey7.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.enableJourney({\n journeyId: journey7.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n });\n\n describe('disableJourney()', () => {\n test('0: Method is implemented', async () => {\n expect(JourneyOps.disableJourney).toBeDefined();\n });\n\n test(`1: Disable enabled journey '${journey8.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.disableJourney({\n journeyId: journey8.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n\n test(`2: Disable already disabled journey '${journey9.id}'`, async () => {\n expect.assertions(1);\n const result = await JourneyOps.disableJourney({\n journeyId: journey9.id,\n state,\n });\n expect(result).toBeTruthy();\n });\n });\n }\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedObjectOps.js","names":["getManagedObject","getTenantURL","state","resolveUserName","type","id","resolveFullName","baseUrl","getHost","fields","userName","error","managedObject","givenName","sn"],"sources":["../../src/ops/ManagedObjectOps.ts"],"sourcesContent":["import { getManagedObject } from '../api/ManagedObjectApi';\nimport { getTenantURL } from '../api/utils/ApiUtils';\nimport State from '../shared/State';\n\nexport default (state: State) => {\n return {\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {string} resolved username or uuid if any error occurs during reslution\n */\n async resolveUserName(type: string, id: string) {\n return resolveUserName({ type, id, state });\n },\n\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {string} resolved full name or uuid if any error occurs during reslution\n */\n async resolveFullName(type: string, id: string) {\n return resolveFullName({ type, id, state });\n },\n };\n};\n\n/**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @param {State} state library state\n * @returns {string} resolved username or uuid if any error occurs during reslution\n */\nexport async function resolveUserName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}) {\n try {\n return (\n await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type,\n id,\n fields: ['userName'],\n state,\n })\n ).userName;\n } catch (error) {\n // eslint-disable-next-line no-empty\n }\n return id;\n}\n\n/**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @param {State} state library state\n * @returns {string} resolved full name or uuid if any error occurs during reslution\n */\nexport async function resolveFullName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}) {\n try {\n const managedObject = await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type,\n id,\n fields: ['givenName', 'sn'],\n state,\n });\n return `${managedObject.givenName} ${managedObject.sn}`;\n } catch (error) {\n // eslint-disable-next-line no-empty\n }\n return id;\n}\n"],"mappings":"SAASA,gBAAgB;AAAA,SAChBC,YAAY;AAGrB,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACL;AACJ;AACA;AACA;AACA;AACA;IACI,MAAMC,eAAeA,CAACC,IAAY,EAAEC,EAAU,EAAE;MAC9C,OAAOF,eAAe,CAAC;QAAEC,IAAI;QAAEC,EAAE;QAAEH;MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACI,MAAMI,eAAeA,CAACF,IAAY,EAAEC,EAAU,EAAE;MAC9C,OAAOC,eAAe,CAAC;QAAEF,IAAI;QAAEC,EAAE;QAAEH;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CAAC;EACpCC,IAAI;EACJC,EAAE;EACFH;AAKF,CAAC,EAAE;EACD,IAAI;IACF,OAAO,CACL,MAAMF,gBAAgB,CAAC;MACrBO,OAAO,EAAEN,YAAY,CAACC,KAAK,CAACM,OAAO,CAAC,CAAC,CAAC;MACtCJ,IAAI;MACJC,EAAE;MACFI,MAAM,EAAE,CAAC,UAAU,CAAC;MACpBP;IACF,CAAC,CAAC,EACFQ,QAAQ;EACZ,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd;EAAA;EAEF,OAAON,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CAAC;EACpCF,IAAI;EACJC,EAAE;EACFH;AAKF,CAAC,EAAE;EACD,IAAI;IACF,MAAMU,aAAa,GAAG,MAAMZ,gBAAgB,CAAC;MAC3CO,OAAO,EAAEN,YAAY,CAACC,KAAK,CAACM,OAAO,CAAC,CAAC,CAAC;MACtCJ,IAAI;MACJC,EAAE;MACFI,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;MAC3BP;IACF,CAAC,CAAC;IACF,OAAQ,GAAEU,aAAa,CAACC,SAAU,IAAGD,aAAa,CAACE,EAAG,EAAC;EACzD,CAAC,CAAC,OAAOH,KAAK,EAAE;IACd;EAAA;EAEF,OAAON,EAAE;AACX"}
1
+ {"version":3,"file":"ManagedObjectOps.js","names":["getManagedObject","getTenantURL","state","resolveUserName","type","id","resolveFullName","baseUrl","getHost","fields","userName","error","managedObject","givenName","sn"],"sources":["../../src/ops/ManagedObjectOps.ts"],"sourcesContent":["import { getManagedObject } from '../api/ManagedObjectApi';\nimport { getTenantURL } from '../api/utils/ApiUtils';\nimport { State } from '../shared/State';\n\nexport type ManagedObject = {\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {string} resolved username or uuid if any error occurs during reslution\n */\n resolveUserName(\n type: string,\n id: string\n ): Promise<string | number | boolean | object>;\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {string} resolved full name or uuid if any error occurs during reslution\n */\n resolveFullName(type: string, id: string): Promise<string>;\n};\n\nexport default (state: State): ManagedObject => {\n return {\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {string} resolved username or uuid if any error occurs during reslution\n */\n async resolveUserName(type: string, id: string) {\n return resolveUserName({ type, id, state });\n },\n\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {string} resolved full name or uuid if any error occurs during reslution\n */\n async resolveFullName(type: string, id: string) {\n return resolveFullName({ type, id, state });\n },\n };\n};\n\n/**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @param {State} state library state\n * @returns {string} resolved username or uuid if any error occurs during reslution\n */\nexport async function resolveUserName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}) {\n try {\n return (\n await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type,\n id,\n fields: ['userName'],\n state,\n })\n ).userName;\n } catch (error) {\n // eslint-disable-next-line no-empty\n }\n return id;\n}\n\n/**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @param {State} state library state\n * @returns {string} resolved full name or uuid if any error occurs during reslution\n */\nexport async function resolveFullName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}) {\n try {\n const managedObject = await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type,\n id,\n fields: ['givenName', 'sn'],\n state,\n });\n return `${managedObject.givenName} ${managedObject.sn}`;\n } catch (error) {\n // eslint-disable-next-line no-empty\n }\n return id;\n}\n"],"mappings":"SAASA,gBAAgB;AAAA,SAChBC,YAAY;AAuBrB,gBAAgBC,KAAY,IAAoB;EAC9C,OAAO;IACL;AACJ;AACA;AACA;AACA;AACA;IACI,MAAMC,eAAeA,CAACC,IAAY,EAAEC,EAAU,EAAE;MAC9C,OAAOF,eAAe,CAAC;QAAEC,IAAI;QAAEC,EAAE;QAAEH;MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;IACI,MAAMI,eAAeA,CAACF,IAAY,EAAEC,EAAU,EAAE;MAC9C,OAAOC,eAAe,CAAC;QAAEF,IAAI;QAAEC,EAAE;QAAEH;MAAM,CAAC,CAAC;IAC7C;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CAAC;EACpCC,IAAI;EACJC,EAAE;EACFH;AAKF,CAAC,EAAE;EACD,IAAI;IACF,OAAO,CACL,MAAMF,gBAAgB,CAAC;MACrBO,OAAO,EAAEN,YAAY,CAACC,KAAK,CAACM,OAAO,CAAC,CAAC,CAAC;MACtCJ,IAAI;MACJC,EAAE;MACFI,MAAM,EAAE,CAAC,UAAU,CAAC;MACpBP;IACF,CAAC,CAAC,EACFQ,QAAQ;EACZ,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd;EAAA;EAEF,OAAON,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,eAAeA,CAAC;EACpCF,IAAI;EACJC,EAAE;EACFH;AAKF,CAAC,EAAE;EACD,IAAI;IACF,MAAMU,aAAa,GAAG,MAAMZ,gBAAgB,CAAC;MAC3CO,OAAO,EAAEN,YAAY,CAACC,KAAK,CAACM,OAAO,CAAC,CAAC,CAAC;MACtCJ,IAAI;MACJC,EAAE;MACFI,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;MAC3BP;IACF,CAAC,CAAC;IACF,OAAQ,GAAEU,aAAa,CAACC,SAAU,IAAGD,aAAa,CAACE,EAAG,EAAC;EACzD,CAAC,CAAC,OAAOH,KAAK,EAAE;IACd;EAAA;EAEF,OAAON,EAAE;AACX"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeOps.js","names":["getNode","deleteNode","getNodeTypes","getNodesByType","getTrees","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","state","findOrphanedNodes","removeOrphanedNodes","orphanedNodes","isPremiumNode","nodeType","isCloudOnlyNode","isCustomNode","getNodeClassification","NodeClassification","containerNodes","allNodes","types","allJourneys","result","errorMessage","errorTypes","total","undefined","message","type","error","response","data","nodes","_id","node","push","length","status","activeNodes","journey","nodeId","hasOwnProperty","call","includes","containerNode","innerNode","diff","filter","x","orphanedNode","errorNodes","deleteError","OOTB_NODE_TYPES_7","OOTB_NODE_TYPES_7_1","concat","OOTB_NODE_TYPES_7_2","OOTB_NODE_TYPES_7_3","OOTB_NODE_TYPES_7_4","OOTB_NODE_TYPES_6_5","OOTB_NODE_TYPES_6","CLOUD_ONLY_NODE_TYPES","PREMIUM_NODE_TYPES","ootbNodeTypes","getAmVersion","slice","classifications","premium","custom","cloud","CUSTOM","CLOUD","STANDARD","PREMIUM"],"sources":["../../src/ops/NodeOps.ts"],"sourcesContent":["import State from '../shared/State';\nimport {\n getNode,\n deleteNode,\n getNodeTypes,\n getNodesByType,\n} from '../api/NodeApi';\nimport { getTrees } from '../api/TreeApi';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { NodeClassificationType } from './OpsTypes';\nimport { NodeSkeleton } from '../api/ApiTypes';\n\nexport default (state: State) => {\n return {\n /**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\n async findOrphanedNodes(): Promise<unknown[]> {\n return findOrphanedNodes({ state });\n },\n\n /**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\n async removeOrphanedNodes(\n orphanedNodes: NodeSkeleton[]\n ): Promise<NodeSkeleton[]> {\n return removeOrphanedNodes({ orphanedNodes, state });\n },\n\n /**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\n isPremiumNode(nodeType: string): boolean {\n return isPremiumNode(nodeType);\n },\n\n /**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\n isCloudOnlyNode(nodeType: string): boolean {\n return isCloudOnlyNode(nodeType);\n },\n\n /**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\n isCustomNode(nodeType: string): boolean {\n return isCustomNode({ nodeType, state });\n },\n\n /**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassificationType[]} an array of one or multiple classifications\n */\n getNodeClassification(nodeType: string): NodeClassificationType[] {\n return getNodeClassification({ nodeType, state });\n },\n };\n};\n\nexport enum NodeClassification {\n STANDARD = 'standard',\n CUSTOM = 'custom',\n CLOUD = 'cloud',\n PREMIUM = 'premium',\n}\n\nconst containerNodes = ['PageNode', 'CustomPageNode'];\n\n/**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\nexport async function findOrphanedNodes({\n state,\n}: {\n state: State;\n}): Promise<unknown[]> {\n const allNodes = [];\n const orphanedNodes = [];\n let types = [];\n const allJourneys = (await getTrees({ state })).result;\n let errorMessage = '';\n const errorTypes = [];\n\n createProgressIndicator({\n total: undefined,\n message: `Counting total nodes...`,\n type: 'indeterminate',\n state,\n });\n try {\n types = (await getNodeTypes({ state })).result;\n } catch (error) {\n printMessage({\n message: 'Error retrieving all available node types:',\n type: 'error',\n state,\n });\n printMessage({ message: error.response.data, type: 'error', state });\n return [];\n }\n for (const type of types) {\n try {\n // eslint-disable-next-line no-await-in-loop, no-loop-func\n const nodes = (await getNodesByType({ nodeType: type._id, state }))\n .result;\n for (const node of nodes) {\n allNodes.push(node);\n updateProgressIndicator({\n message: `${allNodes.length} total nodes${errorMessage}`,\n state,\n });\n }\n } catch (error) {\n errorTypes.push(type._id);\n errorMessage = ` (Skipped type(s): ${errorTypes})`['yellow'];\n updateProgressIndicator({\n message: `${allNodes.length} total nodes${errorMessage}`,\n state,\n });\n }\n }\n if (errorTypes.length > 0) {\n stopProgressIndicator({\n message: `${allNodes.length} total nodes${errorMessage}`,\n state,\n status: 'warn',\n });\n } else {\n stopProgressIndicator({\n message: `${allNodes.length} total nodes`,\n status: 'success',\n state,\n });\n }\n\n createProgressIndicator({\n total: undefined,\n message: 'Counting active nodes...',\n type: 'indeterminate',\n state,\n });\n const activeNodes = [];\n for (const journey of allJourneys) {\n for (const nodeId in journey.nodes) {\n if ({}.hasOwnProperty.call(journey.nodes, nodeId)) {\n activeNodes.push(nodeId);\n updateProgressIndicator({\n message: `${activeNodes.length} active nodes`,\n state,\n });\n const node = journey.nodes[nodeId];\n if (containerNodes.includes(node.nodeType)) {\n const containerNode = await getNode({\n nodeId,\n nodeType: node.nodeType,\n state,\n });\n for (const innerNode of containerNode.nodes) {\n activeNodes.push(innerNode._id);\n updateProgressIndicator({\n message: `${activeNodes.length} active nodes`,\n state,\n });\n }\n }\n }\n }\n }\n stopProgressIndicator({\n message: `${activeNodes.length} active nodes`,\n status: 'success',\n state,\n });\n\n createProgressIndicator({\n total: undefined,\n message: 'Calculating orphaned nodes...',\n type: 'indeterminate',\n state,\n });\n const diff = allNodes.filter((x) => !activeNodes.includes(x._id));\n for (const orphanedNode of diff) {\n orphanedNodes.push(orphanedNode);\n }\n stopProgressIndicator({\n message: `${orphanedNodes.length} orphaned nodes`,\n status: 'success',\n state,\n });\n return orphanedNodes;\n}\n\n/**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\nexport async function removeOrphanedNodes({\n orphanedNodes,\n state,\n}: {\n orphanedNodes: NodeSkeleton[];\n state: State;\n}): Promise<NodeSkeleton[]> {\n const errorNodes = [];\n createProgressIndicator({\n total: orphanedNodes.length,\n message: 'Removing orphaned nodes...',\n state,\n });\n for (const node of orphanedNodes) {\n updateProgressIndicator({ message: `Removing ${node['_id']}...`, state });\n try {\n await deleteNode({\n nodeId: node['_id'],\n nodeType: node['_type']['_id'],\n state,\n });\n } catch (deleteError) {\n errorNodes.push(node);\n printMessage({ message: ` ${deleteError}`, type: 'error', state });\n }\n }\n stopProgressIndicator({\n message: `Removed ${orphanedNodes.length} orphaned nodes.`,\n state,\n });\n return errorNodes;\n}\n\nconst OOTB_NODE_TYPES_7 = [\n 'AcceptTermsAndConditionsNode',\n 'AccountActiveDecisionNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousSessionUpgradeNode',\n 'AnonymousUserNode',\n 'AttributeCollectorNode',\n 'AttributePresentDecisionNode',\n 'AttributeValueDecisionNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'ConsentNode',\n 'CookiePresenceDecisionNode',\n 'CreateObjectNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'DeviceGeoFencingNode',\n 'DeviceLocationMatchNode',\n 'DeviceMatchNode',\n 'DeviceProfileCollectorNode',\n 'DeviceSaveNode',\n 'DeviceTamperingVerificationNode',\n 'DisplayUserNameNode',\n 'EmailSuspendNode',\n 'EmailTemplateNode',\n 'IdentifyExistingUserNode',\n 'IncrementLoginCountNode',\n 'InnerTreeEvaluatorNode',\n 'IotAuthenticationNode',\n 'IotRegistrationNode',\n 'KbaCreateNode',\n 'KbaDecisionNode',\n 'KbaVerifyNode',\n 'LdapDecisionNode',\n 'LoginCountDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PatchObjectNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProfileCompletenessDecisionNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'QueryFilterDecisionNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RequiredAttributesDecisionNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SelectIdPNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'SocialProviderHandlerNode',\n 'TermsAndConditionsDecisionNode',\n 'TimeSinceDecisionNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'ValidatedPasswordNode',\n 'ValidatedUsernameNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnDeviceStorageNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n 'product-CertificateCollectorNode',\n 'product-CertificateUserExtractorNode',\n 'product-CertificateValidationNode',\n 'product-KerberosNode',\n 'product-ReCaptchaNode',\n 'product-Saml2Node',\n 'product-WriteFederationInformationNode',\n];\n\nconst OOTB_NODE_TYPES_7_1 = [\n 'PushRegistrationNode',\n 'GetAuthenticatorAppNode',\n 'MultiFactorRegistrationOptionsNode',\n 'OptOutMultiFactorAuthenticationNode',\n].concat(OOTB_NODE_TYPES_7);\n\nconst OOTB_NODE_TYPES_7_2 = [\n 'OathRegistrationNode',\n 'OathTokenVerifierNode',\n 'PassthroughAuthenticationNode',\n 'ConfigProviderNode',\n 'DebugNode',\n].concat(OOTB_NODE_TYPES_7_1);\n\nconst OOTB_NODE_TYPES_7_3 = [].concat(OOTB_NODE_TYPES_7_2);\n\nconst OOTB_NODE_TYPES_7_4 = [].concat(OOTB_NODE_TYPES_7_3);\n\nconst OOTB_NODE_TYPES_6_5 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst OOTB_NODE_TYPES_6 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst CLOUD_ONLY_NODE_TYPES = [\n 'IdentityStoreDecisionNode',\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\nconst PREMIUM_NODE_TYPES = [\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\n/**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\nexport function isPremiumNode(nodeType: string): boolean {\n return PREMIUM_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\nexport function isCloudOnlyNode(nodeType: string): boolean {\n return CLOUD_ONLY_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\nexport function isCustomNode({\n nodeType,\n state,\n}: {\n nodeType: string;\n state: State;\n}): boolean {\n let ootbNodeTypes = [];\n switch (state.getAmVersion()) {\n case '7.1.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_1.slice(0);\n break;\n case '7.2.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_2.slice(0);\n break;\n case '7.3.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_3.slice(0);\n break;\n case '7.4.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_4.slice(0);\n break;\n case '7.0.0':\n case '7.0.1':\n case '7.0.2':\n ootbNodeTypes = OOTB_NODE_TYPES_7.slice(0);\n break;\n case '6.5.3':\n case '6.5.2.3':\n case '6.5.2.2':\n case '6.5.2.1':\n case '6.5.2':\n case '6.5.1':\n case '6.5.0.2':\n case '6.5.0.1':\n ootbNodeTypes = OOTB_NODE_TYPES_6_5.slice(0);\n break;\n case '6.0.0.7':\n case '6.0.0.6':\n case '6.0.0.5':\n case '6.0.0.4':\n case '6.0.0.3':\n case '6.0.0.2':\n case '6.0.0.1':\n case '6.0.0':\n ootbNodeTypes = OOTB_NODE_TYPES_6.slice(0);\n break;\n default:\n return true;\n }\n return (\n !ootbNodeTypes.includes(nodeType) &&\n !isPremiumNode(nodeType) &&\n !isCloudOnlyNode(nodeType)\n );\n}\n\n/**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassification[]} an array of one or multiple classifications\n */\nexport function getNodeClassification({\n nodeType,\n state,\n}: {\n nodeType: string;\n state: State;\n}): NodeClassificationType[] {\n const classifications: NodeClassificationType[] = [];\n const premium = isPremiumNode(nodeType);\n const custom = isCustomNode({ nodeType, state });\n const cloud = isCloudOnlyNode(nodeType);\n if (custom) {\n classifications.push(NodeClassification.CUSTOM);\n } else if (cloud) {\n classifications.push(NodeClassification.CLOUD);\n } else {\n classifications.push(NodeClassification.STANDARD);\n }\n if (premium) classifications.push(NodeClassification.PREMIUM);\n return classifications;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"NodeOps.js","names":["getNode","deleteNode","getNodeTypes","getNodesByType","getTrees","printMessage","createProgressIndicator","updateProgressIndicator","stopProgressIndicator","state","findOrphanedNodes","removeOrphanedNodes","orphanedNodes","isPremiumNode","nodeType","isCloudOnlyNode","isCustomNode","getNodeClassification","NodeClassification","containerNodes","allNodes","types","allJourneys","result","errorMessage","errorTypes","total","undefined","message","type","error","response","data","nodes","_id","node","push","length","status","activeNodes","journey","nodeId","hasOwnProperty","call","includes","containerNode","innerNode","diff","filter","x","orphanedNode","errorNodes","deleteError","OOTB_NODE_TYPES_7","OOTB_NODE_TYPES_7_1","concat","OOTB_NODE_TYPES_7_2","OOTB_NODE_TYPES_7_3","OOTB_NODE_TYPES_7_4","OOTB_NODE_TYPES_6_5","OOTB_NODE_TYPES_6","CLOUD_ONLY_NODE_TYPES","PREMIUM_NODE_TYPES","ootbNodeTypes","getAmVersion","slice","classifications","premium","custom","cloud","CUSTOM","CLOUD","STANDARD","PREMIUM"],"sources":["../../src/ops/NodeOps.ts"],"sourcesContent":["import { State } from '../shared/State';\nimport {\n getNode,\n deleteNode,\n getNodeTypes,\n getNodesByType,\n} from '../api/NodeApi';\nimport { getTrees } from '../api/TreeApi';\nimport {\n printMessage,\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from './utils/Console';\nimport { NodeClassificationType } from './OpsTypes';\nimport { NodeSkeleton } from '../api/ApiTypes';\n\nexport type Node = {\n /**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\n findOrphanedNodes(): Promise<unknown[]>;\n /**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\n removeOrphanedNodes(orphanedNodes: NodeSkeleton[]): Promise<NodeSkeleton[]>;\n /**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\n isPremiumNode(nodeType: string): boolean;\n /**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\n isCloudOnlyNode(nodeType: string): boolean;\n /**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\n isCustomNode(nodeType: string): boolean;\n /**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassificationType[]} an array of one or multiple classifications\n */\n getNodeClassification(nodeType: string): NodeClassificationType[];\n};\n\nexport default (state: State): Node => {\n return {\n /**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\n async findOrphanedNodes(): Promise<unknown[]> {\n return findOrphanedNodes({ state });\n },\n\n /**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\n async removeOrphanedNodes(\n orphanedNodes: NodeSkeleton[]\n ): Promise<NodeSkeleton[]> {\n return removeOrphanedNodes({ orphanedNodes, state });\n },\n\n /**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\n isPremiumNode(nodeType: string): boolean {\n return isPremiumNode(nodeType);\n },\n\n /**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\n isCloudOnlyNode(nodeType: string): boolean {\n return isCloudOnlyNode(nodeType);\n },\n\n /**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\n isCustomNode(nodeType: string): boolean {\n return isCustomNode({ nodeType, state });\n },\n\n /**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassificationType[]} an array of one or multiple classifications\n */\n getNodeClassification(nodeType: string): NodeClassificationType[] {\n return getNodeClassification({ nodeType, state });\n },\n };\n};\n\nexport enum NodeClassification {\n STANDARD = 'standard',\n CUSTOM = 'custom',\n CLOUD = 'cloud',\n PREMIUM = 'premium',\n}\n\nconst containerNodes = ['PageNode', 'CustomPageNode'];\n\n/**\n * Find all node configuration objects that are no longer referenced by any tree\n * @returns {Promise<unknown[]>} a promise that resolves to an array of orphaned nodes\n */\nexport async function findOrphanedNodes({\n state,\n}: {\n state: State;\n}): Promise<unknown[]> {\n const allNodes = [];\n const orphanedNodes = [];\n let types = [];\n const allJourneys = (await getTrees({ state })).result;\n let errorMessage = '';\n const errorTypes = [];\n\n createProgressIndicator({\n total: undefined,\n message: `Counting total nodes...`,\n type: 'indeterminate',\n state,\n });\n try {\n types = (await getNodeTypes({ state })).result;\n } catch (error) {\n printMessage({\n message: 'Error retrieving all available node types:',\n type: 'error',\n state,\n });\n printMessage({ message: error.response.data, type: 'error', state });\n return [];\n }\n for (const type of types) {\n try {\n // eslint-disable-next-line no-await-in-loop, no-loop-func\n const nodes = (await getNodesByType({ nodeType: type._id, state }))\n .result;\n for (const node of nodes) {\n allNodes.push(node);\n updateProgressIndicator({\n message: `${allNodes.length} total nodes${errorMessage}`,\n state,\n });\n }\n } catch (error) {\n errorTypes.push(type._id);\n errorMessage = ` (Skipped type(s): ${errorTypes})`['yellow'];\n updateProgressIndicator({\n message: `${allNodes.length} total nodes${errorMessage}`,\n state,\n });\n }\n }\n if (errorTypes.length > 0) {\n stopProgressIndicator({\n message: `${allNodes.length} total nodes${errorMessage}`,\n state,\n status: 'warn',\n });\n } else {\n stopProgressIndicator({\n message: `${allNodes.length} total nodes`,\n status: 'success',\n state,\n });\n }\n\n createProgressIndicator({\n total: undefined,\n message: 'Counting active nodes...',\n type: 'indeterminate',\n state,\n });\n const activeNodes = [];\n for (const journey of allJourneys) {\n for (const nodeId in journey.nodes) {\n if ({}.hasOwnProperty.call(journey.nodes, nodeId)) {\n activeNodes.push(nodeId);\n updateProgressIndicator({\n message: `${activeNodes.length} active nodes`,\n state,\n });\n const node = journey.nodes[nodeId];\n if (containerNodes.includes(node.nodeType)) {\n const containerNode = await getNode({\n nodeId,\n nodeType: node.nodeType,\n state,\n });\n for (const innerNode of containerNode.nodes) {\n activeNodes.push(innerNode._id);\n updateProgressIndicator({\n message: `${activeNodes.length} active nodes`,\n state,\n });\n }\n }\n }\n }\n }\n stopProgressIndicator({\n message: `${activeNodes.length} active nodes`,\n status: 'success',\n state,\n });\n\n createProgressIndicator({\n total: undefined,\n message: 'Calculating orphaned nodes...',\n type: 'indeterminate',\n state,\n });\n const diff = allNodes.filter((x) => !activeNodes.includes(x._id));\n for (const orphanedNode of diff) {\n orphanedNodes.push(orphanedNode);\n }\n stopProgressIndicator({\n message: `${orphanedNodes.length} orphaned nodes`,\n status: 'success',\n state,\n });\n return orphanedNodes;\n}\n\n/**\n * Remove orphaned nodes\n * @param {NodeSkeleton[]} orphanedNodes Pass in an array of orphaned node configuration objects to remove\n * @returns {Promise<NodeSkeleton[]>} a promise that resolves to an array nodes that encountered errors deleting\n */\nexport async function removeOrphanedNodes({\n orphanedNodes,\n state,\n}: {\n orphanedNodes: NodeSkeleton[];\n state: State;\n}): Promise<NodeSkeleton[]> {\n const errorNodes = [];\n createProgressIndicator({\n total: orphanedNodes.length,\n message: 'Removing orphaned nodes...',\n state,\n });\n for (const node of orphanedNodes) {\n updateProgressIndicator({ message: `Removing ${node['_id']}...`, state });\n try {\n await deleteNode({\n nodeId: node['_id'],\n nodeType: node['_type']['_id'],\n state,\n });\n } catch (deleteError) {\n errorNodes.push(node);\n printMessage({ message: ` ${deleteError}`, type: 'error', state });\n }\n }\n stopProgressIndicator({\n message: `Removed ${orphanedNodes.length} orphaned nodes.`,\n state,\n });\n return errorNodes;\n}\n\nconst OOTB_NODE_TYPES_7 = [\n 'AcceptTermsAndConditionsNode',\n 'AccountActiveDecisionNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousSessionUpgradeNode',\n 'AnonymousUserNode',\n 'AttributeCollectorNode',\n 'AttributePresentDecisionNode',\n 'AttributeValueDecisionNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'ConsentNode',\n 'CookiePresenceDecisionNode',\n 'CreateObjectNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'DeviceGeoFencingNode',\n 'DeviceLocationMatchNode',\n 'DeviceMatchNode',\n 'DeviceProfileCollectorNode',\n 'DeviceSaveNode',\n 'DeviceTamperingVerificationNode',\n 'DisplayUserNameNode',\n 'EmailSuspendNode',\n 'EmailTemplateNode',\n 'IdentifyExistingUserNode',\n 'IncrementLoginCountNode',\n 'InnerTreeEvaluatorNode',\n 'IotAuthenticationNode',\n 'IotRegistrationNode',\n 'KbaCreateNode',\n 'KbaDecisionNode',\n 'KbaVerifyNode',\n 'LdapDecisionNode',\n 'LoginCountDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PatchObjectNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProfileCompletenessDecisionNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'QueryFilterDecisionNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RequiredAttributesDecisionNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SelectIdPNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'SocialProviderHandlerNode',\n 'TermsAndConditionsDecisionNode',\n 'TimeSinceDecisionNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'ValidatedPasswordNode',\n 'ValidatedUsernameNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnDeviceStorageNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n 'product-CertificateCollectorNode',\n 'product-CertificateUserExtractorNode',\n 'product-CertificateValidationNode',\n 'product-KerberosNode',\n 'product-ReCaptchaNode',\n 'product-Saml2Node',\n 'product-WriteFederationInformationNode',\n];\n\nconst OOTB_NODE_TYPES_7_1 = [\n 'PushRegistrationNode',\n 'GetAuthenticatorAppNode',\n 'MultiFactorRegistrationOptionsNode',\n 'OptOutMultiFactorAuthenticationNode',\n].concat(OOTB_NODE_TYPES_7);\n\nconst OOTB_NODE_TYPES_7_2 = [\n 'OathRegistrationNode',\n 'OathTokenVerifierNode',\n 'PassthroughAuthenticationNode',\n 'ConfigProviderNode',\n 'DebugNode',\n].concat(OOTB_NODE_TYPES_7_1);\n\nconst OOTB_NODE_TYPES_7_3 = [].concat(OOTB_NODE_TYPES_7_2);\n\nconst OOTB_NODE_TYPES_7_4 = [].concat(OOTB_NODE_TYPES_7_3);\n\nconst OOTB_NODE_TYPES_6_5 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst OOTB_NODE_TYPES_6 = [\n 'AbstractSocialAuthLoginNode',\n 'AccountLockoutNode',\n 'AgentDataStoreDecisionNode',\n 'AnonymousUserNode',\n 'AuthLevelDecisionNode',\n 'ChoiceCollectorNode',\n 'CookiePresenceDecisionNode',\n 'CreatePasswordNode',\n 'DataStoreDecisionNode',\n 'InnerTreeEvaluatorNode',\n 'LdapDecisionNode',\n 'MessageNode',\n 'MetadataNode',\n 'MeterNode',\n 'ModifyAuthLevelNode',\n 'OneTimePasswordCollectorDecisionNode',\n 'OneTimePasswordGeneratorNode',\n 'OneTimePasswordSmsSenderNode',\n 'OneTimePasswordSmtpSenderNode',\n 'PageNode',\n 'PasswordCollectorNode',\n 'PersistentCookieDecisionNode',\n 'PollingWaitNode',\n 'ProvisionDynamicAccountNode',\n 'ProvisionIdmAccountNode',\n 'PushAuthenticationSenderNode',\n 'PushResultVerifierNode',\n 'RecoveryCodeCollectorDecisionNode',\n 'RecoveryCodeDisplayNode',\n 'RegisterLogoutWebhookNode',\n 'RemoveSessionPropertiesNode',\n 'RetryLimitDecisionNode',\n 'ScriptedDecisionNode',\n 'SessionDataNode',\n 'SetFailureUrlNode',\n 'SetPersistentCookieNode',\n 'SetSessionPropertiesNode',\n 'SetSuccessUrlNode',\n 'SocialFacebookNode',\n 'SocialGoogleNode',\n 'SocialNode',\n 'SocialOAuthIgnoreProfileNode',\n 'SocialOpenIdConnectNode',\n 'TimerStartNode',\n 'TimerStopNode',\n 'UsernameCollectorNode',\n 'WebAuthnAuthenticationNode',\n 'WebAuthnRegistrationNode',\n 'ZeroPageLoginNode',\n];\n\nconst CLOUD_ONLY_NODE_TYPES = [\n 'IdentityStoreDecisionNode',\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\nconst PREMIUM_NODE_TYPES = [\n 'AutonomousAccessSignalNode',\n 'AutonomousAccessDecisionNode',\n 'AutonomousAccessResultNode',\n];\n\n/**\n * Analyze if a node is a premium node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is premium, false otherwise.\n */\nexport function isPremiumNode(nodeType: string): boolean {\n return PREMIUM_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is a cloud-only node.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is cloud-only, false otherwise.\n */\nexport function isCloudOnlyNode(nodeType: string): boolean {\n return CLOUD_ONLY_NODE_TYPES.includes(nodeType);\n}\n\n/**\n * Analyze if a node is custom.\n * @param {string} nodeType Node type\n * @returns {boolean} True if the node type is custom, false otherwise.\n */\nexport function isCustomNode({\n nodeType,\n state,\n}: {\n nodeType: string;\n state: State;\n}): boolean {\n let ootbNodeTypes = [];\n switch (state.getAmVersion()) {\n case '7.1.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_1.slice(0);\n break;\n case '7.2.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_2.slice(0);\n break;\n case '7.3.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_3.slice(0);\n break;\n case '7.4.0':\n ootbNodeTypes = OOTB_NODE_TYPES_7_4.slice(0);\n break;\n case '7.0.0':\n case '7.0.1':\n case '7.0.2':\n ootbNodeTypes = OOTB_NODE_TYPES_7.slice(0);\n break;\n case '6.5.3':\n case '6.5.2.3':\n case '6.5.2.2':\n case '6.5.2.1':\n case '6.5.2':\n case '6.5.1':\n case '6.5.0.2':\n case '6.5.0.1':\n ootbNodeTypes = OOTB_NODE_TYPES_6_5.slice(0);\n break;\n case '6.0.0.7':\n case '6.0.0.6':\n case '6.0.0.5':\n case '6.0.0.4':\n case '6.0.0.3':\n case '6.0.0.2':\n case '6.0.0.1':\n case '6.0.0':\n ootbNodeTypes = OOTB_NODE_TYPES_6.slice(0);\n break;\n default:\n return true;\n }\n return (\n !ootbNodeTypes.includes(nodeType) &&\n !isPremiumNode(nodeType) &&\n !isCloudOnlyNode(nodeType)\n );\n}\n\n/**\n * Get a node's classifications, which can be one or multiple of:\n * - standard: can run on any instance of a ForgeRock platform\n * - cloud: utilize nodes, which are exclusively available in the ForgeRock Identity Cloud\n * - premium: utilizes nodes, which come at a premium\n * @param {string} nodeType Node type\n * @returns {NodeClassification[]} an array of one or multiple classifications\n */\nexport function getNodeClassification({\n nodeType,\n state,\n}: {\n nodeType: string;\n state: State;\n}): NodeClassificationType[] {\n const classifications: NodeClassificationType[] = [];\n const premium = isPremiumNode(nodeType);\n const custom = isCustomNode({ nodeType, state });\n const cloud = isCloudOnlyNode(nodeType);\n if (custom) {\n classifications.push(NodeClassification.CUSTOM);\n } else if (cloud) {\n classifications.push(NodeClassification.CLOUD);\n } else {\n classifications.push(NodeClassification.STANDARD);\n }\n if (premium) classifications.push(NodeClassification.PREMIUM);\n return classifications;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2ClientOps.js","names":["getOAuth2Client","_getOAuth2Client","getOAuth2Clients","_getOAuth2Clients","putOAuth2Client","_putOAuth2Client","deleteOAuth2Client","_deleteOAuth2Client","getMetadata","debugMessage","printMessage","convertBase64TextToArray","getOAuth2Provider","getScript","putScript","state","clientId","clientData","exportOAuth2Clients","options","useStringArrays","deps","exportOAuth2Client","importOAuth2Client","importData","importFirstOAuth2Client","importOAuth2Clients","createOAuth2ClientExportTemplate","meta","script","application","clients","result","id","message","response","error","_error$response","_error$response2","_error$response2$data","status","data","validAttributes","detail","push","key","Object","keys","attribute","includes","getVerbose","type","exportOAuth2ClientDependencies","exportData","endsWith","scriptId","scriptData","_error$response3","_error$response4","_error$response4$data","errors","provider","client","_provider","_id","length","errorMessages","map","join","Error","importOAuth2ClientDependencies","imported","_rev"],"sources":["../../src/ops/OAuth2ClientOps.ts"],"sourcesContent":["import {\n getOAuth2Client as _getOAuth2Client,\n getOAuth2Clients as _getOAuth2Clients,\n putOAuth2Client as _putOAuth2Client,\n deleteOAuth2Client as _deleteOAuth2Client,\n} from '../api/OAuth2ClientApi';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n NoIdObjectSkeletonInterface,\n OAuth2ClientSkeleton,\n ScriptSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { debugMessage, printMessage } from './utils/Console';\nimport { convertBase64TextToArray } from './utils/ExportImportUtils';\nimport { getOAuth2Provider } from './OAuth2ProviderOps';\nimport State from '../shared/State';\nimport { getScript, putScript } from './ScriptOps';\n\nexport default (state: State) => {\n return {\n /**\n * Get all OAuth2 clients\n * @returns {Promise<any[]>} a promise that resolves to an array of oauth2client objects\n */\n async getOAuth2Clients() {\n return getOAuth2Clients({ state });\n },\n\n /**\n * Get OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n async getOAuth2Client(clientId: string) {\n return getOAuth2Client({ clientId, state });\n },\n\n /**\n * Put OAuth2 client\n * @param {string} clientId client id\n * @param {any} clientData oauth2client object\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n async putOAuth2Client(clientId: string, clientData: OAuth2ClientSkeleton) {\n return putOAuth2Client({ clientId, clientData, state });\n },\n\n /**\n * Delete OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n async deleteOAuth2Client(clientId: string) {\n return deleteOAuth2Client({ clientId, state });\n },\n\n /**\n * Export all OAuth2 clients\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\n async exportOAuth2Clients(\n options: OAuth2ClientExportOptions = { useStringArrays: true, deps: true }\n ): Promise<OAuth2ClientExportInterface> {\n return exportOAuth2Clients({ options, state });\n },\n\n /**\n * Export OAuth2 client by ID\n * @param {string} clientId oauth2 client id\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\n async exportOAuth2Client(\n clientId: string,\n options: OAuth2ClientExportOptions = { useStringArrays: true, deps: true }\n ): Promise<OAuth2ClientExportInterface> {\n return exportOAuth2Client({ clientId, options, state });\n },\n\n /**\n * Import OAuth2 Client by ID\n * @param {string} clientId client id\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\n async importOAuth2Client(\n clientId: string,\n importData: OAuth2ClientExportInterface,\n options: OAuth2ClientImportOptions = { deps: true }\n ) {\n return importOAuth2Client({\n clientId,\n importData,\n options,\n state,\n });\n },\n\n /**\n * Import first OAuth2 Client\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\n async importFirstOAuth2Client(\n importData: OAuth2ClientExportInterface,\n options: OAuth2ClientImportOptions = { deps: true }\n ) {\n return importFirstOAuth2Client({ importData, options, state });\n },\n\n /**\n * Import OAuth2 Clients\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<unknown[]>} array of imported oauth2 clients\n */\n async importOAuth2Clients(\n importData: OAuth2ClientExportInterface,\n options: OAuth2ClientImportOptions = { deps: true }\n ): Promise<unknown[]> {\n return importOAuth2Clients({ importData, options, state });\n },\n };\n};\n\n/**\n * OAuth2 client export options\n */\nexport interface OAuth2ClientExportOptions {\n /**\n * Use string arrays to store multi-line text in scripts.\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n}\n\n/**\n * OAuth2 client import options\n */\nexport interface OAuth2ClientImportOptions {\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n}\n\nexport interface OAuth2ClientExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n application: Record<string, OAuth2ClientSkeleton>;\n}\n\n/**\n * Create an empty OAuth2 client export template\n * @returns {OAuth2ClientExportInterface} an empty OAuth2 client export template\n */\nfunction createOAuth2ClientExportTemplate({\n state,\n}: {\n state: State;\n}): OAuth2ClientExportInterface {\n return {\n meta: getMetadata({ state }),\n script: {},\n application: {},\n } as OAuth2ClientExportInterface;\n}\n\n/**\n * Get all OAuth2 clients\n * @returns {Promise<any[]>} a promise that resolves to an array of oauth2client objects\n */\nexport async function getOAuth2Clients({ state }: { state: State }) {\n const clients = (await _getOAuth2Clients({ state })).result;\n return clients;\n}\n\n/**\n * Get OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\nexport async function getOAuth2Client({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n return _getOAuth2Client({ id: clientId, state });\n}\n\n/**\n * Put OAuth2 client\n * @param {string} clientId client id\n * @param {any} clientData oauth2client object\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\nexport async function putOAuth2Client({\n clientId,\n clientData,\n state,\n}: {\n clientId: string;\n clientData: OAuth2ClientSkeleton | NoIdObjectSkeletonInterface;\n state: State;\n}) {\n debugMessage({ message: `OAuth2ClientOps.putOAuth2Client: start`, state });\n try {\n const response = await _putOAuth2Client({\n id: clientId,\n clientData,\n state,\n });\n debugMessage({ message: `OAuth2ClientOps.putOAuth2Client: end`, state });\n return response;\n } catch (error) {\n if (\n error.response?.status === 400 &&\n error.response?.data?.message === 'Invalid attribute specified.'\n ) {\n const { validAttributes } = error.response.data.detail;\n validAttributes.push('_id');\n for (const key of Object.keys(clientData)) {\n if (typeof clientData[key] === 'object') {\n for (const attribute of Object.keys(clientData[key])) {\n if (!validAttributes.includes(attribute)) {\n if (state.getVerbose())\n printMessage({\n message: `\\n- Removing invalid attribute: ${key}.${attribute}`,\n type: 'warn',\n state,\n });\n delete clientData[key][attribute];\n }\n }\n }\n }\n const response = await _putOAuth2Client({\n id: clientId,\n clientData,\n state,\n });\n debugMessage({ message: `OAuth2ClientOps.putOAuth2Client: end`, state });\n return response;\n } else {\n throw error;\n }\n }\n}\n\n/**\n * Delete OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\nexport async function deleteOAuth2Client({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n return _deleteOAuth2Client({ id: clientId, state });\n}\n\n/**\n * Helper function to export dependencies of an OAuth2 Client\n * @param {unknown} clientData oauth2 client data\n * @param {OAuth2ClientExportOptions} options export options\n * @param {OAuth2ClientExportInterface} exportData export data\n */\nasync function exportOAuth2ClientDependencies(\n clientData: unknown,\n options: OAuth2ClientExportOptions,\n exportData: OAuth2ClientExportInterface,\n state: State\n) {\n debugMessage({\n message: `OAuth2ClientOps.exportOAuth2ClientDependencies: start [client=${clientData['_id']}]`,\n state,\n });\n if (clientData['overrideOAuth2ClientConfig']) {\n for (const key of Object.keys(clientData['overrideOAuth2ClientConfig'])) {\n if (key.endsWith('Script')) {\n const scriptId = clientData['overrideOAuth2ClientConfig'][key];\n if (scriptId !== '[Empty]' && !exportData.script[scriptId]) {\n try {\n debugMessage({\n message: `- ${scriptId} referenced by ${clientData['_id']}`,\n state,\n });\n const scriptData = await getScript({ scriptId, state });\n if (options.useStringArrays)\n scriptData.script = convertBase64TextToArray(\n scriptData.script as string\n );\n exportData.script[scriptId] = scriptData;\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n error.message = `Error retrieving script ${scriptId} referenced by ${key} key in client ${clientData['_id']}: ${error.message}`;\n throw error;\n }\n }\n }\n }\n }\n }\n debugMessage({\n message: `OAuth2ClientOps.exportOAuth2ClientDependencies: end`,\n state,\n });\n}\n\n/**\n * Export all OAuth2 clients\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\nexport async function exportOAuth2Clients({\n options = { useStringArrays: true, deps: true },\n state,\n}: {\n options?: OAuth2ClientExportOptions;\n state: State;\n}): Promise<OAuth2ClientExportInterface> {\n debugMessage({\n message: `OAuth2ClientOps.exportOAuth2Clients: start`,\n state,\n });\n const exportData = createOAuth2ClientExportTemplate({ state });\n const errors = [];\n try {\n const provider = await getOAuth2Provider({ state });\n const clients = await getOAuth2Clients({ state });\n for (const client of clients) {\n try {\n client._provider = provider;\n exportData.application[client._id] = client;\n if (options.deps) {\n await exportOAuth2ClientDependencies(\n client,\n options,\n exportData,\n state\n );\n }\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({ message: `OAuth2ClientOps.exportOAuth2Clients: end`, state });\n return exportData;\n}\n\n/**\n * Export OAuth2 client by ID\n * @param {string} clientId oauth2 client id\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\nexport async function exportOAuth2Client({\n clientId,\n options = { useStringArrays: true, deps: true },\n state,\n}: {\n clientId: string;\n options?: OAuth2ClientExportOptions;\n state: State;\n}): Promise<OAuth2ClientExportInterface> {\n debugMessage({ message: `OAuth2ClientOps.exportOAuth2Client: start`, state });\n const exportData = createOAuth2ClientExportTemplate({ state });\n const errors = [];\n try {\n const clientData = await getOAuth2Client({ clientId, state });\n clientData._provider = await getOAuth2Provider({ state });\n exportData.application[clientData._id] = clientData;\n if (options.deps) {\n await exportOAuth2ClientDependencies(\n clientData,\n options,\n exportData,\n state\n );\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({ message: `OAuth2ClientOps.exportOAuth2Client: end`, state });\n return exportData;\n}\n\n/**\n * Helper function to export dependencies of an OAuth2 Client\n * @param {unknown} clientData oauth2 client data\n * @param {OAuth2ClientExportInterface} importData import data\n */\nasync function importOAuth2ClientDependencies(\n clientData: unknown,\n importData: OAuth2ClientExportInterface,\n state: State\n) {\n for (const key of Object.keys(clientData['overrideOAuth2ClientConfig'])) {\n if (key.endsWith('Script')) {\n const scriptId = clientData['overrideOAuth2ClientConfig'][key];\n if (scriptId !== '[Empty]' && importData.script[scriptId]) {\n const scriptData: ScriptSkeleton = importData.script[scriptId];\n await putScript({ scriptId, scriptData, state });\n }\n }\n }\n}\n\n/**\n * Import OAuth2 Client by ID\n * @param {string} clientId client id\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\nexport async function importOAuth2Client({\n clientId,\n importData,\n options = { deps: true },\n state,\n}: {\n clientId: string;\n importData: OAuth2ClientExportInterface;\n options?: OAuth2ClientImportOptions;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.application)) {\n if (id === clientId) {\n try {\n const clientData = importData.application[id];\n delete clientData._provider;\n delete clientData._rev;\n if (options.deps) {\n await importOAuth2ClientDependencies(clientData, importData, state);\n }\n response = await putOAuth2Client({ clientId: id, clientData, state });\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${clientId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first OAuth2 Client\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\nexport async function importFirstOAuth2Client({\n importData,\n options = { deps: true },\n state,\n}: {\n importData: OAuth2ClientExportInterface;\n options?: OAuth2ClientImportOptions;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.application)) {\n try {\n const clientData = importData.application[id];\n delete clientData._provider;\n delete clientData._rev;\n if (options.deps) {\n await importOAuth2ClientDependencies(clientData, importData, state);\n }\n response = await putOAuth2Client({ clientId: id, clientData, state });\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo clients found in import data!`);\n }\n return response;\n}\n\n/**\n * Import OAuth2 Clients\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<unknown[]>} array of imported oauth2 clients\n */\nexport async function importOAuth2Clients({\n importData,\n options = { deps: true },\n state,\n}: {\n importData: OAuth2ClientExportInterface;\n options?: OAuth2ClientImportOptions;\n state: State;\n}): Promise<unknown[]> {\n const response = [];\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.application)) {\n try {\n const clientData = importData.application[id];\n delete clientData._provider;\n delete clientData._rev;\n if (options.deps) {\n await importOAuth2ClientDependencies(clientData, importData, state);\n }\n response.push(await putOAuth2Client({ clientId: id, clientData, state }));\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo clients found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OAuth2ClientOps.js","names":["getOAuth2Client","_getOAuth2Client","getOAuth2Clients","_getOAuth2Clients","putOAuth2Client","_putOAuth2Client","deleteOAuth2Client","_deleteOAuth2Client","getMetadata","debugMessage","printMessage","convertBase64TextToArray","getOAuth2Provider","getScript","putScript","state","clientId","clientData","exportOAuth2Clients","options","useStringArrays","deps","exportOAuth2Client","importOAuth2Client","importData","importFirstOAuth2Client","importOAuth2Clients","createOAuth2ClientExportTemplate","meta","script","application","clients","result","id","message","response","error","_error$response","_error$response2","_error$response2$data","status","data","validAttributes","detail","push","key","Object","keys","attribute","includes","getVerbose","type","exportOAuth2ClientDependencies","exportData","endsWith","scriptId","scriptData","_error$response3","_error$response4","_error$response4$data","errors","provider","client","_provider","_id","length","errorMessages","map","join","Error","importOAuth2ClientDependencies","imported","_rev"],"sources":["../../src/ops/OAuth2ClientOps.ts"],"sourcesContent":["import {\n getOAuth2Client as _getOAuth2Client,\n getOAuth2Clients as _getOAuth2Clients,\n putOAuth2Client as _putOAuth2Client,\n deleteOAuth2Client as _deleteOAuth2Client,\n} from '../api/OAuth2ClientApi';\nimport { ExportMetaData } from './OpsTypes';\nimport {\n NoIdObjectSkeletonInterface,\n OAuth2ClientSkeleton,\n ScriptSkeleton,\n} from '../api/ApiTypes';\nimport { getMetadata } from './utils/ExportImportUtils';\nimport { debugMessage, printMessage } from './utils/Console';\nimport { convertBase64TextToArray } from './utils/ExportImportUtils';\nimport { getOAuth2Provider } from './OAuth2ProviderOps';\nimport { State } from '../shared/State';\nimport { getScript, putScript } from './ScriptOps';\n\nexport type OAuth2Client = {\n /**\n * Get all OAuth2 clients\n * @returns {Promise<any[]>} a promise that resolves to an array of oauth2client objects\n */\n getOAuth2Clients(): Promise<OAuth2ClientSkeleton[]>;\n /**\n * Get OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n getOAuth2Client(clientId: string): Promise<OAuth2ClientSkeleton>;\n /**\n * Put OAuth2 client\n * @param {string} clientId client id\n * @param {any} clientData oauth2client object\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n putOAuth2Client(\n clientId: string,\n clientData: OAuth2ClientSkeleton\n ): Promise<OAuth2ClientSkeleton>;\n /**\n * Delete OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n deleteOAuth2Client(clientId: string): Promise<OAuth2ClientSkeleton>;\n /**\n * Export all OAuth2 clients\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\n exportOAuth2Clients(\n options?: OAuth2ClientExportOptions\n ): Promise<OAuth2ClientExportInterface>;\n /**\n * Export OAuth2 client by ID\n * @param {string} clientId oauth2 client id\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\n exportOAuth2Client(\n clientId: string,\n options?: OAuth2ClientExportOptions\n ): Promise<OAuth2ClientExportInterface>;\n /**\n * Import OAuth2 Client by ID\n * @param {string} clientId client id\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\n importOAuth2Client(\n clientId: string,\n importData: OAuth2ClientExportInterface,\n options?: OAuth2ClientImportOptions\n ): Promise<any>;\n /**\n * Import first OAuth2 Client\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\n importFirstOAuth2Client(\n importData: OAuth2ClientExportInterface,\n options?: OAuth2ClientImportOptions\n ): Promise<any>;\n /**\n * Import OAuth2 Clients\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<unknown[]>} array of imported oauth2 clients\n */\n importOAuth2Clients(\n importData: OAuth2ClientExportInterface,\n options?: OAuth2ClientImportOptions\n ): Promise<unknown[]>;\n};\n\nexport default (state: State): OAuth2Client => {\n return {\n /**\n * Get all OAuth2 clients\n * @returns {Promise<any[]>} a promise that resolves to an array of oauth2client objects\n */\n async getOAuth2Clients() {\n return getOAuth2Clients({ state });\n },\n\n /**\n * Get OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n async getOAuth2Client(clientId: string) {\n return getOAuth2Client({ clientId, state });\n },\n\n /**\n * Put OAuth2 client\n * @param {string} clientId client id\n * @param {any} clientData oauth2client object\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n async putOAuth2Client(clientId: string, clientData: OAuth2ClientSkeleton) {\n return putOAuth2Client({ clientId, clientData, state });\n },\n\n /**\n * Delete OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\n async deleteOAuth2Client(clientId: string) {\n return deleteOAuth2Client({ clientId, state });\n },\n\n /**\n * Export all OAuth2 clients\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\n async exportOAuth2Clients(\n options: OAuth2ClientExportOptions = { useStringArrays: true, deps: true }\n ): Promise<OAuth2ClientExportInterface> {\n return exportOAuth2Clients({ options, state });\n },\n\n /**\n * Export OAuth2 client by ID\n * @param {string} clientId oauth2 client id\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\n async exportOAuth2Client(\n clientId: string,\n options: OAuth2ClientExportOptions = { useStringArrays: true, deps: true }\n ): Promise<OAuth2ClientExportInterface> {\n return exportOAuth2Client({ clientId, options, state });\n },\n\n /**\n * Import OAuth2 Client by ID\n * @param {string} clientId client id\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\n async importOAuth2Client(\n clientId: string,\n importData: OAuth2ClientExportInterface,\n options: OAuth2ClientImportOptions = { deps: true }\n ) {\n return importOAuth2Client({\n clientId,\n importData,\n options,\n state,\n });\n },\n\n /**\n * Import first OAuth2 Client\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\n async importFirstOAuth2Client(\n importData: OAuth2ClientExportInterface,\n options: OAuth2ClientImportOptions = { deps: true }\n ) {\n return importFirstOAuth2Client({ importData, options, state });\n },\n\n /**\n * Import OAuth2 Clients\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<unknown[]>} array of imported oauth2 clients\n */\n async importOAuth2Clients(\n importData: OAuth2ClientExportInterface,\n options: OAuth2ClientImportOptions = { deps: true }\n ): Promise<unknown[]> {\n return importOAuth2Clients({ importData, options, state });\n },\n };\n};\n\n/**\n * OAuth2 client export options\n */\nexport interface OAuth2ClientExportOptions {\n /**\n * Use string arrays to store multi-line text in scripts.\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n}\n\n/**\n * OAuth2 client import options\n */\nexport interface OAuth2ClientImportOptions {\n /**\n * Include any dependencies (scripts).\n */\n deps: boolean;\n}\n\nexport interface OAuth2ClientExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n application: Record<string, OAuth2ClientSkeleton>;\n}\n\n/**\n * Create an empty OAuth2 client export template\n * @returns {OAuth2ClientExportInterface} an empty OAuth2 client export template\n */\nfunction createOAuth2ClientExportTemplate({\n state,\n}: {\n state: State;\n}): OAuth2ClientExportInterface {\n return {\n meta: getMetadata({ state }),\n script: {},\n application: {},\n } as OAuth2ClientExportInterface;\n}\n\n/**\n * Get all OAuth2 clients\n * @returns {Promise<any[]>} a promise that resolves to an array of oauth2client objects\n */\nexport async function getOAuth2Clients({ state }: { state: State }) {\n const clients = (await _getOAuth2Clients({ state })).result;\n return clients;\n}\n\n/**\n * Get OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\nexport async function getOAuth2Client({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n return _getOAuth2Client({ id: clientId, state });\n}\n\n/**\n * Put OAuth2 client\n * @param {string} clientId client id\n * @param {any} clientData oauth2client object\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\nexport async function putOAuth2Client({\n clientId,\n clientData,\n state,\n}: {\n clientId: string;\n clientData: OAuth2ClientSkeleton | NoIdObjectSkeletonInterface;\n state: State;\n}) {\n debugMessage({ message: `OAuth2ClientOps.putOAuth2Client: start`, state });\n try {\n const response = await _putOAuth2Client({\n id: clientId,\n clientData,\n state,\n });\n debugMessage({ message: `OAuth2ClientOps.putOAuth2Client: end`, state });\n return response;\n } catch (error) {\n if (\n error.response?.status === 400 &&\n error.response?.data?.message === 'Invalid attribute specified.'\n ) {\n const { validAttributes } = error.response.data.detail;\n validAttributes.push('_id');\n for (const key of Object.keys(clientData)) {\n if (typeof clientData[key] === 'object') {\n for (const attribute of Object.keys(clientData[key])) {\n if (!validAttributes.includes(attribute)) {\n if (state.getVerbose())\n printMessage({\n message: `\\n- Removing invalid attribute: ${key}.${attribute}`,\n type: 'warn',\n state,\n });\n delete clientData[key][attribute];\n }\n }\n }\n }\n const response = await _putOAuth2Client({\n id: clientId,\n clientData,\n state,\n });\n debugMessage({ message: `OAuth2ClientOps.putOAuth2Client: end`, state });\n return response;\n } else {\n throw error;\n }\n }\n}\n\n/**\n * Delete OAuth2 client\n * @param {string} clientId client id\n * @returns {Promise<any>} a promise that resolves to an oauth2client object\n */\nexport async function deleteOAuth2Client({\n clientId,\n state,\n}: {\n clientId: string;\n state: State;\n}) {\n return _deleteOAuth2Client({ id: clientId, state });\n}\n\n/**\n * Helper function to export dependencies of an OAuth2 Client\n * @param {unknown} clientData oauth2 client data\n * @param {OAuth2ClientExportOptions} options export options\n * @param {OAuth2ClientExportInterface} exportData export data\n */\nasync function exportOAuth2ClientDependencies(\n clientData: unknown,\n options: OAuth2ClientExportOptions,\n exportData: OAuth2ClientExportInterface,\n state: State\n) {\n debugMessage({\n message: `OAuth2ClientOps.exportOAuth2ClientDependencies: start [client=${clientData['_id']}]`,\n state,\n });\n if (clientData['overrideOAuth2ClientConfig']) {\n for (const key of Object.keys(clientData['overrideOAuth2ClientConfig'])) {\n if (key.endsWith('Script')) {\n const scriptId = clientData['overrideOAuth2ClientConfig'][key];\n if (scriptId !== '[Empty]' && !exportData.script[scriptId]) {\n try {\n debugMessage({\n message: `- ${scriptId} referenced by ${clientData['_id']}`,\n state,\n });\n const scriptData = await getScript({ scriptId, state });\n if (options.useStringArrays)\n scriptData.script = convertBase64TextToArray(\n scriptData.script as string\n );\n exportData.script[scriptId] = scriptData;\n } catch (error) {\n if (\n !(\n error.response?.status === 403 &&\n error.response?.data?.message ===\n 'This operation is not available in ForgeRock Identity Cloud.'\n )\n ) {\n error.message = `Error retrieving script ${scriptId} referenced by ${key} key in client ${clientData['_id']}: ${error.message}`;\n throw error;\n }\n }\n }\n }\n }\n }\n debugMessage({\n message: `OAuth2ClientOps.exportOAuth2ClientDependencies: end`,\n state,\n });\n}\n\n/**\n * Export all OAuth2 clients\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\nexport async function exportOAuth2Clients({\n options = { useStringArrays: true, deps: true },\n state,\n}: {\n options?: OAuth2ClientExportOptions;\n state: State;\n}): Promise<OAuth2ClientExportInterface> {\n debugMessage({\n message: `OAuth2ClientOps.exportOAuth2Clients: start`,\n state,\n });\n const exportData = createOAuth2ClientExportTemplate({ state });\n const errors = [];\n try {\n const provider = await getOAuth2Provider({ state });\n const clients = await getOAuth2Clients({ state });\n for (const client of clients) {\n try {\n client._provider = provider;\n exportData.application[client._id] = client;\n if (options.deps) {\n await exportOAuth2ClientDependencies(\n client,\n options,\n exportData,\n state\n );\n }\n } catch (error) {\n errors.push(error);\n }\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({ message: `OAuth2ClientOps.exportOAuth2Clients: end`, state });\n return exportData;\n}\n\n/**\n * Export OAuth2 client by ID\n * @param {string} clientId oauth2 client id\n * @param {OAuth2ClientExportOptions} options export options\n * @returns {OAuth2ClientExportInterface} export data\n */\nexport async function exportOAuth2Client({\n clientId,\n options = { useStringArrays: true, deps: true },\n state,\n}: {\n clientId: string;\n options?: OAuth2ClientExportOptions;\n state: State;\n}): Promise<OAuth2ClientExportInterface> {\n debugMessage({ message: `OAuth2ClientOps.exportOAuth2Client: start`, state });\n const exportData = createOAuth2ClientExportTemplate({ state });\n const errors = [];\n try {\n const clientData = await getOAuth2Client({ clientId, state });\n clientData._provider = await getOAuth2Provider({ state });\n exportData.application[clientData._id] = clientData;\n if (options.deps) {\n await exportOAuth2ClientDependencies(\n clientData,\n options,\n exportData,\n state\n );\n }\n } catch (error) {\n errors.push(error);\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Export error:\\n${errorMessages}`);\n }\n debugMessage({ message: `OAuth2ClientOps.exportOAuth2Client: end`, state });\n return exportData;\n}\n\n/**\n * Helper function to export dependencies of an OAuth2 Client\n * @param {unknown} clientData oauth2 client data\n * @param {OAuth2ClientExportInterface} importData import data\n */\nasync function importOAuth2ClientDependencies(\n clientData: unknown,\n importData: OAuth2ClientExportInterface,\n state: State\n) {\n for (const key of Object.keys(clientData['overrideOAuth2ClientConfig'])) {\n if (key.endsWith('Script')) {\n const scriptId = clientData['overrideOAuth2ClientConfig'][key];\n if (scriptId !== '[Empty]' && importData.script[scriptId]) {\n const scriptData: ScriptSkeleton = importData.script[scriptId];\n await putScript({ scriptId, scriptData, state });\n }\n }\n }\n}\n\n/**\n * Import OAuth2 Client by ID\n * @param {string} clientId client id\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\nexport async function importOAuth2Client({\n clientId,\n importData,\n options = { deps: true },\n state,\n}: {\n clientId: string;\n importData: OAuth2ClientExportInterface;\n options?: OAuth2ClientImportOptions;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.application)) {\n if (id === clientId) {\n try {\n const clientData = importData.application[id];\n delete clientData._provider;\n delete clientData._rev;\n if (options.deps) {\n await importOAuth2ClientDependencies(clientData, importData, state);\n }\n response = await putOAuth2Client({ clientId: id, clientData, state });\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\n${clientId} not found in import data!`);\n }\n return response;\n}\n\n/**\n * Import first OAuth2 Client\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n */\nexport async function importFirstOAuth2Client({\n importData,\n options = { deps: true },\n state,\n}: {\n importData: OAuth2ClientExportInterface;\n options?: OAuth2ClientImportOptions;\n state: State;\n}) {\n let response = null;\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.application)) {\n try {\n const clientData = importData.application[id];\n delete clientData._provider;\n delete clientData._rev;\n if (options.deps) {\n await importOAuth2ClientDependencies(clientData, importData, state);\n }\n response = await putOAuth2Client({ clientId: id, clientData, state });\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n break;\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo clients found in import data!`);\n }\n return response;\n}\n\n/**\n * Import OAuth2 Clients\n * @param {OAuth2ClientExportInterface} importData import data\n * @param {OAuth2ClientImportOptions} options import options\n * @returns {Promise<unknown[]>} array of imported oauth2 clients\n */\nexport async function importOAuth2Clients({\n importData,\n options = { deps: true },\n state,\n}: {\n importData: OAuth2ClientExportInterface;\n options?: OAuth2ClientImportOptions;\n state: State;\n}): Promise<unknown[]> {\n const response = [];\n const errors = [];\n const imported = [];\n for (const id of Object.keys(importData.application)) {\n try {\n const clientData = importData.application[id];\n delete clientData._provider;\n delete clientData._rev;\n if (options.deps) {\n await importOAuth2ClientDependencies(clientData, importData, state);\n }\n response.push(await putOAuth2Client({ clientId: id, clientData, state }));\n imported.push(id);\n } catch (error) {\n errors.push(error);\n }\n }\n if (errors.length) {\n const errorMessages = errors.map((error) => error.message).join('\\n');\n throw new Error(`Import error:\\n${errorMessages}`);\n }\n if (0 === imported.length) {\n throw new Error(`Import error:\\nNo clients found in import data!`);\n }\n return response;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2OidcOps.js","names":["accessToken","authorize","clientCredentialsGrant","getTokenInfo","state","amBaseUrl","data","config","clientId","clientSecret","scope"],"sources":["../../src/ops/OAuth2OidcOps.ts"],"sourcesContent":["import State from '../shared/State';\nimport {\n accessToken,\n authorize,\n clientCredentialsGrant,\n getTokenInfo,\n} from '../api/OAuth2OIDCApi';\nimport { AxiosRequestConfig } from 'axios';\n\nexport {\n accessToken,\n authorize,\n clientCredentialsGrant,\n getTokenInfo,\n} from '../api/OAuth2OIDCApi';\n\nexport default (state: State) => {\n return {\n async authorize(\n amBaseUrl: string,\n data: string,\n config: AxiosRequestConfig\n ) {\n return authorize({\n amBaseUrl,\n data,\n config,\n state,\n });\n },\n\n async accessToken(\n amBaseUrl: string,\n data: any,\n config: AxiosRequestConfig\n ) {\n return accessToken({ amBaseUrl, config, data, state });\n },\n\n async getTokenInfo(amBaseUrl: string, config: AxiosRequestConfig) {\n return getTokenInfo({\n amBaseUrl,\n config,\n state,\n });\n },\n\n async clientCredentialsGrant(\n amBaseUrl: string,\n clientId: string,\n clientSecret: string,\n scope: string\n ) {\n return clientCredentialsGrant({\n amBaseUrl,\n clientId,\n clientSecret,\n scope,\n state,\n });\n },\n };\n};\n"],"mappings":"SAEEA,WAAW,EACXC,SAAS,EACTC,sBAAsB,EACtBC,YAAY;AAAA,SAKZH,WAAW,EACXC,SAAS,EACTC,sBAAsB,EACtBC,YAAY;AAGd,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACL,MAAMH,SAASA,CACbI,SAAiB,EACjBC,IAAY,EACZC,MAA0B,EAC1B;MACA,OAAON,SAAS,CAAC;QACfI,SAAS;QACTC,IAAI;QACJC,MAAM;QACNH;MACF,CAAC,CAAC;IACJ,CAAC;IAED,MAAMJ,WAAWA,CACfK,SAAiB,EACjBC,IAAS,EACTC,MAA0B,EAC1B;MACA,OAAOP,WAAW,CAAC;QAAEK,SAAS;QAAEE,MAAM;QAAED,IAAI;QAAEF;MAAM,CAAC,CAAC;IACxD,CAAC;IAED,MAAMD,YAAYA,CAACE,SAAiB,EAAEE,MAA0B,EAAE;MAChE,OAAOJ,YAAY,CAAC;QAClBE,SAAS;QACTE,MAAM;QACNH;MACF,CAAC,CAAC;IACJ,CAAC;IAED,MAAMF,sBAAsBA,CAC1BG,SAAiB,EACjBG,QAAgB,EAChBC,YAAoB,EACpBC,KAAa,EACb;MACA,OAAOR,sBAAsB,CAAC;QAC5BG,SAAS;QACTG,QAAQ;QACRC,YAAY;QACZC,KAAK;QACLN;MACF,CAAC,CAAC;IACJ;EACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"OAuth2OidcOps.js","names":["accessToken","authorize","clientCredentialsGrant","getTokenInfo","state","amBaseUrl","data","config","clientId","clientSecret","scope"],"sources":["../../src/ops/OAuth2OidcOps.ts"],"sourcesContent":["import { State } from '../shared/State';\nimport {\n accessToken,\n authorize,\n clientCredentialsGrant,\n getTokenInfo,\n} from '../api/OAuth2OIDCApi';\nimport { AxiosRequestConfig } from 'axios';\n\nexport type OAuth2Oidc = {\n authorize(\n amBaseUrl: string,\n data: string,\n config: AxiosRequestConfig\n ): Promise<import('axios').AxiosResponse<any, any>>;\n accessToken(\n amBaseUrl: string,\n data: any,\n config: AxiosRequestConfig\n ): Promise<import('axios').AxiosResponse<any, any>>;\n getTokenInfo(amBaseUrl: string, config: AxiosRequestConfig): Promise<any>;\n clientCredentialsGrant(\n amBaseUrl: string,\n clientId: string,\n clientSecret: string,\n scope: string\n ): Promise<any>;\n};\n\nexport {\n accessToken,\n authorize,\n clientCredentialsGrant,\n getTokenInfo,\n} from '../api/OAuth2OIDCApi';\n\nexport default (state: State): OAuth2Oidc => {\n return {\n async authorize(\n amBaseUrl: string,\n data: string,\n config: AxiosRequestConfig\n ) {\n return authorize({\n amBaseUrl,\n data,\n config,\n state,\n });\n },\n\n async accessToken(\n amBaseUrl: string,\n data: any,\n config: AxiosRequestConfig\n ) {\n return accessToken({ amBaseUrl, config, data, state });\n },\n\n async getTokenInfo(amBaseUrl: string, config: AxiosRequestConfig) {\n return getTokenInfo({\n amBaseUrl,\n config,\n state,\n });\n },\n\n async clientCredentialsGrant(\n amBaseUrl: string,\n clientId: string,\n clientSecret: string,\n scope: string\n ) {\n return clientCredentialsGrant({\n amBaseUrl,\n clientId,\n clientSecret,\n scope,\n state,\n });\n },\n };\n};\n"],"mappings":"SAEEA,WAAW,EACXC,SAAS,EACTC,sBAAsB,EACtBC,YAAY;AAAA,SAyBZH,WAAW,EACXC,SAAS,EACTC,sBAAsB,EACtBC,YAAY;AAGd,gBAAgBC,KAAY,IAAiB;EAC3C,OAAO;IACL,MAAMH,SAASA,CACbI,SAAiB,EACjBC,IAAY,EACZC,MAA0B,EAC1B;MACA,OAAON,SAAS,CAAC;QACfI,SAAS;QACTC,IAAI;QACJC,MAAM;QACNH;MACF,CAAC,CAAC;IACJ,CAAC;IAED,MAAMJ,WAAWA,CACfK,SAAiB,EACjBC,IAAS,EACTC,MAA0B,EAC1B;MACA,OAAOP,WAAW,CAAC;QAAEK,SAAS;QAAEE,MAAM;QAAED,IAAI;QAAEF;MAAM,CAAC,CAAC;IACxD,CAAC;IAED,MAAMD,YAAYA,CAACE,SAAiB,EAAEE,MAA0B,EAAE;MAChE,OAAOJ,YAAY,CAAC;QAClBE,SAAS;QACTE,MAAM;QACNH;MACF,CAAC,CAAC;IACJ,CAAC;IAED,MAAMF,sBAAsBA,CAC1BG,SAAiB,EACjBG,QAAgB,EAChBC,YAAoB,EACpBC,KAAa,EACb;MACA,OAAOR,sBAAsB,CAAC;QAC5BG,SAAS;QACTG,QAAQ;QACRC,YAAY;QACZC,KAAK;QACLN;MACF,CAAC,CAAC;IACJ;EACF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OAuth2ProviderOps.js","names":["getOAuth2Provider","state"],"sources":["../../src/ops/OAuth2ProviderOps.ts"],"sourcesContent":["import { getOAuth2Provider } from '../api/OAuth2ProviderApi';\nimport State from '../shared/State';\n\nexport default (state: State) => {\n return {\n async getOAuth2Provider() {\n return getOAuth2Provider({ state });\n },\n };\n};\n\nexport { getOAuth2Provider };\n"],"mappings":"SAASA,iBAAiB;AAG1B,gBAAgBC,KAAY,IAAK;EAC/B,OAAO;IACL,MAAMD,iBAAiBA,CAAA,EAAG;MACxB,OAAOA,iBAAiB,CAAC;QAAEC;MAAM,CAAC,CAAC;IACrC;EACF,CAAC;AACH,CAAC;AAED,SAASD,iBAAiB"}
1
+ {"version":3,"file":"OAuth2ProviderOps.js","names":["getOAuth2Provider","state"],"sources":["../../src/ops/OAuth2ProviderOps.ts"],"sourcesContent":["import { getOAuth2Provider } from '../api/OAuth2ProviderApi';\nimport { State } from '../shared/State';\n\nexport type OAuth2Provider = {\n getOAuth2Provider(): Promise<any>;\n};\n\nexport default (state: State): OAuth2Provider => {\n return {\n async getOAuth2Provider() {\n return getOAuth2Provider({ state });\n },\n };\n};\n\nexport { getOAuth2Provider };\n"],"mappings":"SAASA,iBAAiB;AAO1B,gBAAgBC,KAAY,IAAqB;EAC/C,OAAO;IACL,MAAMD,iBAAiBA,CAAA,EAAG;MACxB,OAAOA,iBAAiB,CAAC;QAAEC;MAAM,CAAC,CAAC;IACrC;EACF,CAAC;AACH,CAAC;AAED,SAASD,iBAAiB"}
@@ -1 +1 @@
1
- {"version":3,"file":"OpsTypes.js","names":[],"sources":["../../src/ops/OpsTypes.ts"],"sourcesContent":["import {\n AgentSkeleton,\n AmServiceSkeleton,\n CircleOfTrustSkeleton,\n EmailTemplateSkeleton,\n NodeSkeleton,\n Saml2ProviderSkeleton,\n ScriptSkeleton,\n SocialIdpSkeleton,\n ThemeSkeleton,\n TreeSkeleton,\n} from '../api/ApiTypes';\nimport State from '../shared/State';\n\n/**\n * Tree export options\n */\nexport interface TreeExportOptions {\n /**\n * Where applicable, use string arrays to store multi-line text (e.g. scripts).\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n}\n\n/**\n * Tree import options\n */\nexport interface TreeImportOptions {\n /**\n * Generate new UUIDs for all nodes during import.\n */\n reUuid: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n}\n\nexport interface ExportMetaData {\n origin: string;\n originAmVersion: string;\n exportedBy: string;\n exportDate: string;\n exportTool: string;\n exportToolVersion: string;\n}\n\nexport interface SingleTreeExportInterface {\n meta?: ExportMetaData;\n innerNodes?: Record<string, NodeSkeleton>;\n innernodes?: Record<string, NodeSkeleton>;\n nodes: Record<string, NodeSkeleton>;\n scripts: Record<string, ScriptSkeleton>;\n emailTemplates: Record<string, EmailTemplateSkeleton>;\n socialIdentityProviders: Record<string, SocialIdpSkeleton>;\n themes: ThemeSkeleton[];\n saml2Entities: Record<string, Saml2ProviderSkeleton>;\n circlesOfTrust: Record<string, CircleOfTrustSkeleton>;\n tree: TreeSkeleton;\n}\n\nexport interface MultiTreeExportInterface {\n meta?: ExportMetaData;\n trees: Record<string, SingleTreeExportInterface>;\n}\n\nexport interface AgentExportInterface {\n meta?: Record<string, ExportMetaData>;\n agents: Record<string, AgentSkeleton>;\n}\n\nexport interface CirclesOfTrustExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n saml: {\n hosted: Record<string, Saml2ProviderSkeleton>;\n remote: Record<string, Saml2ProviderSkeleton>;\n metadata: Record<string, string[]>;\n cot: Record<string, CircleOfTrustSkeleton>;\n };\n}\n\nexport interface Saml2ExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n saml: {\n hosted: Record<string, Saml2ProviderSkeleton>;\n remote: Record<string, Saml2ProviderSkeleton>;\n metadata: Record<string, string[]>;\n };\n}\n\nexport interface ServiceExportInterface {\n meta?: Record<string, ExportMetaData>;\n service: Record<string, AmServiceSkeleton>;\n}\n\nexport interface TreeDependencyMapInterface {\n [k: string]: TreeDependencyMapInterface[];\n}\n\nexport interface TreeExportResolverInterface {\n (treeId: string, state: State): Promise<SingleTreeExportInterface>;\n}\n\nexport interface ScriptExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n}\n\nexport type NodeClassificationType =\n | 'standard'\n | 'custom'\n | 'cloud'\n | 'premium';\n\nexport type JourneyClassificationType =\n | 'standard'\n | 'custom'\n | 'cloud'\n | 'premium';\n\nexport interface MultiOpStatusInterface {\n total: number;\n successes: number;\n warnings: number;\n failures: number;\n message?: string;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"OpsTypes.js","names":[],"sources":["../../src/ops/OpsTypes.ts"],"sourcesContent":["import {\n AgentSkeleton,\n AmServiceSkeleton,\n CircleOfTrustSkeleton,\n EmailTemplateSkeleton,\n NodeSkeleton,\n Saml2ProviderSkeleton,\n ScriptSkeleton,\n SocialIdpSkeleton,\n ThemeSkeleton,\n TreeSkeleton,\n} from '../api/ApiTypes';\nimport { State } from '../shared/State';\n\n/**\n * Tree export options\n */\nexport interface TreeExportOptions {\n /**\n * Where applicable, use string arrays to store multi-line text (e.g. scripts).\n */\n useStringArrays: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n}\n\n/**\n * Tree import options\n */\nexport interface TreeImportOptions {\n /**\n * Generate new UUIDs for all nodes during import.\n */\n reUuid: boolean;\n /**\n * Include any dependencies (scripts, email templates, SAML entity providers and circles of trust, social identity providers, themes).\n */\n deps: boolean;\n}\n\nexport interface ExportMetaData {\n origin: string;\n originAmVersion: string;\n exportedBy: string;\n exportDate: string;\n exportTool: string;\n exportToolVersion: string;\n}\n\nexport interface SingleTreeExportInterface {\n meta?: ExportMetaData;\n innerNodes?: Record<string, NodeSkeleton>;\n innernodes?: Record<string, NodeSkeleton>;\n nodes: Record<string, NodeSkeleton>;\n scripts: Record<string, ScriptSkeleton>;\n emailTemplates: Record<string, EmailTemplateSkeleton>;\n socialIdentityProviders: Record<string, SocialIdpSkeleton>;\n themes: ThemeSkeleton[];\n saml2Entities: Record<string, Saml2ProviderSkeleton>;\n circlesOfTrust: Record<string, CircleOfTrustSkeleton>;\n tree: TreeSkeleton;\n}\n\nexport interface MultiTreeExportInterface {\n meta?: ExportMetaData;\n trees: Record<string, SingleTreeExportInterface>;\n}\n\nexport interface AgentExportInterface {\n meta?: Record<string, ExportMetaData>;\n agents: Record<string, AgentSkeleton>;\n}\n\nexport interface CirclesOfTrustExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n saml: {\n hosted: Record<string, Saml2ProviderSkeleton>;\n remote: Record<string, Saml2ProviderSkeleton>;\n metadata: Record<string, string[]>;\n cot: Record<string, CircleOfTrustSkeleton>;\n };\n}\n\nexport interface Saml2ExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n saml: {\n hosted: Record<string, Saml2ProviderSkeleton>;\n remote: Record<string, Saml2ProviderSkeleton>;\n metadata: Record<string, string[]>;\n };\n}\n\nexport interface ServiceExportInterface {\n meta?: Record<string, ExportMetaData>;\n service: Record<string, AmServiceSkeleton>;\n}\n\nexport interface TreeDependencyMapInterface {\n [k: string]: TreeDependencyMapInterface[];\n}\n\nexport interface TreeExportResolverInterface {\n (treeId: string, state: State): Promise<SingleTreeExportInterface>;\n}\n\nexport interface ScriptExportInterface {\n meta?: ExportMetaData;\n script: Record<string, ScriptSkeleton>;\n}\n\nexport type NodeClassificationType =\n | 'standard'\n | 'custom'\n | 'cloud'\n | 'premium';\n\nexport type JourneyClassificationType =\n | 'standard'\n | 'custom'\n | 'cloud'\n | 'premium';\n\nexport interface MultiOpStatusInterface {\n total: number;\n successes: number;\n warnings: number;\n failures: number;\n message?: string;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationOps.js","names":["queryAllManagedObjectsByType","printMessage","state","getRealmManagedOrganization","getOrganizations","realmManagedOrg","getDeploymentType","global","CLOUD_DEPLOYMENT_TYPE_KEY","getRealm","orgs","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","type","fields","pageCookie","queryAllManagedObjectsByTypeError","message","concat","newline","error","response","data","listOrganizationsTopDown"],"sources":["../../src/ops/OrganizationOps.ts"],"sourcesContent":["import { queryAllManagedObjectsByType } from '../api/IdmConfigApi';\nimport State from '../shared/State';\nimport { printMessage } from './utils/Console';\n\nexport default (state: State) => {\n return {\n /**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\n getRealmManagedOrganization() {\n return getRealmManagedOrganization({ state });\n },\n\n /**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\n async getOrganizations() {\n return getOrganizations({ state });\n },\n };\n};\n\n/**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\nexport function getRealmManagedOrganization({ state }: { state: State }) {\n let realmManagedOrg = 'organization';\n if (state.getDeploymentType() === global.CLOUD_DEPLOYMENT_TYPE_KEY) {\n realmManagedOrg = `${state.getRealm()}_organization`;\n }\n return realmManagedOrg;\n}\n\n/**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\nexport async function getOrganizations({ state }: { state: State }) {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n try {\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType({\n type: getRealmManagedOrganization({ state }),\n fields: ['name', 'parent/*/name', 'children/*/name'],\n pageCookie: result.pagedResultsCookie,\n state,\n });\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage({\n message: queryAllManagedObjectsByTypeError,\n type: 'error',\n state,\n });\n printMessage({\n message: `Error querying ${getRealmManagedOrganization({\n state,\n })} objects: ${queryAllManagedObjectsByTypeError}`,\n type: 'error',\n state,\n });\n }\n orgs.concat(result.result);\n printMessage({ message: '.', type: 'text', newline: false, state });\n } while (result.pagedResultsCookie);\n } catch (error) {\n printMessage({ message: error.response.data, type: 'error', state });\n printMessage({\n message: `Error retrieving all organizations: ${error}`,\n type: 'error',\n state,\n });\n }\n return orgs;\n}\n\n// unfinished work\nexport async function listOrganizationsTopDown({ state }: { state: State }) {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType({\n type: getRealmManagedOrganization({ state }),\n fields: ['name', 'parent/*/name', 'children/*/name'],\n pageCookie: result.pagedResultsCookie,\n state,\n });\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage({\n message: queryAllManagedObjectsByTypeError,\n type: 'error',\n state,\n });\n printMessage({\n message: `Error querying ${getRealmManagedOrganization({\n state,\n })} objects: ${queryAllManagedObjectsByTypeError}`,\n type: 'error',\n state,\n });\n }\n orgs.concat(result.result);\n printMessage({ message: '.', type: 'text', newline: false, state });\n } while (result.pagedResultsCookie);\n return orgs;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"OrganizationOps.js","names":["queryAllManagedObjectsByType","printMessage","state","getRealmManagedOrganization","getOrganizations","realmManagedOrg","getDeploymentType","global","CLOUD_DEPLOYMENT_TYPE_KEY","getRealm","orgs","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","type","fields","pageCookie","queryAllManagedObjectsByTypeError","message","concat","newline","error","response","data","listOrganizationsTopDown"],"sources":["../../src/ops/OrganizationOps.ts"],"sourcesContent":["import { queryAllManagedObjectsByType } from '../api/IdmConfigApi';\nimport { State } from '../shared/State';\nimport { printMessage } from './utils/Console';\n\nexport type Organization = {\n /**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\n getRealmManagedOrganization(): string;\n /**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\n getOrganizations(): Promise<any[]>;\n};\n\nexport default (state: State): Organization => {\n return {\n /**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\n getRealmManagedOrganization() {\n return getRealmManagedOrganization({ state });\n },\n\n /**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\n async getOrganizations() {\n return getOrganizations({ state });\n },\n };\n};\n\n/**\n * Get organization managed object type\n * @returns {String} organization managed object type in this realm\n */\nexport function getRealmManagedOrganization({ state }: { state: State }) {\n let realmManagedOrg = 'organization';\n if (state.getDeploymentType() === global.CLOUD_DEPLOYMENT_TYPE_KEY) {\n realmManagedOrg = `${state.getRealm()}_organization`;\n }\n return realmManagedOrg;\n}\n\n/**\n * Get organizations\n * @returns {Promise} promise resolving to an object containing an array of organization objects\n */\nexport async function getOrganizations({ state }: { state: State }) {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n try {\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType({\n type: getRealmManagedOrganization({ state }),\n fields: ['name', 'parent/*/name', 'children/*/name'],\n pageCookie: result.pagedResultsCookie,\n state,\n });\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage({\n message: queryAllManagedObjectsByTypeError,\n type: 'error',\n state,\n });\n printMessage({\n message: `Error querying ${getRealmManagedOrganization({\n state,\n })} objects: ${queryAllManagedObjectsByTypeError}`,\n type: 'error',\n state,\n });\n }\n orgs.concat(result.result);\n printMessage({ message: '.', type: 'text', newline: false, state });\n } while (result.pagedResultsCookie);\n } catch (error) {\n printMessage({ message: error.response.data, type: 'error', state });\n printMessage({\n message: `Error retrieving all organizations: ${error}`,\n type: 'error',\n state,\n });\n }\n return orgs;\n}\n\n// unfinished work\nexport async function listOrganizationsTopDown({ state }: { state: State }) {\n const orgs = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await queryAllManagedObjectsByType({\n type: getRealmManagedOrganization({ state }),\n fields: ['name', 'parent/*/name', 'children/*/name'],\n pageCookie: result.pagedResultsCookie,\n state,\n });\n } catch (queryAllManagedObjectsByTypeError) {\n printMessage({\n message: queryAllManagedObjectsByTypeError,\n type: 'error',\n state,\n });\n printMessage({\n message: `Error querying ${getRealmManagedOrganization({\n state,\n })} objects: ${queryAllManagedObjectsByTypeError}`,\n type: 'error',\n state,\n });\n }\n orgs.concat(result.result);\n printMessage({ message: '.', type: 'text', newline: false, state });\n } while (result.pagedResultsCookie);\n return orgs;\n}\n"],"mappings":"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"}