@rockcarver/frodo-lib 1.0.0 → 2.0.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. package/CHANGELOG.md +3 -7
  2. package/cjs/api/AgentApi.js +91 -37
  3. package/cjs/api/AgentApi.js.map +1 -1
  4. package/cjs/api/AgentApi.test.js.map +1 -1
  5. package/cjs/api/ApiTypes.js.map +1 -1
  6. package/cjs/api/AuthenticateApi.js +18 -11
  7. package/cjs/api/AuthenticateApi.js.map +1 -1
  8. package/cjs/api/AuthenticateApi.test.js.map +1 -1
  9. package/cjs/api/BaseApi.js +50 -26
  10. package/cjs/api/BaseApi.js.map +1 -1
  11. package/cjs/api/CirclesOfTrustApi.js +47 -23
  12. package/cjs/api/CirclesOfTrustApi.js.map +1 -1
  13. package/cjs/api/IdmConfigApi.js +54 -21
  14. package/cjs/api/IdmConfigApi.js.map +1 -1
  15. package/cjs/api/IdmSystemApi.js +9 -6
  16. package/cjs/api/IdmSystemApi.js.map +1 -1
  17. package/cjs/api/ManagedObjectApi.js +49 -27
  18. package/cjs/api/ManagedObjectApi.js.map +1 -1
  19. package/cjs/api/NodeApi.js +71 -32
  20. package/cjs/api/NodeApi.js.map +1 -1
  21. package/cjs/api/NodeApi.test.js.map +1 -1
  22. package/cjs/api/OAuth2ClientApi.js +43 -20
  23. package/cjs/api/OAuth2ClientApi.js.map +1 -1
  24. package/cjs/api/OAuth2OIDCApi.js +74 -27
  25. package/cjs/api/OAuth2OIDCApi.js.map +1 -1
  26. package/cjs/api/OAuth2OIDCApi.test.js.map +1 -1
  27. package/cjs/api/OAuth2ProviderApi.js +10 -9
  28. package/cjs/api/OAuth2ProviderApi.js.map +1 -1
  29. package/cjs/api/PoliciesApi.js +54 -22
  30. package/cjs/api/PoliciesApi.js.map +1 -1
  31. package/cjs/api/PoliciesApi.test.js.map +1 -1
  32. package/cjs/api/PolicySetApi.js +54 -23
  33. package/cjs/api/PolicySetApi.js.map +1 -1
  34. package/cjs/api/PolicySetApi.test.js.map +1 -1
  35. package/cjs/api/RealmApi.js +73 -29
  36. package/cjs/api/RealmApi.js.map +1 -1
  37. package/cjs/api/ResourceTypesApi.js +67 -28
  38. package/cjs/api/ResourceTypesApi.js.map +1 -1
  39. package/cjs/api/ResourceTypesApi.test.js.map +1 -1
  40. package/cjs/api/Saml2Api.js +90 -122
  41. package/cjs/api/Saml2Api.js.map +1 -1
  42. package/cjs/api/ScriptApi.js +54 -23
  43. package/cjs/api/ScriptApi.js.map +1 -1
  44. package/cjs/api/ServerInfoApi.js +23 -10
  45. package/cjs/api/ServerInfoApi.js.map +1 -1
  46. package/cjs/api/ServiceApi.js +91 -42
  47. package/cjs/api/ServiceApi.js.map +1 -1
  48. package/cjs/api/SocialIdentityProvidersApi.js +70 -31
  49. package/cjs/api/SocialIdentityProvidersApi.js.map +1 -1
  50. package/cjs/api/TreeApi.js +43 -20
  51. package/cjs/api/TreeApi.js.map +1 -1
  52. package/cjs/api/TreeApi.test.js.map +1 -1
  53. package/cjs/api/cloud/EnvInfoApi.js +10 -6
  54. package/cjs/api/cloud/EnvInfoApi.js.map +1 -1
  55. package/cjs/api/cloud/FeatureApi.js +9 -6
  56. package/cjs/api/cloud/FeatureApi.js.map +1 -1
  57. package/cjs/api/cloud/LogApi.js +48 -18
  58. package/cjs/api/cloud/LogApi.js.map +1 -1
  59. package/cjs/api/cloud/SecretsApi.js +109 -35
  60. package/cjs/api/cloud/SecretsApi.js.map +1 -1
  61. package/cjs/api/cloud/SecretsApi.test.js.map +1 -1
  62. package/cjs/api/cloud/StartupApi.js +21 -10
  63. package/cjs/api/cloud/StartupApi.js.map +1 -1
  64. package/cjs/api/cloud/StartupApi.test.js.map +1 -1
  65. package/cjs/api/cloud/VariablesApi.js +52 -20
  66. package/cjs/api/cloud/VariablesApi.js.map +1 -1
  67. package/cjs/api/cloud/VariablesApi.test.js.map +1 -1
  68. package/cjs/api/utils/ApiUtils.js +2 -5
  69. package/cjs/api/utils/ApiUtils.js.map +1 -1
  70. package/cjs/api/utils/ApiUtils.test.js.map +1 -1
  71. package/cjs/index.js +22 -17
  72. package/cjs/index.js.map +1 -1
  73. package/cjs/lib/FrodoLib.js +142 -0
  74. package/cjs/lib/FrodoLib.js.map +1 -0
  75. package/cjs/ops/AdminOps.js +578 -90
  76. package/cjs/ops/AdminOps.js.map +1 -1
  77. package/cjs/ops/AgentOps.js +956 -118
  78. package/cjs/ops/AgentOps.js.map +1 -1
  79. package/cjs/ops/AgentOps.test.js.map +1 -1
  80. package/cjs/ops/AuthenticateOps.js +155 -87
  81. package/cjs/ops/AuthenticateOps.js.map +1 -1
  82. package/cjs/ops/AuthenticateOps.test.js.map +1 -1
  83. package/cjs/ops/CirclesOfTrustOps.js +334 -291
  84. package/cjs/ops/CirclesOfTrustOps.js.map +1 -1
  85. package/cjs/ops/ConnectionProfileOps.js +241 -46
  86. package/cjs/ops/ConnectionProfileOps.js.map +1 -1
  87. package/cjs/ops/ConnectionProfileOps.test.js.map +1 -1
  88. package/cjs/ops/EmailTemplateOps.js +84 -10
  89. package/cjs/ops/EmailTemplateOps.js.map +1 -1
  90. package/cjs/ops/EmailTemplateOps.test.js.map +1 -1
  91. package/cjs/ops/IdmOps.js +97 -81
  92. package/cjs/ops/IdmOps.js.map +1 -1
  93. package/cjs/ops/IdmOps.test.js.map +1 -1
  94. package/cjs/ops/IdpOps.js +275 -42
  95. package/cjs/ops/IdpOps.js.map +1 -1
  96. package/cjs/ops/IdpOps.test.js.map +1 -1
  97. package/cjs/ops/InfoOps.js +42 -27
  98. package/cjs/ops/InfoOps.js.map +1 -1
  99. package/cjs/ops/JoseOps.test.js.map +1 -1
  100. package/cjs/ops/JourneyOps.js +721 -126
  101. package/cjs/ops/JourneyOps.js.map +1 -1
  102. package/cjs/ops/JourneyOps.test.js.map +1 -1
  103. package/cjs/ops/ManagedObjectOps.js +79 -12
  104. package/cjs/ops/ManagedObjectOps.js.map +1 -1
  105. package/cjs/ops/NodeOps.js +127 -100
  106. package/cjs/ops/NodeOps.js.map +1 -1
  107. package/cjs/ops/OAuth2ClientOps.js +323 -65
  108. package/cjs/ops/OAuth2ClientOps.js.map +1 -1
  109. package/cjs/ops/OAuth2ClientOps.test.js.map +1 -1
  110. package/cjs/ops/OAuth2ProviderOps.js +20 -13
  111. package/cjs/ops/OAuth2ProviderOps.js.map +1 -1
  112. package/cjs/ops/OpsTypes.js.map +1 -1
  113. package/cjs/ops/OrganizationOps.js +67 -12
  114. package/cjs/ops/OrganizationOps.js.map +1 -1
  115. package/cjs/ops/PolicyOps.js +476 -136
  116. package/cjs/ops/PolicyOps.js.map +1 -1
  117. package/cjs/ops/PolicyOps.test.js.map +1 -1
  118. package/cjs/ops/PolicySetOps.js +402 -132
  119. package/cjs/ops/PolicySetOps.js.map +1 -1
  120. package/cjs/ops/PolicySetOps.test.js.map +1 -1
  121. package/cjs/ops/RealmOps.js +119 -84
  122. package/cjs/ops/RealmOps.js.map +1 -1
  123. package/cjs/ops/ResourceTypeOps.js +348 -95
  124. package/cjs/ops/ResourceTypeOps.js.map +1 -1
  125. package/cjs/ops/ResourceTypeOps.test.js.map +1 -1
  126. package/cjs/ops/Saml2Ops.js +407 -145
  127. package/cjs/ops/Saml2Ops.js.map +1 -1
  128. package/cjs/ops/Saml2Ops.test.js.map +1 -1
  129. package/cjs/ops/ScriptOps.js +256 -79
  130. package/cjs/ops/ScriptOps.js.map +1 -1
  131. package/cjs/ops/ScriptOps.test.js.map +1 -1
  132. package/cjs/ops/ServiceOps.js +328 -55
  133. package/cjs/ops/ServiceOps.js.map +1 -1
  134. package/cjs/ops/ThemeOps.js +349 -54
  135. package/cjs/ops/ThemeOps.js.map +1 -1
  136. package/cjs/ops/ThemeOps.test.js.map +1 -1
  137. package/cjs/ops/cloud/FeatureOps.js +57 -12
  138. package/cjs/ops/cloud/FeatureOps.js.map +1 -1
  139. package/cjs/ops/cloud/LogOps.js +136 -6
  140. package/cjs/ops/cloud/LogOps.js.map +1 -1
  141. package/cjs/ops/cloud/SecretsOps.js +230 -289
  142. package/cjs/ops/cloud/SecretsOps.js.map +1 -1
  143. package/cjs/ops/cloud/ServiceAccountOps.js +101 -18
  144. package/cjs/ops/cloud/ServiceAccountOps.js.map +1 -1
  145. package/cjs/ops/cloud/ServiceAccountOps.test.js.map +1 -1
  146. package/cjs/ops/cloud/StartupOps.js +64 -9
  147. package/cjs/ops/cloud/StartupOps.js.map +1 -1
  148. package/cjs/ops/cloud/VariablesOps.js +100 -175
  149. package/cjs/ops/cloud/VariablesOps.js.map +1 -1
  150. package/cjs/ops/utils/Console.js +9 -10
  151. package/cjs/ops/utils/Console.js.map +1 -1
  152. package/cjs/ops/utils/DataProtection.js +2 -2
  153. package/cjs/ops/utils/DataProtection.js.map +1 -1
  154. package/cjs/ops/utils/ExportImportUtils.js +35 -13
  155. package/cjs/ops/utils/ExportImportUtils.js.map +1 -1
  156. package/cjs/ops/utils/OpsUtils.js +7 -5
  157. package/cjs/ops/utils/OpsUtils.js.map +1 -1
  158. package/cjs/ops/utils/OpsUtils.test.js.map +1 -1
  159. package/cjs/ops/utils/{ValidationUtils.js → ScriptValidationUtils.js} +1 -1
  160. package/cjs/ops/utils/ScriptValidationUtils.js.map +1 -0
  161. package/cjs/ops/utils/ScriptValidationUtils.test.js.map +1 -0
  162. package/cjs/ops/utils/Version.js +9 -2
  163. package/cjs/ops/utils/Version.js.map +1 -1
  164. package/cjs/shared/State.js +455 -210
  165. package/cjs/shared/State.js.map +1 -1
  166. package/cjs/shared/State.test.js.map +1 -1
  167. package/cjs/utils/AutoSetupPolly.js +4 -1
  168. package/cjs/utils/AutoSetupPolly.js.map +1 -1
  169. package/esm/api/AgentApi.mjs +75 -27
  170. package/esm/api/AgentApi.test.mjs +319 -71
  171. package/esm/api/AuthenticateApi.mjs +15 -4
  172. package/esm/api/AuthenticateApi.test.mjs +27 -8
  173. package/esm/api/BaseApi.mjs +43 -19
  174. package/esm/api/CirclesOfTrustApi.mjs +39 -17
  175. package/esm/api/IdmConfigApi.mjs +44 -13
  176. package/esm/api/IdmSystemApi.mjs +7 -3
  177. package/esm/api/ManagedObjectApi.mjs +44 -20
  178. package/esm/api/NodeApi.mjs +59 -24
  179. package/esm/api/NodeApi.test.mjs +158 -40
  180. package/esm/api/OAuth2ClientApi.mjs +36 -15
  181. package/esm/api/OAuth2OIDCApi.mjs +69 -20
  182. package/esm/api/OAuth2OIDCApi.test.mjs +21 -3
  183. package/esm/api/OAuth2ProviderApi.mjs +8 -6
  184. package/esm/api/PoliciesApi.mjs +45 -16
  185. package/esm/api/PoliciesApi.test.mjs +63 -15
  186. package/esm/api/PolicySetApi.mjs +44 -16
  187. package/esm/api/PolicySetApi.test.mjs +48 -12
  188. package/esm/api/RealmApi.mjs +65 -24
  189. package/esm/api/ResourceTypesApi.mjs +56 -21
  190. package/esm/api/ResourceTypesApi.test.mjs +58 -14
  191. package/esm/api/Saml2Api.mjs +75 -89
  192. package/esm/api/ScriptApi.mjs +45 -17
  193. package/esm/api/ServerInfoApi.mjs +19 -6
  194. package/esm/api/ServiceApi.mjs +77 -26
  195. package/esm/api/SocialIdentityProvidersApi.mjs +58 -23
  196. package/esm/api/TreeApi.mjs +36 -15
  197. package/esm/api/TreeApi.test.mjs +129 -34
  198. package/esm/api/cloud/EnvInfoApi.mjs +8 -3
  199. package/esm/api/cloud/FeatureApi.mjs +7 -3
  200. package/esm/api/cloud/LogApi.mjs +38 -11
  201. package/esm/api/cloud/SecretsApi.mjs +89 -21
  202. package/esm/api/cloud/SecretsApi.test.mjs +193 -50
  203. package/esm/api/cloud/StartupApi.mjs +17 -6
  204. package/esm/api/cloud/StartupApi.test.mjs +28 -11
  205. package/esm/api/cloud/VariablesApi.mjs +43 -14
  206. package/esm/api/cloud/VariablesApi.test.mjs +124 -33
  207. package/esm/api/utils/ApiUtils.mjs +2 -4
  208. package/esm/api/utils/ApiUtils.test.mjs +14 -6
  209. package/esm/index.mjs +3 -4
  210. package/esm/lib/FrodoLib.mjs +127 -0
  211. package/esm/ops/AdminOps.mjs +500 -71
  212. package/esm/ops/AgentOps.mjs +773 -81
  213. package/esm/ops/AgentOps.test.mjs +296 -113
  214. package/esm/ops/AuthenticateOps.mjs +136 -64
  215. package/esm/ops/AuthenticateOps.test.mjs +7 -4
  216. package/esm/ops/CirclesOfTrustOps.mjs +278 -229
  217. package/esm/ops/ConnectionProfileOps.mjs +206 -35
  218. package/esm/ops/ConnectionProfileOps.test.mjs +25 -5
  219. package/esm/ops/EmailTemplateOps.mjs +66 -6
  220. package/esm/ops/EmailTemplateOps.test.mjs +32 -11
  221. package/esm/ops/IdmOps.mjs +60 -47
  222. package/esm/ops/IdmOps.test.mjs +54 -18
  223. package/esm/ops/IdpOps.mjs +227 -31
  224. package/esm/ops/IdpOps.test.mjs +57 -20
  225. package/esm/ops/InfoOps.mjs +36 -23
  226. package/esm/ops/JoseOps.test.mjs +8 -0
  227. package/esm/ops/JourneyOps.mjs +634 -96
  228. package/esm/ops/JourneyOps.test.mjs +73 -31
  229. package/esm/ops/ManagedObjectOps.mjs +66 -10
  230. package/esm/ops/NodeOps.mjs +108 -85
  231. package/esm/ops/OAuth2ClientOps.mjs +258 -42
  232. package/esm/ops/OAuth2ClientOps.test.mjs +80 -29
  233. package/esm/ops/OAuth2ProviderOps.mjs +11 -8
  234. package/esm/ops/OrganizationOps.mjs +56 -8
  235. package/esm/ops/PolicyOps.mjs +379 -93
  236. package/esm/ops/PolicyOps.test.mjs +180 -65
  237. package/esm/ops/PolicySetOps.mjs +311 -88
  238. package/esm/ops/PolicySetOps.test.mjs +108 -39
  239. package/esm/ops/RealmOps.mjs +85 -65
  240. package/esm/ops/ResourceTypeOps.mjs +268 -61
  241. package/esm/ops/ResourceTypeOps.test.mjs +113 -27
  242. package/esm/ops/Saml2Ops.mjs +346 -106
  243. package/esm/ops/Saml2Ops.test.mjs +117 -81
  244. package/esm/ops/ScriptOps.mjs +202 -56
  245. package/esm/ops/ScriptOps.test.mjs +64 -23
  246. package/esm/ops/ServiceOps.mjs +258 -27
  247. package/esm/ops/ThemeOps.mjs +300 -33
  248. package/esm/ops/ThemeOps.test.mjs +197 -47
  249. package/esm/ops/cloud/FeatureOps.mjs +45 -10
  250. package/esm/ops/cloud/LogOps.mjs +117 -4
  251. package/esm/ops/cloud/SecretsOps.mjs +123 -204
  252. package/esm/ops/cloud/ServiceAccountOps.mjs +85 -15
  253. package/esm/ops/cloud/ServiceAccountOps.test.mjs +16 -6
  254. package/esm/ops/cloud/StartupOps.mjs +49 -6
  255. package/esm/ops/cloud/VariablesOps.mjs +58 -120
  256. package/esm/ops/utils/Console.mjs +9 -8
  257. package/esm/ops/utils/DataProtection.mjs +2 -3
  258. package/esm/ops/utils/ExportImportUtils.mjs +28 -8
  259. package/esm/ops/utils/OpsUtils.mjs +4 -3
  260. package/esm/ops/utils/OpsUtils.test.mjs +21 -5
  261. package/esm/ops/utils/{ValidationUtils.mjs → ScriptValidationUtils.mjs} +1 -1
  262. package/esm/ops/utils/{ValidationUtils.test.mjs → ScriptValidationUtils.test.mjs} +2 -2
  263. package/esm/ops/utils/Version.mjs +8 -2
  264. package/esm/shared/State.mjs +459 -145
  265. package/esm/shared/State.test.mjs +8 -0
  266. package/esm/utils/AutoSetupPolly.mjs +4 -1
  267. package/package.json +1 -1
  268. package/types/api/AgentApi.d.ts +37 -8
  269. package/types/api/AgentApi.d.ts.map +1 -1
  270. package/types/api/ApiTypes.d.ts +12 -0
  271. package/types/api/ApiTypes.d.ts.map +1 -1
  272. package/types/api/AuthenticateApi.d.ts +13 -3
  273. package/types/api/AuthenticateApi.d.ts.map +1 -1
  274. package/types/api/BaseApi.d.ts +36 -7
  275. package/types/api/BaseApi.d.ts.map +1 -1
  276. package/types/api/CirclesOfTrustApi.d.ts +21 -7
  277. package/types/api/CirclesOfTrustApi.d.ts.map +1 -1
  278. package/types/api/IdmConfigApi.d.ts +28 -13
  279. package/types/api/IdmConfigApi.d.ts.map +1 -1
  280. package/types/api/IdmSystemApi.d.ts +4 -1
  281. package/types/api/IdmSystemApi.d.ts.map +1 -1
  282. package/types/api/ManagedObjectApi.d.ts +25 -10
  283. package/types/api/ManagedObjectApi.d.ts.map +1 -1
  284. package/types/api/NodeApi.d.ts +31 -9
  285. package/types/api/NodeApi.d.ts.map +1 -1
  286. package/types/api/OAuth2ClientApi.d.ts +18 -5
  287. package/types/api/OAuth2ClientApi.d.ts.map +1 -1
  288. package/types/api/OAuth2OIDCApi.d.ts +45 -11
  289. package/types/api/OAuth2OIDCApi.d.ts.map +1 -1
  290. package/types/api/OAuth2ProviderApi.d.ts +4 -1
  291. package/types/api/OAuth2ProviderApi.d.ts.map +1 -1
  292. package/types/api/PoliciesApi.d.ts +21 -5
  293. package/types/api/PoliciesApi.d.ts.map +1 -1
  294. package/types/api/PolicySetApi.d.ts +20 -5
  295. package/types/api/PolicySetApi.d.ts.map +1 -1
  296. package/types/api/RealmApi.d.ts +26 -10
  297. package/types/api/RealmApi.d.ts.map +1 -1
  298. package/types/api/ResourceTypesApi.d.ts +27 -8
  299. package/types/api/ResourceTypesApi.d.ts.map +1 -1
  300. package/types/api/Saml2Api.d.ts +39 -32
  301. package/types/api/Saml2Api.d.ts.map +1 -1
  302. package/types/api/ScriptApi.d.ts +21 -5
  303. package/types/api/ScriptApi.d.ts.map +1 -1
  304. package/types/api/ServerInfoApi.d.ts +9 -2
  305. package/types/api/ServerInfoApi.d.ts.map +1 -1
  306. package/types/api/ServiceApi.d.ts +41 -7
  307. package/types/api/ServiceApi.d.ts.map +1 -1
  308. package/types/api/SocialIdentityProvidersApi.d.ts +30 -8
  309. package/types/api/SocialIdentityProvidersApi.d.ts.map +1 -1
  310. package/types/api/TreeApi.d.ts +18 -4
  311. package/types/api/TreeApi.d.ts.map +1 -1
  312. package/types/api/cloud/EnvInfoApi.d.ts +4 -1
  313. package/types/api/cloud/EnvInfoApi.d.ts.map +1 -1
  314. package/types/api/cloud/FeatureApi.d.ts +4 -1
  315. package/types/api/cloud/FeatureApi.d.ts.map +1 -1
  316. package/types/api/cloud/LogApi.d.ts +24 -6
  317. package/types/api/cloud/LogApi.d.ts.map +1 -1
  318. package/types/api/cloud/SecretsApi.d.ts +50 -10
  319. package/types/api/cloud/SecretsApi.d.ts.map +1 -1
  320. package/types/api/cloud/StartupApi.d.ts +7 -2
  321. package/types/api/cloud/StartupApi.d.ts.map +1 -1
  322. package/types/api/cloud/VariablesApi.d.ts +23 -5
  323. package/types/api/cloud/VariablesApi.d.ts.map +1 -1
  324. package/types/api/utils/ApiUtils.d.ts +3 -2
  325. package/types/api/utils/ApiUtils.d.ts.map +1 -1
  326. package/types/index.d.ts +2 -2
  327. package/types/index.d.ts.map +1 -1
  328. package/types/lib/FrodoLib.d.ts +95 -0
  329. package/types/lib/FrodoLib.d.ts.map +1 -0
  330. package/types/ops/AdminOps.d.ts +71 -12
  331. package/types/ops/AdminOps.d.ts.map +1 -1
  332. package/types/ops/AgentOps.d.ts +345 -36
  333. package/types/ops/AgentOps.d.ts.map +1 -1
  334. package/types/ops/AuthenticateOps.d.ts +18 -5
  335. package/types/ops/AuthenticateOps.d.ts.map +1 -1
  336. package/types/ops/CirclesOfTrustOps.d.ts +76 -26
  337. package/types/ops/CirclesOfTrustOps.d.ts.map +1 -1
  338. package/types/ops/ConnectionProfileOps.d.ts +88 -9
  339. package/types/ops/ConnectionProfileOps.d.ts.map +1 -1
  340. package/types/ops/EmailTemplateOps.d.ts +36 -3
  341. package/types/ops/EmailTemplateOps.d.ts.map +1 -1
  342. package/types/ops/IdmOps.d.ts +28 -40
  343. package/types/ops/IdmOps.d.ts.map +1 -1
  344. package/types/ops/IdpOps.d.ts +88 -10
  345. package/types/ops/IdpOps.d.ts.map +1 -1
  346. package/types/ops/InfoOps.d.ts +12 -1
  347. package/types/ops/InfoOps.d.ts.map +1 -1
  348. package/types/ops/JourneyOps.d.ts +237 -34
  349. package/types/ops/JourneyOps.d.ts.map +1 -1
  350. package/types/ops/ManagedObjectOps.d.ts +37 -8
  351. package/types/ops/ManagedObjectOps.d.ts.map +1 -1
  352. package/types/ops/NodeOps.d.ts +61 -6
  353. package/types/ops/NodeOps.d.ts.map +1 -1
  354. package/types/ops/OAuth2ClientOps.d.ts +104 -10
  355. package/types/ops/OAuth2ClientOps.d.ts.map +1 -1
  356. package/types/ops/OAuth2ProviderOps.d.ts +8 -5
  357. package/types/ops/OAuth2ProviderOps.d.ts.map +1 -1
  358. package/types/ops/OpsTypes.d.ts +12 -1
  359. package/types/ops/OpsTypes.d.ts.map +1 -1
  360. package/types/ops/OrganizationOps.d.ts +24 -3
  361. package/types/ops/OrganizationOps.d.ts.map +1 -1
  362. package/types/ops/PolicyOps.d.ts +103 -28
  363. package/types/ops/PolicyOps.d.ts.map +1 -1
  364. package/types/ops/PolicySetOps.d.ts +76 -30
  365. package/types/ops/PolicySetOps.d.ts.map +1 -1
  366. package/types/ops/RealmOps.d.ts +34 -14
  367. package/types/ops/RealmOps.d.ts.map +1 -1
  368. package/types/ops/ResourceTypeOps.d.ts +116 -29
  369. package/types/ops/ResourceTypeOps.d.ts.map +1 -1
  370. package/types/ops/Saml2Ops.d.ts +124 -41
  371. package/types/ops/Saml2Ops.d.ts.map +1 -1
  372. package/types/ops/ScriptOps.d.ts +88 -23
  373. package/types/ops/ScriptOps.d.ts.map +1 -1
  374. package/types/ops/ServiceOps.d.ts +94 -8
  375. package/types/ops/ServiceOps.d.ts.map +1 -1
  376. package/types/ops/ThemeOps.d.ts +113 -9
  377. package/types/ops/ThemeOps.d.ts.map +1 -1
  378. package/types/ops/cloud/FeatureOps.d.ts +23 -2
  379. package/types/ops/cloud/FeatureOps.d.ts.map +1 -1
  380. package/types/ops/cloud/LogOps.d.ts +61 -3
  381. package/types/ops/cloud/LogOps.d.ts.map +1 -1
  382. package/types/ops/cloud/SecretsOps.d.ts +77 -63
  383. package/types/ops/cloud/SecretsOps.d.ts.map +1 -1
  384. package/types/ops/cloud/ServiceAccountOps.d.ts +48 -3
  385. package/types/ops/cloud/ServiceAccountOps.d.ts.map +1 -1
  386. package/types/ops/cloud/StartupOps.d.ts +25 -2
  387. package/types/ops/cloud/StartupOps.d.ts.map +1 -1
  388. package/types/ops/cloud/VariablesOps.d.ts +39 -39
  389. package/types/ops/cloud/VariablesOps.d.ts.map +1 -1
  390. package/types/ops/utils/Console.d.ts.map +1 -1
  391. package/types/ops/utils/DataProtection.d.ts +1 -1
  392. package/types/ops/utils/DataProtection.d.ts.map +1 -1
  393. package/types/ops/utils/ExportImportUtils.d.ts +29 -11
  394. package/types/ops/utils/ExportImportUtils.d.ts.map +1 -1
  395. package/types/ops/utils/OpsUtils.d.ts +4 -1
  396. package/types/ops/utils/OpsUtils.d.ts.map +1 -1
  397. package/types/ops/utils/ScriptValidationUtils.d.ts.map +1 -0
  398. package/types/ops/utils/Version.d.ts +5 -1
  399. package/types/ops/utils/Version.d.ts.map +1 -1
  400. package/types/shared/State.d.ts +80 -177
  401. package/types/shared/State.d.ts.map +1 -1
  402. package/types/utils/AutoSetupPolly.d.ts.map +1 -1
  403. package/cjs/ops/utils/ValidationUtils.js.map +0 -1
  404. package/cjs/ops/utils/ValidationUtils.test.js.map +0 -1
  405. package/types/ops/utils/ValidationUtils.d.ts.map +0 -1
  406. /package/types/ops/utils/{ValidationUtils.d.ts → ScriptValidationUtils.d.ts} +0 -0
