@northern.tech/store 0.3.4 → 0.4.0

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 (603) hide show
  1. package/dist/actions.cjs +78 -827
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +229 -85
  4. package/dist/actions.d.ts +229 -85
  5. package/dist/actions.js +14 -14
  6. package/dist/api/general-api.cjs +274 -148
  7. package/dist/api/general-api.cjs.map +1 -1
  8. package/dist/api/general-api.d.cts +1 -1
  9. package/dist/api/general-api.d.ts +1 -1
  10. package/dist/api/general-api.js +7 -7
  11. package/dist/api/users-api.cjs +274 -148
  12. package/dist/api/users-api.cjs.map +1 -1
  13. package/dist/api/users-api.d.cts +7 -5
  14. package/dist/api/users-api.d.ts +7 -5
  15. package/dist/api/users-api.js +8 -8
  16. package/dist/appSlice/constants.cjs +23 -43
  17. package/dist/appSlice/constants.cjs.map +1 -1
  18. package/dist/appSlice/constants.d.cts +102 -112
  19. package/dist/appSlice/constants.d.ts +102 -112
  20. package/dist/appSlice/constants.js +1 -11
  21. package/dist/appSlice/index.cjs +24 -239
  22. package/dist/appSlice/index.cjs.map +1 -1
  23. package/dist/appSlice/index.d.cts +119 -1531
  24. package/dist/appSlice/index.d.ts +119 -1531
  25. package/dist/appSlice/index.js +6 -6
  26. package/dist/appSlice/mocks.cjs +186 -0
  27. package/dist/appSlice/mocks.cjs.map +1 -0
  28. package/dist/appSlice/mocks.d.cts +39 -0
  29. package/dist/appSlice/mocks.d.ts +39 -0
  30. package/dist/appSlice/mocks.js +27 -0
  31. package/dist/appSlice/mocks.js.map +1 -0
  32. package/dist/appSlice/selectors.cjs +31 -5
  33. package/dist/appSlice/selectors.cjs.map +1 -1
  34. package/dist/appSlice/selectors.d.cts +709 -23
  35. package/dist/appSlice/selectors.d.ts +709 -23
  36. package/dist/appSlice/selectors.js +21 -1
  37. package/dist/appSlice/thunks.cjs +1552 -1769
  38. package/dist/appSlice/thunks.cjs.map +1 -1
  39. package/dist/appSlice/thunks.d.cts +34 -14
  40. package/dist/appSlice/thunks.d.ts +34 -14
  41. package/dist/appSlice/thunks.js +31 -31
  42. package/dist/auth.cjs +276 -153
  43. package/dist/auth.cjs.map +1 -1
  44. package/dist/auth.d.cts +13 -10
  45. package/dist/auth.d.ts +13 -10
  46. package/dist/auth.js +6 -8
  47. package/dist/{chunk-CK6YE6AN.js → chunk-2DYA3X77.js} +3 -1
  48. package/dist/{chunk-CK6YE6AN.js.map → chunk-2DYA3X77.js.map} +1 -1
  49. package/dist/{chunk-JO33IORF.js → chunk-4TUJPE6G.js} +19 -4
  50. package/dist/chunk-4TUJPE6G.js.map +1 -0
  51. package/dist/{chunk-AFICTIVU.js → chunk-6KGTHJKC.js} +22 -24
  52. package/dist/chunk-6KGTHJKC.js.map +1 -0
  53. package/dist/chunk-7C4SQBEE.js +715 -0
  54. package/dist/chunk-7C4SQBEE.js.map +1 -0
  55. package/dist/{chunk-X3GZILYD.js → chunk-ABJLRDCO.js} +10 -11
  56. package/dist/chunk-ABJLRDCO.js.map +1 -0
  57. package/dist/{chunk-PAIB5V27.js → chunk-CW5T6OGF.js} +56 -22
  58. package/dist/chunk-CW5T6OGF.js.map +1 -0
  59. package/dist/{chunk-MRCFLG45.js → chunk-FAJ3I2UQ.js} +2 -1
  60. package/dist/chunk-FAJ3I2UQ.js.map +1 -0
  61. package/dist/{chunk-FVCYB5OP.js → chunk-IQG5I7AM.js} +32 -40
  62. package/dist/chunk-IQG5I7AM.js.map +1 -0
  63. package/dist/chunk-JUGE7L3K.js +110 -0
  64. package/dist/chunk-JUGE7L3K.js.map +1 -0
  65. package/dist/{chunk-ZWOAFHAR.js → chunk-JXQUFKID.js} +2 -2
  66. package/dist/chunk-JXQUFKID.js.map +1 -0
  67. package/dist/{chunk-K4MMUDYT.js → chunk-KC7SKI3U.js} +9 -11
  68. package/dist/chunk-KC7SKI3U.js.map +1 -0
  69. package/dist/{chunk-L3SY3J5M.js → chunk-KJNNEDRV.js} +11 -7
  70. package/dist/chunk-KJNNEDRV.js.map +1 -0
  71. package/dist/chunk-MBKAZVE3.js +44 -0
  72. package/dist/chunk-MBKAZVE3.js.map +1 -0
  73. package/dist/{chunk-FRSA2YB5.js → chunk-MZNANSS2.js} +12 -7
  74. package/dist/chunk-MZNANSS2.js.map +1 -0
  75. package/dist/{chunk-EYCORLYU.js → chunk-N2KLYPS5.js} +128 -87
  76. package/dist/chunk-N2KLYPS5.js.map +1 -0
  77. package/dist/{chunk-Y575RZHR.js → chunk-OHF3YUXX.js} +25 -40
  78. package/dist/chunk-OHF3YUXX.js.map +1 -0
  79. package/dist/{chunk-NOQR3TE7.js → chunk-OOICURFL.js} +2 -2
  80. package/dist/chunk-OOICURFL.js.map +1 -0
  81. package/dist/{chunk-AVX7VVOK.js → chunk-PGFVHKP5.js} +5 -7
  82. package/dist/chunk-PGFVHKP5.js.map +1 -0
  83. package/dist/{chunk-NCSKCF2S.js → chunk-QHK7GGV4.js} +3 -3
  84. package/dist/chunk-QHK7GGV4.js.map +1 -0
  85. package/dist/{chunk-AUBJUUP3.js → chunk-RS37Y2PQ.js} +3 -3
  86. package/dist/chunk-RS37Y2PQ.js.map +1 -0
  87. package/dist/{chunk-7YZCUAXZ.js → chunk-UGSLGUS6.js} +8 -6
  88. package/dist/chunk-UGSLGUS6.js.map +1 -0
  89. package/dist/{chunk-ZZMFXRQK.js → chunk-URNS6A5T.js} +14 -14
  90. package/dist/{chunk-RX32WLVJ.js → chunk-VANBSJS5.js} +1 -1
  91. package/dist/chunk-VANBSJS5.js.map +1 -0
  92. package/dist/{chunk-DGQKXSRI.js → chunk-VUFRP6P3.js} +5 -6
  93. package/dist/chunk-VUFRP6P3.js.map +1 -0
  94. package/dist/{chunk-DCEKU6UV.js → chunk-X4GUACQO.js} +8 -5
  95. package/dist/chunk-X4GUACQO.js.map +1 -0
  96. package/dist/{chunk-GWJIY56H.js → chunk-XWYJACQC.js} +40 -15
  97. package/dist/chunk-XWYJACQC.js.map +1 -0
  98. package/dist/{chunk-GAI4VYRZ.js → chunk-ZJW3QIPM.js} +8 -9
  99. package/dist/chunk-ZJW3QIPM.js.map +1 -0
  100. package/dist/chunk-ZKAH3APE.js +1 -0
  101. package/dist/chunk-ZKAH3APE.js.map +1 -0
  102. package/dist/{chunk-EQLHIPPR.js → chunk-ZN5TB2NJ.js} +919 -842
  103. package/dist/chunk-ZN5TB2NJ.js.map +1 -0
  104. package/dist/{chunk-FQDSV3NK.js → chunk-ZRSYBSSY.js} +18 -12
  105. package/dist/chunk-ZRSYBSSY.js.map +1 -0
  106. package/dist/commonConstants.cjs +279 -173
  107. package/dist/commonConstants.cjs.map +1 -1
  108. package/dist/commonConstants.d.cts +46 -212
  109. package/dist/commonConstants.d.ts +46 -212
  110. package/dist/commonConstants.js +11 -19
  111. package/dist/commonSelectors.cjs +507 -768
  112. package/dist/commonSelectors.cjs.map +1 -1
  113. package/dist/commonSelectors.d.cts +4307 -280
  114. package/dist/commonSelectors.d.ts +4307 -280
  115. package/dist/commonSelectors.js +14 -14
  116. package/dist/constants.cjs +355 -655
  117. package/dist/constants.cjs.map +1 -1
  118. package/dist/constants.d.cts +11 -9
  119. package/dist/constants.d.ts +11 -9
  120. package/dist/constants.js +37 -29
  121. package/dist/deploymentsSlice/constants.cjs +5 -360
  122. package/dist/deploymentsSlice/constants.cjs.map +1 -1
  123. package/dist/deploymentsSlice/constants.d.cts +59 -39
  124. package/dist/deploymentsSlice/constants.d.ts +59 -39
  125. package/dist/deploymentsSlice/constants.js +5 -11
  126. package/dist/deploymentsSlice/index.cjs +17 -365
  127. package/dist/deploymentsSlice/index.cjs.map +1 -1
  128. package/dist/deploymentsSlice/index.d.cts +142 -2359
  129. package/dist/deploymentsSlice/index.d.ts +142 -2359
  130. package/dist/deploymentsSlice/index.js +6 -6
  131. package/dist/deploymentsSlice/mocks.cjs +429 -0
  132. package/dist/deploymentsSlice/mocks.cjs.map +1 -0
  133. package/dist/deploymentsSlice/mocks.d.cts +189 -0
  134. package/dist/deploymentsSlice/mocks.d.ts +189 -0
  135. package/dist/deploymentsSlice/mocks.js +146 -0
  136. package/dist/deploymentsSlice/mocks.js.map +1 -0
  137. package/dist/deploymentsSlice/selectors.cjs +5 -353
  138. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  139. package/dist/deploymentsSlice/selectors.d.cts +167 -11
  140. package/dist/deploymentsSlice/selectors.d.ts +167 -11
  141. package/dist/deploymentsSlice/selectors.js +6 -6
  142. package/dist/deploymentsSlice/thunks.cjs +1518 -1735
  143. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  144. package/dist/deploymentsSlice/thunks.d.cts +134 -76
  145. package/dist/deploymentsSlice/thunks.d.ts +134 -76
  146. package/dist/deploymentsSlice/thunks.js +31 -31
  147. package/dist/devicesSlice/constants.cjs +5 -375
  148. package/dist/devicesSlice/constants.cjs.map +1 -1
  149. package/dist/devicesSlice/constants.d.cts +8 -16
  150. package/dist/devicesSlice/constants.d.ts +8 -16
  151. package/dist/devicesSlice/constants.js +7 -25
  152. package/dist/devicesSlice/index.cjs +17 -381
  153. package/dist/devicesSlice/index.cjs.map +1 -1
  154. package/dist/devicesSlice/index.d.cts +196 -2208
  155. package/dist/devicesSlice/index.d.ts +196 -2208
  156. package/dist/devicesSlice/index.js +6 -6
  157. package/dist/devicesSlice/mocks.cjs +336 -0
  158. package/dist/devicesSlice/mocks.cjs.map +1 -0
  159. package/dist/devicesSlice/mocks.d.cts +154 -0
  160. package/dist/devicesSlice/mocks.d.ts +154 -0
  161. package/dist/devicesSlice/mocks.js +136 -0
  162. package/dist/devicesSlice/mocks.js.map +1 -0
  163. package/dist/devicesSlice/selectors.cjs +280 -293
  164. package/dist/devicesSlice/selectors.cjs.map +1 -1
  165. package/dist/devicesSlice/selectors.d.cts +1791 -82
  166. package/dist/devicesSlice/selectors.d.ts +1791 -82
  167. package/dist/devicesSlice/selectors.js +8 -6
  168. package/dist/devicesSlice/thunks.cjs +1699 -1926
  169. package/dist/devicesSlice/thunks.cjs.map +1 -1
  170. package/dist/devicesSlice/thunks.d.cts +374 -291
  171. package/dist/devicesSlice/thunks.d.ts +374 -291
  172. package/dist/devicesSlice/thunks.js +37 -47
  173. package/dist/liststatehook.cjs +289 -325
  174. package/dist/liststatehook.cjs.map +1 -1
  175. package/dist/liststatehook.d.cts +4 -16
  176. package/dist/liststatehook.d.ts +4 -16
  177. package/dist/liststatehook.js +9 -9
  178. package/dist/liststatehook.js.map +1 -1
  179. package/dist/locationutils.cjs +286 -322
  180. package/dist/locationutils.cjs.map +1 -1
  181. package/dist/locationutils.d.cts +8 -7
  182. package/dist/locationutils.d.ts +8 -7
  183. package/dist/locationutils.js +6 -6
  184. package/dist/monitorSlice/constants.cjs +0 -146
  185. package/dist/monitorSlice/constants.cjs.map +1 -1
  186. package/dist/monitorSlice/constants.d.cts +4 -5
  187. package/dist/monitorSlice/constants.d.ts +4 -5
  188. package/dist/monitorSlice/constants.js +1 -12
  189. package/dist/monitorSlice/index.cjs +5 -353
  190. package/dist/monitorSlice/index.cjs.map +1 -1
  191. package/dist/monitorSlice/index.d.cts +63 -260
  192. package/dist/monitorSlice/index.d.ts +63 -260
  193. package/dist/monitorSlice/index.js +6 -6
  194. package/dist/monitorSlice/mocks.cjs +130 -0
  195. package/dist/monitorSlice/mocks.cjs.map +1 -0
  196. package/dist/monitorSlice/mocks.d.cts +57 -0
  197. package/dist/monitorSlice/mocks.d.ts +57 -0
  198. package/dist/monitorSlice/mocks.js +65 -0
  199. package/dist/monitorSlice/mocks.js.map +1 -0
  200. package/dist/monitorSlice/thunks.cjs +623 -860
  201. package/dist/monitorSlice/thunks.cjs.map +1 -1
  202. package/dist/monitorSlice/thunks.d.cts +90 -21
  203. package/dist/monitorSlice/thunks.d.ts +90 -21
  204. package/dist/monitorSlice/thunks.js +27 -27
  205. package/dist/onboardingSlice/constants.cjs +1 -0
  206. package/dist/onboardingSlice/constants.cjs.map +1 -1
  207. package/dist/onboardingSlice/constants.d.cts +23 -20
  208. package/dist/onboardingSlice/constants.d.ts +23 -20
  209. package/dist/onboardingSlice/constants.js +1 -1
  210. package/dist/onboardingSlice/index.cjs.map +1 -1
  211. package/dist/onboardingSlice/index.d.cts +50 -225
  212. package/dist/onboardingSlice/index.d.ts +50 -225
  213. package/dist/onboardingSlice/index.js +1 -1
  214. package/dist/onboardingSlice/mocks.cjs +83 -0
  215. package/dist/onboardingSlice/mocks.cjs.map +1 -0
  216. package/dist/onboardingSlice/mocks.d.cts +19 -0
  217. package/dist/onboardingSlice/mocks.d.ts +19 -0
  218. package/dist/onboardingSlice/mocks.js +17 -0
  219. package/dist/onboardingSlice/mocks.js.map +1 -0
  220. package/dist/onboardingSlice/thunks.cjs +1771 -1991
  221. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  222. package/dist/onboardingSlice/thunks.d.cts +62 -34
  223. package/dist/onboardingSlice/thunks.d.ts +62 -34
  224. package/dist/onboardingSlice/thunks.js +31 -31
  225. package/dist/organizationSlice/constants.cjs +8 -748
  226. package/dist/organizationSlice/constants.cjs.map +1 -1
  227. package/dist/organizationSlice/constants.d.cts +36 -116
  228. package/dist/organizationSlice/constants.d.ts +36 -116
  229. package/dist/organizationSlice/constants.js +7 -17
  230. package/dist/organizationSlice/index.cjs +14 -368
  231. package/dist/organizationSlice/index.cjs.map +1 -1
  232. package/dist/organizationSlice/index.d.cts +45 -74
  233. package/dist/organizationSlice/index.d.ts +45 -74
  234. package/dist/organizationSlice/index.js +6 -6
  235. package/dist/organizationSlice/mocks.cjs +234 -0
  236. package/dist/organizationSlice/mocks.cjs.map +1 -0
  237. package/dist/organizationSlice/mocks.d.cts +107 -0
  238. package/dist/organizationSlice/mocks.d.ts +107 -0
  239. package/dist/organizationSlice/mocks.js +101 -0
  240. package/dist/organizationSlice/mocks.js.map +1 -0
  241. package/dist/organizationSlice/selectors.cjs +301 -146
  242. package/dist/organizationSlice/selectors.cjs.map +1 -1
  243. package/dist/organizationSlice/selectors.d.cts +888 -52
  244. package/dist/organizationSlice/selectors.d.ts +888 -52
  245. package/dist/organizationSlice/selectors.js +14 -6
  246. package/dist/organizationSlice/thunks.cjs +2593 -2730
  247. package/dist/organizationSlice/thunks.cjs.map +1 -1
  248. package/dist/organizationSlice/thunks.d.cts +318 -127
  249. package/dist/organizationSlice/thunks.d.ts +318 -127
  250. package/dist/organizationSlice/thunks.js +45 -31
  251. package/dist/organizationSlice/types.cjs.map +1 -1
  252. package/dist/organizationSlice/types.d.cts +95 -3
  253. package/dist/organizationSlice/types.d.ts +95 -3
  254. package/dist/releasesSlice/constants.cjs +3 -0
  255. package/dist/releasesSlice/constants.cjs.map +1 -1
  256. package/dist/releasesSlice/constants.d.cts +2 -1
  257. package/dist/releasesSlice/constants.d.ts +2 -1
  258. package/dist/releasesSlice/constants.js +3 -1
  259. package/dist/releasesSlice/index.cjs +5 -222
  260. package/dist/releasesSlice/index.cjs.map +1 -1
  261. package/dist/releasesSlice/index.d.cts +52 -473
  262. package/dist/releasesSlice/index.d.ts +52 -473
  263. package/dist/releasesSlice/index.js +6 -6
  264. package/dist/releasesSlice/mocks.cjs +177 -0
  265. package/dist/releasesSlice/mocks.cjs.map +1 -0
  266. package/dist/releasesSlice/mocks.d.cts +49 -0
  267. package/dist/releasesSlice/mocks.d.ts +49 -0
  268. package/dist/releasesSlice/mocks.js +61 -0
  269. package/dist/releasesSlice/mocks.js.map +1 -0
  270. package/dist/releasesSlice/selectors.cjs +288 -158
  271. package/dist/releasesSlice/selectors.cjs.map +1 -1
  272. package/dist/releasesSlice/selectors.d.cts +886 -24
  273. package/dist/releasesSlice/selectors.d.ts +886 -24
  274. package/dist/releasesSlice/selectors.js +9 -7
  275. package/dist/releasesSlice/thunks.cjs +787 -982
  276. package/dist/releasesSlice/thunks.cjs.map +1 -1
  277. package/dist/releasesSlice/thunks.d.cts +150 -130
  278. package/dist/releasesSlice/thunks.d.ts +150 -130
  279. package/dist/releasesSlice/thunks.js +34 -28
  280. package/dist/selectors.cjs +559 -770
  281. package/dist/selectors.cjs.map +1 -1
  282. package/dist/selectors.d.cts +37 -9
  283. package/dist/selectors.d.ts +37 -9
  284. package/dist/selectors.js +77 -41
  285. package/dist/sockethook.cjs +271 -281
  286. package/dist/sockethook.cjs.map +1 -1
  287. package/dist/sockethook.js +7 -9
  288. package/dist/sockethook.js.map +1 -1
  289. package/dist/store.cjs +119 -834
  290. package/dist/store.cjs.map +1 -1
  291. package/dist/store.d.cts +698 -1963
  292. package/dist/store.d.ts +698 -1963
  293. package/dist/store.js +18 -16
  294. package/dist/storehooks.cjs +1797 -1907
  295. package/dist/storehooks.cjs.map +1 -1
  296. package/dist/storehooks.js +43 -49
  297. package/dist/storehooks.js.map +1 -1
  298. package/dist/thunks.cjs +2132 -2229
  299. package/dist/thunks.cjs.map +1 -1
  300. package/dist/thunks.d.cts +24 -6
  301. package/dist/thunks.d.ts +24 -6
  302. package/dist/thunks.js +55 -45
  303. package/dist/{deploymentdevicehook.cjs → useDeploymentDevice.cjs} +1757 -1976
  304. package/dist/useDeploymentDevice.cjs.map +1 -0
  305. package/dist/useDeploymentDevice.js +63 -0
  306. package/dist/useDeploymentDevice.js.map +1 -0
  307. package/dist/usersSlice/constants.cjs +5 -747
  308. package/dist/usersSlice/constants.cjs.map +1 -1
  309. package/dist/usersSlice/constants.d.cts +11 -769
  310. package/dist/usersSlice/constants.d.ts +11 -769
  311. package/dist/usersSlice/constants.js +7 -30
  312. package/dist/usersSlice/index.cjs +10 -721
  313. package/dist/usersSlice/index.cjs.map +1 -1
  314. package/dist/usersSlice/index.d.cts +136 -7900
  315. package/dist/usersSlice/index.d.ts +136 -7900
  316. package/dist/usersSlice/index.js +6 -6
  317. package/dist/usersSlice/mocks.cjs +200 -0
  318. package/dist/usersSlice/mocks.cjs.map +1 -0
  319. package/dist/usersSlice/mocks.d.cts +83 -0
  320. package/dist/usersSlice/mocks.d.ts +83 -0
  321. package/dist/usersSlice/mocks.js +47 -0
  322. package/dist/usersSlice/mocks.js.map +1 -0
  323. package/dist/usersSlice/selectors.cjs +319 -566
  324. package/dist/usersSlice/selectors.cjs.map +1 -1
  325. package/dist/usersSlice/selectors.d.cts +1651 -59
  326. package/dist/usersSlice/selectors.d.ts +1651 -59
  327. package/dist/usersSlice/selectors.js +13 -9
  328. package/dist/usersSlice/thunks.cjs +1655 -1872
  329. package/dist/usersSlice/thunks.cjs.map +1 -1
  330. package/dist/usersSlice/thunks.d.cts +362 -312
  331. package/dist/usersSlice/thunks.d.ts +362 -312
  332. package/dist/usersSlice/thunks.js +31 -31
  333. package/dist/utils.cjs +423 -285
  334. package/dist/utils.cjs.map +1 -1
  335. package/dist/utils.d.cts +44 -22
  336. package/dist/utils.d.ts +44 -22
  337. package/dist/utils.js +12 -6
  338. package/package.json +20 -11
  339. package/dist/BillingProfile-ChP2_Sqw.d.cts +0 -45
  340. package/dist/BillingProfile-ChP2_Sqw.d.ts +0 -45
  341. package/dist/api/types/AWSCredentials.ts +0 -16
  342. package/dist/api/types/Actor.ts +0 -35
  343. package/dist/api/types/Addon.ts +0 -17
  344. package/dist/api/types/AddonTenantadm.ts +0 -17
  345. package/dist/api/types/Address.ts +0 -6
  346. package/dist/api/types/AddressUpdate.ts +0 -12
  347. package/dist/api/types/Alert.ts +0 -34
  348. package/dist/api/types/AlertDetails.ts +0 -23
  349. package/dist/api/types/AlertSubject.ts +0 -23
  350. package/dist/api/types/ApiBurst.ts +0 -21
  351. package/dist/api/types/ApiBurstTenantadm.ts +0 -21
  352. package/dist/api/types/ApiLimits.ts +0 -16
  353. package/dist/api/types/ApiLimitsTenantadm.ts +0 -16
  354. package/dist/api/types/ApiQuota.ts +0 -17
  355. package/dist/api/types/ApiQuotaTenantadm.ts +0 -17
  356. package/dist/api/types/Artifact.ts +0 -48
  357. package/dist/api/types/ArtifactDeployments.ts +0 -48
  358. package/dist/api/types/ArtifactInfo.ts +0 -11
  359. package/dist/api/types/ArtifactInfoDeployments.ts +0 -11
  360. package/dist/api/types/ArtifactLink.ts +0 -11
  361. package/dist/api/types/ArtifactTypeInfo.ts +0 -13
  362. package/dist/api/types/ArtifactTypeInfoDeployments.ts +0 -13
  363. package/dist/api/types/ArtifactUpdate.ts +0 -10
  364. package/dist/api/types/ArtifactUploadLink.ts +0 -15
  365. package/dist/api/types/Attribute.ts +0 -36
  366. package/dist/api/types/AttributeInventory.ts +0 -32
  367. package/dist/api/types/AuditLog.ts +0 -26
  368. package/dist/api/types/AuthSet.ts +0 -37
  369. package/dist/api/types/AuthSetDeviceauth.ts +0 -37
  370. package/dist/api/types/AuthSetIot_manager.ts +0 -33
  371. package/dist/api/types/AutoAuthRequest.ts +0 -23
  372. package/dist/api/types/AzureSharedAccessSecret.ts +0 -11
  373. package/dist/api/types/BillingInfo.ts +0 -13
  374. package/dist/api/types/BillingProfile.ts +0 -37
  375. package/dist/api/types/BillingProfileUpdate.ts +0 -37
  376. package/dist/api/types/BinaryDeltaConfiguration.ts +0 -15
  377. package/dist/api/types/BinaryDeltaConfigurationDeployments.ts +0 -15
  378. package/dist/api/types/BinaryDeltaLimits.ts +0 -21
  379. package/dist/api/types/BinaryDeltaLimitsDeployments.ts +0 -15
  380. package/dist/api/types/BoundingBox.ts +0 -9
  381. package/dist/api/types/CancelRequest.ts +0 -10
  382. package/dist/api/types/CardData.ts +0 -49
  383. package/dist/api/types/CardSetupData.ts +0 -17
  384. package/dist/api/types/CheckoutData.ts +0 -13
  385. package/dist/api/types/Configuration.ts +0 -11
  386. package/dist/api/types/Count.ts +0 -13
  387. package/dist/api/types/Credentials.ts +0 -23
  388. package/dist/api/types/DBusSubsystem.ts +0 -27
  389. package/dist/api/types/DeltaConfiguration.ts +0 -14
  390. package/dist/api/types/DeltaConfigurationDeployments.ts +0 -14
  391. package/dist/api/types/Deployment.ts +0 -45
  392. package/dist/api/types/DeploymentAggregation.ts +0 -16
  393. package/dist/api/types/DeploymentAggregationItem.ts +0 -16
  394. package/dist/api/types/DeploymentAggregationTerm.ts +0 -22
  395. package/dist/api/types/DeploymentAggregationTerms.ts +0 -16
  396. package/dist/api/types/DeploymentAttributeProjection.ts +0 -10
  397. package/dist/api/types/DeploymentAuditlogs.ts +0 -11
  398. package/dist/api/types/DeploymentDeployments.ts +0 -98
  399. package/dist/api/types/DeploymentFilterTerm.ts +0 -35
  400. package/dist/api/types/DeploymentIdentifier.ts +0 -10
  401. package/dist/api/types/DeploymentPhase.ts +0 -23
  402. package/dist/api/types/DeploymentPhaseDeployments.ts +0 -23
  403. package/dist/api/types/DeploymentReporting.ts +0 -46
  404. package/dist/api/types/DeploymentSearchTerms.ts +0 -37
  405. package/dist/api/types/DeploymentSortTerm.ts +0 -23
  406. package/dist/api/types/DeploymentStatistics.ts +0 -15
  407. package/dist/api/types/DeploymentStatisticsDeployments.ts +0 -15
  408. package/dist/api/types/DeploymentStatusStatistics.ts +0 -54
  409. package/dist/api/types/DeploymentStatusStatisticsDeployments.ts +0 -54
  410. package/dist/api/types/Device.ts +0 -20
  411. package/dist/api/types/DeviceAggregation.ts +0 -16
  412. package/dist/api/types/DeviceAggregationItem.ts +0 -16
  413. package/dist/api/types/DeviceAggregationTerm.ts +0 -26
  414. package/dist/api/types/DeviceAggregationTerms.ts +0 -20
  415. package/dist/api/types/DeviceAttribute.ts +0 -22
  416. package/dist/api/types/DeviceAttributeProjection.ts +0 -14
  417. package/dist/api/types/DeviceAuditlogs.ts +0 -17
  418. package/dist/api/types/DeviceAuthEvent.ts +0 -23
  419. package/dist/api/types/DeviceConfiguration.ts +0 -16
  420. package/dist/api/types/DeviceDeployment.ts +0 -11
  421. package/dist/api/types/DeviceDeployments.ts +0 -29
  422. package/dist/api/types/DeviceDeviceauth.ts +0 -42
  423. package/dist/api/types/DeviceFilterAttribute.ts +0 -21
  424. package/dist/api/types/DeviceFilterTerm.ts +0 -39
  425. package/dist/api/types/DeviceInventory.ts +0 -19
  426. package/dist/api/types/DeviceInventoryInventory.ts +0 -19
  427. package/dist/api/types/DeviceReporting.ts +0 -22
  428. package/dist/api/types/DeviceSearchTerms.ts +0 -37
  429. package/dist/api/types/DeviceSortTerm.ts +0 -27
  430. package/dist/api/types/DeviceState.ts +0 -32
  431. package/dist/api/types/DeviceStateDeviceconnect.ts +0 -33
  432. package/dist/api/types/DeviceStateIot_manager.ts +0 -14
  433. package/dist/api/types/DeviceStatus.ts +0 -19
  434. package/dist/api/types/DeviceWithImage.ts +0 -80
  435. package/dist/api/types/DirectUploadMetadata.ts +0 -18
  436. package/dist/api/types/EmailVerificationCompletion.ts +0 -13
  437. package/dist/api/types/EmailVerificationRequest.ts +0 -13
  438. package/dist/api/types/Error.ts +0 -17
  439. package/dist/api/types/ErrorAuditlogs.ts +0 -13
  440. package/dist/api/types/ErrorDeployments.ts +0 -17
  441. package/dist/api/types/ErrorDeviceauth.ts +0 -13
  442. package/dist/api/types/ErrorDeviceconfig.ts +0 -17
  443. package/dist/api/types/ErrorDeviceconnect.ts +0 -17
  444. package/dist/api/types/ErrorDevicemonitor.ts +0 -17
  445. package/dist/api/types/ErrorExt.ts +0 -18
  446. package/dist/api/types/ErrorInventory.ts +0 -17
  447. package/dist/api/types/ErrorIot_manager.ts +0 -17
  448. package/dist/api/types/ErrorNotFound.ts +0 -17
  449. package/dist/api/types/ErrorReporting.ts +0 -18
  450. package/dist/api/types/ErrorTenantadm.ts +0 -13
  451. package/dist/api/types/ErrorUseradm.ts +0 -17
  452. package/dist/api/types/Event.ts +0 -48
  453. package/dist/api/types/ExternalIdentity.ts +0 -17
  454. package/dist/api/types/Features.ts +0 -17
  455. package/dist/api/types/FileUpload.ts +0 -23
  456. package/dist/api/types/Filter.ts +0 -19
  457. package/dist/api/types/FilterAttribute.ts +0 -21
  458. package/dist/api/types/FilterDefinition.ts +0 -18
  459. package/dist/api/types/FilterDeployments.ts +0 -19
  460. package/dist/api/types/FilterInventory.ts +0 -19
  461. package/dist/api/types/FilterPredicate.ts +0 -48
  462. package/dist/api/types/FilterPredicateDeployments.ts +0 -48
  463. package/dist/api/types/FilterPredicateInventory.ts +0 -78
  464. package/dist/api/types/GeoBoundingBox.ts +0 -8
  465. package/dist/api/types/GeoBoundingBoxFilter.ts +0 -5
  466. package/dist/api/types/GeoDistance.ts +0 -15
  467. package/dist/api/types/GeoDistanceFilter.ts +0 -8
  468. package/dist/api/types/GeoPoint.ts +0 -14
  469. package/dist/api/types/Group.ts +0 -10
  470. package/dist/api/types/HTTP.ts +0 -19
  471. package/dist/api/types/IdentityData.ts +0 -25
  472. package/dist/api/types/InputParameter.ts +0 -8
  473. package/dist/api/types/Integration.ts +0 -30
  474. package/dist/api/types/JobStatus.ts +0 -13
  475. package/dist/api/types/Limit.ts +0 -21
  476. package/dist/api/types/LimitDeployments.ts +0 -21
  477. package/dist/api/types/LimitDeviceauth.ts +0 -10
  478. package/dist/api/types/LimitUseradm.ts +0 -11
  479. package/dist/api/types/Limits.ts +0 -11
  480. package/dist/api/types/LineDescriptor.ts +0 -11
  481. package/dist/api/types/LogSubsystem.ts +0 -23
  482. package/dist/api/types/LoginOptions.ts +0 -18
  483. package/dist/api/types/ManagementAPIConfiguration.ts +0 -5
  484. package/dist/api/types/MenderTypes.ts +0 -213
  485. package/dist/api/types/MonitorConfiguration.ts +0 -22
  486. package/dist/api/types/NewConfigurationDeployment.ts +0 -15
  487. package/dist/api/types/NewConfigurationDeploymentResponse.ts +0 -10
  488. package/dist/api/types/NewDeployment.ts +0 -42
  489. package/dist/api/types/NewDeploymentForGroup.ts +0 -33
  490. package/dist/api/types/NewDeploymentPhase.ts +0 -37
  491. package/dist/api/types/NewDeploymentPhaseDeployments.ts +0 -20
  492. package/dist/api/types/NewDeploymentV2.ts +0 -34
  493. package/dist/api/types/NewTenant.ts +0 -49
  494. package/dist/api/types/Object.ts +0 -38
  495. package/dist/api/types/OwnUserUpdate.ts +0 -21
  496. package/dist/api/types/PasswordResetCompletion.ts +0 -17
  497. package/dist/api/types/PasswordResetRequest.ts +0 -13
  498. package/dist/api/types/Permission.ts +0 -21
  499. package/dist/api/types/PermissionObject.ts +0 -14
  500. package/dist/api/types/PermissionSet.ts +0 -22
  501. package/dist/api/types/PermissionSetWithScope.ts +0 -15
  502. package/dist/api/types/PersonalAccessToken.ts +0 -29
  503. package/dist/api/types/PersonalAccessTokenRequest.ts +0 -18
  504. package/dist/api/types/Plan.ts +0 -19
  505. package/dist/api/types/PlanBindingDetails.ts +0 -13
  506. package/dist/api/types/PlanChangeRequest.ts +0 -14
  507. package/dist/api/types/PlanLimits.ts +0 -12
  508. package/dist/api/types/PreAuthSet.ts +0 -16
  509. package/dist/api/types/Release.ts +0 -32
  510. package/dist/api/types/ReleaseDeployments.ts +0 -32
  511. package/dist/api/types/ReleaseUpdate.ts +0 -13
  512. package/dist/api/types/Releases.ts +0 -9
  513. package/dist/api/types/ReleasesDeleteError.ts +0 -21
  514. package/dist/api/types/ReleasesDeployments.ts +0 -9
  515. package/dist/api/types/Role.ts +0 -19
  516. package/dist/api/types/RolePermission.ts +0 -25
  517. package/dist/api/types/RolePermissionObject.ts +0 -17
  518. package/dist/api/types/RoleUseradm.ts +0 -19
  519. package/dist/api/types/SAMLMetadata.ts +0 -21
  520. package/dist/api/types/Scope.ts +0 -19
  521. package/dist/api/types/SelectAttribute.ts +0 -17
  522. package/dist/api/types/ServiceSubsystem.ts +0 -19
  523. package/dist/api/types/Settings.ts +0 -23
  524. package/dist/api/types/SortCriteria.ts +0 -30
  525. package/dist/api/types/SsoObject.ts +0 -21
  526. package/dist/api/types/Status.ts +0 -18
  527. package/dist/api/types/StatusDeviceauth.ts +0 -18
  528. package/dist/api/types/StatusTenantadm.ts +0 -17
  529. package/dist/api/types/StorageLimit.ts +0 -17
  530. package/dist/api/types/SubscriptionData.ts +0 -8
  531. package/dist/api/types/SupportRequest.ts +0 -17
  532. package/dist/api/types/Tag.ts +0 -27
  533. package/dist/api/types/Tags.ts +0 -10
  534. package/dist/api/types/TaskResult.ts +0 -13
  535. package/dist/api/types/TaskResultCLI.ts +0 -10
  536. package/dist/api/types/TaskResultHTTPRequest.ts +0 -8
  537. package/dist/api/types/TaskResultHTTPResponse.ts +0 -10
  538. package/dist/api/types/Tenant.ts +0 -26
  539. package/dist/api/types/TenantApiLimits.ts +0 -12
  540. package/dist/api/types/TenantApiLimitsTenantadm.ts +0 -12
  541. package/dist/api/types/TenantIdName.ts +0 -14
  542. package/dist/api/types/TenantIdsData.ts +0 -10
  543. package/dist/api/types/TenantInfo.ts +0 -14
  544. package/dist/api/types/TenantShortInfo.ts +0 -21
  545. package/dist/api/types/TenantTenantadm.ts +0 -54
  546. package/dist/api/types/TenantsIdName.ts +0 -6
  547. package/dist/api/types/Update.ts +0 -17
  548. package/dist/api/types/UpdateChildTenant.ts +0 -17
  549. package/dist/api/types/UpdateDeployments.ts +0 -18
  550. package/dist/api/types/UpdateFile.ts +0 -13
  551. package/dist/api/types/UpdateFileDeployments.ts +0 -13
  552. package/dist/api/types/UpdateTypes.ts +0 -8
  553. package/dist/api/types/UpgradeCompleteRequest.ts +0 -25
  554. package/dist/api/types/User.ts +0 -13
  555. package/dist/api/types/UserAuditlogs.ts +0 -13
  556. package/dist/api/types/UserNew.ts +0 -26
  557. package/dist/api/types/UserUpdate.ts +0 -25
  558. package/dist/api/types/UserUseradm.ts +0 -45
  559. package/dist/api/types/UserWithTenantInfo.ts +0 -12
  560. package/dist/api/types/XDeltaArgs.ts +0 -9
  561. package/dist/api/types/XDeltaArgsDeployments.ts +0 -9
  562. package/dist/api/types/XDeltaArgsLimits.ts +0 -10
  563. package/dist/api/types/XDeltaArgsLimitsDeployments.ts +0 -10
  564. package/dist/chunk-4RWZR3BN.js +0 -104
  565. package/dist/chunk-4RWZR3BN.js.map +0 -1
  566. package/dist/chunk-7YZCUAXZ.js.map +0 -1
  567. package/dist/chunk-AFICTIVU.js.map +0 -1
  568. package/dist/chunk-AUBJUUP3.js.map +0 -1
  569. package/dist/chunk-AVX7VVOK.js.map +0 -1
  570. package/dist/chunk-BSN2TOQC.js +0 -245
  571. package/dist/chunk-BSN2TOQC.js.map +0 -1
  572. package/dist/chunk-DCEKU6UV.js.map +0 -1
  573. package/dist/chunk-DGQKXSRI.js.map +0 -1
  574. package/dist/chunk-EQLHIPPR.js.map +0 -1
  575. package/dist/chunk-EYCORLYU.js.map +0 -1
  576. package/dist/chunk-FQDSV3NK.js.map +0 -1
  577. package/dist/chunk-FRSA2YB5.js.map +0 -1
  578. package/dist/chunk-FVCYB5OP.js.map +0 -1
  579. package/dist/chunk-GAI4VYRZ.js.map +0 -1
  580. package/dist/chunk-GWJIY56H.js.map +0 -1
  581. package/dist/chunk-JO33IORF.js.map +0 -1
  582. package/dist/chunk-K4MMUDYT.js.map +0 -1
  583. package/dist/chunk-L3SY3J5M.js.map +0 -1
  584. package/dist/chunk-LIJIIRON.js +0 -28
  585. package/dist/chunk-LIJIIRON.js.map +0 -1
  586. package/dist/chunk-MRCFLG45.js.map +0 -1
  587. package/dist/chunk-NCSKCF2S.js.map +0 -1
  588. package/dist/chunk-NOQR3TE7.js.map +0 -1
  589. package/dist/chunk-OEP2D6QL.js +0 -727
  590. package/dist/chunk-OEP2D6QL.js.map +0 -1
  591. package/dist/chunk-PAIB5V27.js.map +0 -1
  592. package/dist/chunk-RX32WLVJ.js.map +0 -1
  593. package/dist/chunk-X3GZILYD.js.map +0 -1
  594. package/dist/chunk-Y575RZHR.js.map +0 -1
  595. package/dist/chunk-ZWOAFHAR.js.map +0 -1
  596. package/dist/deploymentdevicehook.cjs.map +0 -1
  597. package/dist/deploymentdevicehook.js +0 -63
  598. package/dist/deploymentdevicehook.js.map +0 -1
  599. package/dist/types-DBj17FZO.d.cts +0 -135
  600. package/dist/types-DnfZa6xd.d.ts +0 -135
  601. /package/dist/{chunk-ZZMFXRQK.js.map → chunk-URNS6A5T.js.map} +0 -0
  602. /package/dist/{deploymentdevicehook.d.cts → useDeploymentDevice.d.cts} +0 -0
  603. /package/dist/{deploymentdevicehook.d.ts → useDeploymentDevice.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/releasesSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Artifact as BackendArtifact, Release as BackendRelease } from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS } from '../constants';\nimport type { SortOptions } from '../constants';\n\nexport type Artifact = BackendArtifact & { installCount?: number; url?: string };\nexport type Release = BackendRelease & { artifacts: Artifact[]; name: string };\n\nexport const sliceName = 'releases';\nexport type ReleasesList = {\n isLoading?: boolean;\n page: number;\n perPage: number;\n releaseIds: string[];\n searchedIds: string[];\n searchOnly?: boolean;\n searchTerm: string;\n searchTotal: number;\n selectedTags: string[];\n selection: number[];\n sort?: SortOptions;\n tab?: 'releases' | 'delta';\n total: number;\n type: string;\n};\nexport type ReleaseSliceType = {\n artifacts: never[];\n byId: Record<string, Release>;\n releasesList: ReleasesList;\n selectedRelease: string | null;\n tags: string[];\n updateTypes: string[];\n};\n\nexport const initialState: ReleaseSliceType = {\n /*\n * Return list of saved artifacts objects\n */\n /*\n * return list of artifacts where duplicate names are collated with device compatibility lists combined\n */\n // artifacts: AppStore.getCollatedArtifacts(AppStore.getArtifactsRepo()),\n artifacts: [],\n /*\n * Return list of saved release objects\n */\n byId: {\n /*\n [releaseName]: {\n artifacts: [\n {\n id: '',\n name: '',\n description: '',\n device_types_compatible: [],\n ...\n updates: [{\n files: [\n { size: 123, name: '' }\n ],\n type_info: { type: '' }\n }],\n url: '' // optional\n }\n ],\n modified: ''\n device_types_compatible,\n name: '',\n tags: ['something'],\n notes: ''\n }\n */\n },\n releasesList: {\n ...DEVICE_LIST_DEFAULTS,\n searchedIds: [],\n releaseIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n tags: [],\n updateTypes: [],\n /*\n * Return single release with corresponding Artifacts\n */\n selectedRelease: null\n};\n\nexport const releaseSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveRelease: (state, action: PayloadAction<Release>) => {\n const { name } = action.payload;\n state.byId[name] = action.payload;\n },\n receiveReleases: (state, action: PayloadAction<Record<string, Release>>) => {\n state.byId = action.payload;\n },\n receiveReleaseTags: (state, action: PayloadAction<string[]>) => {\n state.tags = action.payload;\n },\n receiveReleaseTypes: (state, action: PayloadAction<string[]>) => {\n state.updateTypes = action.payload;\n },\n removeRelease: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...byId } = state.byId;\n state.byId = byId;\n state.selectedRelease = action.payload === state.selectedRelease ? null : state.selectedRelease;\n },\n selectedRelease: (state, action: PayloadAction<string | null>) => {\n state.selectedRelease = action.payload;\n },\n setReleaseListState: (state, action: PayloadAction<ReleasesList>) => {\n state.releasesList = action.payload;\n }\n }\n});\n\nexport const actions = releaseSlice.actions;\nexport default releaseSlice.reducer;\n"],"mappings":";;;;;;AAeA,SAAS,mBAAmB;AAQrB,IAAM,YAAY;AA0BlB,IAAM,eAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ5C,WAAW,CAAC;AAAA;AAAA;AAAA;AAAA,EAIZ,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA0BN;AAAA,EACA,cAAc;AAAA,IACZ,GAAG;AAAA,IACH,aAAa,CAAC;AAAA,IACd,YAAY,CAAC;AAAA,IACb,WAAW,CAAC;AAAA,IACZ,MAAM;AAAA,MACJ,WAAW,gBAAgB;AAAA,MAC3B,KAAK;AAAA,IACP;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,cAAc,CAAC;AAAA,IACf,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAAA,EACA,MAAM,CAAC;AAAA,EACP,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA,EAId,iBAAiB;AACnB;AAEO,IAAM,eAAe,YAAY;AAAA,EACtC,MAAM;AAAA,EACN;AAAA,EACA,UAAU;AAAA,IACR,gBAAgB,CAAC,OAAO,WAAmC;AACzD,YAAM,EAAE,KAAK,IAAI,OAAO;AACxB,YAAM,KAAK,IAAI,IAAI,OAAO;AAAA,IAC5B;AAAA,IACA,iBAAiB,CAAC,OAAO,WAAmD;AAC1E,YAAM,OAAO,OAAO;AAAA,IACtB;AAAA,IACA,oBAAoB,CAAC,OAAO,WAAoC;AAC9D,YAAM,OAAO,OAAO;AAAA,IACtB;AAAA,IACA,qBAAqB,CAAC,OAAO,WAAoC;AAC/D,YAAM,cAAc,OAAO;AAAA,IAC7B;AAAA,IACA,eAAe,CAAC,OAAO,WAAkC;AAEvD,YAAM,EAAE,CAAC,OAAO,OAAO,GAAG,aAAa,GAAG,KAAK,IAAI,MAAM;AACzD,YAAM,OAAO;AACb,YAAM,kBAAkB,OAAO,YAAY,MAAM,kBAAkB,OAAO,MAAM;AAAA,IAClF;AAAA,IACA,iBAAiB,CAAC,OAAO,WAAyC;AAChE,YAAM,kBAAkB,OAAO;AAAA,IACjC;AAAA,IACA,qBAAqB,CAAC,OAAO,WAAwC;AACnE,YAAM,eAAe,OAAO;AAAA,IAC9B;AAAA,EACF;AACF,CAAC;AAEM,IAAM,UAAU,aAAa;AACpC,IAAO,wBAAQ,aAAa;","names":[]}
@@ -1,10 +1,8 @@
1
- import {
2
- alertChannels
3
- } from "./chunk-OEP2D6QL.js";
4
1
  import {
5
2
  DEVICE_ISSUE_OPTIONS,
6
- DEVICE_LIST_DEFAULTS
7
- } from "./chunk-BSN2TOQC.js";
3
+ DEVICE_LIST_DEFAULTS,
4
+ alertChannels
5
+ } from "./chunk-7C4SQBEE.js";
8
6
 
