@northern.tech/store 0.30.0 → 0.30.2

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 (446) hide show
  1. package/dist/actions.cjs +21 -1130
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +212 -221
  4. package/dist/actions.d.ts +212 -220
  5. package/dist/actions.js +21 -18
  6. package/dist/actions.js.map +1 -1
  7. package/dist/api/general-api.cjs +61 -459
  8. package/dist/api/general-api.cjs.map +1 -1
  9. package/dist/api/general-api.d.cts +15 -17
  10. package/dist/api/general-api.d.ts +15 -17
  11. package/dist/api/general-api.js +56 -15
  12. package/dist/api/general-api.js.map +1 -1
  13. package/dist/api/users-api.cjs +32 -469
  14. package/dist/api/users-api.cjs.map +1 -1
  15. package/dist/api/users-api.d.cts +19 -14
  16. package/dist/api/users-api.d.ts +19 -13
  17. package/dist/api/users-api.js +30 -12
  18. package/dist/api/users-api.js.map +1 -1
  19. package/dist/appSlice/constants.cjs +190 -144
  20. package/dist/appSlice/constants.cjs.map +1 -1
  21. package/dist/appSlice/constants.d.cts +2 -159
  22. package/dist/appSlice/constants.d.ts +2 -159
  23. package/dist/appSlice/constants.js +181 -29
  24. package/dist/appSlice/constants.js.map +1 -1
  25. package/dist/appSlice/index.cjs +147 -178
  26. package/dist/appSlice/index.cjs.map +1 -1
  27. package/dist/appSlice/index.d.cts +2 -148
  28. package/dist/appSlice/index.d.ts +2 -148
  29. package/dist/appSlice/index.js +142 -18
  30. package/dist/appSlice/index.js.map +1 -1
  31. package/dist/appSlice/mocks.cjs +17 -191
  32. package/dist/appSlice/mocks.cjs.map +1 -1
  33. package/dist/appSlice/mocks.d.cts +33 -36
  34. package/dist/appSlice/mocks.d.ts +33 -36
  35. package/dist/appSlice/mocks.js +17 -25
  36. package/dist/appSlice/mocks.js.map +1 -1
  37. package/dist/appSlice/selectors.cjs +49 -91
  38. package/dist/appSlice/selectors.cjs.map +1 -1
  39. package/dist/appSlice/selectors.d.cts +216 -230
  40. package/dist/appSlice/selectors.d.ts +216 -230
  41. package/dist/appSlice/selectors.js +29 -44
  42. package/dist/appSlice/selectors.js.map +1 -1
  43. package/dist/appSlice/thunks.cjs +6 -4636
  44. package/dist/appSlice/thunks.d.cts +59 -62
  45. package/dist/appSlice/thunks.d.ts +59 -62
  46. package/dist/appSlice/thunks.js +2 -45
  47. package/dist/auth.cjs +68 -433
  48. package/dist/auth.cjs.map +1 -1
  49. package/dist/auth.d.cts +14 -14
  50. package/dist/auth.d.ts +14 -14
  51. package/dist/auth.js +65 -18
  52. package/dist/auth.js.map +1 -1
  53. package/dist/chunk-CKQMccvm.cjs +28 -0
  54. package/dist/commonConstants.cjs +14 -393
  55. package/dist/commonConstants.d.cts +2 -83
  56. package/dist/commonConstants.d.ts +2 -83
  57. package/dist/commonConstants.js +2 -33
  58. package/dist/commonSelectors.cjs +284 -1269
  59. package/dist/commonSelectors.cjs.map +1 -1
  60. package/dist/commonSelectors.d.cts +1623 -1416
  61. package/dist/commonSelectors.d.ts +1623 -1416
  62. package/dist/commonSelectors.js +277 -51
  63. package/dist/commonSelectors.js.map +1 -1
  64. package/dist/constants-5cdwz1iH.d.ts +160 -0
  65. package/dist/constants-BWEsNG5c.d.ts +28 -0
  66. package/dist/constants-BciiayPt.d.ts +17 -0
  67. package/dist/constants-C5AU0mCY.d.ts +157 -0
  68. package/dist/constants-CIx3fnBv.d.cts +17 -0
  69. package/dist/constants-CNhpIMME.d.cts +93 -0
  70. package/dist/constants-Cpgyuy_r.d.ts +57 -0
  71. package/dist/constants-D41U_jbR.d.cts +160 -0
  72. package/dist/constants-DK7fI3Rh.d.cts +28 -0
  73. package/dist/constants-DPLHhjVN.d.cts +157 -0
  74. package/dist/constants-DrwXHsJ1.d.ts +120 -0
  75. package/dist/constants-G3wymKIl.d.cts +57 -0
  76. package/dist/constants-MPLfugsi.d.cts +120 -0
  77. package/dist/constants-y2XVLQWf.d.ts +93 -0
  78. package/dist/constants.cjs +784 -972
  79. package/dist/constants.cjs.map +1 -1
  80. package/dist/constants.d.cts +8 -14
  81. package/dist/constants.d.ts +8 -14
  82. package/dist/constants.js +674 -232
  83. package/dist/constants.js.map +1 -1
  84. package/dist/deploymentsSlice/constants.cjs +15 -214
  85. package/dist/deploymentsSlice/constants.d.cts +2 -163
  86. package/dist/deploymentsSlice/constants.d.ts +2 -163
  87. package/dist/deploymentsSlice/constants.js +2 -35
  88. package/dist/deploymentsSlice/index.cjs +168 -302
  89. package/dist/deploymentsSlice/index.cjs.map +1 -1
  90. package/dist/deploymentsSlice/index.d.cts +2 -157
  91. package/dist/deploymentsSlice/index.d.ts +2 -157
  92. package/dist/deploymentsSlice/index.js +161 -18
  93. package/dist/deploymentsSlice/index.js.map +1 -1
  94. package/dist/deploymentsSlice/mocks.cjs +178 -433
  95. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  96. package/dist/deploymentsSlice/mocks.d.cts +176 -178
  97. package/dist/deploymentsSlice/mocks.d.ts +176 -178
  98. package/dist/deploymentsSlice/mocks.js +178 -144
  99. package/dist/deploymentsSlice/mocks.js.map +1 -1
  100. package/dist/deploymentsSlice/selectors.cjs +44 -223
  101. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  102. package/dist/deploymentsSlice/selectors.d.cts +73 -87
  103. package/dist/deploymentsSlice/selectors.d.ts +73 -87
  104. package/dist/deploymentsSlice/selectors.js +37 -25
  105. package/dist/deploymentsSlice/selectors.js.map +1 -1
  106. package/dist/deploymentsSlice/thunks.cjs +16 -4654
  107. package/dist/deploymentsSlice/thunks.d.cts +223 -236
  108. package/dist/deploymentsSlice/thunks.d.ts +223 -236
  109. package/dist/deploymentsSlice/thunks.js +2 -65
  110. package/dist/devicesSlice/constants.cjs +9 -68
  111. package/dist/devicesSlice/constants.d.cts +2 -37
  112. package/dist/devicesSlice/constants.d.ts +2 -37
  113. package/dist/devicesSlice/constants.js +2 -23
  114. package/dist/devicesSlice/index.cjs +215 -225
  115. package/dist/devicesSlice/index.cjs.map +1 -1
  116. package/dist/devicesSlice/index.d.cts +2 -202
  117. package/dist/devicesSlice/index.d.ts +2 -202
  118. package/dist/devicesSlice/index.js +209 -18
  119. package/dist/devicesSlice/index.js.map +1 -1
  120. package/dist/devicesSlice/mocks.cjs +146 -339
  121. package/dist/devicesSlice/mocks.cjs.map +1 -1
  122. package/dist/devicesSlice/mocks.d.cts +150 -148
  123. package/dist/devicesSlice/mocks.d.ts +150 -148
  124. package/dist/devicesSlice/mocks.js +145 -132
  125. package/dist/devicesSlice/mocks.js.map +1 -1
  126. package/dist/devicesSlice/selectors.cjs +145 -539
  127. package/dist/devicesSlice/selectors.cjs.map +1 -1
  128. package/dist/devicesSlice/selectors.d.cts +685 -699
  129. package/dist/devicesSlice/selectors.d.ts +685 -699
  130. package/dist/devicesSlice/selectors.js +123 -59
  131. package/dist/devicesSlice/selectors.js.map +1 -1
  132. package/dist/devicesSlice/thunks.cjs +48 -4718
  133. package/dist/devicesSlice/thunks.d.cts +800 -752
  134. package/dist/devicesSlice/thunks.d.ts +800 -752
  135. package/dist/devicesSlice/thunks.js +2 -129
  136. package/dist/index-4eaLEXy_.d.cts +152 -0
  137. package/dist/index-BEVkIiNa.d.cts +95 -0
  138. package/dist/index-BP0uAq36.d.cts +159 -0
  139. package/dist/index-Bwx9jEiL.d.cts +71 -0
  140. package/dist/index-CJkrL0oA.d.ts +64 -0
  141. package/dist/index-CO-py5d4.d.ts +95 -0
  142. package/dist/index-CTt-eIY8.d.cts +154 -0
  143. package/dist/index-CkwVnIqd.d.ts +159 -0
  144. package/dist/index-Cvkvcz4r.d.ts +115 -0
  145. package/dist/index-DJSlDPRX.d.ts +71 -0
  146. package/dist/index-DqyY6oZ3.d.ts +205 -0
  147. package/dist/index-DtePEQPT.d.ts +152 -0
  148. package/dist/index-Dv3Hfxk_.d.ts +154 -0
  149. package/dist/index-FyYBBeN-.d.cts +115 -0
  150. package/dist/index-Lz5JsJ6O.d.cts +205 -0
  151. package/dist/index-UPc3wvVd.d.cts +64 -0
  152. package/dist/liststatehook.cjs +83 -948
  153. package/dist/liststatehook.cjs.map +1 -1
  154. package/dist/liststatehook.d.cts +29 -239
  155. package/dist/liststatehook.d.ts +29 -239
  156. package/dist/liststatehook.js +77 -85
  157. package/dist/liststatehook.js.map +1 -1
  158. package/dist/locationutils.cjs +459 -916
  159. package/dist/locationutils.cjs.map +1 -1
  160. package/dist/locationutils.d.cts +244 -110
  161. package/dist/locationutils.d.ts +244 -110
  162. package/dist/locationutils.js +440 -44
  163. package/dist/locationutils.js.map +1 -1
  164. package/dist/monitorSlice/constants.cjs +0 -19
  165. package/dist/monitorSlice/constants.d.cts +2 -5
  166. package/dist/monitorSlice/constants.d.ts +2 -5
  167. package/dist/monitorSlice/constants.js +1 -2
  168. package/dist/monitorSlice/index.cjs +65 -82
  169. package/dist/monitorSlice/index.cjs.map +1 -1
  170. package/dist/monitorSlice/index.d.cts +2 -94
  171. package/dist/monitorSlice/index.d.ts +2 -94
  172. package/dist/monitorSlice/index.js +59 -18
  173. package/dist/monitorSlice/index.js.map +1 -1
  174. package/dist/monitorSlice/mocks.cjs +50 -126
  175. package/dist/monitorSlice/mocks.cjs.map +1 -1
  176. package/dist/monitorSlice/mocks.d.cts +49 -45
  177. package/dist/monitorSlice/mocks.d.ts +49 -45
  178. package/dist/monitorSlice/mocks.js +49 -62
  179. package/dist/monitorSlice/mocks.js.map +1 -1
  180. package/dist/monitorSlice/selectors.cjs +5 -29
  181. package/dist/monitorSlice/selectors.cjs.map +1 -1
  182. package/dist/monitorSlice/selectors.d.cts +10 -1
  183. package/dist/monitorSlice/selectors.d.ts +10 -1
  184. package/dist/monitorSlice/selectors.js +5 -6
  185. package/dist/monitorSlice/selectors.js.map +1 -1
  186. package/dist/monitorSlice/thunks.cjs +83 -1914
  187. package/dist/monitorSlice/thunks.cjs.map +1 -1
  188. package/dist/monitorSlice/thunks.d.cts +112 -120
  189. package/dist/monitorSlice/thunks.d.ts +112 -120
  190. package/dist/monitorSlice/thunks.js +78 -42
  191. package/dist/monitorSlice/thunks.js.map +1 -1
  192. package/dist/onboardingSlice/constants.cjs +44 -69
  193. package/dist/onboardingSlice/constants.cjs.map +1 -1
  194. package/dist/onboardingSlice/constants.d.cts +2 -26
  195. package/dist/onboardingSlice/constants.d.ts +2 -26
  196. package/dist/onboardingSlice/constants.js +43 -7
  197. package/dist/onboardingSlice/constants.js.map +1 -1
  198. package/dist/onboardingSlice/index.cjs +53 -73
  199. package/dist/onboardingSlice/index.cjs.map +1 -1
  200. package/dist/onboardingSlice/index.d.cts +2 -62
  201. package/dist/onboardingSlice/index.d.ts +2 -62
  202. package/dist/onboardingSlice/index.js +47 -13
  203. package/dist/onboardingSlice/index.js.map +1 -1
  204. package/dist/onboardingSlice/mocks.cjs +12 -81
  205. package/dist/onboardingSlice/mocks.cjs.map +1 -1
  206. package/dist/onboardingSlice/mocks.d.cts +14 -15
  207. package/dist/onboardingSlice/mocks.d.ts +14 -15
  208. package/dist/onboardingSlice/mocks.js +12 -15
  209. package/dist/onboardingSlice/mocks.js.map +1 -1
  210. package/dist/onboardingSlice/selectors.cjs +5 -29
  211. package/dist/onboardingSlice/selectors.cjs.map +1 -1
  212. package/dist/onboardingSlice/selectors.d.cts +6 -1
  213. package/dist/onboardingSlice/selectors.d.ts +6 -1
  214. package/dist/onboardingSlice/selectors.js +5 -6
  215. package/dist/onboardingSlice/selectors.js.map +1 -1
  216. package/dist/onboardingSlice/thunks.cjs +8 -4746
  217. package/dist/onboardingSlice/thunks.d.cts +124 -143
  218. package/dist/onboardingSlice/thunks.d.ts +124 -143
  219. package/dist/onboardingSlice/thunks.js +2 -49
  220. package/dist/organizationSlice/constants.cjs +11 -95
  221. package/dist/organizationSlice/constants.d.cts +2 -91
  222. package/dist/organizationSlice/constants.d.ts +2 -91
  223. package/dist/organizationSlice/constants.js +2 -27
  224. package/dist/organizationSlice/index.cjs +113 -152
  225. package/dist/organizationSlice/index.cjs.map +1 -1
  226. package/dist/organizationSlice/index.d.cts +2 -74
  227. package/dist/organizationSlice/index.d.ts +2 -74
  228. package/dist/organizationSlice/index.js +106 -18
  229. package/dist/organizationSlice/index.js.map +1 -1
  230. package/dist/organizationSlice/mocks.cjs +215 -406
  231. package/dist/organizationSlice/mocks.cjs.map +1 -1
  232. package/dist/organizationSlice/mocks.d.cts +209 -212
  233. package/dist/organizationSlice/mocks.d.ts +209 -212
  234. package/dist/organizationSlice/mocks.js +214 -184
  235. package/dist/organizationSlice/mocks.js.map +1 -1
  236. package/dist/organizationSlice/selectors.cjs +97 -474
  237. package/dist/organizationSlice/selectors.cjs.map +1 -1
  238. package/dist/organizationSlice/selectors.d.cts +381 -389
  239. package/dist/organizationSlice/selectors.d.ts +381 -389
  240. package/dist/organizationSlice/selectors.js +78 -50
  241. package/dist/organizationSlice/selectors.js.map +1 -1
  242. package/dist/organizationSlice/thunks.cjs +43 -5150
  243. package/dist/organizationSlice/thunks.d.cts +638 -649
  244. package/dist/organizationSlice/thunks.d.ts +638 -649
  245. package/dist/organizationSlice/thunks.js +2 -119
  246. package/dist/organizationSlice/types.cjs +0 -19
  247. package/dist/organizationSlice/types.d.cts +2 -88
  248. package/dist/organizationSlice/types.d.ts +2 -88
  249. package/dist/organizationSlice/types.js +1 -1
  250. package/dist/releasesSlice/constants.cjs +17 -41
  251. package/dist/releasesSlice/constants.cjs.map +1 -1
  252. package/dist/releasesSlice/constants.d.cts +2 -15
  253. package/dist/releasesSlice/constants.d.ts +2 -15
  254. package/dist/releasesSlice/constants.js +13 -14
  255. package/dist/releasesSlice/constants.js.map +1 -1
  256. package/dist/releasesSlice/index.cjs +106 -179
  257. package/dist/releasesSlice/index.cjs.map +1 -1
  258. package/dist/releasesSlice/index.d.cts +2 -113
  259. package/dist/releasesSlice/index.d.ts +2 -113
  260. package/dist/releasesSlice/index.js +100 -18
  261. package/dist/releasesSlice/index.js.map +1 -1
  262. package/dist/releasesSlice/mocks.cjs +44 -220
  263. package/dist/releasesSlice/mocks.cjs.map +1 -1
  264. package/dist/releasesSlice/mocks.d.cts +63 -61
  265. package/dist/releasesSlice/mocks.d.ts +63 -61
  266. package/dist/releasesSlice/mocks.js +43 -59
  267. package/dist/releasesSlice/mocks.js.map +1 -1
  268. package/dist/releasesSlice/selectors.cjs +44 -439
  269. package/dist/releasesSlice/selectors.cjs.map +1 -1
  270. package/dist/releasesSlice/selectors.d.cts +268 -280
  271. package/dist/releasesSlice/selectors.d.ts +268 -280
  272. package/dist/releasesSlice/selectors.js +31 -36
  273. package/dist/releasesSlice/selectors.js.map +1 -1
  274. package/dist/releasesSlice/thunks.cjs +422 -2175
  275. package/dist/releasesSlice/thunks.cjs.map +1 -1
  276. package/dist/releasesSlice/thunks.d.cts +305 -307
  277. package/dist/releasesSlice/thunks.d.ts +305 -307
  278. package/dist/releasesSlice/thunks.js +413 -65
  279. package/dist/releasesSlice/thunks.js.map +1 -1
  280. package/dist/selectors.cjs +136 -1530
  281. package/dist/selectors.d.cts +10 -36
  282. package/dist/selectors.d.ts +10 -36
  283. package/dist/selectors.js +10 -280
  284. package/dist/sockethook.cjs +140 -515
  285. package/dist/sockethook.cjs.map +1 -1
  286. package/dist/sockethook.d.cts +25 -9
  287. package/dist/sockethook.d.ts +25 -9
  288. package/dist/sockethook.js +134 -135
  289. package/dist/sockethook.js.map +1 -1
  290. package/dist/store-BQxOSRC1.d.ts +234 -0
  291. package/dist/store-BiIA0r0A.d.cts +234 -0
  292. package/dist/store.cjs +117 -1290
  293. package/dist/store.cjs.map +1 -1
  294. package/dist/store.d.cts +3 -206
  295. package/dist/store.d.ts +3 -206
  296. package/dist/store.js +110 -32
  297. package/dist/store.js.map +1 -1
  298. package/dist/storehooks.cjs +240 -5783
  299. package/dist/storehooks.cjs.map +1 -1
  300. package/dist/storehooks.d.cts +76 -4
  301. package/dist/storehooks.d.ts +76 -4
  302. package/dist/storehooks.js +229 -265
  303. package/dist/storehooks.js.map +1 -1
  304. package/dist/thunks.cjs +2656 -5918
  305. package/dist/thunks.cjs.map +1 -1
  306. package/dist/thunks.d.cts +9 -36
  307. package/dist/thunks.d.ts +9 -36
  308. package/dist/thunks.js +2481 -385
  309. package/dist/thunks.js.map +1 -1
  310. package/dist/types-B2NRQLFw.d.ts +88 -0
  311. package/dist/types-ClEfo0dK.d.cts +88 -0
  312. package/dist/useDeploymentDevice.cjs +26 -4650
  313. package/dist/useDeploymentDevice.cjs.map +1 -1
  314. package/dist/useDeploymentDevice.d.cts +4 -2
  315. package/dist/useDeploymentDevice.d.ts +4 -2
  316. package/dist/useDeploymentDevice.js +21 -60
  317. package/dist/useDeploymentDevice.js.map +1 -1
  318. package/dist/usersSlice/constants.cjs +8 -55
  319. package/dist/usersSlice/constants.d.cts +2 -52
  320. package/dist/usersSlice/constants.d.ts +2 -52
  321. package/dist/usersSlice/constants.js +2 -21
  322. package/dist/usersSlice/index.cjs +132 -172
  323. package/dist/usersSlice/index.cjs.map +1 -1
  324. package/dist/usersSlice/index.d.cts +2 -152
  325. package/dist/usersSlice/index.d.ts +2 -152
  326. package/dist/usersSlice/index.js +125 -18
  327. package/dist/usersSlice/index.js.map +1 -1
  328. package/dist/usersSlice/mocks.cjs +55 -196
  329. package/dist/usersSlice/mocks.cjs.map +1 -1
  330. package/dist/usersSlice/mocks.d.cts +68 -72
  331. package/dist/usersSlice/mocks.d.ts +68 -72
  332. package/dist/usersSlice/mocks.js +54 -46
  333. package/dist/usersSlice/mocks.js.map +1 -1
  334. package/dist/usersSlice/selectors.cjs +65 -567
  335. package/dist/usersSlice/selectors.cjs.map +1 -1
  336. package/dist/usersSlice/selectors.d.cts +364 -376
  337. package/dist/usersSlice/selectors.d.ts +364 -376
  338. package/dist/usersSlice/selectors.js +44 -50
  339. package/dist/usersSlice/selectors.js.map +1 -1
  340. package/dist/usersSlice/thunks.cjs +39 -4698
  341. package/dist/usersSlice/thunks.d.cts +820 -856
  342. package/dist/usersSlice/thunks.d.ts +820 -856
  343. package/dist/usersSlice/thunks.js +2 -111
  344. package/dist/utils-CO_CpGFP.d.ts +105 -0
  345. package/dist/utils-CpPfqW0Q.d.cts +105 -0
  346. package/dist/utils.cjs +231 -850
  347. package/dist/utils.cjs.map +1 -1
  348. package/dist/utils.d.cts +2 -80
  349. package/dist/utils.d.ts +2 -80
  350. package/dist/utils.js +211 -50
  351. package/dist/utils.js.map +1 -1
  352. package/package.json +11 -13
  353. package/dist/appSlice/thunks.cjs.map +0 -1
  354. package/dist/appSlice/thunks.js.map +0 -1
  355. package/dist/chunk-2DYA3X77.js +0 -15
  356. package/dist/chunk-2DYA3X77.js.map +0 -1
  357. package/dist/chunk-4BHM6WVX.js +0 -50
  358. package/dist/chunk-4BHM6WVX.js.map +0 -1
  359. package/dist/chunk-4UNLEL5A.js +0 -143
  360. package/dist/chunk-4UNLEL5A.js.map +0 -1
  361. package/dist/chunk-6V5IIIF7.js +0 -396
  362. package/dist/chunk-6V5IIIF7.js.map +0 -1
  363. package/dist/chunk-ARMI6SZS.js +0 -446
  364. package/dist/chunk-ARMI6SZS.js.map +0 -1
  365. package/dist/chunk-AZF4YY3P.js +0 -108
  366. package/dist/chunk-AZF4YY3P.js.map +0 -1
  367. package/dist/chunk-B5AI2YPV.js +0 -156
  368. package/dist/chunk-B5AI2YPV.js.map +0 -1
  369. package/dist/chunk-CQXDAXQF.js +0 -51
  370. package/dist/chunk-CQXDAXQF.js.map +0 -1
  371. package/dist/chunk-DBBE6D36.js +0 -115
  372. package/dist/chunk-DBBE6D36.js.map +0 -1
  373. package/dist/chunk-ECVQVQEL.js +0 -68
  374. package/dist/chunk-ECVQVQEL.js.map +0 -1
  375. package/dist/chunk-FAJ3I2UQ.js +0 -47
  376. package/dist/chunk-FAJ3I2UQ.js.map +0 -1
  377. package/dist/chunk-FCY7BUGK.js +0 -2876
  378. package/dist/chunk-FCY7BUGK.js.map +0 -1
  379. package/dist/chunk-FG37HJLC.js +0 -157
  380. package/dist/chunk-FG37HJLC.js.map +0 -1
  381. package/dist/chunk-FQAUVV6C.js +0 -246
  382. package/dist/chunk-FQAUVV6C.js.map +0 -1
  383. package/dist/chunk-HKN3RN2Z.js +0 -41
  384. package/dist/chunk-HKN3RN2Z.js.map +0 -1
  385. package/dist/chunk-HPKXWNEF.js +0 -100
  386. package/dist/chunk-HPKXWNEF.js.map +0 -1
  387. package/dist/chunk-JIS4PA3R.js +0 -7
  388. package/dist/chunk-JIS4PA3R.js.map +0 -1
  389. package/dist/chunk-JXBTIFMS.js +0 -82
  390. package/dist/chunk-JXBTIFMS.js.map +0 -1
  391. package/dist/chunk-JYPSCCT4.js +0 -58
  392. package/dist/chunk-JYPSCCT4.js.map +0 -1
  393. package/dist/chunk-L53CPHJU.js +0 -721
  394. package/dist/chunk-L53CPHJU.js.map +0 -1
  395. package/dist/chunk-MNJXEB7S.js +0 -304
  396. package/dist/chunk-MNJXEB7S.js.map +0 -1
  397. package/dist/chunk-NMAXZ3ZY.js +0 -1
  398. package/dist/chunk-NMAXZ3ZY.js.map +0 -1
  399. package/dist/chunk-NXLXPRYW.js +0 -142
  400. package/dist/chunk-NXLXPRYW.js.map +0 -1
  401. package/dist/chunk-O6VCSLNE.js +0 -59
  402. package/dist/chunk-O6VCSLNE.js.map +0 -1
  403. package/dist/chunk-PQADM3M3.js +0 -115
  404. package/dist/chunk-PQADM3M3.js.map +0 -1
  405. package/dist/chunk-SJ75YKOA.js +0 -44
  406. package/dist/chunk-SJ75YKOA.js.map +0 -1
  407. package/dist/chunk-TUPBZ6MQ.js +0 -162
  408. package/dist/chunk-TUPBZ6MQ.js.map +0 -1
  409. package/dist/chunk-XF3TZSZS.js +0 -25
  410. package/dist/chunk-XF3TZSZS.js.map +0 -1
  411. package/dist/chunk-YB3US6OT.js +0 -61
  412. package/dist/chunk-YB3US6OT.js.map +0 -1
  413. package/dist/chunk-YDDE5TIH.js +0 -204
  414. package/dist/chunk-YDDE5TIH.js.map +0 -1
  415. package/dist/chunk-YO22XLHI.js +0 -7
  416. package/dist/chunk-YO22XLHI.js.map +0 -1
  417. package/dist/chunk-Z2O6LYVP.js +0 -144
  418. package/dist/chunk-Z2O6LYVP.js.map +0 -1
  419. package/dist/chunk-ZKAH3APE.js +0 -1
  420. package/dist/chunk-ZKAH3APE.js.map +0 -1
  421. package/dist/commonConstants.cjs.map +0 -1
  422. package/dist/commonConstants.js.map +0 -1
  423. package/dist/deploymentsSlice/constants.cjs.map +0 -1
  424. package/dist/deploymentsSlice/constants.js.map +0 -1
  425. package/dist/deploymentsSlice/thunks.cjs.map +0 -1
  426. package/dist/deploymentsSlice/thunks.js.map +0 -1
  427. package/dist/devicesSlice/constants.cjs.map +0 -1
  428. package/dist/devicesSlice/constants.js.map +0 -1
  429. package/dist/devicesSlice/thunks.cjs.map +0 -1
  430. package/dist/devicesSlice/thunks.js.map +0 -1
  431. package/dist/monitorSlice/constants.cjs.map +0 -1
  432. package/dist/monitorSlice/constants.js.map +0 -1
  433. package/dist/onboardingSlice/thunks.cjs.map +0 -1
  434. package/dist/onboardingSlice/thunks.js.map +0 -1
  435. package/dist/organizationSlice/constants.cjs.map +0 -1
  436. package/dist/organizationSlice/constants.js.map +0 -1
  437. package/dist/organizationSlice/thunks.cjs.map +0 -1
  438. package/dist/organizationSlice/thunks.js.map +0 -1
  439. package/dist/organizationSlice/types.cjs.map +0 -1
  440. package/dist/organizationSlice/types.js.map +0 -1
  441. package/dist/selectors.cjs.map +0 -1
  442. package/dist/selectors.js.map +0 -1
  443. package/dist/usersSlice/constants.cjs.map +0 -1
  444. package/dist/usersSlice/constants.js.map +0 -1
  445. package/dist/usersSlice/thunks.cjs.map +0 -1
  446. package/dist/usersSlice/thunks.js.map +0 -1