@@ -4,24 +4,78 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createServiceAccount = createServiceAccount;
7
+ exports.default = void 0;
7
8
  exports.getServiceAccount = getServiceAccount;
8
9
  exports.isServiceAccountsFeatureAvailable = isServiceAccountsFeatureAvailable;
9
10
  var _ManagedObjectApi = require("../../api/ManagedObjectApi");
10
11
  var _Console = require("../utils/Console");
11
12
  var _FeatureOps = require("./FeatureOps");
13
+ var _ApiUtils = require("../../api/utils/ApiUtils");
12
14
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13
15
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
14
- var moType = 'svcacct';
15
- /**
16
- * Global flag indicating if service accounts are available
17
- */
18
- var _featureAvailable = undefined;
16
+ class ServiceAccountOps {
17
+ constructor(state) {
18
+ this.state = state;
19
+ }
20
+
21
+ /**
22
+ * Check if service accounts are available
23
+ * @returns {Promise<boolean>} true if service accounts are available, false otherwise
24
+ */
25
+ isServiceAccountsFeatureAvailable() {
26
+ var _this = this;
27
+ return _asyncToGenerator(function* () {
28
+ return isServiceAccountsFeatureAvailable({
29
+ state: _this.state
30
+ });
31
+ })();
32
+ }
19
33
 
34
+ /**
35
+ * Create service account
36
+ * @param {string} name Human-readable name of service account
37
+ * @param {string} description Description of service account
38
+ * @param {'Active' | 'Inactive'} accountStatus Service account status
39
+ * @param {string[]} scopes Scopes.
40
+ * @param {JwksInterface} jwks Java Web Key Set
41
+ * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object
42
+ */
43
+ createServiceAccount(name, description, accountStatus, scopes, jwks) {
44
+ var _this2 = this;
45
+ return _asyncToGenerator(function* () {
46
+ return createServiceAccount({
47
+ name,
48
+ description,
49
+ accountStatus,
50
+ scopes,
51
+ jwks,
52
+ state: _this2.state
53
+ });
54
+ })();
55
+ }
56
+
57
+ /**
58
+ * Get service account
59
+ * @param {string} serviceAccountId service account id
60
+ * @returns {Promise<ServiceAccount>} a promise resolving to a service account object
61
+ */
62
+ getServiceAccount(serviceAccountId) {
63
+ var _this3 = this;
64
+ return _asyncToGenerator(function* () {
65
+ return getServiceAccount({
66
+ serviceAccountId,
67
+ state: _this3.state
68
+ });
69
+ })();
70
+ }
71
+ }
72
+ exports.default = ServiceAccountOps;
73
+ var moType = 'svcacct';
20
74
  /**
21
75
  * Check if service accounts are available
22
76
  * @returns {Promise<boolean>} true if service accounts are available, false otherwise
23
77
  */