9
7
  // src/monitorSlice/index.ts
10
8
  import { createSlice } from "@reduxjs/toolkit";
@@ -15,7 +13,7 @@ var initialState = {
15
13
  byDeviceId: {}
16
14
  },
17
15
  issueCounts: {
18
- byType: Object.values(DEVICE_ISSUE_OPTIONS).reduce((accu, { key }) => ({ ...accu, [key]: { filtered: 0, total: 0 } }), {})
16
+ byType: Object.keys(DEVICE_ISSUE_OPTIONS).reduce((accu, key) => ({ ...accu, [key]: { filtered: 0, total: 0 } }), {})
19
17
  },
20
18
  settings: {
21
19
  global: {
@@ -60,4 +58,4 @@ export {
60
58
  actions,
61
59
  monitorSlice_default
62
60
  };
63
- //# sourceMappingURL=chunk-AVX7VVOK.js.map
61
+ //# sourceMappingURL=chunk-PGFVHKP5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/monitorSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Alert } from '@northern.tech/types/MenderTypes';\nimport { createSlice } from '@reduxjs/toolkit';\nimport type { PayloadAction } from '@reduxjs/toolkit';\n\nimport type { DeviceIssueOptionKey } from '../constants';\nimport { DEVICE_ISSUE_OPTIONS, DEVICE_LIST_DEFAULTS, alertChannels } from '../constants';\nimport type { AlertChannelKey } from './constants';\n\nexport const sliceName = 'monitor';\ntype IssueCounts = Record<DeviceIssueOptionKey, { filtered: number; total: number }>;\ntype ChannelSettings = Record<AlertChannelKey, { enabled: boolean }>;\ntype SanitizedAlert = Alert & { fullName?: string };\n\ntype MonitorSliceType = {\n alerts: {\n alertList: {\n page: number;\n perPage: number;\n total: number;\n };\n byDeviceId: { alerts?: Record<string, SanitizedAlert>; latest?: Record<string, SanitizedAlert> };\n };\n issueCounts: { byType: IssueCounts };\n settings: {\n global: {\n channels: ChannelSettings;\n };\n };\n};\nexport const initialState: MonitorSliceType = {\n alerts: {\n alertList: { ...DEVICE_LIST_DEFAULTS, total: 0 },\n byDeviceId: {}\n },\n issueCounts: {\n byType: Object.keys(DEVICE_ISSUE_OPTIONS).reduce<IssueCounts>((accu, key) => ({ ...accu, [key]: { filtered: 0, total: 0 } }), {} as IssueCounts)\n },\n settings: {\n global: {\n channels: {\n ...Object.keys(alertChannels).reduce((accu, item) => ({ ...accu, [item]: { enabled: true } }), {} as ChannelSettings)\n }\n }\n }\n};\n\nexport const monitorSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n changeAlertChannel: (state, action: PayloadAction<{ channel: AlertChannelKey; enabled: boolean }>) => {\n const { channel, enabled } = action.payload;\n state.settings.global.channels[channel] = { enabled };\n },\n receiveDeviceAlerts: (state, action: PayloadAction<{ alerts: SanitizedAlert[]; deviceId: string }>) => {\n const { deviceId, alerts } = action.payload;\n state.alerts.byDeviceId[deviceId] = { alerts };\n },\n receiveLatestDeviceAlerts: (state, action: PayloadAction<{ alerts: SanitizedAlert[]; deviceId: string }>) => {\n const { deviceId, alerts } = action.payload;\n state.alerts.byDeviceId[deviceId] = { ...state.alerts.byDeviceId[deviceId], latest: alerts };\n },\n receiveDeviceIssueCounts: (state, action: PayloadAction<{ counts: { filtered: number; total: number }; issueType: DeviceIssueOptionKey }>) => {\n const { issueType, counts } = action.payload;\n state.issueCounts.byType[issueType] = counts;\n },\n setAlertListState: (state, action) => {\n state.alerts.alertList = { ...state.alerts.alertList, ...action.payload };\n }\n }\n});\n\nexport const actions = monitorSlice.actions;\nexport default monitorSlice.reducer;\n"],"mappings":";;;;;;;AAcA,SAAS,mBAAmB;AAOrB,IAAM,YAAY;AAqBlB,IAAM,eAAiC;AAAA,EAC5C,QAAQ;AAAA,IACN,WAAW,EAAE,GAAG,sBAAsB,OAAO,EAAE;AAAA,IAC/C,YAAY,CAAC;AAAA,EACf;AAAA,EACA,aAAa;AAAA,IACX,QAAQ,OAAO,KAAK,oBAAoB,EAAE,OAAoB,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,UAAU,GAAG,OAAO,EAAE,EAAE,IAAI,CAAC,CAAgB;AAAA,EACjJ;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,MACN,UAAU;AAAA,QACR,GAAG,OAAO,KAAK,aAAa,EAAE,OAAO,CAAC,MAAM,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,EAAE,SAAS,KAAK,EAAE,IAAI,CAAC,CAAoB;AAAA,MACtH;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,eAAe,YAAY;AAAA,EACtC,MAAM;AAAA,EACN;AAAA,EACA,UAAU;AAAA,IACR,oBAAoB,CAAC,OAAO,WAA0E;AACpG,YAAM,EAAE,SAAS,QAAQ,IAAI,OAAO;AACpC,YAAM,SAAS,OAAO,SAAS,OAAO,IAAI,EAAE,QAAQ;AAAA,IACtD;AAAA,IACA,qBAAqB,CAAC,OAAO,WAA0E;AACrG,YAAM,EAAE,UAAU,OAAO,IAAI,OAAO;AACpC,YAAM,OAAO,WAAW,QAAQ,IAAI,EAAE,OAAO;AAAA,IAC/C;AAAA,IACA,2BAA2B,CAAC,OAAO,WAA0E;AAC3G,YAAM,EAAE,UAAU,OAAO,IAAI,OAAO;AACpC,YAAM,OAAO,WAAW,QAAQ,IAAI,EAAE,GAAG,MAAM,OAAO,WAAW,QAAQ,GAAG,QAAQ,OAAO;AAAA,IAC7F;AAAA,IACA,0BAA0B,CAAC,OAAO,WAA4G;AAC5I,YAAM,EAAE,WAAW,OAAO,IAAI,OAAO;AACrC,YAAM,YAAY,OAAO,SAAS,IAAI;AAAA,IACxC;AAAA,IACA,mBAAmB,CAAC,OAAO,WAAW;AACpC,YAAM,OAAO,YAAY,EAAE,GAAG,MAAM,OAAO,WAAW,GAAG,OAAO,QAAQ;AAAA,IAC1E;AAAA,EACF;AACF,CAAC;AAEM,IAAM,UAAU,aAAa;AACpC,IAAO,uBAAQ,aAAa;","names":[]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  commonRequestConfig
3
- } from "./chunk-AUBJUUP3.js";
3
+ } from "./chunk-RS37Y2PQ.js";
4
4
  import {
5
5
  getToken
6
- } from "./chunk-GAI4VYRZ.js";
6
+ } from "./chunk-ZJW3QIPM.js";
7
7
 