package/dist/utils.cjs CHANGED
@@ -1,856 +1,237 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/utils.ts
21
- var utils_exports = {};
22
- __export(utils_exports, {
23
- convertDeviceListStateToFilters: () => convertDeviceListStateToFilters,
24
- convertToBackendSPLimits: () => convertToBackendSPLimits,
25
- ensureVersionString: () => ensureVersionString,
26
- extractErrorMessage: () => extractErrorMessage,
27
- filtersFilter: () => filtersFilter,
28
- generateDeploymentGroupDetails: () => generateDeploymentGroupDetails,
29
- getComparisonCompatibleVersion: () => getComparisonCompatibleVersion,
30
- getDeploymentState: () => getDeploymentState,
31
- groupDeploymentDevicesStats: () => groupDeploymentDevicesStats,
32
- groupDeploymentStats: () => groupDeploymentStats,
33
- isDarkMode: () => isDarkMode,
34
- listItemMapper: () => listItemMapper,
35
- mapDeviceAttributes: () => mapDeviceAttributes,
36
- mapFiltersToTerms: () => mapFiltersToTerms,
37
- mapTermsToFilters: () => mapTermsToFilters,
38
- mapUserRolesToUiPermissions: () => mapUserRolesToUiPermissions,
39
- mergePermissions: () => mergePermissions,
40
- parseSubscriptionPreview: () => parseSubscriptionPreview,
41
- progress: () => progress,
42
- statCollector: () => statCollector,
43
- stringToBoolean: () => stringToBoolean
44
- });
45
- module.exports = __toCommonJS(utils_exports);
46
- var import_helpers = require("@northern.tech/utils/helpers");
47
-
48
- // src/constants.ts
49
- var import_constants4 = require("@northern.tech/utils/constants");
50
-
51
- // src/appSlice/constants.ts
52
- var import_icons_material = require("@mui/icons-material");
53
- var import_utils = require("@northern.tech/utils");
54
- var chartTypes = {
55
- bar: { key: "bar", Icon: import_icons_material.BarChart },
56
- pie: { key: "pie", Icon: import_icons_material.PieChartOutline }
57
- };
58
- var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.key, attribute: "artifact_name" };
59
- var defaultReportType = "distribution";
60
- var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
61
- var PLANS = {
62
- os: {
63
- id: "os",
64
- name: "Basic",
65
- description: "The core features of Mender. To continue using Enterprise Trial features\u2014like Delta updates, scheduled deployments, phased rollouts, device filtering, dynamic groups, RBAC, audit logs, and more\u2014please upgrade to a higher plan."
66
- },
67
- professional: {
68
- id: "professional",
69
- name: "Professional",
70
- description: "Everything in Basic, plus enhanced update management and automation features."
71
- },
72
- enterprise: {
73
- id: "enterprise",
74
- name: "Enterprise",
75
- description: "Every advanced feature of Mender, tailored for complex and large-scale deployments. Not available as a monthly subscription \u2014 ask us for a quote."
76
- }
77
- };
78
- var ADDONS = {
79
- configure: {
80
- id: "configure",
81
- title: "Configure",
82
- description: "Seamlessly configure applications and devices remotely \u2013 configure each device to its environment.",
83
- needs: ["hasDeviceConfig"],
84
- eligible: ["os", "professional", "enterprise"]
85
- },
86
- monitor: {
87
- id: "monitor",
88
- title: "Monitor",
89
- description: "Detect and analyze health issues of devices, services and applications. Set up alerts so you can act quickly.",
90
- needs: ["hasMonitor"],
91
- eligible: ["professional", "enterprise"]
92
- },
93
- troubleshoot: {
94
- id: "troubleshoot",
95
- title: "Troubleshoot",
96
- description: "Secure, remote access to your devices \u2013 quickly diagnose and fix issues in real time.",
97
- needs: ["hasDeviceConnect"],
98
- eligible: ["os", "professional", "enterprise"]
99
- }
100
- };
101
- var BENEFITS = {
102
- auditlog: {
103
- id: "auditlog",
104
- benefit: "gain access to logs for important events such as changes to devices, deployments and user management, as well as remote terminal session replays",
105
- requiredPlan: PLANS.enterprise.id
106
- },
107
- dashboard: { id: "dashboard", benefit: "actionable insights into the devices you are updating with Mender", requiredPlan: PLANS.enterprise.id },
108
- deltaGeneration: {
109
- id: "deltaGeneration",
110
- benefit: "automatic delta artifacts generation to minimize data transfer and improve the update delivery",
111
- requiredPlan: PLANS.enterprise.id
112
- },
113
- deviceConfiguration: { id: "deviceConfiguration", benefit: "device configuration features", requiredAddon: ADDONS.configure.id },
114
- deviceMonitor: { id: "deviceMonitor", benefit: "device monitoring features", requiredAddon: ADDONS.monitor.id, requiredPlan: PLANS.professional.id },
115
- deviceTroubleshoot: { id: "deviceTroubleshoot", benefit: "device troubleshooting features", requiredAddon: ADDONS.troubleshoot.id },
116
- dynamicGroups: { id: "dynamicGroups", benefit: "create dynamic groups to ease device management", requiredPlan: PLANS.enterprise.id },
117
- fullFiltering: { id: "fullFiltering", benefit: "filtering by multiple attributes to improve the device overview", requiredPlan: PLANS.professional.id },
118
- gateway: { id: "gateway", benefit: "see devices connected to your gateway device for easy access", requiredPlans: PLANS.professional.id },
119
- pausedDeployments: {
120
- id: "pausedDeployments",
121
- benefit: "granular control about update rollout to allow synchronization across your fleet",
122
- requiredPlan: PLANS.enterprise.id
123
- },
124
- phasedDeployments: { id: "phasedDeployments", benefit: "choose to roll out deployments in multiple phases", requiredPlan: PLANS.enterprise.id },
125
- rbac: { id: "rbac", benefit: "granular role based access control", requiredPlan: PLANS.enterprise.id },
126
- retryDeployments: { id: "retryDeployments", benefit: "optional retries for failed rollout attempts", requiredPlan: PLANS.professional.id },
127
- scheduledDeployments: {
128
- id: "scheduledDeployments",
129
- benefit: "scheduled deployments to steer the distribution of your updates.",
130
- requiredPlan: PLANS.professional.id
131
- },
132
- webhookEvents: {
133
- id: "webhookEvents",
134
- benefit: "receive inventory events and select which type(s) of events the webhook will receive",
135
- requiredPlan: PLANS.professional.id
136
- },
137
- default: { id: "default", benefit: "gain access to this feature", requiredPlan: PLANS.enterprise.id }
138
- };
139
- var DARK_MODE = "dark";
140
-
141
- // src/commonConstants.tsx
142
- var import_js = require("@mdi/js");
143
- var import_jsx_runtime = require("react/jsx-runtime");
144
- var timeUnits = {
145
- days: "days",
146
- minutes: "minutes",
147
- hours: "hours"
148
- };
149
- var DEVICE_LIST_MAXIMUM_LENGTH = 50;
150
- var oneSecond = 1e3;
151
- var TIMEOUTS = {
152
- debounceDefault: 700,
153
- debounceShort: 300,
154
- halfASecond: 0.5 * oneSecond,
155
- oneSecond,
156
- twoSeconds: 2 * oneSecond,
157
- threeSeconds: 3 * oneSecond,
158
- fiveSeconds: 5 * oneSecond,
159
- refreshDefault: 10 * oneSecond,
160
- refreshLong: 60 * oneSecond
161
- };
162
- var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
163
- var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants4.ATTRIBUTE_SCOPES.identity });
164
- var credentialTypes = {
165
- aws: "aws",
166
- http: "http",
167
- sas: "sas",
168
- x509: "x509"
169
- };
170
- var EXTERNAL_PROVIDER = {
171
- "iot-core": {
172
- credentialsType: credentialTypes.aws,
173
- icon: import_js.mdiAws,
174
- title: "AWS IoT Core",
175
- twinTitle: "Device Shadow",
176
- provider: "iot-core",
177
- enabled: true,
178
- deviceTwin: true,
179
- configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: "For help finding your AWS IoT Core connection string, check the AWS IoT documentation." })
180
- },
181
- "iot-hub": {
182
- credentialsType: credentialTypes.sas,
183
- icon: import_js.mdiMicrosoftAzure,
184
- title: "Azure IoT Hub",
185
- twinTitle: "Device Twin",
186
- provider: "iot-hub",
187
- enabled: true,
188
- deviceTwin: true,
189
- configHint: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { children: [
190
- "For help finding your Azure IoT Hub connection string, look under 'Shared access policies' in the Microsoft Azure UI as described",
191
- " ",
192
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
193
- "a",
194
- {
195
- href: "https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn",
196
- target: "_blank",
197
- rel: "noopener noreferrer",
198
- children: "here"
199
- }
200
- ),
201
- "."
202
- ] })
203
- },
204
- webhook: {
205
- credentialsType: credentialTypes.http,
206
- deviceTwin: false,
207
- twinTitle: "",
208
- // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.
209
- enabled: false,
210
- provider: "webhook"
211
- }
212
- };
213
- var emptyWebhook = {
214
- description: "",
215
- provider: "webhook",
216
- credentials: {
217
- type: EXTERNAL_PROVIDER.webhook.credentialsType,
218
- [EXTERNAL_PROVIDER.webhook.credentialsType]: {
219
- secret: "",
220
- url: ""
221
- }
222
- }
223
- };
224
- var regionNames = new Intl.DisplayNames(["en"], { type: "region" });
225
- var countries = [
226
- "AD",
227
- "AE",
228
- "AF",
229
- "AG",
230
- "AI",
231
- "AL",
232
- "AM",
233
- "AO",
234
- "AQ",
235
- "AR",
236
- "AS",
237
- "AT",
238
- "AU",
239
- "AW",
240
- "AX",
241
- "AZ",
242
- "BA",
243
- "BB",
244
- "BD",
245
- "BE",
246
- "BF",
247
- "BG",
248
- "BH",
249
- "BI",
250
- "BJ",
251
- "BL",
252
- "BM",
253
- "BN",
254
- "BO",
255
- "BR",
256
- "BS",
257
- "BT",
258
- "BV",
259
- "BW",
260
- "BY",
261
- "BZ",
262
- "CA",
263
- "CC",
264
- "CD",
265
- "CF",
266
- "CG",
267
- "CH",
268
- "CI",
269
- "CK",
270
- "CL",
271
- "CM",
272
- "CN",
273
- "CO",
274
- "CR",
275
- "CU",
276
- "CV",
277
- "CW",
278
- "CX",
279
- "CY",
280
- "CZ",
281
- "DE",
282
- "DJ",
283
- "DK",
284
- "DM",
285
- "DO",
286
- "DZ",
287
- "EC",
288
- "EE",
289
- "EG",
290
- "EH",
291
- "ER",
292
- "ES",
293
- "ET",
294
- "FI",
295
- "FJ",
296
- "FK",
297
- "FM",
298
- "FO",
299
- "FR",
300
- "GA",
301
- "GB",
302
- "GD",
303
- "GE",
304
- "GF",
305
- "GG",
306
- "GH",
307
- "GI",
308
- "GL",
309
- "GM",
310
- "GN",
311
- "GP",
312
- "GQ",
313
- "GR",
314
- "GS",
315
- "GT",
316
- "GU",
317
- "GW",
318
- "GY",
319
- "HK",
320
- "HM",
321
- "HN",
322
- "HR",
323
- "HT",
324
- "HU",
325
- "ID",
326
- "IE",
327
- "IL",
328
- "IM",
329
- "IN",
330
- "IO",
331
- "IQ",
332
- "IR",
333
- "IS",
334
- "IT",
335
- "JE",
336
- "JM",
337
- "JO",
338
- "JP",
339
- "KE",
340
- "KG",
341
- "KH",
342
- "KI",
343
- "KM",
344
- "KN",
345
- "KP",
346
- "KR",
347
- "KW",
348
- "KY",
349
- "KZ",
350
- "LA",
351
- "LB",
352
- "LC",
353
- "LI",
354
- "LK",
355
- "LR",
356
- "LS",
357
- "LT",
358
- "LU",
359
- "LV",
360
- "LY",
361
- "MA",
362
- "MC",
363
- "MD",
364
- "ME",
365
- "MF",
366
- "MG",
367
- "MH",
368
- "MK",
369
- "ML",
370
- "MM",
371
- "MN",
372
- "MO",
373
- "MP",
374
- "MQ",
375
- "MR",
376
- "MS",
377
- "MT",
378
- "MU",
379
- "MV",
380
- "MW",
381
- "MX",
382
- "MY",
383
- "MZ",
384
- "NA",
385
- "NC",
386
- "NE",
387
- "NF",
388
- "NG",
389
- "NI",
390
- "NL",
391
- "NO",
392
- "NP",
393
- "NR",
394
- "NU",
395
- "NZ",
396
- "OM",
397
- "PA",
398
- "PE",
399
- "PF",
400
- "PG",
401
- "PH",
402
- "PK",
403
- "PL",
404
- "PM",
405
- "PN",
406
- "PR",
407
- "PS",
408
- "PT",
409
- "PW",
410
- "PY",
411
- "QA",
412
- "RE",
413
- "RO",
414
- "RS",
415
- "RU",
416
- "RW",
417
- "SA",
418
- "SB",
419
- "SC",
420
- "SD",
421
- "SE",
422
- "SG",
423
- "SH",
424
- "SI",
425
- "SJ",
426
- "SK",
427
- "SL",
428
- "SM",
429
- "SN",
430
- "SO",
431
- "SR",
432
- "SS",
433
- "ST",
434
- "SV",
435
- "SX",
436
- "SY",
437
- "SZ",
438
- "TC",
439
- "TD",
440
- "TF",
441
- "TG",
442
- "TH",
443
- "TJ",
444
- "TK",
445
- "TL",
446
- "TM",
447
- "TN",
448
- "TO",
449
- "TR",
450
- "TT",
451
- "TV",
452
- "TW",
453
- "TZ",
454
- "UA",
455
- "UG",
456
- "US",
457
- "UY",
458
- "UZ",
459
- "VA",
460
- "VC",
461
- "VE",
462
- "VG",
463
- "VI",
464
- "VN",
465
- "VU",
466
- "WF",
467
- "WS",
468
- "XK",
469
- "YE",
470
- "YT",
471
- "ZA",
472
- "ZM",
473
- "ZW"
474
- ].map((code) => ({ code, label: regionNames.of(code) })).sort((a, b) => a.label.localeCompare(b.label));
475
-
476
- // src/deploymentsSlice/constants.ts
477
- var alreadyInstalled = "already-installed";
478
- var deploymentSubstates = {
479
- aborted: "aborted",
480
- alreadyInstalled,
481
- decommissioned: "decommissioned",
482
- downloading: "downloading",
483
- failure: "failure",
484
- installing: "installing",
485
- noartifact: "noartifact",
486
- artifact_too_big: "artifact_too_big",
487
- pause_before_committing: "pause_before_committing",
488
- pause_before_installing: "pause_before_installing",
489
- pause_before_rebooting: "pause_before_rebooting",
490
- pending: "pending",
491
- rebooting: "rebooting",
492
- success: "success"
493
- };
494
- var deploymentStatesToSubstates = {
495
- failures: [deploymentSubstates.failure, deploymentSubstates.aborted, deploymentSubstates.decommissioned],
496
- inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],
497
- paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],
498
- pending: [deploymentSubstates.pending],
499
- successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact, deploymentSubstates.artifact_too_big]
500
- };
501
- var deploymentStatesToSubstatesWithSkipped = {
502
- ...deploymentStatesToSubstates,
503
- failures: [deploymentSubstates.failure],
504
- skipped: [
505
- deploymentSubstates.aborted,
506
- deploymentSubstates.noartifact,
507
- deploymentSubstates.artifact_too_big,
508
- deploymentSubstates.alreadyInstalled,
509
- deploymentSubstates.decommissioned
510
- ],
511
- successes: [deploymentSubstates.success]
512
- };
513
- var installationSubstatesMap = {
514
- download: {
515
- title: "download",
516
- done: "downloaded",
517
- successIndicators: [deploymentSubstates.installing, deploymentSubstates.rebooting, ...deploymentStatesToSubstates.paused, deploymentSubstates.success],
518
- failureIndicators: deploymentStatesToSubstates.failures,
519
- pauseConfigurationIndicator: "ArtifactInstall_Enter"
520
- },
521
- install: {
522
- title: "install",
523
- done: "installed",
524
- successIndicators: [
525
- deploymentSubstates.rebooting,
526
- deploymentSubstates.pause_before_rebooting,
527
- deploymentSubstates.pause_before_committing,
528
- deploymentSubstates.success
529
- ],
530
- failureIndicators: deploymentStatesToSubstates.failures,
531
- pauseConfigurationIndicator: "ArtifactReboot_Enter"
532
- },
533
- reboot: {
534
- title: "reboot",
535
- done: "rebooted",
536
- successIndicators: [deploymentSubstates.pause_before_committing, deploymentSubstates.success],
537
- failureIndicators: deploymentStatesToSubstates.failures,
538
- pauseConfigurationIndicator: "ArtifactCommit_Enter"
539
- },
540
- commit: {
541
- title: "commit",
542
- done: "committed",
543
- successIndicators: deploymentStatesToSubstates.successes,
544
- failureIndicators: deploymentStatesToSubstates.failures,
545
- pauseConfigurationIndicator: void 0
546
- }
547
- };
548
- var DEPLOYMENT_STATES = {
549
- finished: "finished",
550
- inprogress: "inprogress",
551
- pending: "pending",
552
- scheduled: "scheduled"
553
- };
554
- var listDefaultsByState = {
555
- [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
556
- [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
557
- [DEPLOYMENT_STATES.scheduled]: { ...import_constants4.DEVICE_LIST_DEFAULTS },
558
- [DEPLOYMENT_STATES.finished]: { ...import_constants4.DEVICE_LIST_DEFAULTS },
559
- sort: { direction: import_constants4.SORTING_OPTIONS.desc }
560
- };
561
- var DEPLOYMENT_ROUTES = {
562
- active: {
563
- key: "active",
564
- route: "/deployments/active",
565
- states: [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress],
566
- title: "Active"
567
- },
568
- finished: {
569
- key: "finished",
570
- route: "/deployments/finished",
571
- states: [DEPLOYMENT_STATES.finished],
572
- title: "Finished"
573
- },
574
- scheduled: {
575
- key: "scheduled",
576
- route: "/deployments/scheduled",
577
- states: [DEPLOYMENT_STATES.scheduled],
578
- title: "Scheduled"
579
- }
580
- };
581
- var defaultStats = {
582
- [deploymentSubstates.aborted]: 0,
583
- [deploymentSubstates.alreadyInstalled]: 0,
584
- [deploymentSubstates.decommissioned]: 0,
585
- [deploymentSubstates.downloading]: 0,
586
- [deploymentSubstates.failure]: 0,
587
- [deploymentSubstates.installing]: 0,
588
- [deploymentSubstates.noartifact]: 0,
589
- [deploymentSubstates.pause_before_committing]: 0,
590
- [deploymentSubstates.pause_before_installing]: 0,
591
- [deploymentSubstates.pause_before_rebooting]: 0,
592
- [deploymentSubstates.pending]: 0,
593
- [deploymentSubstates.rebooting]: 0,
594
- [deploymentSubstates.success]: 0
595
- };
596
- var deploymentDisplayStates = {
597
- finished: "Finished",
598
- scheduled: "Scheduled",
599
- skipped: "Skipped",
600
- paused: "Paused",
601
- pending: "Pending",
602
- inprogress: "In Progress",
603
- success: "Success",
604
- successes: "Success",
605
- failure: "Fail",
606
- failures: "Fail"
607
- };
608
- var pauseMap = {
609
- [deploymentSubstates.pause_before_installing]: {
610
- title: installationSubstatesMap.download.done,
611
- followUp: installationSubstatesMap.download.pauseConfigurationIndicator
612
- },
613
- [deploymentSubstates.pause_before_rebooting]: {
614
- title: installationSubstatesMap.install.done,
615
- followUp: installationSubstatesMap.install.pauseConfigurationIndicator
616
- },
617
- [deploymentSubstates.pause_before_committing]: {
618
- title: installationSubstatesMap.reboot.done,
619
- followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator
620
- }
621
- };
622
-
623
- // src/devicesSlice/constants.ts
624
- var emptyFilter = { key: null, value: "", operator: import_constants4.DEVICE_FILTERING_OPTIONS.$eq.key, scope: "inventory" };
625
- var geoAttributes = ["geo-lat", "geo-lon"].map((attribute) => ({ attribute, scope: "inventory" }));
626
-
627
- // src/releasesSlice/constants.ts
628
- var softwareIndicator = ".version";
629
- var rootfsImageVersion = "rootfs-image.version";
630
- var softwareTitleMap = { [rootfsImageVersion]: { title: "Root filesystem", priority: 0, key: rootfsImageVersion } };
631
-
632
- // src/utils.ts
633
- var filterProcessors = {
634
- [import_constants4.DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
635
- [import_constants4.DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
636
- [import_constants4.DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
637
- [import_constants4.DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
638
- [import_constants4.DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
639
- [import_constants4.DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
640
- [import_constants4.DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
641
- [import_constants4.DEVICE_FILTERING_OPTIONS.$exists.key]: import_helpers.yes,
642
- [import_constants4.DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
643
- };
644
- var filterAliases = {
645
- $nexists: { alias: import_constants4.DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
646
- };
647
- var mapFiltersToTerms = (filters) => filters.map((filter) => ({
648
- scope: filter.scope,
649
- attribute: filter.key,
650
- type: filterAliases[filter.operator]?.alias || filter.operator,
651
- value: filterProcessors.hasOwnProperty(filter.operator) ? filterProcessors[filter.operator](filter.value) : filter.value
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("./chunk-CKQMccvm.cjs");
3
+ const require_appSlice_constants = require("./appSlice/constants.cjs");
4
+ const require_releasesSlice_constants = require("./releasesSlice/constants.cjs");
5
+ const require_constants = require("./constants.cjs");
6
+ let _northern_tech_utils_helpers = require("@northern.tech/utils/helpers");
7
+ let _northern_tech_utils_constants = require("@northern.tech/utils/constants");
8
+ //#region src/utils.ts
9
+ const filterProcessors = {
10
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
11
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
12
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
13
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
14
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
15
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
16
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
17
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$exists.key]: _northern_tech_utils_helpers.yes,
18
+ [_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
19
+ };
20
+ const filterAliases = { $nexists: {
21
+ alias: _northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$exists.key,
22
+ value: false
23
+ } };
24
+ const mapFiltersToTerms = (filters) => filters.map((filter) => ({
25
+ scope: filter.scope,
26
+ attribute: filter.key,
27
+ type: filterAliases[filter.operator]?.alias || filter.operator,
28
+ value: Object.hasOwn(filterProcessors, filter.operator) ? filterProcessors[filter.operator](filter.value) : filter.value
652
29
  }));
653
- var mapTermsToFilters = (terms) => terms.map((term) => {
654
- const aliasedFilter = Object.entries(filterAliases).find(
655
- (aliasDefinition) => aliasDefinition[1].alias === term.type && aliasDefinition[1].value === term.value
656
- );
657
- const operator = aliasedFilter ? aliasedFilter[0] : term.type;
658
- return { scope: term.scope, key: term.attribute, operator, value: term.value };
30
+ const mapTermsToFilters = (terms) => terms.map((term) => {
31
+ const aliasedFilter = Object.entries(filterAliases).find((aliasDefinition) => aliasDefinition[1].alias === term.type && aliasDefinition[1].value === term.value);
32
+ const operator = aliasedFilter ? aliasedFilter[0] : term.type;
33
+ return {
34
+ scope: term.scope,
35
+ key: term.attribute,
36
+ operator,
37
+ value: term.value
38
+ };
659
39
  });
660
- var convertIssueOptionsToFilters = (issuesSelection, filtersState = {}) => issuesSelection.map((item) => {
661
- if (typeof import_constants4.DEVICE_ISSUE_OPTIONS[item].filterRule.value === "function") {
662
- return { ...import_constants4.DEVICE_ISSUE_OPTIONS[item].filterRule, value: import_constants4.DEVICE_ISSUE_OPTIONS[item].filterRule.value(filtersState) };
663
- }
664
- return import_constants4.DEVICE_ISSUE_OPTIONS[item].filterRule;
40
+ const convertIssueOptionsToFilters = (issuesSelection, filtersState = {}) => issuesSelection.map((item) => {
41
+ const filterRule = _northern_tech_utils_constants.DEVICE_ISSUE_OPTIONS[item].filterRule;
42
+ const value = typeof filterRule.value === "function" ? filterRule.value(filtersState) : filterRule.value;
43
+ return {
44
+ key: filterRule.key,
45
+ operator: filterRule.operator,
46
+ scope: filterRule.scope,
47
+ value
48
+ };
665
49
  });
666
- var convertDeviceListStateToFilters = ({
667
- filters = [],
668
- group,
669
- groups = { byId: {} },
670
- offlineThreshold,
671
- selectedIssues = [],
672
- status
673
- }) => {
674
- let applicableFilters = [...filters];
675
- if (typeof group === "string" && !(groups.byId[group]?.filters || applicableFilters).length) {
676
- applicableFilters.push({ key: "group", value: group, operator: import_constants4.DEVICE_FILTERING_OPTIONS.$eq.key, scope: "system" });
677
- }
678
- const nonMonitorFilters = applicableFilters.filter(
679
- (filter) => !Object.values(import_constants4.DEVICE_ISSUE_OPTIONS).some(
680
- ({ filterRule }) => filter.scope !== "inventory" && filterRule.scope === filter.scope && filterRule.key === filter.key
681
- )
682
- );
683
- const deviceIssueFilters = convertIssueOptionsToFilters(selectedIssues, { offlineThreshold });
684
- applicableFilters = [...nonMonitorFilters, ...deviceIssueFilters];
685
- const effectiveFilters = status ? [...applicableFilters, { key: "status", value: status, operator: import_constants4.DEVICE_FILTERING_OPTIONS.$eq.key, scope: "identity" }] : applicableFilters;
686
- return { applicableFilters: nonMonitorFilters, filterTerms: mapFiltersToTerms(effectiveFilters) };
687
- };
688
- var filterCompare = (filter, item) => Object.keys(emptyFilter).every((key) => item[key]?.toString() === filter[key]?.toString());
689
- var filtersFilter = (item, index, array) => {
690
- const firstIndex = array.findIndex((filter) => filterCompare(filter, item));
691
- return firstIndex === index;
692
- };
693
- var listItemMapper = (byId, ids, { cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH, defaultObject = {} }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
694
- if (id && byId[id]) {
695
- accu.push({ ...defaultObject, ...byId[id] });
696
- }
697
- return accu;
50
+ const convertDeviceListStateToFilters = ({ filters = [], group, groups = { byId: {} }, offlineThreshold, selectedIssues = [], status }) => {
51
+ let applicableFilters = [...filters];
52
+ if (typeof group === "string" && !(groups.byId[group]?.filters || applicableFilters).length) applicableFilters.push({
53
+ key: "group",
54
+ value: group,
55
+ operator: _northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$eq.key,
56
+ scope: "system"
57
+ });
58
+ const nonMonitorFilters = applicableFilters.filter((filter) => !Object.values(_northern_tech_utils_constants.DEVICE_ISSUE_OPTIONS).some(({ filterRule }) => {
59
+ const { key = "", scope = "" } = filterRule;
60
+ return filter.scope !== "inventory" && scope === filter.scope && key === filter.key;
61
+ }));
62
+ const deviceIssueFilters = convertIssueOptionsToFilters(selectedIssues, { offlineThreshold });
63
+ applicableFilters = [...nonMonitorFilters, ...deviceIssueFilters];
64
+ return {
65
+ applicableFilters: nonMonitorFilters,
66
+ filterTerms: mapFiltersToTerms(status ? [...applicableFilters, {
67
+ key: "status",
68
+ value: status,
69
+ operator: _northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$eq.key,
70
+ scope: _northern_tech_utils_constants.ATTRIBUTE_SCOPES.identity
71
+ }] : applicableFilters)
72
+ };
73
+ };
74
+ const filterCompare = (filter, item) => Object.keys(require_constants.emptyFilter).every((key) => item[key]?.toString() === filter[key]?.toString());
75
+ const filtersFilter = (item, index, array) => {
76
+ return array.findIndex((filter) => filterCompare(filter, item)) === index;
77
+ };
78
+ const stripUndefined = (obj) => Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== void 0));
79
+ const listItemMapper = (byId, ids, { cutOffSize = 50, defaultObject = {} }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
80
+ if (id && byId[id]) accu.push({
81
+ ...defaultObject,
82
+ ...byId[id]
83
+ });
84
+ return accu;
698
85
  }, []);
699
- var mergePermissions = (existingPermissions = { ...import_constants4.emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
700
- (accu, [key, value]) => {
701
- let values;
702
- if (!accu[key]) {
703
- accu[key] = value;
704
- return accu;
705
- }
706
- if (Array.isArray(value)) {
707
- values = [...value, ...accu[key]].filter(import_helpers.duplicateFilter);
708
- } else {
709
- values = mergePermissions(accu[key], { ...value });
710
- }
711
- accu[key] = values;
712
- return accu;
713
- },
714
- { ...addedPermissions }
715
- );
716
- var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
717
- (accu, roleId) => {
718
- if (!(roleId && roles[roleId])) {
719
- return accu;
720
- }
721
- return mergePermissions(accu, roles[roleId].uiPermissions);
722
- },
723
- { ...import_constants4.emptyUiPermissions }
724
- );
725
- var progress = ({ loaded, total }) => {
726
- let uploadProgress = loaded / total * 100;
727
- return uploadProgress = uploadProgress < 50 ? Math.ceil(uploadProgress) : Math.round(uploadProgress);
728
- };
729
- var extractErrorMessage = (err, fallback = "") => err.response?.data?.error?.message || err.response?.data?.error || err.error || err.message || fallback;
730
- var ensureVersionString = (software, fallback) => software.length && software !== "artifact_name" ? software.endsWith(softwareIndicator) ? software : `${software}${softwareIndicator}` : fallback;
731
- var getComparisonCompatibleVersion = (version) => isNaN(version.charAt(0)) && version !== "next" ? "master" : version;
732
- var stringToBoolean = (content) => {
733
- if (!content) {
734
- return false;
735
- }
736
- const string = content + "";
737
- switch (string.trim().toLowerCase()) {
738
- case "true":
739
- case "yes":
740
- case "1":
741
- return true;
742
- case "false":
743
- case "no":
744
- case "0":
745
- case null:
746
- return false;
747
- default:
748
- return Boolean(string);
749
- }
750
- };
751
- var groupDeploymentDevicesStats = (deployment) => {
752
- const deviceStatCollector = (deploymentStates, devices) => Object.values(devices).reduce((accu, device) => deploymentStates.includes(device.status) ? accu + 1 : accu, 0);
753
- const inprogress = deviceStatCollector(deploymentStatesToSubstates.inprogress, deployment.devices);
754
- const pending = deviceStatCollector(deploymentStatesToSubstates.pending, deployment.devices);
755
- const successes = deviceStatCollector(deploymentStatesToSubstates.successes, deployment.devices);
756
- const failures = deviceStatCollector(deploymentStatesToSubstates.failures, deployment.devices);
757
- const paused = deviceStatCollector(deploymentStatesToSubstates.paused, deployment.devices);
758
- return { inprogress, paused, pending, successes, failures };
759
- };
760
- var statCollector = (items, statistics) => items.reduce((accu, property) => accu + Number(statistics[property] || 0), 0);
761
- var groupDeploymentStats = (deployment, withSkipped) => {
762
- const { statistics = {} } = deployment;
763
- const { status = {} } = statistics;
764
- const stats = { ...defaultStats, ...status };
765
- let groupStates = deploymentStatesToSubstates;
766
- let result = {};
767
- if (withSkipped) {
768
- groupStates = deploymentStatesToSubstatesWithSkipped;
769
- result.skipped = statCollector(groupStates.skipped, stats);
770
- }
771
- result = {
772
- ...result,
773
- // don't include 'pending' as inprogress, as all remaining devices will be pending - we don't discriminate based on phase membership
774
- inprogress: statCollector(groupStates.inprogress, stats),
775
- pending: statCollector(groupStates.pending, stats),
776
- successes: statCollector(groupStates.successes, stats),
777
- failures: statCollector(groupStates.failures, stats),
778
- paused: statCollector(groupStates.paused, stats)
779
- };
780
- return result;
781
- };
782
- var getDeploymentState = (deployment) => {
783
- const { status: deploymentStatus = DEPLOYMENT_STATES.pending } = deployment;
784
- const { inprogress: currentProgressCount, paused } = groupDeploymentStats(deployment);
785
- let status = deploymentDisplayStates[deploymentStatus];
786
- if (deploymentStatus === DEPLOYMENT_STATES.pending && currentProgressCount === 0) {
787
- status = "queued";
788
- } else if (paused > 0) {
789
- status = deploymentDisplayStates.paused;
790
- }
791
- return status;
792
- };
793
- var generateDeploymentGroupDetails = (filter, groupName) => filter && filter.terms?.length ? `${groupName} (${filter.terms.map((filter2) => `${filter2.attribute || filter2.key} ${import_constants4.DEVICE_FILTERING_OPTIONS[filter2.type || filter2.operator].shortform} ${filter2.value}`).join(", ")})` : groupName;
794
- var mapDeviceAttributes = (attributes = []) => attributes.reduce(
795
- (accu, attribute) => {
796
- if (!(attribute.value && attribute.name) && attribute.scope === import_constants4.ATTRIBUTE_SCOPES.inventory) {
797
- return accu;
798
- }
799
- accu[attribute.scope || import_constants4.ATTRIBUTE_SCOPES.inventory] = {
800
- ...accu[attribute.scope || import_constants4.ATTRIBUTE_SCOPES.inventory],
801
- [attribute.name]: attribute.value
802
- };
803
- if (attribute.name === "device_type" && attribute.scope === import_constants4.ATTRIBUTE_SCOPES.inventory) {
804
- accu.inventory.device_type = [].concat(attribute.value);
805
- }
806
- return accu;
807
- },
808
- { inventory: { device_type: [], artifact_name: "" }, identity: {}, monitor: {}, system: {}, tags: {} }
809
- );
810
- var isDarkMode = (mode) => mode === DARK_MODE;
811
- var parseSubscriptionPreview = (lines) => lines.reduce((acc, { addon, amount, product }) => {
812
- const tier = product.replace("mender_", "");
813
- if (!acc[tier]) {
814
- acc[tier] = {
815
- amount: 0,
816
- addons: {}
817
- };
818
- }
819
- if (!addon) {
820
- acc[tier].amount += amount;
821
- } else {
822
- acc[tier].addons[addon] = (acc[tier].addons[addon] ?? 0) + amount;
823
- }
824
- return acc;
825
- }, {});
826
- var convertToBackendSPLimits = (limits, spLimits) => Object.fromEntries(
827
- Object.entries(limits).filter(([key]) => !!spLimits[key]).map(([key, limit]) => {
828
- const { backendId } = spLimits[key];
829
- return [backendId, { Name: backendId, value: Number(limit) || 0 }];
830
- })
831
- );
832
- // Annotate the CommonJS export names for ESM import in node:
833
- 0 && (module.exports = {
834
- convertDeviceListStateToFilters,
835
- convertToBackendSPLimits,
836
- ensureVersionString,
837
- extractErrorMessage,
838
- filtersFilter,
839
- generateDeploymentGroupDetails,
840
- getComparisonCompatibleVersion,
841
- getDeploymentState,
842
- groupDeploymentDevicesStats,
843
- groupDeploymentStats,
844
- isDarkMode,
845
- listItemMapper,
846
- mapDeviceAttributes,
847
- mapFiltersToTerms,
848
- mapTermsToFilters,
849
- mapUserRolesToUiPermissions,
850
- mergePermissions,
851
- parseSubscriptionPreview,
852
- progress,
853
- statCollector,
854
- stringToBoolean
86
+ const mergePermissions = (existingPermissions = { ..._northern_tech_utils_constants.emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce((accu, [key, value]) => {
87
+ let values;
88
+ if (!accu[key]) {
89
+ accu[key] = value;
90
+ return accu;
91
+ }
92
+ if (Array.isArray(value)) values = [...value, ...accu[key]].filter(_northern_tech_utils_helpers.duplicateFilter);
93
+ else values = mergePermissions(accu[key], { ...value });
94
+ accu[key] = values;
95
+ return accu;
96
+ }, { ...addedPermissions });
97
+ const mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce((accu, roleId) => {
98
+ if (!(roleId && roles[roleId])) return accu;
99
+ return mergePermissions(accu, roles[roleId].uiPermissions);
100
+ }, { ..._northern_tech_utils_constants.emptyUiPermissions });
101
+ const progress = ({ loaded, total }) => {
102
+ if (!total) return 0;
103
+ let uploadProgress = loaded / total * 100;
104
+ return uploadProgress = uploadProgress < 50 ? Math.ceil(uploadProgress) : Math.round(uploadProgress);
105
+ };
106
+ const extractErrorMessage = (err, fallback = "") => (typeof err.response?.data?.error === "object" ? err.response?.data?.error?.message : err.response?.data?.error) || err.error || err.message || fallback;
107
+ const ensureVersionString = (software, fallback) => software.length && software !== "artifact_name" ? software.endsWith(".version") ? software : `${software}${require_releasesSlice_constants.softwareIndicator}` : fallback;
108
+ const getComparisonCompatibleVersion = (version) => isNaN(parseInt(version.charAt(0))) && version !== "next" ? "master" : version;
109
+ const stringToBoolean = (content) => {
110
+ if (!content) return false;
111
+ const string = content + "";
112
+ switch (string.trim().toLowerCase()) {
113
+ case "true":
114
+ case "yes":
115
+ case "1": return true;
116
+ case "false":
117
+ case "no":
118
+ case "0":
119
+ case null: return false;
120
+ default: return Boolean(string);
121
+ }
122
+ };
123
+ const groupDeploymentDevicesStats = (deployment) => {
124
+ const deviceStatCollector = (deploymentStates, devices) => Object.values(devices).reduce((accu, device) => deploymentStates.includes(device.status ?? "") ? accu + 1 : accu, 0);
125
+ const inprogress = deviceStatCollector(require_constants.deploymentStatesToSubstates.inprogress, deployment.devices);
126
+ const pending = deviceStatCollector(require_constants.deploymentStatesToSubstates.pending, deployment.devices);
127
+ const successes = deviceStatCollector(require_constants.deploymentStatesToSubstates.successes, deployment.devices);
128
+ const failures = deviceStatCollector(require_constants.deploymentStatesToSubstates.failures, deployment.devices);
129
+ return {
130
+ inprogress,
131
+ paused: deviceStatCollector(require_constants.deploymentStatesToSubstates.paused, deployment.devices),
132
+ pending,
133
+ successes,
134
+ failures
135
+ };
136
+ };
137
+ const statCollector = (items, statistics) => items.reduce((accu, property) => accu + Number(statistics[property] || 0), 0);
138
+ const groupDeploymentStats = (deployment, withSkipped) => {
139
+ const { statistics = {} } = deployment;
140
+ const { status = {} } = statistics;
141
+ const stats = {
142
+ ...require_constants.defaultStats,
143
+ ...status
144
+ };
145
+ let result = {
146
+ inprogress: 0,
147
+ paused: 0,
148
+ pending: 0,
149
+ successes: 0,
150
+ failures: 0
151
+ };
152
+ let groupStates = require_constants.deploymentStatesToSubstates;
153
+ if (withSkipped) {
154
+ groupStates = require_constants.deploymentStatesToSubstatesWithSkipped;
155
+ result.skipped = statCollector(groupStates.skipped, stats);
156
+ }
157
+ result = {
158
+ ...result,
159
+ inprogress: statCollector(groupStates.inprogress, stats),
160
+ pending: statCollector(groupStates.pending, stats),
161
+ successes: statCollector(groupStates.successes, stats),
162
+ failures: statCollector(groupStates.failures, stats),
163
+ paused: statCollector(groupStates.paused, stats)
164
+ };
165
+ return result;
166
+ };
167
+ const getDeploymentState = (deployment) => {
168
+ const { status: deploymentStatus = require_constants.DEPLOYMENT_STATES.pending } = deployment;
169
+ const { inprogress: currentProgressCount, paused } = groupDeploymentStats(deployment);
170
+ let status = require_constants.deploymentDisplayStates[deploymentStatus];
171
+ if (deploymentStatus === require_constants.DEPLOYMENT_STATES.pending && currentProgressCount === 0) status = "queued";
172
+ else if (paused > 0) status = require_constants.deploymentDisplayStates.paused;
173
+ return status;
174
+ };
175
+ const generateDeploymentGroupDetails = (filter, groupName) => filter && filter.terms?.length ? `${groupName} (${filter.terms.map((filter) => `${filter.attribute || filter.key} ${_northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS[filter.type || filter.operator || _northern_tech_utils_constants.DEVICE_FILTERING_OPTIONS.$eq.key].shortform} ${filter.value}`).join(", ")})` : groupName;
176
+ const mapDeviceAttributes = (attributes = []) => attributes.reduce((accu, attribute) => {
177
+ if (!(attribute.value && attribute.name) && attribute.scope === _northern_tech_utils_constants.ATTRIBUTE_SCOPES.inventory) return accu;
178
+ const scope = attribute.scope || _northern_tech_utils_constants.ATTRIBUTE_SCOPES.inventory;
179
+ accu[scope] = {
180
+ ...accu[scope],
181
+ [attribute.name]: attribute.value
182
+ };
183
+ if (attribute.name === "device_type" && attribute.scope === _northern_tech_utils_constants.ATTRIBUTE_SCOPES.inventory) accu.inventory.device_type = [].concat(attribute.value);
184
+ return accu;
185
+ }, {
186
+ inventory: {
187
+ device_type: [],
188
+ artifact_name: ""
189
+ },
190
+ identity: {},
191
+ monitor: {},
192
+ system: {},
193
+ tags: {}
855
194
  });
195
+ const isDarkMode = (mode) => mode === require_appSlice_constants.DARK_MODE;
196
+ const parseSubscriptionPreview = (lines) => lines.reduce((acc, { addon, amount, product }) => {
197
+ const tier = product.replace("mender_", "");
198
+ if (!acc[tier]) acc[tier] = {
199
+ amount: 0,
200
+ addons: {}
201
+ };
202
+ if (!addon) acc[tier].amount += amount;
203
+ else acc[tier].addons[addon] = (acc[tier].addons[addon] ?? 0) + amount;
204
+ return acc;
205
+ }, {});
206
+ const convertToBackendSPLimits = (limits, spLimits) => Object.fromEntries(Object.entries(limits).filter(([key]) => !!spLimits[key]).map(([key, limit]) => {
207
+ const backendId = spLimits[key].backendId;
208
+ return [backendId, {
209
+ Name: backendId,
210
+ value: Number(limit) || 0
211
+ }];
212
+ }));
213
+ //#endregion
214
+ exports.convertDeviceListStateToFilters = convertDeviceListStateToFilters;
215
+ exports.convertToBackendSPLimits = convertToBackendSPLimits;
216
+ exports.ensureVersionString = ensureVersionString;
217
+ exports.extractErrorMessage = extractErrorMessage;
218
+ exports.filtersFilter = filtersFilter;
219
+ exports.generateDeploymentGroupDetails = generateDeploymentGroupDetails;
220
+ exports.getComparisonCompatibleVersion = getComparisonCompatibleVersion;
221
+ exports.getDeploymentState = getDeploymentState;
222
+ exports.groupDeploymentDevicesStats = groupDeploymentDevicesStats;
223
+ exports.groupDeploymentStats = groupDeploymentStats;
224
+ exports.isDarkMode = isDarkMode;
225
+ exports.listItemMapper = listItemMapper;
226
+ exports.mapDeviceAttributes = mapDeviceAttributes;
227
+ exports.mapFiltersToTerms = mapFiltersToTerms;
228
+ exports.mapTermsToFilters = mapTermsToFilters;
229
+ exports.mapUserRolesToUiPermissions = mapUserRolesToUiPermissions;
230
+ exports.mergePermissions = mergePermissions;
231
+ exports.parseSubscriptionPreview = parseSubscriptionPreview;
232
+ exports.progress = progress;
233
+ exports.statCollector = statCollector;
234
+ exports.stringToBoolean = stringToBoolean;
235
+ exports.stripUndefined = stripUndefined;
236
+
856
237
  //# sourceMappingURL=utils.cjs.map