24
- function isServiceAccountsFeatureAvailable() {
78
+ function isServiceAccountsFeatureAvailable(_x) {
25
79
  return _isServiceAccountsFeatureAvailable.apply(this, arguments);
26
80
  }
27
81
  /**
@@ -31,24 +85,43 @@ function isServiceAccountsFeatureAvailable() {
31
85
  * @param {'Active' | 'Inactive'} accountStatus Service account status
32
86
  * @param {string[]} scopes Scopes.
33
87
  * @param {JwksInterface} jwks Java Web Key Set
88
+ * @param {State} state library state
34
89
  * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object
35
90
  */
36
91
  function _isServiceAccountsFeatureAvailable() {
37
- _isServiceAccountsFeatureAvailable = _asyncToGenerator(function* () {
92
+ _isServiceAccountsFeatureAvailable = _asyncToGenerator(function* (_ref) {
93
+ var {
94
+ state
95
+ } = _ref;
38
96
  (0, _Console.debugMessage)("ServiceAccountOps.isServiceAccountsFeatureAvailable: start");
39
- // only perform check once
40
- if (typeof _featureAvailable !== 'undefined') return _featureAvailable;
41
- _featureAvailable = yield (0, _FeatureOps.hasFeature)('service-accounts');
42
- (0, _Console.debugMessage)("ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=".concat(_featureAvailable));
43
- return _featureAvailable;
97
+ var featureAvailable = yield (0, _FeatureOps.hasFeature)({
98
+ featureId: 'service-accounts',
99
+ state
100
+ });
101
+ (0, _Console.debugMessage)("ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=".concat(featureAvailable));
102
+ return featureAvailable;
44
103
  });
45
104
  return _isServiceAccountsFeatureAvailable.apply(this, arguments);
46
105
  }
47
- function createServiceAccount(_x, _x2, _x3, _x4, _x5) {
106
+ function createServiceAccount(_x2) {
48
107
  return _createServiceAccount.apply(this, arguments);
49
108
  }
109
+ /**
110
+ * Get service account
111
+ * @param {string} serviceAccountId service account id
112
+ * @param {State} state library state
113
+ * @returns {Promise} a promise resolving to a service account object
114
+ */
50
115
  function _createServiceAccount() {
51
- _createServiceAccount = _asyncToGenerator(function* (name, description, accountStatus, scopes, jwks) {
116
+ _createServiceAccount = _asyncToGenerator(function* (_ref2) {
117
+ var {
118
+ name,
119
+ description,
120
+ accountStatus,
121
+ scopes,
122
+ jwks,
123
+ state
124
+ } = _ref2;
52
125
  (0, _Console.debugMessage)("ServiceAccountOps.createServiceAccount: start");
53
126
  var payload = {
54
127
  name,
@@ -59,18 +132,28 @@ function _createServiceAccount() {
59
132
  };
60
133
  (0, _Console.debugMessage)("ServiceAccountOps: createServiceAccount: payload:");
61
134
  (0, _Console.debugMessage)(payload);
62
- var result = yield (0, _ManagedObjectApi.createManagedObject)(moType, payload);
135
+ var result = yield (0, _ManagedObjectApi.createManagedObject)((0, _ApiUtils.getTenantURL)(state.getHost()), moType, payload, state);
63
136
  (0, _Console.debugMessage)("ServiceAccountOps.createServiceAccount: end");
64
137
  return result;
65
138
  });
66
139
  return _createServiceAccount.apply(this, arguments);
67
140
  }
68
- function getServiceAccount(_x6) {
141
+ function getServiceAccount(_x3) {
69
142
  return _getServiceAccount.apply(this, arguments);
70
143
  }
71
144
  function _getServiceAccount() {
72
- _getServiceAccount = _asyncToGenerator(function* (serviceAccountId) {
73
- var serviceAccount = yield (0, _ManagedObjectApi.getManagedObject)(moType, serviceAccountId);
145
+ _getServiceAccount = _asyncToGenerator(function* (_ref3) {
146
+ var {
147
+ serviceAccountId,
148
+ state
149
+ } = _ref3;
150
+ var serviceAccount = yield (0, _ManagedObjectApi.getManagedObject)({
151
+ baseUrl: (0, _ApiUtils.getTenantURL)(state.getHost()),
152
+ type: moType,
153
+ id: serviceAccountId,
154
+ fields: ['*'],
155
+ state
156
+ });
74
157
  return serviceAccount;
75
158
  });
76
159
  return _getServiceAccount.apply(this, arguments);
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceAccountOps.js","names":["_ManagedObjectApi","require","_Console","_FeatureOps","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","moType","_featureAvailable","isServiceAccountsFeatureAvailable","_isServiceAccountsFeatureAvailable","debugMessage","hasFeature","concat","createServiceAccount","_x","_x2","_x3","_x4","_x5","_createServiceAccount","name","description","accountStatus","scopes","jwks","payload","JSON","stringify","result","createManagedObject","getServiceAccount","_x6","_getServiceAccount","serviceAccountId","serviceAccount","getManagedObject"],"sources":["ops/cloud/ServiceAccountOps.ts"],"sourcesContent":["import {\n createManagedObject,\n getManagedObject,\n} from '../../api/ManagedObjectApi';\nimport { JwksInterface } from '../JoseOps';\nimport { IdObjectSkeletonInterface } from '../../api/ApiTypes';\nimport { debugMessage } from '../utils/Console';\nimport { hasFeature } from './FeatureOps';\n\nconst moType = 'svcacct';\n\nexport interface ServiceAccountPayloadInterface {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: string;\n}\n\nexport type ServiceAccount = IdObjectSkeletonInterface &\n ServiceAccountPayloadInterface;\n\n/**\n * Global flag indicating if service accounts are available\n */\nlet _featureAvailable: boolean = undefined;\n\n/**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\nexport async function isServiceAccountsFeatureAvailable(): Promise<boolean> {\n debugMessage(`ServiceAccountOps.isServiceAccountsFeatureAvailable: start`);\n // only perform check once\n if (typeof _featureAvailable !== 'undefined') return _featureAvailable;\n\n _featureAvailable = await hasFeature('service-accounts');\n debugMessage(\n `ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${_featureAvailable}`\n );\n return _featureAvailable;\n}\n\n/**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\nexport async function createServiceAccount(\n name: string,\n description: string,\n accountStatus: 'Active' | 'Inactive',\n scopes: string[],\n jwks: JwksInterface\n): Promise<IdObjectSkeletonInterface> {\n debugMessage(`ServiceAccountOps.createServiceAccount: start`);\n const payload: ServiceAccountPayloadInterface = {\n name,\n description,\n accountStatus,\n scopes,\n jwks: JSON.stringify(jwks),\n };\n debugMessage(`ServiceAccountOps: createServiceAccount: payload:`);\n debugMessage(payload);\n const result = await createManagedObject(moType, payload);\n debugMessage(`ServiceAccountOps.createServiceAccount: end`);\n return result;\n}\n\nexport async function getServiceAccount(serviceAccountId: string) {\n const serviceAccount = await getManagedObject(moType, serviceAccountId);\n return serviceAccount as ServiceAccount;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ServiceAccountOps.js","names":["_ManagedObjectApi","require","_Console","_FeatureOps","_ApiUtils","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ServiceAccountOps","constructor","state","isServiceAccountsFeatureAvailable","_this","createServiceAccount","name","description","accountStatus","scopes","jwks","_this2","getServiceAccount","serviceAccountId","_this3","exports","default","moType","_x","_isServiceAccountsFeatureAvailable","_ref","debugMessage","featureAvailable","hasFeature","featureId","concat","_x2","_createServiceAccount","_ref2","payload","JSON","stringify","result","createManagedObject","getTenantURL","getHost","_x3","_getServiceAccount","_ref3","serviceAccount","getManagedObject","baseUrl","type","id","fields"],"sources":["ops/cloud/ServiceAccountOps.ts"],"sourcesContent":["import {\n createManagedObject,\n getManagedObject,\n} from '../../api/ManagedObjectApi';\nimport { JwksInterface } from '../JoseOps';\nimport { IdObjectSkeletonInterface } from '../../api/ApiTypes';\nimport { debugMessage } from '../utils/Console';\nimport { hasFeature } from './FeatureOps';\nimport { getTenantURL } from '../../api/utils/ApiUtils';\nimport State from '../../shared/State';\n\nexport default class ServiceAccountOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\n async isServiceAccountsFeatureAvailable(): Promise<boolean> {\n return isServiceAccountsFeatureAvailable({ state: this.state });\n }\n\n /**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\n async createServiceAccount(\n name: string,\n description: string,\n accountStatus: 'Active' | 'Inactive',\n scopes: string[],\n jwks: JwksInterface\n ): Promise<IdObjectSkeletonInterface> {\n return createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state: this.state,\n });\n }\n\n /**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @returns {Promise<ServiceAccount>} a promise resolving to a service account object\n */\n async getServiceAccount(serviceAccountId: string) {\n return getServiceAccount({ serviceAccountId, state: this.state });\n }\n}\n\nconst moType = 'svcacct';\n\nexport interface ServiceAccountPayloadInterface {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: string;\n}\n\nexport type ServiceAccount = IdObjectSkeletonInterface &\n ServiceAccountPayloadInterface;\n\n/**\n * Check if service accounts are available\n * @returns {Promise<boolean>} true if service accounts are available, false otherwise\n */\nexport async function isServiceAccountsFeatureAvailable({\n state,\n}: {\n state: State;\n}): Promise<boolean> {\n debugMessage(`ServiceAccountOps.isServiceAccountsFeatureAvailable: start`);\n const featureAvailable = await hasFeature({\n featureId: 'service-accounts',\n state,\n });\n debugMessage(\n `ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${featureAvailable}`\n );\n return featureAvailable;\n}\n\n/**\n * Create service account\n * @param {string} name Human-readable name of service account\n * @param {string} description Description of service account\n * @param {'Active' | 'Inactive'} accountStatus Service account status\n * @param {string[]} scopes Scopes.\n * @param {JwksInterface} jwks Java Web Key Set\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object\n */\nexport async function createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n}: {\n name: string;\n description: string;\n accountStatus: 'Active' | 'Inactive';\n scopes: string[];\n jwks: JwksInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n debugMessage(`ServiceAccountOps.createServiceAccount: start`);\n const payload: ServiceAccountPayloadInterface = {\n name,\n description,\n accountStatus,\n scopes,\n jwks: JSON.stringify(jwks),\n };\n debugMessage(`ServiceAccountOps: createServiceAccount: payload:`);\n debugMessage(payload);\n const result = await createManagedObject(\n getTenantURL(state.getHost()),\n moType,\n payload,\n state\n );\n debugMessage(`ServiceAccountOps.createServiceAccount: end`);\n return result;\n}\n\n/**\n * Get service account\n * @param {string} serviceAccountId service account id\n * @param {State} state library state\n * @returns {Promise} a promise resolving to a service account object\n */\nexport async function getServiceAccount({\n serviceAccountId,\n state,\n}: {\n serviceAccountId: string;\n state: State;\n}) {\n const serviceAccount = await getManagedObject({\n baseUrl: getTenantURL(state.getHost()),\n type: moType,\n id: serviceAccountId,\n fields: ['*'],\n state,\n });\n return serviceAccount as ServiceAccount;\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceAccountOps.test.js","names":["_JoseOps","require","ServiceAccount","_interopRequireWildcard","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","matchConfig","defaultMatchRequestsBy","body","autoSetupPolly","describe","only","test","expect","isServiceAccountsFeatureAvailable","toBeDefined","response","toBeTruthy","createServiceAccount","name","description","accountStatus","scopes","jwk","createJwkRsa","publicJwk","getJwkRsaPublic","jwks","createJwks","toMatchSnapshot"],"sources":["ops/cloud/ServiceAccountOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from:\n *\n * ATTENTION: For the recording to succeed, you MUST make sure to use a\n * user account, not a service account.\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record ServiceAccountOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update ServiceAccountOps\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 ServiceAccountOps\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 { createJwkRsa, createJwks, getJwkRsaPublic } from '../JoseOps';\nimport * as ServiceAccount from './ServiceAccountOps';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for service account tests.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // service account create requests are tricky because of the public key, which is different for each request\n\nautoSetupPolly(matchConfig);\n\ndescribe.only('ServiceAccountOps', () => {\n describe('isServiceAccountsFeatureAvailable()', () => {\n test('0: Method is implemented', async () => {\n expect(ServiceAccount.isServiceAccountsFeatureAvailable).toBeDefined();\n });\n\n test('1: Check tenant supporting service accounts', async () => {\n const response = await ServiceAccount.isServiceAccountsFeatureAvailable();\n expect(response).toBeTruthy();\n });\n\n // test('2: Check tenant not supporting service accounts', async () => {\n // (context.polly as Polly).server.any().on('request', (req) => {\n // req.overrideRecordingName(\n // 'ServiceAccountOps/isServiceAccountsFeatureAvailable()/2: Check tenant not supporting service accounts'\n // );\n // console.log(`+++++polly: recordingName: ${req.recordingName}`);\n // });\n // const response = await ServiceAccount.isServiceAccountsFeatureAvailable();\n // expect(response).toBeFalsy();\n // });\n });\n\n describe('createServiceAccount()', () => {\n test('0: Method is implemented', async () => {\n expect(ServiceAccount.createServiceAccount).toBeDefined();\n });\n\n test('1: Create service account', async () => {\n const name = 'sa';\n const description = 'service account';\n const accountStatus = 'Active';\n const scopes = ['fr:am:*', 'fr:idm:*', 'fr:idc:esv:*'];\n const jwk = await createJwkRsa();\n const publicJwk = await getJwkRsaPublic(jwk);\n const jwks = createJwks(publicJwk);\n const response = await ServiceAccount.createServiceAccount(\n name,\n description,\n accountStatus,\n scopes,\n jwks\n );\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":";;AAkCA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AAGoC,SAAAI,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAX,GAAA,EAAAY,GAAA,cAAAC,IAAA,GAAAN,GAAA,CAAAP,GAAA,EAAAY,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAN,MAAA,CAAAM,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAR,OAAA,CAAAM,KAAA,YAAAG,OAAA,CAAAT,OAAA,CAAAM,KAAA,EAAAI,IAAA,CAAAR,KAAA,EAAAC,MAAA;AAAA,SAAAQ,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAT,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAa,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAZ,MAAAI,KAAA,IAAAR,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAG,KAAA,cAAAH,OAAAc,GAAA,IAAAnB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAc,GAAA,KAAAf,KAAA,CAAAgB,SAAA,YAvCpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA;AACA,IAAMC,WAAW,GAAG,IAAAC,sCAAsB,EAAC,CAAC;AAC5CD,WAAW,CAACE,IAAI,GAAG,KAAK,CAAC,CAAC;;AAE1B,IAAAC,8BAAc,EAACH,WAAW,CAAC;AAE3BI,QAAQ,CAACC,IAAI,CAAC,mBAAmB,EAAE,MAAM;EACvCD,QAAQ,CAAC,qCAAqC,EAAE,MAAM;IACpDE,IAAI,CAAC,0BAA0B,eAAAd,iBAAA,CAAE,aAAY;MAC3Ce,MAAM,CAACrD,cAAc,CAACsD,iCAAiC,CAAC,CAACC,WAAW,CAAC,CAAC;IACxE,CAAC,EAAC;IAEFH,IAAI,CAAC,6CAA6C,eAAAd,iBAAA,CAAE,aAAY;MAC9D,IAAMkB,QAAQ,SAASxD,cAAc,CAACsD,iCAAiC,CAAC,CAAC;MACzED,MAAM,CAACG,QAAQ,CAAC,CAACC,UAAU,CAAC,CAAC;IAC/B,CAAC,EAAC;;IAEF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EACF,CAAC,CAAC;;EAEFP,QAAQ,CAAC,wBAAwB,EAAE,MAAM;IACvCE,IAAI,CAAC,0BAA0B,eAAAd,iBAAA,CAAE,aAAY;MAC3Ce,MAAM,CAACrD,cAAc,CAAC0D,oBAAoB,CAAC,CAACH,WAAW,CAAC,CAAC;IAC3D,CAAC,EAAC;IAEFH,IAAI,CAAC,2BAA2B,eAAAd,iBAAA,CAAE,aAAY;MAC5C,IAAMqB,IAAI,GAAG,IAAI;MACjB,IAAMC,WAAW,GAAG,iBAAiB;MACrC,IAAMC,aAAa,GAAG,QAAQ;MAC9B,IAAMC,MAAM,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,cAAc,CAAC;MACtD,IAAMC,GAAG,SAAS,IAAAC,qBAAY,EAAC,CAAC;MAChC,IAAMC,SAAS,SAAS,IAAAC,wBAAe,EAACH,GAAG,CAAC;MAC5C,IAAMI,IAAI,GAAG,IAAAC,mBAAU,EAACH,SAAS,CAAC;MAClC,IAAMT,QAAQ,SAASxD,cAAc,CAAC0D,oBAAoB,CACxDC,IAAI,EACJC,WAAW,EACXC,aAAa,EACbC,MAAM,EACNK,IACF,CAAC;MACDd,MAAM,CAACG,QAAQ,CAAC,CAACa,eAAe,CAAC,CAAC;IACpC,CAAC,EAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ServiceAccountOps.test.js","names":["_index","require","ServiceAccountOps","_interopRequireWildcard","_JoseOps","_AutoSetupPolly","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","matchConfig","defaultMatchRequestsBy","body","autoSetupPolly","describe","only","test","expect","isServiceAccountsFeatureAvailable","toBeDefined","response","state","toBeTruthy","createServiceAccount","name","description","accountStatus","scopes","jwk","createJwkRsa","publicJwk","getJwkRsaPublic","jwks","createJwks","toMatchSnapshot"],"sources":["ops/cloud/ServiceAccountOps.test.ts"],"sourcesContent":["/**\n * To record and update snapshots, you must perform 3 steps in order:\n *\n * 1. Record API responses\n *\n * To record API responses, you must call the test:record script and\n * override all the connection state variables required to connect to the\n * env to record from:\n *\n * ATTENTION: For the recording to succeed, you MUST make sure to use a\n * user account, not a service account.\n *\n * FRODO_DEBUG=1 FRODO_HOST=frodo-dev npm run test:record ServiceAccountOps\n *\n * The above command assumes that you have a connection profile for\n * 'frodo-dev' on your development machine.\n *\n * 2. Update snapshots\n *\n * After recording API responses, you must manually update/create snapshots\n * by running:\n *\n * FRODO_DEBUG=1 npm run test:update ServiceAccountOps\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 * FRODO_DEBUG=1 npm run test:only ServiceAccountOps\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 ServiceAccountOps from './ServiceAccountOps';\nimport { createJwkRsa, createJwks, getJwkRsaPublic } from '../JoseOps';\nimport {\n autoSetupPolly,\n defaultMatchRequestsBy,\n} from '../../utils/AutoSetupPolly';\n\n// need to modify the default matching rules to allow the mocking to work for service account tests.\nconst matchConfig = defaultMatchRequestsBy();\nmatchConfig.body = false; // service account create requests are tricky because of the public key, which is different for each request\n\nautoSetupPolly(matchConfig);\n\ndescribe.only('ServiceAccountOps', () => {\n describe('isServiceAccountsFeatureAvailable()', () => {\n test('0: Method is implemented', async () => {\n expect(ServiceAccountOps.isServiceAccountsFeatureAvailable).toBeDefined();\n });\n\n test('1: Check tenant supporting service accounts', async () => {\n const response =\n await ServiceAccountOps.isServiceAccountsFeatureAvailable({\n state,\n });\n expect(response).toBeTruthy();\n });\n\n // test('2: Check tenant not supporting service accounts', async () => {\n // (context.polly as Polly).server.any().on('request', (req) => {\n // req.overrideRecordingName(\n // 'ServiceAccountOps/isServiceAccountsFeatureAvailable()/2: Check tenant not supporting service accounts'\n // );\n // console.log(`+++++polly: recordingName: ${req.recordingName}`);\n // });\n // const response = await ServiceAccount.isServiceAccountsFeatureAvailable();\n // expect(response).toBeFalsy();\n // });\n });\n\n describe('createServiceAccount()', () => {\n test('0: Method is implemented', async () => {\n expect(ServiceAccountOps.createServiceAccount).toBeDefined();\n });\n\n test('1: Create service account', async () => {\n const name = 'sa';\n const description = 'service account';\n const accountStatus = 'Active';\n const scopes = ['fr:am:*', 'fr:idm:*', 'fr:idc:esv:*'];\n const jwk = await createJwkRsa();\n const publicJwk = await getJwkRsaPublic(jwk);\n const jwks = createJwks(publicJwk);\n const response = await ServiceAccountOps.createServiceAccount({\n name,\n description,\n accountStatus,\n scopes,\n jwks,\n state,\n });\n expect(response).toMatchSnapshot();\n });\n });\n});\n"],"mappings":"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"}
@@ -5,20 +5,60 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.applyUpdates = applyUpdates;
7
7
  exports.checkForUpdates = checkForUpdates;
8
+ exports.default = void 0;
8
9
  var _Console = require("../utils/Console");
9
10
  var _SecretsApi = require("../../api/cloud/SecretsApi");
10
11
  var _StartupApi = require("../../api/cloud/StartupApi");
11
12
  var _VariablesApi = require("../../api/cloud/VariablesApi");
12
13
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13
14
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
15
+ class StartupOps {
16
+ constructor(state) {
17
+ this.state = state;
18
+ }
19
+
20
+ /**
21
+ * Check for updates that need applying
22
+ * @returns {Promise<Updates>} true if there are updates that need to be applied, false otherwise
23
+ */
24
+ checkForUpdates() {
25
+ var _this = this;
26
+ return _asyncToGenerator(function* () {
27
+ return checkForUpdates({
28
+ state: _this.state
29
+ });
30
+ })();
31
+ }
32
+
33
+ /**
34
+ * Apply updates
35
+ * @param {boolean} wait wait for the operation to complete or not
36
+ * @param {number} timeout timeout in milliseconds
37
+ * @returns {Promise<boolean>} true if successful, false otherwise
38
+ */
39
+ applyUpdates(wait) {
40
+ var _arguments = arguments,
41
+ _this2 = this;
42
+ return _asyncToGenerator(function* () {
43
+ var timeout = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : 10 * 60 * 1000;
44
+ return applyUpdates({
45
+ wait,
46
+ timeout,
47
+ state: _this2.state
48
+ });
49
+ })();
50
+ }
51
+ }
52
+
14
53
  /**
15
54
  * Updates that need to be applied.
16
55
  */
56
+ exports.default = StartupOps;
17
57
  /**
18
58
  * Check for updates that need applying
19
59
  * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise
20
60
  */
21
- function checkForUpdates() {
61
+ function checkForUpdates(_x) {
22
62
  return _checkForUpdates.apply(this, arguments);
23
63
  }
24
64
  /**
@@ -28,16 +68,23 @@ function checkForUpdates() {
28
68
  * @returns {Promise<boolean>} true if successful, false otherwise
29
69
  */
30
70
  function _checkForUpdates() {
31
- _checkForUpdates = _asyncToGenerator(function* () {
71
+ _checkForUpdates = _asyncToGenerator(function* (_ref) {
32
72
  var _updates$secrets, _updates$variables;
73
+ var {
74
+ state
75
+ } = _ref;
33
76
  var updates = {
34
77
  secrets: [],
35
78
  variables: []
36
79
  };
37
80
  (0, _Console.createProgressIndicator)(undefined, "Checking for updates to apply...", 'indeterminate');
38
81
  try {
39
- updates.secrets = (yield (0, _SecretsApi.getSecrets)()).result.filter(secret => !secret.loaded);
40
- updates.variables = (yield (0, _VariablesApi.getVariables)()).result.filter(variable => !variable.loaded);
82
+ updates.secrets = (yield (0, _SecretsApi.getSecrets)({
83
+ state
84
+ })).result.filter(secret => !secret.loaded);
85
+ updates.variables = (yield (0, _VariablesApi.getVariables)({
86
+ state
87
+ })).result.filter(variable => !variable.loaded);
41
88
  } catch (error) {
42
89
  (0, _Console.stopProgressIndicator)("Error: ".concat(error.response.data.code, " - ").concat(error.response.data.message), 'fail');
43
90
  }
@@ -51,15 +98,21 @@ function _checkForUpdates() {
51
98
  });
52
99
  return _checkForUpdates.apply(this, arguments);
53
100
  }
54
- function applyUpdates(_x) {
101
+ function applyUpdates(_x2) {
55
102
  return _applyUpdates.apply(this, arguments);
56
103
  }
57
104
  function _applyUpdates() {
58
- _applyUpdates = _asyncToGenerator(function* (wait) {
59
- var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10 * 60 * 1000;
105
+ _applyUpdates = _asyncToGenerator(function* (_ref2) {
106
+ var {
107
+ wait,
108
+ timeout = 10 * 60 * 1000,
109
+ state
110
+ } = _ref2;
60
111
  (0, _Console.createProgressIndicator)(undefined, "Applying updates...", 'indeterminate');
61
112
  try {
62
- var status = yield (0, _StartupApi.initiateRestart)();
113
+ var status = yield (0, _StartupApi.initiateRestart)({
114
+ state
115
+ });
63
116
  if (wait) {
64
117
  var start = new Date().getTime();
65
118
  var runtime = 0;
@@ -68,7 +121,9 @@ function _applyUpdates() {
68
121
  while (status !== _StartupApi.RestartStatus.ready && start + timeout > new Date().getTime()) {
69
122
  yield new Promise(resolve => setTimeout(resolve, 5000));
70
123
  try {
71
- status = yield (0, _StartupApi.getStatus)();
124
+ status = yield (0, _StartupApi.getStatus)({
125
+ state
126
+ });
72
127
 
73
128
  // reset errors after successful status call
74
129
  if (errors) errors = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"StartupOps.js","names":["_Console","require","_SecretsApi","_StartupApi","_VariablesApi","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","checkForUpdates","_checkForUpdates","_updates$secrets","_updates$variables","updates","secrets","variables","createProgressIndicator","getSecrets","result","filter","secret","loaded","getVariables","variable","stopProgressIndicator","concat","response","data","code","message","updateCount","length","applyUpdates","_x","_applyUpdates","wait","timeout","status","initiateRestart","start","Date","getTime","runtime","errors","maxErrors","RestartStatus","ready","setTimeout","getStatus","updateProgressIndicator","Math","round","_error$response","_error$response$data","_error$response2","_error$response2$data"],"sources":["ops/cloud/StartupOps.ts"],"sourcesContent":["import {\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from '../utils/Console';\nimport { getSecrets } from '../../api/cloud/SecretsApi';\nimport {\n getStatus,\n initiateRestart,\n RestartStatus,\n} from '../../api/cloud/StartupApi';\nimport { getVariables } from '../../api/cloud/VariablesApi';\n\n/**\n * Updates that need to be applied.\n */\nexport interface Updates {\n /**\n * Array of secrets that need applying\n */\n secrets?: unknown[];\n /**\n * Array of variables that need applying\n */\n variables?: unknown[];\n}\n\n/**\n * Check for updates that need applying\n * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise\n */\nexport async function checkForUpdates(): Promise<Updates> {\n const updates: Updates = { secrets: [], variables: [] };\n createProgressIndicator(\n undefined,\n `Checking for updates to apply...`,\n 'indeterminate'\n );\n try {\n updates.secrets = (await getSecrets()).result.filter(\n (secret: { loaded: unknown }) => !secret.loaded\n );\n updates.variables = (await getVariables()).result.filter(\n (variable: { loaded: unknown }) => !variable.loaded\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n const updateCount = updates.secrets?.length + updates.variables?.length || 0;\n if (updateCount > 0) {\n stopProgressIndicator(\n `${updateCount} update(s) need to be applied`,\n 'success'\n );\n } else {\n stopProgressIndicator(`No updates need to be applied`, 'success');\n }\n return updates;\n}\n\n/**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function applyUpdates(wait: boolean, timeout = 10 * 60 * 1000) {\n createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');\n try {\n let status = await initiateRestart();\n if (wait) {\n const start = new Date().getTime();\n let runtime = 0;\n let errors = 0;\n const maxErrors = 3;\n while (\n status !== RestartStatus.ready &&\n start + timeout > new Date().getTime()\n ) {\n await new Promise((resolve) => setTimeout(resolve, 5000));\n try {\n status = await getStatus();\n\n // reset errors after successful status call\n if (errors) errors = 0;\n\n runtime = new Date().getTime() - start;\n updateProgressIndicator(`${status} (${Math.round(runtime / 1000)}s)`);\n } catch (error) {\n errors++;\n if (errors > maxErrors) {\n throw error;\n }\n runtime = new Date().getTime() - start;\n updateProgressIndicator(\n `${error.message} - retry ${errors}/${maxErrors} (${Math.round(\n runtime / 1000\n )}s)`\n );\n }\n }\n if (runtime < timeout) {\n stopProgressIndicator(\n `Updates applied in ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'success'\n );\n return true;\n } else {\n stopProgressIndicator(\n `Updates timed out after ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'warn'\n );\n return false;\n }\n } else {\n stopProgressIndicator(\n `Updates are being applied. Changes may take up to 10 minutes to propagate, during which time you will not be able to make further updates.`,\n 'success'\n );\n return true;\n }\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response?.data?.code || error} - ${\n error.response?.data?.message\n }`,\n 'fail'\n );\n return false;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"StartupOps.js","names":["_Console","require","_SecretsApi","_StartupApi","_VariablesApi","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","StartupOps","constructor","state","checkForUpdates","_this","applyUpdates","wait","_arguments","_this2","timeout","length","exports","default","_x","_checkForUpdates","_ref","_updates$secrets","_updates$variables","updates","secrets","variables","createProgressIndicator","getSecrets","result","filter","secret","loaded","getVariables","variable","stopProgressIndicator","concat","response","data","code","message","updateCount","_x2","_applyUpdates","_ref2","status","initiateRestart","start","Date","getTime","runtime","errors","maxErrors","RestartStatus","ready","setTimeout","getStatus","updateProgressIndicator","Math","round","_error$response","_error$response$data","_error$response2","_error$response2$data"],"sources":["ops/cloud/StartupOps.ts"],"sourcesContent":["import {\n createProgressIndicator,\n updateProgressIndicator,\n stopProgressIndicator,\n} from '../utils/Console';\nimport { getSecrets } from '../../api/cloud/SecretsApi';\nimport {\n getStatus,\n initiateRestart,\n RestartStatus,\n} from '../../api/cloud/StartupApi';\nimport { getVariables } from '../../api/cloud/VariablesApi';\nimport State from '../../shared/State';\n\nexport default class StartupOps {\n state: State;\n constructor(state: State) {\n this.state = state;\n }\n\n /**\n * Check for updates that need applying\n * @returns {Promise<Updates>} true if there are updates that need to be applied, false otherwise\n */\n async checkForUpdates(): Promise<Updates> {\n return checkForUpdates({ state: this.state });\n }\n\n /**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\n async applyUpdates(wait: boolean, timeout: number = 10 * 60 * 1000) {\n return applyUpdates({\n wait,\n timeout,\n state: this.state,\n });\n }\n}\n\n/**\n * Updates that need to be applied.\n */\nexport interface Updates {\n /**\n * Array of secrets that need applying\n */\n secrets?: unknown[];\n /**\n * Array of variables that need applying\n */\n variables?: unknown[];\n}\n\n/**\n * Check for updates that need applying\n * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise\n */\nexport async function checkForUpdates({\n state,\n}: {\n state: State;\n}): Promise<Updates> {\n const updates: Updates = { secrets: [], variables: [] };\n createProgressIndicator(\n undefined,\n `Checking for updates to apply...`,\n 'indeterminate'\n );\n try {\n updates.secrets = (await getSecrets({ state })).result.filter(\n (secret: { loaded: unknown }) => !secret.loaded\n );\n updates.variables = (await getVariables({ state })).result.filter(\n (variable: { loaded: unknown }) => !variable.loaded\n );\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response.data.code} - ${error.response.data.message}`,\n 'fail'\n );\n }\n const updateCount = updates.secrets?.length + updates.variables?.length || 0;\n if (updateCount > 0) {\n stopProgressIndicator(\n `${updateCount} update(s) need to be applied`,\n 'success'\n );\n } else {\n stopProgressIndicator(`No updates need to be applied`, 'success');\n }\n return updates;\n}\n\n/**\n * Apply updates\n * @param {boolean} wait wait for the operation to complete or not\n * @param {number} timeout timeout in milliseconds\n * @returns {Promise<boolean>} true if successful, false otherwise\n */\nexport async function applyUpdates({\n wait,\n timeout = 10 * 60 * 1000,\n state,\n}: {\n wait: boolean;\n timeout?: number;\n state: State;\n}) {\n createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');\n try {\n let status = await initiateRestart({ state });\n if (wait) {\n const start = new Date().getTime();\n let runtime = 0;\n let errors = 0;\n const maxErrors = 3;\n while (\n status !== RestartStatus.ready &&\n start + timeout > new Date().getTime()\n ) {\n await new Promise((resolve) => setTimeout(resolve, 5000));\n try {\n status = await getStatus({ state });\n\n // reset errors after successful status call\n if (errors) errors = 0;\n\n runtime = new Date().getTime() - start;\n updateProgressIndicator(`${status} (${Math.round(runtime / 1000)}s)`);\n } catch (error) {\n errors++;\n if (errors > maxErrors) {\n throw error;\n }\n runtime = new Date().getTime() - start;\n updateProgressIndicator(\n `${error.message} - retry ${errors}/${maxErrors} (${Math.round(\n runtime / 1000\n )}s)`\n );\n }\n }\n if (runtime < timeout) {\n stopProgressIndicator(\n `Updates applied in ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'success'\n );\n return true;\n } else {\n stopProgressIndicator(\n `Updates timed out after ${Math.round(\n runtime / 1000\n )}s with final status: ${status}`,\n 'warn'\n );\n return false;\n }\n } else {\n stopProgressIndicator(\n `Updates are being applied. Changes may take up to 10 minutes to propagate, during which time you will not be able to make further updates.`,\n 'success'\n );\n return true;\n }\n } catch (error) {\n stopProgressIndicator(\n `Error: ${error.response?.data?.code || error} - ${\n error.response?.data?.message\n }`,\n 'fail'\n );\n return false;\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAH,OAAA;AAA4D,SAAAI,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAG7C,MAAMC,UAAU,CAAC;EAE9BC,WAAWA,CAACC,KAAY,EAAE;IACxB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;EACQC,eAAeA,CAAA,EAAqB;IAAA,IAAAC,KAAA;IAAA,OAAAZ,iBAAA;MACxC,OAAOW,eAAe,CAAC;QAAED,KAAK,EAAEE,KAAI,CAACF;MAAM,CAAC,CAAC;IAAC;EAChD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACQG,YAAYA,CAACC,IAAa,EAAoC;IAAA,IAAAC,UAAA,GAAAX,SAAA;MAAAY,MAAA;IAAA,OAAAhB,iBAAA;MAAA,IAAlCiB,OAAe,GAAAF,UAAA,CAAAG,MAAA,QAAAH,UAAA,QAAAR,SAAA,GAAAQ,UAAA,MAAG,EAAE,GAAG,EAAE,GAAG,IAAI;MAChE,OAAOF,YAAY,CAAC;QAClBC,IAAI;QACJG,OAAO;QACPP,KAAK,EAAEM,MAAI,CAACN;MACd,CAAC,CAAC;IAAC;EACL;AACF;;AAEA;AACA;AACA;AAFAS,OAAA,CAAAC,OAAA,GAAAZ,UAAA;AAcA;AACA;AACA;AACA;AAHA,SAIsBG,eAAeA,CAAAU,EAAA;EAAA,OAAAC,gBAAA,CAAAjB,KAAA,OAAAD,SAAA;AAAA;AAoCrC;AACA;AACA;AACA;AACA;AACA;AALA,SAAAkB,iBAAA;EAAAA,gBAAA,GAAAtB,iBAAA,CApCO,WAAAuB,IAAA,EAIc;IAAA,IAAAC,gBAAA,EAAAC,kBAAA;IAAA,IAJiB;MACpCf;IAGF,CAAC,GAAAa,IAAA;IACC,IAAMG,OAAgB,GAAG;MAAEC,OAAO,EAAE,EAAE;MAAEC,SAAS,EAAE;IAAG,CAAC;IACvD,IAAAC,gCAAuB,EACrBtB,SAAS,sCAET,eACF,CAAC;IACD,IAAI;MACFmB,OAAO,CAACC,OAAO,GAAG,OAAO,IAAAG,sBAAU,EAAC;QAAEpB;MAAM,CAAC,CAAC,EAAEqB,MAAM,CAACC,MAAM,CAC1DC,MAA2B,IAAK,CAACA,MAAM,CAACC,MAC3C,CAAC;MACDR,OAAO,CAACE,SAAS,GAAG,OAAO,IAAAO,0BAAY,EAAC;QAAEzB;MAAM,CAAC,CAAC,EAAEqB,MAAM,CAACC,MAAM,CAC9DI,QAA6B,IAAK,CAACA,QAAQ,CAACF,MAC/C,CAAC;IACH,CAAC,CAAC,OAAOtC,KAAK,EAAE;MACd,IAAAyC,8BAAqB,YAAAC,MAAA,CACT1C,KAAK,CAAC2C,QAAQ,CAACC,IAAI,CAACC,IAAI,SAAAH,MAAA,CAAM1C,KAAK,CAAC2C,QAAQ,CAACC,IAAI,CAACE,OAAO,GACnE,MACF,CAAC;IACH;IACA,IAAMC,WAAW,GAAG,EAAAnB,gBAAA,GAAAE,OAAO,CAACC,OAAO,cAAAH,gBAAA,uBAAfA,gBAAA,CAAiBN,MAAM,MAAAO,kBAAA,GAAGC,OAAO,CAACE,SAAS,cAAAH,kBAAA,uBAAjBA,kBAAA,CAAmBP,MAAM,KAAI,CAAC;IAC5E,IAAIyB,WAAW,GAAG,CAAC,EAAE;MACnB,IAAAN,8BAAqB,KAAAC,MAAA,CAChBK,WAAW,oCACd,SACF,CAAC;IACH,CAAC,MAAM;MACL,IAAAN,8BAAqB,mCAAkC,SAAS,CAAC;IACnE;IACA,OAAOX,OAAO;EAChB,CAAC;EAAA,OAAAJ,gBAAA,CAAAjB,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBS,YAAYA,CAAA+B,GAAA;EAAA,OAAAC,aAAA,CAAAxC,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAAyC,cAAA;EAAAA,aAAA,GAAA7C,iBAAA,CAA3B,WAAA8C,KAAA,EAQJ;IAAA,IARgC;MACjChC,IAAI;MACJG,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;MACxBP;IAKF,CAAC,GAAAoC,KAAA;IACC,IAAAjB,gCAAuB,EAACtB,SAAS,yBAAyB,eAAe,CAAC;IAC1E,IAAI;MACF,IAAIwC,MAAM,SAAS,IAAAC,2BAAe,EAAC;QAAEtC;MAAM,CAAC,CAAC;MAC7C,IAAII,IAAI,EAAE;QACR,IAAMmC,KAAK,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QAClC,IAAIC,OAAO,GAAG,CAAC;QACf,IAAIC,MAAM,GAAG,CAAC;QACd,IAAMC,SAAS,GAAG,CAAC;QACnB,OACEP,MAAM,KAAKQ,yBAAa,CAACC,KAAK,IAC9BP,KAAK,GAAGhC,OAAO,GAAG,IAAIiC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,EACtC;UACA,MAAM,IAAIrD,OAAO,CAAEV,OAAO,IAAKqE,UAAU,CAACrE,OAAO,EAAE,IAAI,CAAC,CAAC;UACzD,IAAI;YACF2D,MAAM,SAAS,IAAAW,qBAAS,EAAC;cAAEhD;YAAM,CAAC,CAAC;;YAEnC;YACA,IAAI2C,MAAM,EAAEA,MAAM,GAAG,CAAC;YAEtBD,OAAO,GAAG,IAAIF,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,KAAK;YACtC,IAAAU,gCAAuB,KAAArB,MAAA,CAAIS,MAAM,QAAAT,MAAA,CAAKsB,IAAI,CAACC,KAAK,CAACT,OAAO,GAAG,IAAI,CAAC,OAAI,CAAC;UACvE,CAAC,CAAC,OAAOxD,KAAK,EAAE;YACdyD,MAAM,EAAE;YACR,IAAIA,MAAM,GAAGC,SAAS,EAAE;cACtB,MAAM1D,KAAK;YACb;YACAwD,OAAO,GAAG,IAAIF,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,GAAGF,KAAK;YACtC,IAAAU,gCAAuB,KAAArB,MAAA,CAClB1C,KAAK,CAAC8C,OAAO,eAAAJ,MAAA,CAAYe,MAAM,OAAAf,MAAA,CAAIgB,SAAS,QAAAhB,MAAA,CAAKsB,IAAI,CAACC,KAAK,CAC5DT,OAAO,GAAG,IACZ,CAAC,OACH,CAAC;UACH;QACF;QACA,IAAIA,OAAO,GAAGnC,OAAO,EAAE;UACrB,IAAAoB,8BAAqB,wBAAAC,MAAA,CACGsB,IAAI,CAACC,KAAK,CAC9BT,OAAO,GAAG,IACZ,CAAC,2BAAAd,MAAA,CAAwBS,MAAM,GAC/B,SACF,CAAC;UACD,OAAO,IAAI;QACb,CAAC,MAAM;UACL,IAAAV,8BAAqB,6BAAAC,MAAA,CACQsB,IAAI,CAACC,KAAK,CACnCT,OAAO,GAAG,IACZ,CAAC,2BAAAd,MAAA,CAAwBS,MAAM,GAC/B,MACF,CAAC;UACD,OAAO,KAAK;QACd;MACF,CAAC,MAAM;QACL,IAAAV,8BAAqB,gJAEnB,SACF,CAAC;QACD,OAAO,IAAI;MACb;IACF,CAAC,CAAC,OAAOzC,KAAK,EAAE;MAAA,IAAAkE,eAAA,EAAAC,oBAAA,EAAAC,gBAAA,EAAAC,qBAAA;MACd,IAAA5B,8BAAqB,YAAAC,MAAA,CACT,EAAAwB,eAAA,GAAAlE,KAAK,CAAC2C,QAAQ,cAAAuB,eAAA,wBAAAC,oBAAA,GAAdD,eAAA,CAAgBtB,IAAI,cAAAuB,oBAAA,uBAApBA,oBAAA,CAAsBtB,IAAI,KAAI7C,KAAK,SAAA0C,MAAA,EAAA0B,gBAAA,GAC3CpE,KAAK,CAAC2C,QAAQ,cAAAyB,gBAAA,wBAAAC,qBAAA,GAAdD,gBAAA,CAAgBxB,IAAI,cAAAyB,qBAAA,uBAApBA,qBAAA,CAAsBvB,OAAO,GAE/B,MACF,CAAC;MACD,OAAO,KAAK;IACd;EACF,CAAC;EAAA,OAAAG,aAAA,CAAAxC,KAAA,OAAAD,SAAA;AAAA"}