8
8
  // src/api/users-api.ts
9
9
  import axios from "axios";
@@ -22,4 +22,4 @@ var users_api_default = Api;
22
22
  export {
23
23
  users_api_default
24
24
  };
25
- //# sourceMappingURL=chunk-NCSKCF2S.js.map
25
+ //# sourceMappingURL=chunk-QHK7GGV4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/api/users-api.ts"],"sourcesContent":["// Copyright 2016 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport axios from 'axios';\n\nimport { getToken } from '../auth';\nimport { commonRequestConfig } from './general-api';\n\ntype PostLoginBody = {\n email: string;\n no_expiry?: boolean;\n password?: string;\n token2fa?: string;\n};\n\nconst Api = {\n postLogin: (url: string, { email: username, password, ...body }: PostLoginBody) =>\n axios\n // @ts-ignore\n .post(url, body, { ...commonRequestConfig, auth: { username, password } })\n .then(res => ({ text: res.data, code: res.status, contentType: res.headers?.['content-type'] })),\n putVerifyTFA: (url, userData) => {\n let body = {};\n if (userData.hasOwnProperty('token2fa')) {\n body = { token2fa: userData.token2fa };\n }\n return axios.put(url, body, { ...commonRequestConfig, headers: { ...commonRequestConfig.headers, Authorization: `Bearer ${getToken()}` } });\n }\n};\n\nexport default Api;\n"],"mappings":";;;;;;;;AAaA,OAAO,WAAW;AAYlB,IAAM,MAAM;AAAA,EACV,WAAW,CAAC,KAAa,EAAE,OAAO,UAAU,UAAU,GAAG,KAAK,MAC5D,MAEG,KAAK,KAAK,MAAM,EAAE,GAAG,qBAAqB,MAAM,EAAE,UAAU,SAAS,EAAE,CAAC,EACxE,KAAK,UAAQ,EAAE,MAAM,IAAI,MAAM,MAAM,IAAI,QAAQ,aAAa,IAAI,UAAU,cAAc,EAAE,EAAE;AAAA,EACnG,cAAc,CAAC,KAAK,aAAa;AAC/B,QAAI,OAAO,CAAC;AACZ,QAAI,SAAS,eAAe,UAAU,GAAG;AACvC,aAAO,EAAE,UAAU,SAAS,SAAS;AAAA,IACvC;AACA,WAAO,MAAM,IAAI,KAAK,MAAM,EAAE,GAAG,qBAAqB,SAAS,EAAE,GAAG,oBAAoB,SAAS,eAAe,UAAU,SAAS,CAAC,GAAG,EAAE,CAAC;AAAA,EAC5I;AACF;AAEA,IAAO,oBAAQ;","names":[]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  cleanUp,
3
3
  getToken
