@rockcarver/frodo-lib 0.19.2 → 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 +5 -1
  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
@@ -1,227 +1,146 @@
1
- import { createKeyValueTable, createProgressIndicator, createTable, printMessage, stopProgressIndicator, updateProgressIndicator } from '../utils/Console';
2
- import { createNewVersionOfSecret, deleteSecret, deleteVersionOfSecret, getSecret, getSecrets, getSecretVersions, putSecret, setSecretDescription, setStatusOfVersionOfSecret, VersionOfSecretStatus } from '../../api/cloud/SecretsApi';
3
- import wordwrap from '../utils/Wordwrap';
4
- import { resolveUserName } from '../ManagedObjectOps';
5
-
6
- /**
7
- * List secrets
8
- * @param {boolean} long Long version, all the fields
9
- */
10
- export async function listSecrets(long) {
11
- let secrets = [];
12
- try {
13
- secrets = (await getSecrets()).result;
14
- secrets.sort((a, b) => a._id.localeCompare(b._id));
15
- } catch (error) {
16
- printMessage(`${error.message}`, 'error');
17
- printMessage(error.response.data, 'error');
1
+ import { createNewVersionOfSecret, deleteSecret, deleteVersionOfSecret, getSecret, getSecrets, getSecretVersions, getVersionOfSecret, putSecret, setSecretDescription, setStatusOfVersionOfSecret } from '../../api/cloud/SecretsApi';
2
+ export default class SecretsOps {
3
+ constructor(state) {
4
+ this.state = state;
18
5
  }
19
- if (long) {
20
- const table = createTable(['Id'['brightCyan'], {
21
- hAlign: 'right',
22
- content: 'Active\nVersion'['brightCyan']
23
- }, {
24
- hAlign: 'right',
25
- content: 'Loaded\nVersion'['brightCyan']
26
- }, 'Status'['brightCyan'], 'Description'['brightCyan'], 'Modifier'['brightCyan'], 'Modified'['brightCyan']]);
27
- for (const secret of secrets) {
28
- table.push([secret._id, {
29
- hAlign: 'right',
30
- content: secret.activeVersion
31
- }, {
32
- hAlign: 'right',
33
- content: secret.loadedVersion
34
- }, secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'], wordwrap(secret.description, 40),
35
- // eslint-disable-next-line no-await-in-loop
36
- await resolveUserName('teammember', secret.lastChangedBy), new Date(secret.lastChangeDate).toLocaleString()]);
37
- }
38
- printMessage(table.toString(), 'data');
39
- } else {
40
- secrets.forEach(secret => {
41
- printMessage(secret._id, 'data');
6
+
7
+ /**
8
+ * Get all secrets
9
+ * @returns {Promise<unknown[]>} a promise that resolves to an array of secrets
10
+ */
11
+ async getSecrets() {
12
+ return getSecrets({
13
+ state: this.state
42
14
  });
43
15
  }
44
- }
45
16
 
46
- /**
47
- * Create secret
48
- * @param {String} id secret id
49
- * @param {String} value secret value
50
- * @param {String} description secret description
51
- * @param {String} encoding secret encoding
52
- * @param {boolean} useInPlaceholders use secret in placeholders
53
- */
54
- export async function createSecret(id, value, description, encoding, useInPlaceholders) {
55
- createProgressIndicator(undefined, `Creating secret ${id}...`, 'indeterminate');
56
- try {
57
- await putSecret(id, value, description, encoding, useInPlaceholders);
58
- stopProgressIndicator(`Created secret ${id}`, 'success');
59
- } catch (error) {
60
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
17
+ /**
18
+ * Get secret
19
+ * @param secretId secret id/name
20
+ * @returns {Promise<unknown>} a promise that resolves to a secret
21
+ */
22
+ async getSecret(secretId) {
23
+ return getSecret({
24
+ secretId,
25
+ state: this.state
26
+ });
61
27
  }
62
- }
63
28
 
64
- /**
65
- * Set description of secret
66
- * @param {String} secretId secret id
67
- * @param {String} description secret description
68
- */
69
- export async function setDescriptionOfSecret(secretId, description) {
70
- createProgressIndicator(undefined, `Setting description of secret ${secretId}...`, 'indeterminate');
71
- try {
72
- await setSecretDescription(secretId, description);
73
- stopProgressIndicator(`Set description of secret ${secretId}`, 'success');
74
- } catch (error) {
75
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
29
+ /**
30
+ * Create secret
31
+ * @param {string} secretId secret id/name
32
+ * @param {string} value secret value
33
+ * @param {string} description secret description
34
+ * @param {string} encoding secret encoding (only `generic` is supported)
35
+ * @param {boolean} useInPlaceholders flag indicating if the secret can be used in placeholders
36
+ * @returns {Promise<unknown>} a promise that resolves to a secret
37
+ */
38
+ async putSecret(secretId, value, description, encoding = 'generic', useInPlaceholders = true) {
39
+ return putSecret({
40
+ secretId,
41
+ value,
42
+ description,
43
+ encoding,
44
+ useInPlaceholders,
45
+ state: this.state
46
+ });
76
47
  }
77
- }
78
48
 
79
- /**
80
- * Delete a secret
81
- * @param {String} secretId secret id
82
- */
83
- export async function deleteSecretCmd(secretId) {
84
- createProgressIndicator(undefined, `Deleting secret ${secretId}...`, 'indeterminate');
85
- try {
86
- await deleteSecret(secretId);
87
- stopProgressIndicator(`Deleted secret ${secretId}`, 'success');
88
- } catch (error) {
89
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
49
+ /**
50
+ * Set secret description
51
+ * @param {string} secretId secret id/name
52
+ * @param {string} description secret description
53
+ * @returns {Promise<unknown>} a promise that resolves to a status object
54
+ */
55
+ async setSecretDescription(secretId, description) {
56
+ return setSecretDescription({
57
+ secretId,
58
+ description,
59
+ state: this.state
60
+ });
90
61
  }
91
- }
92
62
 
93
- /**
94
- * Delete all secrets
95
- */
96
- export async function deleteSecretsCmd() {
97
- try {
98
- const secrets = (await getSecrets()).result;
99
- createProgressIndicator(secrets.length, `Deleting secrets...`);
100
- for (const secret of secrets) {
101
- try {
102
- // eslint-disable-next-line no-await-in-loop
103
- await deleteSecret(secret._id);
104
- updateProgressIndicator(`Deleted secret ${secret._id}`);
105
- } catch (error) {
106
- printMessage(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'error');
107
- }
108
- }
109
- stopProgressIndicator(`Secrets deleted.`);
110
- } catch (error) {
111
- printMessage(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'error');
63
+ /**
64
+ * Delete secret
65
+ * @param {string} secretId secret id/name
66
+ * @returns {Promise<unknown>} a promise that resolves to a secret object
67
+ */
68
+ async deleteSecret(secretId) {
69
+ return deleteSecret({
70
+ secretId,
71
+ state: this.state
72
+ });
112
73
  }
113
- }
114
74
 
115
- /**
116
- * List all the versions of the secret
117
- * @param {String} secretId secret id
118
- */
119
- export async function listSecretVersionsCmd(secretId) {
120
- let versions = [];
121
- try {
122
- versions = await getSecretVersions(secretId);
123
- } catch (error) {
124
- printMessage(`${error.message}`, 'error');
125
- printMessage(error.response.data, 'error');
126
- }
127
- const table = createTable([{
128
- hAlign: 'right',
129
- content: 'Version'['brightCyan']
130
- }, 'Status'['brightCyan'], 'Loaded'['brightCyan'], 'Created'['brightCyan']]);
131
- // versions.sort((a, b) => a._id.localeCompare(b._id));
132
- const statusMap = {
133
- ENABLED: 'active'['brightGreen'],
134
- DISABLED: 'inactive'['brightRed'],
135
- DESTROYED: 'deleted'['brightRed']
136
- };
137
- for (const version of versions) {
138
- table.push([{
139
- hAlign: 'right',
140
- content: version.version
141
- }, statusMap[version.status], version.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed'], new Date(version.createDate).toLocaleString()]);
75
+ /**
76
+ * Get secret versions
77
+ * @param {string} secretId secret id/name
78
+ * @returns {Promise<unknown>} a promise that resolves to an array of secret versions
79
+ */
80
+ async getSecretVersions(secretId) {
81
+ return getSecretVersions({
82
+ secretId,
83
+ state: this.state
84
+ });
142
85
  }
143
- printMessage(table.toString());
144
- }
145
-
146
- /**
147
- * Describe a secret
148
- * @param {String} secretId Secret id
149
- */
150
- export async function describeSecret(secretId) {
151
- const secret = await getSecret(secretId);
152
- const table = createKeyValueTable();
153
- table.push(['Name'['brightCyan'], secret._id]);
154
- table.push(['Active Version'['brightCyan'], secret.activeVersion]);
155
- table.push(['Loaded Version'['brightCyan'], secret.loadedVersion]);
156
- table.push(['Status'['brightCyan'], secret.loaded ? 'loaded'['brightGreen'] : 'unloaded'['brightRed']]);
157
- table.push(['Description'['brightCyan'], wordwrap(secret.description, 60)]);
158
- table.push(['Modified'['brightCyan'], new Date(secret.lastChangeDate).toLocaleString()]);
159
- table.push(['Modifier'['brightCyan'], await resolveUserName('teammember', secret.lastChangedBy)]);
160
- table.push(['Modifier UUID'['brightCyan'], secret.lastChangedBy]);
161
- table.push(['Encoding'['brightCyan'], secret.encoding]);
162
- table.push(['Use In Placeholders'['brightCyan'], secret.useInPlaceholders]);
163
- printMessage(table.toString());
164
- printMessage('\nSecret Versions:');
165
- await listSecretVersionsCmd(secretId);
166
- }
167
86
 
168
- /**
169
- * Create new version of secret
170
- * @param {String} secretId secret id
171
- * @param {String} value secret value
172
- */
173
- export async function createNewVersionOfSecretCmd(secretId, value) {
174
- createProgressIndicator(undefined, `Creating new version of secret ${secretId}...`, 'indeterminate');
175
- try {
176
- const version = await createNewVersionOfSecret(secretId, value);
177
- stopProgressIndicator(`Created version ${version.version} of secret ${secretId}`, 'success');
178
- } catch (error) {
179
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
87
+ /**
88
+ * Create new secret version
89
+ * @param {string} secretId secret id/name
90
+ * @param {string} value secret value
91
+ * @returns {Promise<unknown>} a promise that resolves to a version object
92
+ */
93
+ async createNewVersionOfSecret(secretId, value) {
94
+ return createNewVersionOfSecret({
95
+ secretId,
96
+ value,
97
+ state: this.state
98
+ });
180
99
  }
181
- }
182
100
 
183
- /**
184
- * Activate a version of a secret
185
- * @param {String} secretId secret id
186
- * @param {Number} version version of secret
187
- */
188
- export async function activateVersionOfSecret(secretId, version) {
189
- createProgressIndicator(undefined, `Activating version ${version} of secret ${secretId}...`, 'indeterminate');
190
- try {
191
- await setStatusOfVersionOfSecret(secretId, version, VersionOfSecretStatus.ENABLED);
192
- stopProgressIndicator(`Activated version ${version} of secret ${secretId}`, 'success');
193
- } catch (error) {
194
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
101
+ /**
102
+ * Get version of secret
103
+ * @param {string} secretId secret id/name
104
+ * @param {string} version secret version
105
+ * @returns {Promise<unknown>} a promise that resolves to a version object
106
+ */
107
+ async getVersionOfSecret(secretId, version) {
108
+ return getVersionOfSecret({
109
+ secretId,
110
+ version,
111
+ state: this.state
112
+ });
195
113
  }
196
- }
197
114
 
198
- /**
199
- * Deactivate a version of a secret
200
- * @param {String} secretId secret id
201
- * @param {Number} version version of secret
202
- */
203
- export async function deactivateVersionOfSecret(secretId, version) {
204
- createProgressIndicator(undefined, `Deactivating version ${version} of secret ${secretId}...`, 'indeterminate');
205
- try {
206
- await setStatusOfVersionOfSecret(secretId, version, VersionOfSecretStatus.DISABLED);
207
- stopProgressIndicator(`Deactivated version ${version} of secret ${secretId}`, 'success');
208
- } catch (error) {
209
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
115
+ /**
116
+ * Update the status of a version of a secret
117
+ * @param {string} secretId secret id/name
118
+ * @param {string} version secret version
119
+ * @param {VersionOfSecretStatus} status status
120
+ * @returns {Promise<unknown>} a promise that resolves to a status object
121
+ */
122
+ async setStatusOfVersionOfSecret(secretId, version, status) {
123
+ return setStatusOfVersionOfSecret({
124
+ secretId,
125
+ version,
126
+ status,
127
+ state: this.state
128
+ });
210
129
  }
211
- }
212
130
 
213
- /**
214
- * Delete version of secret
215
- * @param {String} secretId secret id
216
- * @param {Number} version version of secret
217
- */
218
- export async function deleteVersionOfSecretCmd(secretId, version) {
219
- createProgressIndicator(undefined, `Deleting version ${version} of secret ${secretId}...`, 'indeterminate');
220
- try {
221
- await deleteVersionOfSecret(secretId, version);
222
- stopProgressIndicator(`Deleted version ${version} of secret ${secretId}`, 'success');
223
- } catch (error) {
224
- stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
131
+ /**
132
+ * Delete version of secret
133
+ * @param {string} secretId secret id/name
134
+ * @param {string} version secret version
135
+ * @returns {Promise<unknown>} a promise that resolves to a version object
136
+ */
137
+ async deleteVersionOfSecret(secretId, version) {
138
+ return deleteVersionOfSecret({
139
+ secretId,
140
+ version,
141
+ state: this.state
142
+ });
225
143
  }
226
144
  }
145
+ export { createNewVersionOfSecret, deleteSecret, deleteVersionOfSecret, getSecret, getSecrets, getSecretVersions, putSecret, setSecretDescription, setStatusOfVersionOfSecret };
227
146
  //# sourceMappingURL=SecretsOps.js.map
@@ -1,23 +1,69 @@
1
1
  import { createManagedObject, getManagedObject } from '../../api/ManagedObjectApi';
2
2
  import { debugMessage } from '../utils/Console';
3
3
  import { hasFeature } from './FeatureOps';
4
- const moType = 'svcacct';
5
- /**
6
- * Global flag indicating if service accounts are available
7
- */
8
- let _featureAvailable = undefined;
4
+ import { getTenantURL } from '../../api/utils/ApiUtils';
5
+ export default class ServiceAccountOps {
6
+ constructor(state) {
7
+ this.state = state;
8
+ }
9
+
10
+ /**
11
+ * Check if service accounts are available
12
+ * @returns {Promise<boolean>} true if service accounts are available, false otherwise
13
+ */
14
+ async isServiceAccountsFeatureAvailable() {
15
+ return isServiceAccountsFeatureAvailable({
16
+ state: this.state
17
+ });
18
+ }
19
+
20
+ /**
21
+ * Create service account
22
+ * @param {string} name Human-readable name of service account
23
+ * @param {string} description Description of service account
24
+ * @param {'Active' | 'Inactive'} accountStatus Service account status
25
+ * @param {string[]} scopes Scopes.
26
+ * @param {JwksInterface} jwks Java Web Key Set
27
+ * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object
28
+ */
29
+ async createServiceAccount(name, description, accountStatus, scopes, jwks) {
30
+ return createServiceAccount({
31
+ name,
32
+ description,
33
+ accountStatus,
34
+ scopes,
35
+ jwks,
36
+ state: this.state
37
+ });
38
+ }
9
39
 
40
+ /**
41
+ * Get service account
42
+ * @param {string} serviceAccountId service account id
43
+ * @returns {Promise<ServiceAccount>} a promise resolving to a service account object
44
+ */
45
+ async getServiceAccount(serviceAccountId) {
46
+ return getServiceAccount({
47
+ serviceAccountId,
48
+ state: this.state
49
+ });
50
+ }
51
+ }
52
+ const moType = 'svcacct';
10
53
  /**
11
54
  * Check if service accounts are available
12
55
  * @returns {Promise<boolean>} true if service accounts are available, false otherwise
13
56
  */
14
- export async function isServiceAccountsFeatureAvailable() {
57
+ export async function isServiceAccountsFeatureAvailable({
58
+ state
59
+ }) {
15
60
  debugMessage(`ServiceAccountOps.isServiceAccountsFeatureAvailable: start`);
16
- // only perform check once
17
- if (typeof _featureAvailable !== 'undefined') return _featureAvailable;
18
- _featureAvailable = await hasFeature('service-accounts');
19
- debugMessage(`ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${_featureAvailable}`);
20
- return _featureAvailable;
61
+ const featureAvailable = await hasFeature({
62
+ featureId: 'service-accounts',
63
+ state
64
+ });
65
+ debugMessage(`ServiceAccountOps.isServiceAccountsFeatureAvailable: end, available=${featureAvailable}`);
66
+ return featureAvailable;
21
67
  }
22
68
 
23
69
  /**
@@ -27,9 +73,17 @@ export async function isServiceAccountsFeatureAvailable() {
27
73
  * @param {'Active' | 'Inactive'} accountStatus Service account status
28
74
  * @param {string[]} scopes Scopes.
29
75
  * @param {JwksInterface} jwks Java Web Key Set
76
+ * @param {State} state library state
30
77
  * @returns {Promise<IdObjectSkeletonInterface>} A promise resolving to a service account object
31
78
  */
32
- export async function createServiceAccount(name, description, accountStatus, scopes, jwks) {
79
+ export async function createServiceAccount({
80
+ name,
81
+ description,
82
+ accountStatus,
83
+ scopes,
84
+ jwks,
85
+ state
86
+ }) {
33
87
  debugMessage(`ServiceAccountOps.createServiceAccount: start`);
34
88
  const payload = {
35
89
  name,
@@ -40,12 +94,28 @@ export async function createServiceAccount(name, description, accountStatus, sco
40
94
  };
41
95
  debugMessage(`ServiceAccountOps: createServiceAccount: payload:`);
42
96
  debugMessage(payload);
43
- const result = await createManagedObject(moType, payload);
97
+ const result = await createManagedObject(getTenantURL(state.getHost()), moType, payload, state);
44
98
  debugMessage(`ServiceAccountOps.createServiceAccount: end`);
45
99
  return result;
46
100
  }
47
- export async function getServiceAccount(serviceAccountId) {
48
- const serviceAccount = await getManagedObject(moType, serviceAccountId);
101
+
102
+ /**
103
+ * Get service account
104
+ * @param {string} serviceAccountId service account id
105
+ * @param {State} state library state
106
+ * @returns {Promise} a promise resolving to a service account object
107
+ */
108
+ export async function getServiceAccount({
109
+ serviceAccountId,
110
+ state
111
+ }) {
112
+ const serviceAccount = await getManagedObject({
113
+ baseUrl: getTenantURL(state.getHost()),
114
+ type: moType,
115
+ id: serviceAccountId,
116
+ fields: ['*'],
117
+ state
118
+ });
49
119
  return serviceAccount;
50
120
  }
51
121
  //# sourceMappingURL=ServiceAccountOps.js.map
@@ -27,13 +27,14 @@
27
27
  * If 1 and 2 didn't produce any errors, you are ready to run the tests in
28
28
  * replay mode and make sure they all succeed as well:
29
29
  *
30
- * npm run test:only ServiceAccountOps
30
+ * FRODO_DEBUG=1 npm run test:only ServiceAccountOps
31
31
  *
32
32
  * Note: FRODO_DEBUG=1 is optional and enables debug logging for some output
33
33
  * in case things don't function as expected
34
34
  */
35
+ import { state } from '../../index';
36
+ import * as ServiceAccountOps from './ServiceAccountOps';
35
37
  import { createJwkRsa, createJwks, getJwkRsaPublic } from '../JoseOps';
36
- import * as ServiceAccount from './ServiceAccountOps';
37
38
  import { autoSetupPolly, defaultMatchRequestsBy } from '../../utils/AutoSetupPolly';
38
39
 
39
40
  // need to modify the default matching rules to allow the mocking to work for service account tests.
@@ -44,10 +45,12 @@ autoSetupPolly(matchConfig);
44
45
  describe.only('ServiceAccountOps', () => {
45
46
  describe('isServiceAccountsFeatureAvailable()', () => {
46
47
  test('0: Method is implemented', async () => {
47
- expect(ServiceAccount.isServiceAccountsFeatureAvailable).toBeDefined();
48
+ expect(ServiceAccountOps.isServiceAccountsFeatureAvailable).toBeDefined();
48
49
  });
49
50
  test('1: Check tenant supporting service accounts', async () => {
50
- const response = await ServiceAccount.isServiceAccountsFeatureAvailable();
51
+ const response = await ServiceAccountOps.isServiceAccountsFeatureAvailable({
52
+ state
53
+ });
51
54
  expect(response).toBeTruthy();
52
55
  });
53
56
 
@@ -65,7 +68,7 @@ describe.only('ServiceAccountOps', () => {
65
68
 
66
69
  describe('createServiceAccount()', () => {
67
70
  test('0: Method is implemented', async () => {
68
- expect(ServiceAccount.createServiceAccount).toBeDefined();
71
+ expect(ServiceAccountOps.createServiceAccount).toBeDefined();
69
72
  });
70
73
  test('1: Create service account', async () => {
71
74
  const name = 'sa';
@@ -75,7 +78,14 @@ describe.only('ServiceAccountOps', () => {
75
78
  const jwk = await createJwkRsa();
76
79
  const publicJwk = await getJwkRsaPublic(jwk);
77
80
  const jwks = createJwks(publicJwk);
78
- const response = await ServiceAccount.createServiceAccount(name, description, accountStatus, scopes, jwks);
81
+ const response = await ServiceAccountOps.createServiceAccount({
82
+ name,
83
+ description,
84
+ accountStatus,
85
+ scopes,
86
+ jwks,
87
+ state
88
+ });
79
89
  expect(response).toMatchSnapshot();
80
90
  });
81
91
  });
@@ -2,6 +2,35 @@ import { createProgressIndicator, updateProgressIndicator, stopProgressIndicator
2
2
  import { getSecrets } from '../../api/cloud/SecretsApi';
3
3
  import { getStatus, initiateRestart, RestartStatus } from '../../api/cloud/StartupApi';
4
4
  import { getVariables } from '../../api/cloud/VariablesApi';
5
+ export default class StartupOps {
6
+ constructor(state) {
7
+ this.state = state;
8
+ }
9
+
10
+ /**
11
+ * Check for updates that need applying
12
+ * @returns {Promise<Updates>} true if there are updates that need to be applied, false otherwise
13
+ */
14
+ async checkForUpdates() {
15
+ return checkForUpdates({
16
+ state: this.state
17
+ });
18
+ }
19
+
20
+ /**
21
+ * Apply updates
22
+ * @param {boolean} wait wait for the operation to complete or not
23
+ * @param {number} timeout timeout in milliseconds
24
+ * @returns {Promise<boolean>} true if successful, false otherwise
25
+ */
26
+ async applyUpdates(wait, timeout = 10 * 60 * 1000) {
27
+ return applyUpdates({
28
+ wait,
29
+ timeout,
30
+ state: this.state
31
+ });
32
+ }
33
+ }
5
34
 
6
35
  /**
7
36
  * Updates that need to be applied.
@@ -11,7 +40,9 @@ import { getVariables } from '../../api/cloud/VariablesApi';
11
40
  * Check for updates that need applying
12
41
  * @returns {Promise<boolean>} true if there are updates that need to be applied, false otherwise
13
42
  */
14
- export async function checkForUpdates() {
43
+ export async function checkForUpdates({
44
+ state
45
+ }) {
15
46
  var _updates$secrets, _updates$variables;
16
47
  const updates = {
17
48
  secrets: [],
@@ -19,8 +50,12 @@ export async function checkForUpdates() {
19
50
  };
20
51
  createProgressIndicator(undefined, `Checking for updates to apply...`, 'indeterminate');
21
52
  try {
22
- updates.secrets = (await getSecrets()).result.filter(secret => !secret.loaded);
23
- updates.variables = (await getVariables()).result.filter(variable => !variable.loaded);
53
+ updates.secrets = (await getSecrets({
54
+ state
55
+ })).result.filter(secret => !secret.loaded);
56
+ updates.variables = (await getVariables({
57
+ state
58
+ })).result.filter(variable => !variable.loaded);
24
59
  } catch (error) {
25
60
  stopProgressIndicator(`Error: ${error.response.data.code} - ${error.response.data.message}`, 'fail');
26
61
  }
@@ -39,10 +74,16 @@ export async function checkForUpdates() {
39
74
  * @param {number} timeout timeout in milliseconds
40
75
  * @returns {Promise<boolean>} true if successful, false otherwise
41
76
  */
42
- export async function applyUpdates(wait, timeout = 10 * 60 * 1000) {
77
+ export async function applyUpdates({
78
+ wait,
79
+ timeout = 10 * 60 * 1000,
80
+ state
81
+ }) {
43
82
  createProgressIndicator(undefined, `Applying updates...`, 'indeterminate');
44
83
  try {
45
- let status = await initiateRestart();
84
+ let status = await initiateRestart({
85
+ state
86
+ });
46
87
  if (wait) {
47
88
  const start = new Date().getTime();
48
89
  let runtime = 0;
@@ -51,7 +92,9 @@ export async function applyUpdates(wait, timeout = 10 * 60 * 1000) {
51
92
  while (status !== RestartStatus.ready && start + timeout > new Date().getTime()) {
52
93
  await new Promise(resolve => setTimeout(resolve, 5000));
53
94
  try {
54
- status = await getStatus();
95
+ status = await getStatus({
96
+ state
97
+ });
55
98
 
56
99
  // reset errors after successful status call
57
100
  if (errors) errors = 0;