4
- } from "./chunk-GAI4VYRZ.js";
4
+ } from "./chunk-ZJW3QIPM.js";
5
5
  import {
6
6
  TIMEOUTS
7
- } from "./chunk-BSN2TOQC.js";
7
+ } from "./chunk-7C4SQBEE.js";
8
8
 
9
9
  // src/api/general-api.ts
10
10
  import axios, { isCancel } from "axios";
@@ -49,4 +49,4 @@ export {
49
49
  authenticatedRequest,
50
50
  general_api_default
51
51
  };
52
- //# sourceMappingURL=chunk-AUBJUUP3.js.map
52
+ //# sourceMappingURL=chunk-RS37Y2PQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/api/general-api.ts"],"sourcesContent":["// Copyright 2017 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport axios, { isCancel } from 'axios';\n\nimport { cleanUp, getToken } from '../auth';\nimport { TIMEOUTS } from '../constants';\n\nconst unauthorizedRedirect = error => {\n if (!isCancel(error) && error.response?.status === 401 && getToken()) {\n cleanUp();\n window.location.replace('/ui/');\n }\n return Promise.reject(error);\n};\n\nexport const commonRequestConfig = { timeout: TIMEOUTS.refreshDefault, headers: { 'Content-Type': 'application/json' } };\n\nexport const authenticatedRequest = axios.create(commonRequestConfig);\nauthenticatedRequest.interceptors.response.use(res => res, unauthorizedRedirect);\nauthenticatedRequest.interceptors.request.use(\n config => ({ ...config, headers: { ...config.headers, Authorization: `Bearer ${getToken()}` } }),\n error => Promise.reject(error)\n);\n\nconst Api = {\n get: authenticatedRequest.get,\n delete: (url, data?) => authenticatedRequest.request({ method: 'delete', url, data }),\n patch: authenticatedRequest.patch,\n post: authenticatedRequest.post,\n postUnauthorized: (url, data, config = {}) => axios.post(url, data, { ...commonRequestConfig, ...config }),\n put: authenticatedRequest.put,\n upload: (url, formData, progress, cancelSignal) =>\n authenticatedRequest.post(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n }),\n uploadPut: (url, formData, progress, cancelSignal) =>\n authenticatedRequest.put(url, formData, {\n headers: { 'Content-Type': 'multipart/form-data' },\n onUploadProgress: progress,\n timeout: 0,\n signal: cancelSignal\n })\n};\n\nexport default Api;\n"],"mappings":";;;;;;;;;AAcA,OAAO,SAAS,gBAAgB;AAKhC,IAAM,uBAAuB,WAAS;AACpC,MAAI,CAAC,SAAS,KAAK,KAAK,MAAM,UAAU,WAAW,OAAO,SAAS,GAAG;AACpE,YAAQ;AACR,WAAO,SAAS,QAAQ,MAAM;AAAA,EAChC;AACA,SAAO,QAAQ,OAAO,KAAK;AAC7B;AAEO,IAAM,sBAAsB,EAAE,SAAS,SAAS,gBAAgB,SAAS,EAAE,gBAAgB,mBAAmB,EAAE;AAEhH,IAAM,uBAAuB,MAAM,OAAO,mBAAmB;AACpE,qBAAqB,aAAa,SAAS,IAAI,SAAO,KAAK,oBAAoB;AAC/E,qBAAqB,aAAa,QAAQ;AAAA,EACxC,aAAW,EAAE,GAAG,QAAQ,SAAS,EAAE,GAAG,OAAO,SAAS,eAAe,UAAU,SAAS,CAAC,GAAG,EAAE;AAAA,EAC9F,WAAS,QAAQ,OAAO,KAAK;AAC/B;AAEA,IAAM,MAAM;AAAA,EACV,KAAK,qBAAqB;AAAA,EAC1B,QAAQ,CAAC,KAAK,SAAU,qBAAqB,QAAQ,EAAE,QAAQ,UAAU,KAAK,KAAK,CAAC;AAAA,EACpF,OAAO,qBAAqB;AAAA,EAC5B,MAAM,qBAAqB;AAAA,EAC3B,kBAAkB,CAAC,KAAK,MAAM,SAAS,CAAC,MAAM,MAAM,KAAK,KAAK,MAAM,EAAE,GAAG,qBAAqB,GAAG,OAAO,CAAC;AAAA,EACzG,KAAK,qBAAqB;AAAA,EAC1B,QAAQ,CAAC,KAAK,UAAU,UAAU,iBAChC,qBAAqB,KAAK,KAAK,UAAU;AAAA,IACvC,SAAS,EAAE,gBAAgB,sBAAsB;AAAA,IACjD,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,QAAQ;AAAA,EACV,CAAC;AAAA,EACH,WAAW,CAAC,KAAK,UAAU,UAAU,iBACnC,qBAAqB,IAAI,KAAK,UAAU;AAAA,IACtC,SAAS,EAAE,gBAAgB,sBAAsB;AAAA,IACjD,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,QAAQ;AAAA,EACV,CAAC;AACL;AAEA,IAAO,sBAAQ;","names":[]}
@@ -2,7 +2,7 @@ import {
2
2
  READ_STATES,
3
3
  defaultPermissionSets,
4
4
  rolesById
5
- } from "./chunk-OEP2D6QL.js";
5
+ } from "./chunk-7C4SQBEE.js";
6
6
 
7
7
  // src/usersSlice/index.ts
8
8
  import { createSlice } from "@reduxjs/toolkit";
@@ -28,6 +28,7 @@ var initialState = {
28
28
  rolesById: {
29
29
  ...rolesById
30
30
  },
31
+ rolesInitialized: false,
31
32
  settingsInitialized: false,
32
33
  showConnectDeviceDialog: false,
33
34
  showFeedbackDialog: false,
@@ -63,9 +64,6 @@ var usersSlice = createSlice({
63
64
  state.byId[action.payload.id] = action.payload;
64
65
  state.currentUser = action.payload.id;
65
66
  },
66
- createdUser: (state, action) => {
67
- state.byId[0] = action.payload;
68
- },
69
67
  removedUser: (state, action) => {
70
68
  const { [action.payload]: removedUser, ...byId } = state.byId;
71
69
  state.byId = byId;
@@ -82,6 +80,10 @@ var usersSlice = createSlice({
82
80
  },
83
81
  receivedRoles: (state, action) => {
84
82
  state.rolesById = action.payload;
83
+ state.rolesInitialized = true;
84
+ },
85
+ finishedRoleInitialization: (state, action) => {
86
+ state.rolesInitialized = action.payload;
85
87
  },
86
88
  createdRole: (state, action) => {
87
89
  state.rolesById[action.payload.name] = {
@@ -112,7 +114,7 @@ var usersSlice = createSlice({
112
114
  },
113
115
  setTooltipState: (state, action) => {
114
116
  const { id, readState = READ_STATES.read } = action.payload;
115
- state.tooltips.byId[id].readState = readState;
117
+ state.tooltips.byId[id] = { ...state.tooltips.byId[id], readState };
116
118
  },
117
119
  setTooltipsState: (state, action) => {
118
120
  state.tooltips.byId = {
@@ -141,4 +143,4 @@ export {
141
143
  actions,
142
144
  usersSlice_default
143
145
  };
144
- //# sourceMappingURL=chunk-7YZCUAXZ.js.map
146
+ //# sourceMappingURL=chunk-UGSLGUS6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usersSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { User as BackendUser, DeploymentPhase, TenantInfo, TenantsIdName } from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport type { FilterOperator, PermissionSet, Role } from '../constants';\nimport { defaultPermissionSets, rolesById } from '../constants';\nimport type { ReadState } from './constants';\nimport { READ_STATES } from './constants';\n\nexport const sliceName = 'users';\nexport type User = BackendUser & TenantInfo & { tenants?: TenantsIdName };\nexport type UserSession = {\n expiresAt?: string;\n token: string;\n};\nexport type CustomColumn = {\n attribute: {\n name: string;\n scope: string;\n };\n size: number;\n};\n\ntype FilterOption = {\n key: string;\n operator: FilterOperator;\n scope: string;\n value: string;\n};\nexport type GlobalSettings = {\n [x: string]: any;\n id_attribute?: {\n attribute: string;\n scope: string;\n };\n previousFilters: FilterOption[];\n previousPhases: DeploymentPhase[][];\n retries: number;\n};\ntype Column = {\n id: string;\n key: string;\n name: string;\n scope: string;\n title: string;\n};\nexport type UserSettings = {\n [x: string]: any;\n columnSelection: Column[];\n feedbackCollectedAt?: string;\n mode?: 'light' | 'dark';\n onboarding: Partial<{\n address: string;\n approach: 'physical' | 'virtual';\n complete: boolean;\n demoArtifactPort: number;\n deviceType: string[] | string;\n progress: string;\n showTips: null | boolean;\n showTipsDialog: boolean;\n }>;\n tooltips?: object;\n trackingConsentGiven?: boolean;\n};\ntype UserSliceState = {\n activationCode?: string;\n byId: Record<string, User>;\n currentSession?: UserSession | object;\n currentUser: string | null;\n customColumns: CustomColumn[];\n globalSettings: GlobalSettings;\n permissionSetsById: Record<string, PermissionSet>;\n qrCode: string | null;\n rolesById: Record<string, Role>;\n rolesInitialized: boolean;\n settingsInitialized: boolean;\n showConnectDeviceDialog: boolean;\n showFeedbackDialog: boolean;\n showStartupNotification: boolean;\n tooltips: {\n byId: Record<string, { readState: ReadState }>;\n };\n userSettings: UserSettings;\n userSettingsInitialized: boolean;\n};\nexport const initialState: UserSliceState = {\n activationCode: undefined,\n byId: {},\n currentUser: null,\n currentSession: {\n // { token: window.localStorage.getItem('JWT'), expiresAt: '2023-01-01T00:15:00.000Z' | undefined }, // expiresAt depending on the stay logged in setting\n },\n customColumns: [],\n qrCode: null,\n globalSettings: {\n id_attribute: undefined,\n previousFilters: [],\n previousPhases: [],\n retries: 0\n },\n permissionSetsById: {\n ...defaultPermissionSets\n },\n rolesById: {\n ...rolesById\n },\n rolesInitialized: false,\n settingsInitialized: false,\n showConnectDeviceDialog: false,\n showFeedbackDialog: false,\n showStartupNotification: false,\n tooltips: {\n byId: {\n // <id>: { readState: <read|unread> } // this object is getting enhanced by the tooltip texts in the app constants\n }\n },\n userSettings: {\n columnSelection: [],\n onboarding: {}\n },\n userSettingsInitialized: false\n};\n\nexport const usersSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receivedQrCode: (state, action: PayloadAction<string | null>) => {\n state.qrCode = action.payload;\n },\n successfullyLoggedIn: (state, action: PayloadAction<UserSession>) => {\n state.currentSession = action.payload;\n },\n receivedUserList: (state, action: PayloadAction<Record<string, User>>) => {\n state.byId = action.payload;\n },\n receivedActivationCode: (state, action: PayloadAction<string>) => {\n state.activationCode = action.payload;\n },\n receivedUser: (state, action: PayloadAction<User>) => {\n state.byId[action.payload.id] = action.payload;\n state.currentUser = action.payload.id;\n },\n removedUser: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedUser, ...byId } = state.byId;\n state.byId = byId;\n state.currentUser = state.currentUser === action.payload ? null : state.currentUser;\n },\n updatedUser: (state, action: PayloadAction<Partial<User> & { id: string }>) => {\n state.byId[action.payload.id] = {\n ...state.byId[action.payload.id],\n ...action.payload\n };\n },\n receivedPermissionSets: (state, action: PayloadAction<Record<string, PermissionSet>>) => {\n state.permissionSetsById = action.payload;\n },\n receivedRoles: (state, action: PayloadAction<Record<string, Role>>) => {\n state.rolesById = action.payload;\n state.rolesInitialized = true;\n },\n finishedRoleInitialization: (state, action) => {\n state.rolesInitialized = action.payload;\n },\n createdRole: (state, action: PayloadAction<Role>) => {\n state.rolesById[action.payload.name] = {\n ...state.rolesById[action.payload.name],\n ...action.payload\n };\n },\n removedRole: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...rolesById } = state.rolesById;\n state.rolesById = rolesById;\n },\n setCustomColumns: (state, action: PayloadAction<CustomColumn[]>) => {\n state.customColumns = action.payload;\n },\n setGlobalSettings: (state, action: PayloadAction<GlobalSettings>) => {\n state.settingsInitialized = true;\n state.globalSettings = {\n ...state.globalSettings,\n ...action.payload\n };\n },\n setUserSettings: (state, action: PayloadAction<UserSettings>) => {\n state.userSettingsInitialized = true;\n state.userSettings = {\n ...state.userSettings,\n ...action.payload\n };\n },\n setTooltipState: (state, action: PayloadAction<{ id: string; readState: ReadState }>) => {\n const { id, readState = READ_STATES.read } = action.payload;\n state.tooltips.byId[id] = { ...state.tooltips.byId[id], readState };\n },\n setTooltipsState: (state, action: PayloadAction<UserSliceState['tooltips']['byId']>) => {\n state.tooltips.byId = {\n ...state.tooltips.byId,\n ...action.payload\n };\n },\n setShowFeedbackDialog: (state, action: PayloadAction<boolean>) => {\n state.showFeedbackDialog = action.payload;\n },\n setShowConnectingDialog: (state, action: PayloadAction<boolean>) => {\n state.showConnectDeviceDialog = action.payload;\n },\n setShowStartupNotification: (state, action: PayloadAction<boolean>) => {\n state.showStartupNotification = action.payload;\n }\n }\n});\n\nexport const actions = usersSlice.actions;\nexport default usersSlice.reducer;\n"],"mappings":"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","names":["rolesById"]}
@@ -1,27 +1,27 @@
1
1
  import {
2
- actions as actions2
3
- } from "./chunk-DGQKXSRI.js";
2
+ actions as actions7
3
+ } from "./chunk-OOICURFL.js";
4
4
  import {
5
5
  actions as actions8
6
- } from "./chunk-7YZCUAXZ.js";
6
+ } from "./chunk-UGSLGUS6.js";
7
7
  import {
8
8
  actions as actions6
9
- } from "./chunk-FRSA2YB5.js";
9
+ } from "./chunk-MZNANSS2.js";
10
10
  import {
11
- actions as actions7
12
- } from "./chunk-NOQR3TE7.js";
11
+ actions as actions5
12
+ } from "./chunk-VANBSJS5.js";
13
+ import {
14
+ actions as actions2
15
+ } from "./chunk-VUFRP6P3.js";
13
16
  import {
14
17
  actions as actions4
15
- } from "./chunk-AVX7VVOK.js";
18
+ } from "./chunk-PGFVHKP5.js";
16
19
  import {
17
- actions as actions5
18
- } from "./chunk-RX32WLVJ.js";
20
+ actions
21
+ } from "./chunk-6KGTHJKC.js";
19
22
  import {
20
23
  actions as actions3
21
- } from "./chunk-X3GZILYD.js";
22
- import {
23
- actions
24
- } from "./chunk-AFICTIVU.js";
24
+ } from "./chunk-ABJLRDCO.js";
25
25
 
26
26
  // src/actions.ts
27
27
  var actions_default = {
@@ -38,4 +38,4 @@ var actions_default = {
38
38
  export {
39
39
  actions_default
40
40
  };
41
- //# sourceMappingURL=chunk-ZZMFXRQK.js.map
41
+ //# sourceMappingURL=chunk-URNS6A5T.js.map
@@ -48,4 +48,4 @@ export {
48
48
  actions,
49
49
  onboardingSlice_default
50
50
  };
51
- //# sourceMappingURL=chunk-RX32WLVJ.js.map
51
+ //# sourceMappingURL=chunk-VANBSJS5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/onboardingSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nexport const sliceName = 'onboarding';\n\nexport type OnboardingApproach = 'virtual' | 'physical';\ntype OnboardingSliceType = {\n address?: string;\n approach: OnboardingApproach | null;\n complete: boolean;\n demoArtifactPort: number;\n deviceConnection?: string;\n deviceType: string[] | string | null;\n progress: string | null;\n showTips: boolean | null;\n showTipsDialog: boolean;\n};\n\nexport const initialState: OnboardingSliceType = {\n approach: null,\n complete: false,\n deviceType: null,\n demoArtifactPort: 85,\n progress: null,\n showTips: null,\n showTipsDialog: false\n};\n\nexport const onboardingSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n setOnboardingState: (state, action: PayloadAction<Partial<OnboardingSliceType>>) => ({ ...state, ...action.payload }),\n setDemoArtifactPort: (state, action: PayloadAction<number>) => {\n state.demoArtifactPort = action.payload;\n },\n setShowOnboardingHelp: (state, action: PayloadAction<boolean>) => {\n state.showTips = action.payload;\n },\n setShowDismissOnboardingTipsDialog: (state, action: PayloadAction<boolean>) => {\n state.showTipsDialog = action.payload;\n },\n setOnboardingComplete: (state, action: PayloadAction<boolean>) => {\n state.complete = action.payload;\n },\n setOnboardingProgress: (state, action: PayloadAction<string>) => {\n state.progress = action.payload;\n },\n setOnboardingDeviceType: (state, action: PayloadAction<string[] | string>) => {\n state.deviceType = action.payload;\n },\n setOnboardingApproach: (state, action: PayloadAction<OnboardingApproach>) => {\n state.approach = action.payload;\n }\n }\n});\n\nexport const actions = onboardingSlice.actions;\nexport default onboardingSlice.reducer;\n"],"mappings":";AAcA,SAAS,mBAAmB;AAErB,IAAM,YAAY;AAelB,IAAM,eAAoC;AAAA,EAC/C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,gBAAgB;AAClB;AAEO,IAAM,kBAAkB,YAAY;AAAA,EACzC,MAAM;AAAA,EACN;AAAA,EACA,UAAU;AAAA,IACR,oBAAoB,CAAC,OAAO,YAAyD,EAAE,GAAG,OAAO,GAAG,OAAO,QAAQ;AAAA,IACnH,qBAAqB,CAAC,OAAO,WAAkC;AAC7D,YAAM,mBAAmB,OAAO;AAAA,IAClC;AAAA,IACA,uBAAuB,CAAC,OAAO,WAAmC;AAChE,YAAM,WAAW,OAAO;AAAA,IAC1B;AAAA,IACA,oCAAoC,CAAC,OAAO,WAAmC;AAC7E,YAAM,iBAAiB,OAAO;AAAA,IAChC;AAAA,IACA,uBAAuB,CAAC,OAAO,WAAmC;AAChE,YAAM,WAAW,OAAO;AAAA,IAC1B;AAAA,IACA,uBAAuB,CAAC,OAAO,WAAkC;AAC/D,YAAM,WAAW,OAAO;AAAA,IAC1B;AAAA,IACA,yBAAyB,CAAC,OAAO,WAA6C;AAC5E,YAAM,aAAa,OAAO;AAAA,IAC5B;AAAA,IACA,uBAAuB,CAAC,OAAO,WAA8C;AAC3E,YAAM,WAAW,OAAO;AAAA,IAC1B;AAAA,EACF;AACF,CAAC;AAEM,IAAM,UAAU,gBAAgB;AACvC,IAAO,0BAAQ,gBAAgB;","names":[]}
@@ -2,12 +2,10 @@ import {
2
2
  DEFAULT_PENDING_INPROGRESS_COUNT,
3
3
  DEPLOYMENT_ROUTES,
4
4
  DEPLOYMENT_STATES,
5
+ DEVICE_LIST_DEFAULTS,
5
6
  deploymentPrototype,
6
7
  limitDefault
7
- } from "./chunk-OEP2D6QL.js";
8
- import {
9
- DEVICE_LIST_DEFAULTS
10
- } from "./chunk-BSN2TOQC.js";
8
+ } from "./chunk-7C4SQBEE.js";
11
9
 
12
10
  // src/deploymentsSlice/index.ts
13
11
  import { createSlice } from "@reduxjs/toolkit";
@@ -69,7 +67,8 @@ var deploymentsSlice = createSlice({
69
67
  };
70
68
  state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;
71
69
  state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];
72
- state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection], state.selectionState[DEPLOYMENT_STATES.pending].total = state.selectionState[DEPLOYMENT_STATES.pending].total + 1;
70
+ state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection];
71
+ state.selectionState[DEPLOYMENT_STATES.pending].total = (state.selectionState[DEPLOYMENT_STATES.pending].total || 0) + 1;
73
72
  },
74
73
  removedDeployment: (state, action) => {
75
74
  const { [action.payload]: removedDeployment, ...remainder } = state.byId;
@@ -141,4 +140,4 @@ export {
141
140
  actions,
142
141
  deploymentsSlice_default
143
142
  };
144
- //# sourceMappingURL=chunk-DGQKXSRI.js.map
143
+ //# sourceMappingURL=chunk-VUFRP6P3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/deploymentsSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type {\n DeploymentDeployments as BackendDeployment,\n DeviceDeployments as BackendDeviceDeployment,\n Filter as BackendFilter,\n DeviceWithImage,\n FilterPredicate,\n Limit\n} from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEVICE_LIST_DEFAULTS, limitDefault } from '../constants';\nimport { DEFAULT_PENDING_INPROGRESS_COUNT, DEPLOYMENT_ROUTES, DEPLOYMENT_STATES, deploymentPrototype } from './constants';\n\nexport const sliceName = 'deployments';\n\ntype Filter = {\n key: string;\n operator: FilterPredicate.type;\n scope: string;\n value: any;\n};\nexport type DeviceDeployment = BackendDeviceDeployment & {\n deviceId: string;\n release: string;\n route: string;\n};\n\nexport type Deployment = BackendDeployment & {\n devices: Record<string, DeviceWithImage>;\n filter?: BackendFilter & { filters: Filter[]; name?: string };\n group?: string;\n totalDeviceCount: number;\n};\n\nexport type DeploymentStatus = { deploymentIds: string[]; total: number };\nexport type DeploymentByStatus = {\n finished: DeploymentStatus;\n inprogress: DeploymentStatus;\n pending: DeploymentStatus;\n scheduled: DeploymentStatus;\n};\nexport type DeploymentByStatusKey = keyof DeploymentByStatus;\nexport type DeploymentConfig = {\n binaryDelta: {\n compressionLevel: number;\n disableChecksum: boolean;\n disableDecompression: boolean;\n duplicatesWindow: number;\n inputWindow: number;\n instructionBuffer: number;\n sourceWindow: number;\n timeout: number;\n };\n binaryDeltaLimits: {\n duplicatesWindow: Limit;\n inputWindow: Limit;\n instructionBuffer: Limit;\n sourceWindow: Limit;\n timeout: Limit;\n };\n};\n\nexport type SelectionListState = {\n endDate?: string;\n page?: number;\n perPage?: number;\n search?: string;\n selection: string[];\n startDate?: string;\n total?: number;\n type?: string;\n};\nexport type SelectionState = {\n finished: SelectionListState;\n general: {\n reportType: string | null;\n showCreationDialog: boolean;\n showReportDialog: boolean;\n state: string;\n };\n inprogress: SelectionListState;\n pending: SelectionListState;\n scheduled: SelectionListState;\n\n selectedId?: string;\n};\ntype DeploymentsSliceType = {\n byId: Record<string, Deployment>;\n byStatus: DeploymentByStatus;\n config: DeploymentConfig;\n deploymentDeviceLimit: number;\n selectedDeviceIds: string[];\n selectionState: SelectionState;\n};\n\nexport const initialState: DeploymentsSliceType = {\n byId: {\n // [id]: { statistics: { status: {}, total_size }, devices: { [deploymentId]: { id, log } }, totalDeviceCount }\n },\n byStatus: {\n finished: { deploymentIds: [], total: 0 },\n inprogress: { deploymentIds: [], total: 0 },\n pending: { deploymentIds: [], total: 0 },\n scheduled: { deploymentIds: [], total: 0 }\n },\n config: {\n binaryDelta: {\n timeout: -1,\n duplicatesWindow: -1,\n compressionLevel: -1,\n disableChecksum: false,\n disableDecompression: false,\n inputWindow: -1,\n instructionBuffer: -1,\n sourceWindow: -1\n },\n binaryDeltaLimits: {\n timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },\n sourceWindow: limitDefault,\n inputWindow: limitDefault,\n duplicatesWindow: limitDefault,\n instructionBuffer: limitDefault\n }\n },\n deploymentDeviceLimit: 5000,\n selectedDeviceIds: [],\n selectionState: {\n finished: { ...DEVICE_LIST_DEFAULTS, endDate: undefined, search: '', selection: [], startDate: undefined, total: 0, type: '' },\n inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },\n general: {\n state: DEPLOYMENT_ROUTES.active.key,\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null // DeploymentConstants.DEPLOYMENT_TYPES.configuration|DeploymentConstants.DEPLOYMENT_TYPES.software\n },\n selectedId: undefined\n }\n};\n\nexport const deploymentsSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n createdDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...deploymentPrototype,\n ...action.payload\n };\n state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;\n state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];\n state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection];\n state.selectionState[DEPLOYMENT_STATES.pending].total = (state.selectionState[DEPLOYMENT_STATES.pending].total || 0) + 1;\n },\n removedDeployment: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedDeployment, ...remainder } = state.byId;\n state.byId = remainder;\n },\n receivedDeployment: (state, action: PayloadAction<Deployment>) => {\n state.byId[action.payload.id] = {\n ...(state.byId[action.payload.id] || {}),\n ...action.payload\n };\n },\n receivedDeploymentDeviceLog: (state, action: PayloadAction<{ deviceId: string; id: string; log: boolean }>) => {\n const { id, deviceId, log } = action.payload;\n const deployment = {\n ...deploymentPrototype,\n ...state.byId[id]\n };\n state.byId[id] = {\n ...deployment,\n devices: {\n ...deployment.devices,\n [deviceId]: {\n ...deployment.devices[deviceId],\n log\n }\n }\n };\n },\n receivedDeploymentDevices: (\n state,\n action: PayloadAction<{ devices: Record<string, DeviceWithImage>; id: string; selectedDeviceIds: string[]; totalDeviceCount: number }>\n ) => {\n const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;\n state.byId[id] = {\n ...state.byId[id],\n devices,\n totalDeviceCount\n };\n state.selectedDeviceIds = selectedDeviceIds;\n },\n receivedDeployments: (state, action: PayloadAction<Record<string, Deployment>>) => {\n state.byId = {\n ...state.byId,\n ...action.payload\n };\n },\n receivedDeploymentsForStatus: (state, action: PayloadAction<{ deploymentIds: string[]; status: DeploymentByStatusKey; total: number }>) => {\n const { status, deploymentIds, total } = action.payload;\n state.byStatus[status].deploymentIds = deploymentIds;\n state.byStatus[status].total = total;\n },\n selectDeploymentsForStatus: (state, action: PayloadAction<{ deploymentIds: string[]; status: DeploymentByStatusKey; total: number }>) => {\n const { status, deploymentIds, total } = action.payload;\n state.selectionState[status].selection = deploymentIds;\n state.selectionState[status].total = total;\n },\n setDeploymentsState: (state, action: PayloadAction<SelectionState>) => {\n state.selectionState = action.payload;\n },\n setDeploymentsConfig: (state, action: PayloadAction<DeploymentConfig>) => {\n state.config = action.payload;\n }\n }\n});\n\nexport const actions = deploymentsSlice.actions;\nexport default deploymentsSlice.reducer;\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listItemMapper
3
- } from "./chunk-GWJIY56H.js";
3
+ } from "./chunk-XWYJACQC.js";
4
4
 
5
5
  // src/releasesSlice/selectors.ts
6
6
  import { createSelector } from "@reduxjs/toolkit";
@@ -10,14 +10,16 @@ var getReleaseTags = (state) => state.releases.tags;
10
10
  var getReleaseListState = (state) => state.releases.releasesList;
11
11
  var getListedReleases = (state) => state.releases.releasesList.releaseIds;
12
12
  var getUpdateTypes = (state) => state.releases.updateTypes;
13
- var getReleaseMappingDefaults = () => ({});
13
+ var releaseDefaults = {};
14
+ var getReleaseMappingDefaults = () => releaseDefaults;
14
15
  var getReleasesList = createSelector([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper);
15
16
  var getReleaseTagsById = createSelector([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) => ({ ...accu, [key]: key }), {}));
16
17
  var getHasReleases = createSelector(
17
18
  [getReleaseListState, getReleasesById],
18
19
  ({ searchTotal, total }, byId) => !!(Object.keys(byId).length || total || searchTotal)
19
20
  );
20
- var getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id] ?? {});
21
+ var getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
22
+ var getSelectedReleases = createSelector([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
21
23
 
22
24
  export {
23
25
  getReleasesById,
@@ -27,6 +29,7 @@ export {
27
29
  getReleasesList,
28
30
  getReleaseTagsById,
29
31
  getHasReleases,
30
- getSelectedRelease
32
+ getSelectedRelease,
33
+ getSelectedReleases
31
34
  };
32
- //# sourceMappingURL=chunk-DCEKU6UV.js.map
35
+ //# sourceMappingURL=chunk-X4GUACQO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/releasesSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { Release } from '@northern.tech/types/MenderTypes';\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport type { RootState } from '../store';\nimport { listItemMapper } from '../utils';\n\nconst getSelectedReleaseId = (state: RootState) => state.releases.selectedRelease;\nexport const getReleasesById = (state: RootState) => state.releases.byId;\nexport const getReleaseTags = (state: RootState) => state.releases.tags;\nexport const getReleaseListState = (state: RootState) => state.releases.releasesList;\nconst getListedReleases = (state: RootState) => state.releases.releasesList.releaseIds;\nexport const getUpdateTypes = (state: RootState) => state.releases.updateTypes;\nconst releaseDefaults = {};\nconst getReleaseMappingDefaults = () => releaseDefaults;\nexport const getReleasesList = createSelector([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper<Release>);\n\nexport const getReleaseTagsById = createSelector([getReleaseTags], releaseTags => releaseTags.reduce((accu, key) => ({ ...accu, [key]: key }), {}));\nexport const getHasReleases = createSelector(\n [getReleaseListState, getReleasesById],\n ({ searchTotal, total }, byId) => !!(Object.keys(byId).length || total || searchTotal)\n);\n\nexport const getSelectedRelease = createSelector([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ''] ?? {});\n\nexport const getSelectedReleases = createSelector([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map(index => releases[index]));\n"],"mappings":";;;;;AAcA,SAAS,sBAAsB;AAK/B,IAAM,uBAAuB,CAAC,UAAqB,MAAM,SAAS;AAC3D,IAAM,kBAAkB,CAAC,UAAqB,MAAM,SAAS;AAC7D,IAAM,iBAAiB,CAAC,UAAqB,MAAM,SAAS;AAC5D,IAAM,sBAAsB,CAAC,UAAqB,MAAM,SAAS;AACxE,IAAM,oBAAoB,CAAC,UAAqB,MAAM,SAAS,aAAa;AACrE,IAAM,iBAAiB,CAAC,UAAqB,MAAM,SAAS;AACnE,IAAM,kBAAkB,CAAC;AACzB,IAAM,4BAA4B,MAAM;AACjC,IAAM,kBAAkB,eAAe,CAAC,iBAAiB,mBAAmB,yBAAyB,GAAG,cAAuB;AAE/H,IAAM,qBAAqB,eAAe,CAAC,cAAc,GAAG,iBAAe,YAAY,OAAO,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;AAC3I,IAAM,iBAAiB;AAAA,EAC5B,CAAC,qBAAqB,eAAe;AAAA,EACrC,CAAC,EAAE,aAAa,MAAM,GAAG,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,UAAU,SAAS;AAC5E;AAEO,IAAM,qBAAqB,eAAe,CAAC,iBAAiB,oBAAoB,GAAG,CAAC,MAAM,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC;AAErH,IAAM,sBAAsB,eAAe,CAAC,qBAAqB,eAAe,GAAG,CAAC,EAAE,UAAU,GAAG,aAAa,UAAU,IAAI,WAAS,SAAS,KAAK,CAAC,CAAC;","names":[]}
@@ -1,21 +1,22 @@
1
1
  import {
2
+ ATTRIBUTE_SCOPES,
2
3
  DEPLOYMENT_STATES,
4
+ DEVICE_FILTERING_OPTIONS,
5
+ DEVICE_ISSUE_OPTIONS,
6
+ DEVICE_LIST_MAXIMUM_LENGTH,
3
7
  defaultStats,
4
8
  deploymentDisplayStates,
5
9
  deploymentStatesToSubstates,
6
10
  deploymentStatesToSubstatesWithSkipped,
7
- emptyFilter
8
- } from "./chunk-OEP2D6QL.js";
11
+ emptyFilter,
12
+ emptyUiPermissions
13
+ } from "./chunk-7C4SQBEE.js";
9
14
  import {
10
- DARK_MODE
11
- } from "./chunk-Y575RZHR.js";
15
+ softwareIndicator
16
+ } from "./chunk-2DYA3X77.js";
12
17
  import {
13
- ATTRIBUTE_SCOPES,
14
- DEVICE_FILTERING_OPTIONS,
15
- DEVICE_ISSUE_OPTIONS,
16
- DEVICE_LIST_MAXIMUM_LENGTH,
17
- emptyUiPermissions
18
- } from "./chunk-BSN2TOQC.js";
18
+ DARK_MODE
19
+ } from "./chunk-OHF3YUXX.js";
19
20
 
20
21
  // src/utils.ts
21
22
  import { duplicateFilter, yes } from "@northern.tech/utils/helpers";
@@ -52,7 +53,14 @@ var convertIssueOptionsToFilters = (issuesSelection, filtersState = {}) => issue
52
53
  }
53
54
  return DEVICE_ISSUE_OPTIONS[item].filterRule;
54
55
  });
55
- var convertDeviceListStateToFilters = ({ filters = [], group, groups = { byId: {} }, offlineThreshold, selectedIssues = [], status }) => {
56
+ var convertDeviceListStateToFilters = ({
57
+ filters = [],
58
+ group,
59
+ groups = { byId: {} },
60
+ offlineThreshold,
61
+ selectedIssues = [],
62
+ status
63
+ }) => {
56
64
  let applicableFilters = [...filters];
57
65
  if (typeof group === "string" && !(groups.byId[group]?.filters || applicableFilters).length) {
58
66
  applicableFilters.push({ key: "group", value: group, operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: "system" });
@@ -67,12 +75,12 @@ var convertDeviceListStateToFilters = ({ filters = [], group, groups = { byId: {
67
75
  const effectiveFilters = status ? [...applicableFilters, { key: "status", value: status, operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: "identity" }] : applicableFilters;
68
76
  return { applicableFilters: nonMonitorFilters, filterTerms: mapFiltersToTerms(effectiveFilters) };
69
77
  };
70
- var filterCompare = (filter, item) => Object.keys(emptyFilter).every((key) => item[key].toString() === filter[key].toString());
78
+ var filterCompare = (filter, item) => Object.keys(emptyFilter).every((key) => item[key]?.toString() === filter[key]?.toString());
71
79
  var filtersFilter = (item, index, array) => {
72
80
  const firstIndex = array.findIndex((filter) => filterCompare(filter, item));
73
81
  return firstIndex === index;
74
82
  };
75
- var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
83
+ var listItemMapper = (byId, ids, { cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH, defaultObject = {} }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
76
84
  if (id && byId[id]) {
77
85
  accu.push({ ...defaultObject, ...byId[id] });
78
86
  }
@@ -108,6 +116,8 @@ var progress = ({ loaded, total }) => {
108
116
  let uploadProgress = loaded / total * 100;
109
117
  return uploadProgress = uploadProgress < 50 ? Math.ceil(uploadProgress) : Math.round(uploadProgress);
110
118
  };
119
+ var extractErrorMessage = (err, fallback = "") => err.response?.data?.error?.message || err.response?.data?.error || err.error || err.message || fallback;
120
+ var ensureVersionString = (software, fallback) => software.length && software !== "artifact_name" ? software.endsWith(softwareIndicator) ? software : `${software}${softwareIndicator}` : fallback;
111
121
  var getComparisonCompatibleVersion = (version) => isNaN(version.charAt(0)) && version !== "next" ? "master" : version;
112
122
  var stringToBoolean = (content) => {
113
123
  if (!content) {
@@ -188,6 +198,18 @@ var mapDeviceAttributes = (attributes = []) => attributes.reduce(
188
198
  { inventory: { device_type: [], artifact_name: "" }, identity: {}, monitor: {}, system: {}, tags: {} }
189
199
  );
190
200
  var isDarkMode = (mode) => mode === DARK_MODE;
201
+ var parseSubscriptionPreview = (lines) => lines.reduce(
202
+ (acc, { addon, amount }) => {
203
+ const key = addon || "plan";
204
+ if (key === "plan") {
205
+ acc.plan += amount;
206
+ } else {
207
+ acc.addons[key] = (acc.addons[key] ?? 0) + amount;
208
+ }
209
+ return acc;
210
+ },
211
+ { plan: 0, addons: {} }
212
+ );
191
213
 
192
214
  export {
193
215
  mapFiltersToTerms,
@@ -198,6 +220,8 @@ export {
198
220
  mergePermissions,
199
221
  mapUserRolesToUiPermissions,
200
222
  progress,
223
+ extractErrorMessage,
224
+ ensureVersionString,
201
225
  getComparisonCompatibleVersion,
202
226
  stringToBoolean,
203
227
  groupDeploymentDevicesStats,
@@ -206,6 +230,7 @@ export {
206
230
  getDeploymentState,
207
231
  generateDeploymentGroupDetails,
208
232
  mapDeviceAttributes,
209
- isDarkMode
233
+ isDarkMode,
234
+ parseSubscriptionPreview
210
235
  };
211
- //# sourceMappingURL=chunk-GWJIY56H.js.map
236
+ //# sourceMappingURL=chunk-XWYJACQC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils.ts"],"sourcesContent":["// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport type { DeviceAttribute } from '@northern.tech/types/DeviceAttribute';\nimport { duplicateFilter, yes } from '@northern.tech/utils/helpers';\n\nimport type { DeviceIssueOptionKey } from './constants';\nimport {\n ATTRIBUTE_SCOPES,\n DARK_MODE,\n DEPLOYMENT_STATES,\n DEVICE_FILTERING_OPTIONS,\n DEVICE_ISSUE_OPTIONS,\n DEVICE_LIST_MAXIMUM_LENGTH,\n defaultStats,\n deploymentDisplayStates,\n deploymentStatesToSubstates,\n deploymentStatesToSubstatesWithSkipped,\n emptyFilter,\n emptyUiPermissions,\n softwareIndicator\n} from './constants';\nimport type { DeviceFilter, DeviceGroup, InventoryAttributes } from './devicesSlice';\n\n// for some reason these functions can not be stored in the deviceConstants...\nconst filterProcessors = {\n [DEVICE_FILTERING_OPTIONS.$gt.key]: val => Number(val) || val,\n [DEVICE_FILTERING_OPTIONS.$gte.key]: val => Number(val) || val,\n [DEVICE_FILTERING_OPTIONS.$lt.key]: val => Number(val) || val,\n [DEVICE_FILTERING_OPTIONS.$lte.key]: val => Number(val) || val,\n [DEVICE_FILTERING_OPTIONS.$ltne.key]: val => Number(val) || val,\n [DEVICE_FILTERING_OPTIONS.$in.key]: val => ('' + val).split(',').map(i => i.trim()),\n [DEVICE_FILTERING_OPTIONS.$nin.key]: val => ('' + val).split(',').map(i => i.trim()),\n [DEVICE_FILTERING_OPTIONS.$exists.key]: yes,\n [DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false\n};\nconst filterAliases = {\n $nexists: { alias: DEVICE_FILTERING_OPTIONS.$exists.key, value: false }\n};\nexport const mapFiltersToTerms = filters =>\n filters.map(filter => ({\n scope: filter.scope,\n attribute: filter.key,\n type: filterAliases[filter.operator]?.alias || filter.operator,\n value: filterProcessors.hasOwnProperty(filter.operator) ? filterProcessors[filter.operator](filter.value) : filter.value\n }));\nexport const mapTermsToFilters = terms =>\n terms.map(term => {\n const aliasedFilter = Object.entries(filterAliases).find(\n aliasDefinition => aliasDefinition[1].alias === term.type && aliasDefinition[1].value === term.value\n );\n const operator = aliasedFilter ? aliasedFilter[0] : term.type;\n return { scope: term.scope, key: term.attribute, operator, value: term.value };\n });\n\nconst convertIssueOptionsToFilters = (issuesSelection, filtersState = {}) =>\n issuesSelection.map(item => {\n if (typeof DEVICE_ISSUE_OPTIONS[item].filterRule.value === 'function') {\n return { ...DEVICE_ISSUE_OPTIONS[item].filterRule, value: DEVICE_ISSUE_OPTIONS[item].filterRule.value(filtersState) };\n }\n return DEVICE_ISSUE_OPTIONS[item].filterRule;\n });\n\nexport const convertDeviceListStateToFilters = ({\n filters = [],\n group,\n groups = { byId: {} },\n offlineThreshold,\n selectedIssues = [],\n status\n}: {\n filters?: DeviceFilter[];\n group?: string;\n groups?: { byId: Record<string, DeviceGroup> };\n offlineThreshold?: string;\n selectedIssues?: DeviceIssueOptionKey[];\n status?: string;\n}) => {\n let applicableFilters = [...filters];\n if (typeof group === 'string' && !(groups.byId[group]?.filters || applicableFilters).length) {\n applicableFilters.push({ key: 'group', value: group, operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: 'system' });\n }\n const nonMonitorFilters = applicableFilters.filter(\n filter =>\n !Object.values(DEVICE_ISSUE_OPTIONS).some(\n ({ filterRule }) => filter.scope !== 'inventory' && filterRule.scope === filter.scope && filterRule.key === filter.key\n )\n );\n const deviceIssueFilters = convertIssueOptionsToFilters(selectedIssues, { offlineThreshold });\n applicableFilters = [...nonMonitorFilters, ...deviceIssueFilters];\n const effectiveFilters = status\n ? [...applicableFilters, { key: 'status', value: status, operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: 'identity' }]\n : applicableFilters;\n return { applicableFilters: nonMonitorFilters, filterTerms: mapFiltersToTerms(effectiveFilters) };\n};\n\nconst filterCompare = (filter, item) => Object.keys(emptyFilter).every(key => item[key]?.toString() === filter[key]?.toString());\n\nexport const filtersFilter = (item, index, array) => {\n const firstIndex = array.findIndex(filter => filterCompare(filter, item));\n return firstIndex === index;\n};\n\nexport const listItemMapper = <T>(\n byId: Record<string, T>,\n ids: string[],\n { cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH, defaultObject = {} }: { cutOffSize?: number; defaultObject?: T }\n): T[] =>\n ids.slice(0, cutOffSize).reduce((accu, id) => {\n if (id && byId[id]) {\n accu.push({ ...defaultObject, ...byId[id] });\n }\n return accu;\n }, []);\n\nexport const mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) =>\n Object.entries(existingPermissions).reduce(\n (accu, [key, value]) => {\n let values;\n if (!accu[key]) {\n accu[key] = value;\n return accu;\n }\n if (Array.isArray(value)) {\n values = [...value, ...accu[key]].filter(duplicateFilter);\n } else {\n values = mergePermissions(accu[key], { ...value });\n }\n accu[key] = values;\n return accu;\n },\n { ...addedPermissions }\n );\n\nexport const mapUserRolesToUiPermissions = (userRoles, roles) =>\n userRoles.reduce(\n (accu, roleId) => {\n if (!(roleId && roles[roleId])) {\n return accu;\n }\n return mergePermissions(accu, roles[roleId].uiPermissions);\n },\n { ...emptyUiPermissions }\n );\n\nexport const progress = ({ loaded, total }) => {\n let uploadProgress = (loaded / total) * 100;\n return (uploadProgress = uploadProgress < 50 ? Math.ceil(uploadProgress) : Math.round(uploadProgress));\n};\n\nexport const extractErrorMessage = (err, fallback = '') =>\n err.response?.data?.error?.message || err.response?.data?.error || err.error || err.message || fallback;\n\nexport const ensureVersionString = (software, fallback) =>\n software.length && software !== 'artifact_name' ? (software.endsWith(softwareIndicator) ? software : `${software}${softwareIndicator}`) : fallback;\n\nexport const getComparisonCompatibleVersion = version => (isNaN(version.charAt(0)) && version !== 'next' ? 'master' : version);\n\nexport const stringToBoolean = content => {\n if (!content) {\n return false;\n }\n const string = content + '';\n switch (string.trim().toLowerCase()) {\n case 'true':\n case 'yes':\n case '1':\n return true;\n case 'false':\n case 'no':\n case '0':\n case null:\n return false;\n default:\n return Boolean(string);\n }\n};\n\nexport const groupDeploymentDevicesStats = deployment => {\n const deviceStatCollector = (deploymentStates, devices) =>\n Object.values(devices).reduce((accu, device) => (deploymentStates.includes(device.status) ? accu + 1 : accu), 0);\n\n const inprogress = deviceStatCollector(deploymentStatesToSubstates.inprogress, deployment.devices);\n const pending = deviceStatCollector(deploymentStatesToSubstates.pending, deployment.devices);\n const successes = deviceStatCollector(deploymentStatesToSubstates.successes, deployment.devices);\n const failures = deviceStatCollector(deploymentStatesToSubstates.failures, deployment.devices);\n const paused = deviceStatCollector(deploymentStatesToSubstates.paused, deployment.devices);\n return { inprogress, paused, pending, successes, failures };\n};\n\nexport const statCollector = (items, statistics) => items.reduce((accu, property) => accu + Number(statistics[property] || 0), 0);\nexport const groupDeploymentStats = (deployment, withSkipped) => {\n const { statistics = {} } = deployment;\n const { status = {} } = statistics;\n const stats = { ...defaultStats, ...status };\n let groupStates = deploymentStatesToSubstates;\n let result = {};\n if (withSkipped) {\n groupStates = deploymentStatesToSubstatesWithSkipped;\n result.skipped = statCollector(groupStates.skipped, stats);\n }\n result = {\n ...result,\n // don't include 'pending' as inprogress, as all remaining devices will be pending - we don't discriminate based on phase membership\n inprogress: statCollector(groupStates.inprogress, stats),\n pending: (deployment.max_devices ? deployment.max_devices - deployment.device_count : 0) + statCollector(groupStates.pending, stats),\n successes: statCollector(groupStates.successes, stats),\n failures: statCollector(groupStates.failures, stats),\n paused: statCollector(groupStates.paused, stats)\n };\n return result;\n};\n\nexport const getDeploymentState = deployment => {\n const { status: deploymentStatus = DEPLOYMENT_STATES.pending } = deployment;\n const { inprogress: currentProgressCount, paused } = groupDeploymentStats(deployment);\n\n let status = deploymentDisplayStates[deploymentStatus];\n if (deploymentStatus === DEPLOYMENT_STATES.pending && currentProgressCount === 0) {\n status = 'queued';\n } else if (paused > 0) {\n status = deploymentDisplayStates.paused;\n }\n return status;\n};\n\nexport const generateDeploymentGroupDetails = (filter, groupName) =>\n filter && filter.terms?.length\n ? `${groupName} (${filter.terms\n .map(filter => `${filter.attribute || filter.key} ${DEVICE_FILTERING_OPTIONS[filter.type || filter.operator].shortform} ${filter.value}`)\n .join(', ')})`\n : groupName;\n\nexport const mapDeviceAttributes = (\n attributes: DeviceAttribute[] = []\n): {\n identity: Record<string, string>;\n inventory: InventoryAttributes;\n monitor: Record<string, string>;\n system: Record<string, string>;\n tags: Record<string, string>;\n} =>\n attributes.reduce(\n (accu, attribute) => {\n if (!(attribute.value && attribute.name) && attribute.scope === ATTRIBUTE_SCOPES.inventory) {\n return accu;\n }\n accu[attribute.scope || ATTRIBUTE_SCOPES.inventory] = {\n ...accu[attribute.scope || ATTRIBUTE_SCOPES.inventory],\n [attribute.name]: attribute.value\n };\n if (attribute.name === 'device_type' && attribute.scope === ATTRIBUTE_SCOPES.inventory) {\n accu.inventory.device_type = [].concat(attribute.value);\n }\n return accu;\n },\n { inventory: { device_type: [], artifact_name: '' }, identity: {}, monitor: {}, system: {}, tags: {} }\n );\n\nexport const isDarkMode = mode => mode === DARK_MODE;\ntype Line = { addon?: string; amount: number; currency: string; description: string; quantity: number };\n\nexport const parseSubscriptionPreview = (lines: Line[]) =>\n lines.reduce(\n (acc, { addon, amount }) => {\n const key = addon || 'plan';\n if (key === 'plan') {\n acc.plan += amount;\n } else {\n acc.addons[key] = (acc.addons[key] ?? 0) + amount;\n }\n return acc;\n },\n { plan: 0, addons: {} }\n );\n"],"mappings":"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","names":["filter"]}
@@ -1,11 +1,12 @@
1
1
  import {
2
- TIMEOUTS
3
- } from "./chunk-BSN2TOQC.js";
2
+ TIMEOUTS,
3
+ maxSessionAge
4
+ } from "./chunk-7C4SQBEE.js";
4
5
 
5
6
  // src/auth.ts
6
7
  import Cookies from "universal-cookie";
7
8
  var cookies = new Cookies();
8
- var emptySession = Object.freeze({ token: "", exiresAt: void 0 });
9
+ var emptySession = Object.freeze({ token: "", expiresAt: void 0 });
9
10
  var tokenCache = "";
10
11
  var getSessionInfo = () => {
11
12
  let sessionInfo = { ...emptySession };
@@ -18,15 +19,15 @@ var getSessionInfo = () => {
18
19
  return { ...emptySession };
19
20
  }
20
21
  if (!sessionInfo.token) {
21
- let jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
22
+ const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
22
23
  if (jwtTokenFromCookie) {
23
- setSessionInfo({ token: jwtTokenFromCookie, undefined: void 0 });
24
+ setSessionInfo({ token: jwtTokenFromCookie });
24
25
  sessionInfo.token = jwtTokenFromCookie;
25
26
  cookies.remove("JWT");
26
27
  cookies.remove("JWT", { path: "/" });
27
28
  }
28
29
  }
29
- sessionInfo.token = sessionInfo.token || void 0;
30
+ sessionInfo.token = sessionInfo.token || "";
30
31
  tokenCache = sessionInfo.token;
31
32
  return sessionInfo;
32
33
  };
@@ -42,7 +43,6 @@ var cleanUp = () => {
42
43
  window.localStorage.removeItem("JWT");
43
44
  window.localStorage.removeItem("oauth");
44
45
  };
45
- var maxSessionAge = 900;
46
46
  var updateMaxAge = ({ expiresAt, token }) => {
47
47
  const oAuthExpiration = Number(window.localStorage.getItem("oauth"));
48
48
  let updateWithOAuth = false;
@@ -65,7 +65,6 @@ export {
65
65
  getToken,
66
66
  setSessionInfo,
67
67
  cleanUp,
68
- maxSessionAge,
69
68
  updateMaxAge
70
69
  };
71
- //# sourceMappingURL=chunk-GAI4VYRZ.js.map
70
+ //# sourceMappingURL=chunk-ZJW3QIPM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/auth.ts"],"sourcesContent":["// Copyright 2016 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport Cookies from 'universal-cookie';\n\nimport { TIMEOUTS, maxSessionAge } from './constants';\nimport type { UserSession } from './usersSlice';\n\nconst cookies = new Cookies();\n\nconst emptySession = Object.freeze({ token: '', expiresAt: undefined }) as Readonly<UserSession>;\n\nlet tokenCache = '';\n\nexport const getSessionInfo = (): UserSession => {\n let sessionInfo = { ...emptySession } as UserSession;\n try {\n sessionInfo = JSON.parse(window.localStorage.getItem('JWT') ?? '');\n } catch {\n // most likely not logged in - nothing to do here\n }\n if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < new Date()) {\n cleanUp();\n return { ...emptySession };\n }\n if (!sessionInfo.token) {\n const jwtTokenFromCookie = cookies.get('JWT', { doNotParse: true }) ?? '';\n if (jwtTokenFromCookie) {\n setSessionInfo({ token: jwtTokenFromCookie });\n sessionInfo.token = jwtTokenFromCookie;\n cookies.remove('JWT');\n cookies.remove('JWT', { path: '/' });\n }\n }\n sessionInfo.token = sessionInfo.token || '';\n tokenCache = sessionInfo.token;\n return sessionInfo;\n};\n\nexport const getToken = () => (tokenCache ? tokenCache : getSessionInfo().token);\n\nexport const setSessionInfo = ({ token, expiresAt }: UserSession) => {\n tokenCache = token;\n window.localStorage.setItem('JWT', JSON.stringify({ token, expiresAt }));\n};\n\nexport const cleanUp = () => {\n tokenCache = '';\n cookies.remove('JWT');\n cookies.remove('JWT', { path: '/' });\n window.localStorage.removeItem('JWT');\n window.localStorage.removeItem('oauth');\n};\n\nexport const updateMaxAge = ({ expiresAt, token }) => {\n const oAuthExpiration = Number(window.localStorage.getItem('oauth'));\n let updateWithOAuth = false;\n if (oAuthExpiration) {\n const soon = Date.now() + maxSessionAge * TIMEOUTS.oneSecond;\n updateWithOAuth = oAuthExpiration <= soon;\n if (updateWithOAuth) {\n window.localStorage.removeItem('oauth');\n }\n }\n if (token && expiresAt && (!oAuthExpiration || updateWithOAuth)) {\n const expiration = new Date();\n expiration.setSeconds(expiration.getSeconds() + maxSessionAge);\n setSessionInfo({ token, expiresAt: expiration.toISOString() });\n }\n};\n"],"mappings":";;;;;;AAaA,OAAO,aAAa;AAKpB,IAAM,UAAU,IAAI,QAAQ;AAE5B,IAAM,eAAe,OAAO,OAAO,EAAE,OAAO,IAAI,WAAW,OAAU,CAAC;AAEtE,IAAI,aAAa;AAEV,IAAM,iBAAiB,MAAmB;AAC/C,MAAI,cAAc,EAAE,GAAG,aAAa;AACpC,MAAI;AACF,kBAAc,KAAK,MAAM,OAAO,aAAa,QAAQ,KAAK,KAAK,EAAE;AAAA,EACnE,QAAQ;AAAA,EAER;AACA,MAAI,YAAY,aAAa,IAAI,KAAK,YAAY,SAAS,IAAI,oBAAI,KAAK,GAAG;AACzE,YAAQ;AACR,WAAO,EAAE,GAAG,aAAa;AAAA,EAC3B;AACA,MAAI,CAAC,YAAY,OAAO;AACtB,UAAM,qBAAqB,QAAQ,IAAI,OAAO,EAAE,YAAY,KAAK,CAAC,KAAK;AACvE,QAAI,oBAAoB;AACtB,qBAAe,EAAE,OAAO,mBAAmB,CAAC;AAC5C,kBAAY,QAAQ;AACpB,cAAQ,OAAO,KAAK;AACpB,cAAQ,OAAO,OAAO,EAAE,MAAM,IAAI,CAAC;AAAA,IACrC;AAAA,EACF;AACA,cAAY,QAAQ,YAAY,SAAS;AACzC,eAAa,YAAY;AACzB,SAAO;AACT;AAEO,IAAM,WAAW,MAAO,aAAa,aAAa,eAAe,EAAE;AAEnE,IAAM,iBAAiB,CAAC,EAAE,OAAO,UAAU,MAAmB;AACnE,eAAa;AACb,SAAO,aAAa,QAAQ,OAAO,KAAK,UAAU,EAAE,OAAO,UAAU,CAAC,CAAC;AACzE;AAEO,IAAM,UAAU,MAAM;AAC3B,eAAa;AACb,UAAQ,OAAO,KAAK;AACpB,UAAQ,OAAO,OAAO,EAAE,MAAM,IAAI,CAAC;AACnC,SAAO,aAAa,WAAW,KAAK;AACpC,SAAO,aAAa,WAAW,OAAO;AACxC;AAEO,IAAM,eAAe,CAAC,EAAE,WAAW,MAAM,MAAM;AACpD,QAAM,kBAAkB,OAAO,OAAO,aAAa,QAAQ,OAAO,CAAC;AACnE,MAAI,kBAAkB;AACtB,MAAI,iBAAiB;AACnB,UAAM,OAAO,KAAK,IAAI,IAAI,gBAAgB,SAAS;AACnD,sBAAkB,mBAAmB;AACrC,QAAI,iBAAiB;AACnB,aAAO,aAAa,WAAW,OAAO;AAAA,IACxC;AAAA,EACF;AACA,MAAI,SAAS,cAAc,CAAC,mBAAmB,kBAAkB;AAC/D,UAAM,aAAa,oBAAI,KAAK;AAC5B,eAAW,WAAW,WAAW,WAAW,IAAI,aAAa;AAC7D,mBAAe,EAAE,OAAO,WAAW,WAAW,YAAY,EAAE,CAAC;AAAA,EAC/D;AACF;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-ZKAH3APE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}