@northern.tech/store 0.11.0 → 0.13.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 (200) hide show
  1. package/dist/actions.cjs +22 -17
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +7 -22
  4. package/dist/actions.d.ts +7 -22
  5. package/dist/actions.js +9 -9
  6. package/dist/api/general-api.js +1 -1
  7. package/dist/api/users-api.js +1 -1
  8. package/dist/appSlice/index.cjs.map +1 -1
  9. package/dist/appSlice/index.d.cts +1 -1
  10. package/dist/appSlice/index.d.ts +1 -1
  11. package/dist/appSlice/index.js +2 -2
  12. package/dist/appSlice/mocks.cjs.map +1 -1
  13. package/dist/appSlice/mocks.js +2 -2
  14. package/dist/appSlice/selectors.d.cts +34 -528
  15. package/dist/appSlice/selectors.d.ts +34 -528
  16. package/dist/appSlice/thunks.cjs +49 -42
  17. package/dist/appSlice/thunks.cjs.map +1 -1
  18. package/dist/appSlice/thunks.d.cts +5 -3
  19. package/dist/appSlice/thunks.d.ts +5 -3
  20. package/dist/appSlice/thunks.js +18 -18
  21. package/dist/auth.js +1 -1
  22. package/dist/{chunk-QOFVCPRW.js → chunk-5PUF4LA5.js} +1 -1
  23. package/dist/chunk-5PUF4LA5.js.map +1 -0
  24. package/dist/{chunk-X3NF4KNC.js → chunk-6KAV62BW.js} +6 -6
  25. package/dist/{chunk-OFGCC3GM.js → chunk-7MTM3BDT.js} +1 -1
  26. package/dist/chunk-7MTM3BDT.js.map +1 -0
  27. package/dist/{chunk-4FNSLYK5.js → chunk-AR4FTKSL.js} +14 -14
  28. package/dist/{chunk-6KNRR7A5.js → chunk-BZAXFAGT.js} +4 -4
  29. package/dist/{chunk-ZNAJKEP2.js → chunk-CQXDAXQF.js} +1 -1
  30. package/dist/chunk-CQXDAXQF.js.map +1 -0
  31. package/dist/{chunk-I3H5EFZK.js → chunk-EOZ665GA.js} +15 -15
  32. package/dist/{chunk-NVNO3I3K.js → chunk-ETZVJXPD.js} +36 -41
  33. package/dist/chunk-ETZVJXPD.js.map +1 -0
  34. package/dist/{chunk-RFF52JYU.js → chunk-KJ4BPXMB.js} +3 -2
  35. package/dist/chunk-KJ4BPXMB.js.map +1 -0
  36. package/dist/{chunk-C2LGE3P6.js → chunk-OLKM53RL.js} +1 -1
  37. package/dist/chunk-OLKM53RL.js.map +1 -0
  38. package/dist/{chunk-HLX5L3IM.js → chunk-PVCHKW35.js} +1 -1
  39. package/dist/chunk-PVCHKW35.js.map +1 -0
  40. package/dist/{chunk-REZWSU22.js → chunk-VODRLEDP.js} +21 -17
  41. package/dist/chunk-VODRLEDP.js.map +1 -0
  42. package/dist/{chunk-MH5WPYQI.js → chunk-X7NEALMI.js} +16 -9
  43. package/dist/chunk-X7NEALMI.js.map +1 -0
  44. package/dist/{chunk-CUU3N6KW.js → chunk-YFAIYNQG.js} +16 -16
  45. package/dist/commonConstants.js +1 -1
  46. package/dist/commonSelectors.cjs +15 -8
  47. package/dist/commonSelectors.cjs.map +1 -1
  48. package/dist/commonSelectors.d.cts +178 -3523
  49. package/dist/commonSelectors.d.ts +178 -3523
  50. package/dist/commonSelectors.js +6 -6
  51. package/dist/constants.js +1 -1
  52. package/dist/deploymentsSlice/constants.js +1 -1
  53. package/dist/deploymentsSlice/index.cjs.map +1 -1
  54. package/dist/deploymentsSlice/index.d.cts +1 -1
  55. package/dist/deploymentsSlice/index.d.ts +1 -1
  56. package/dist/deploymentsSlice/index.js +2 -2
  57. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  58. package/dist/deploymentsSlice/mocks.js +2 -2
  59. package/dist/deploymentsSlice/selectors.d.cts +16 -138
  60. package/dist/deploymentsSlice/selectors.d.ts +16 -138
  61. package/dist/deploymentsSlice/selectors.js +1 -1
  62. package/dist/deploymentsSlice/thunks.cjs +49 -42
  63. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  64. package/dist/deploymentsSlice/thunks.d.cts +4 -2
  65. package/dist/deploymentsSlice/thunks.d.ts +4 -2
  66. package/dist/deploymentsSlice/thunks.js +18 -18
  67. package/dist/devicesSlice/constants.js +1 -1
  68. package/dist/devicesSlice/index.cjs +20 -16
  69. package/dist/devicesSlice/index.cjs.map +1 -1
  70. package/dist/devicesSlice/index.d.cts +11 -20
  71. package/dist/devicesSlice/index.d.ts +11 -20
  72. package/dist/devicesSlice/index.js +2 -2
  73. package/dist/devicesSlice/mocks.cjs +24 -22
  74. package/dist/devicesSlice/mocks.cjs.map +1 -1
  75. package/dist/devicesSlice/mocks.d.cts +20 -12
  76. package/dist/devicesSlice/mocks.d.ts +20 -12
  77. package/dist/devicesSlice/mocks.js +6 -8
  78. package/dist/devicesSlice/mocks.js.map +1 -1
  79. package/dist/devicesSlice/selectors.cjs +15 -8
  80. package/dist/devicesSlice/selectors.cjs.map +1 -1
  81. package/dist/devicesSlice/selectors.d.cts +207 -1730
  82. package/dist/devicesSlice/selectors.d.ts +207 -1730
  83. package/dist/devicesSlice/selectors.js +2 -2
  84. package/dist/devicesSlice/thunks.cjs +49 -44
  85. package/dist/devicesSlice/thunks.cjs.map +1 -1
  86. package/dist/devicesSlice/thunks.d.cts +12 -46
  87. package/dist/devicesSlice/thunks.d.ts +12 -46
  88. package/dist/devicesSlice/thunks.js +18 -20
  89. package/dist/liststatehook.js +1 -1
  90. package/dist/locationutils.js +1 -1
  91. package/dist/monitorSlice/index.cjs.map +1 -1
  92. package/dist/monitorSlice/index.d.cts +1 -1
  93. package/dist/monitorSlice/index.d.ts +1 -1
  94. package/dist/monitorSlice/index.js +2 -2
  95. package/dist/monitorSlice/mocks.cjs.map +1 -1
  96. package/dist/monitorSlice/mocks.js +2 -2
  97. package/dist/monitorSlice/thunks.cjs +37 -25
  98. package/dist/monitorSlice/thunks.cjs.map +1 -1
  99. package/dist/monitorSlice/thunks.d.cts +3 -2
  100. package/dist/monitorSlice/thunks.d.ts +3 -2
  101. package/dist/monitorSlice/thunks.js +16 -16
  102. package/dist/onboardingSlice/index.cjs.map +1 -1
  103. package/dist/onboardingSlice/index.d.cts +1 -1
  104. package/dist/onboardingSlice/index.d.ts +1 -1
  105. package/dist/onboardingSlice/index.js +1 -1
  106. package/dist/onboardingSlice/mocks.cjs.map +1 -1
  107. package/dist/onboardingSlice/mocks.js +1 -1
  108. package/dist/onboardingSlice/thunks.cjs +49 -42
  109. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  110. package/dist/onboardingSlice/thunks.d.cts +7 -15
  111. package/dist/onboardingSlice/thunks.d.ts +7 -15
  112. package/dist/onboardingSlice/thunks.js +18 -18
  113. package/dist/organizationSlice/constants.js +1 -1
  114. package/dist/organizationSlice/index.cjs.map +1 -1
  115. package/dist/organizationSlice/index.d.cts +41 -31
  116. package/dist/organizationSlice/index.d.ts +41 -31
  117. package/dist/organizationSlice/index.js +2 -2
  118. package/dist/organizationSlice/mocks.cjs.map +1 -1
  119. package/dist/organizationSlice/mocks.js +2 -2
  120. package/dist/organizationSlice/selectors.d.cts +42 -659
  121. package/dist/organizationSlice/selectors.d.ts +42 -659
  122. package/dist/organizationSlice/selectors.js +1 -1
  123. package/dist/organizationSlice/thunks.cjs +51 -44
  124. package/dist/organizationSlice/thunks.cjs.map +1 -1
  125. package/dist/organizationSlice/thunks.d.cts +4 -1
  126. package/dist/organizationSlice/thunks.d.ts +4 -1
  127. package/dist/organizationSlice/thunks.js +18 -18
  128. package/dist/organizationSlice/types.cjs.map +1 -1
  129. package/dist/organizationSlice/types.d.cts +2 -12
  130. package/dist/organizationSlice/types.d.ts +2 -12
  131. package/dist/releasesSlice/index.js +1 -1
  132. package/dist/releasesSlice/mocks.d.cts +7 -1
  133. package/dist/releasesSlice/mocks.d.ts +7 -1
  134. package/dist/releasesSlice/mocks.js +1 -1
  135. package/dist/releasesSlice/selectors.d.cts +155 -930
  136. package/dist/releasesSlice/selectors.d.ts +155 -930
  137. package/dist/releasesSlice/selectors.js +1 -1
  138. package/dist/releasesSlice/thunks.cjs +37 -25
  139. package/dist/releasesSlice/thunks.cjs.map +1 -1
  140. package/dist/releasesSlice/thunks.d.cts +4 -2
  141. package/dist/releasesSlice/thunks.d.ts +4 -2
  142. package/dist/releasesSlice/thunks.js +16 -16
  143. package/dist/selectors.cjs +15 -8
  144. package/dist/selectors.cjs.map +1 -1
  145. package/dist/selectors.d.cts +6 -3
  146. package/dist/selectors.d.ts +6 -3
  147. package/dist/selectors.js +33 -33
  148. package/dist/sockethook.cjs +1 -1
  149. package/dist/sockethook.cjs.map +1 -1
  150. package/dist/sockethook.js +2 -2
  151. package/dist/sockethook.js.map +1 -1
  152. package/dist/store.cjs +22 -17
  153. package/dist/store.cjs.map +1 -1
  154. package/dist/store.d.cts +40 -658
  155. package/dist/store.d.ts +40 -658
  156. package/dist/store.js +10 -10
  157. package/dist/storehooks.cjs +52 -45
  158. package/dist/storehooks.cjs.map +1 -1
  159. package/dist/storehooks.js +19 -19
  160. package/dist/thunks.cjs +49 -44
  161. package/dist/thunks.cjs.map +1 -1
  162. package/dist/thunks.d.cts +7 -5
  163. package/dist/thunks.d.ts +7 -5
  164. package/dist/thunks.js +18 -20
  165. package/dist/useDeploymentDevice.cjs +49 -42
  166. package/dist/useDeploymentDevice.cjs.map +1 -1
  167. package/dist/useDeploymentDevice.js +19 -19
  168. package/dist/usersSlice/constants.js +1 -1
  169. package/dist/usersSlice/index.cjs +2 -1
  170. package/dist/usersSlice/index.cjs.map +1 -1
  171. package/dist/usersSlice/index.d.cts +47 -46
  172. package/dist/usersSlice/index.d.ts +47 -46
  173. package/dist/usersSlice/index.js +2 -2
  174. package/dist/usersSlice/mocks.cjs +2 -1
  175. package/dist/usersSlice/mocks.cjs.map +1 -1
  176. package/dist/usersSlice/mocks.js +2 -2
  177. package/dist/usersSlice/selectors.d.cts +75 -1436
  178. package/dist/usersSlice/selectors.d.ts +75 -1436
  179. package/dist/usersSlice/selectors.js +1 -1
  180. package/dist/usersSlice/thunks.cjs +49 -42
  181. package/dist/usersSlice/thunks.cjs.map +1 -1
  182. package/dist/usersSlice/thunks.d.cts +3 -1
  183. package/dist/usersSlice/thunks.d.ts +3 -1
  184. package/dist/usersSlice/thunks.js +18 -18
  185. package/dist/utils.js +1 -1
  186. package/package.json +4 -4
  187. package/dist/chunk-C2LGE3P6.js.map +0 -1
  188. package/dist/chunk-HLX5L3IM.js.map +0 -1
  189. package/dist/chunk-MH5WPYQI.js.map +0 -1
  190. package/dist/chunk-NVNO3I3K.js.map +0 -1
  191. package/dist/chunk-OFGCC3GM.js.map +0 -1
  192. package/dist/chunk-QOFVCPRW.js.map +0 -1
  193. package/dist/chunk-REZWSU22.js.map +0 -1
  194. package/dist/chunk-RFF52JYU.js.map +0 -1
  195. package/dist/chunk-ZNAJKEP2.js.map +0 -1
  196. /package/dist/{chunk-X3NF4KNC.js.map → chunk-6KAV62BW.js.map} +0 -0
  197. /package/dist/{chunk-4FNSLYK5.js.map → chunk-AR4FTKSL.js.map} +0 -0
  198. /package/dist/{chunk-6KNRR7A5.js.map → chunk-BZAXFAGT.js.map} +0 -0
  199. /package/dist/{chunk-I3H5EFZK.js.map → chunk-EOZ665GA.js.map} +0 -0
  200. /package/dist/{chunk-CUU3N6KW.js.map → chunk-YFAIYNQG.js.map} +0 -0
@@ -15,25 +15,25 @@ import {
15
15
  getUserSettings as getUserSettings2,
16
16
  saveGlobalSettings,
17
17
  saveUserSettings
18
- } from "./chunk-NVNO3I3K.js";
18
+ } from "./chunk-ETZVJXPD.js";
19
19
  import {
20
20
  getReleases
21
- } from "./chunk-6KNRR7A5.js";
22
- import "./chunk-X3NF4KNC.js";
23
- import "./chunk-CUU3N6KW.js";
21
+ } from "./chunk-BZAXFAGT.js";
22
+ import "./chunk-6KAV62BW.js";
23
+ import "./chunk-YFAIYNQG.js";
24
24
  import "./chunk-Y3DJIMEN.js";
25
25
  import "./chunk-5M6EUVNO.js";
26
26
  import {
27
27
  actions_default
28
- } from "./chunk-4FNSLYK5.js";
29
- import "./chunk-C2LGE3P6.js";
30
- import "./chunk-RFF52JYU.js";
28
+ } from "./chunk-AR4FTKSL.js";
31
29
  import "./chunk-TRKA7XYU.js";
32
- import "./chunk-ZNAJKEP2.js";
33
- import "./chunk-QOFVCPRW.js";
34
- import "./chunk-HLX5L3IM.js";
35
- import "./chunk-OFGCC3GM.js";
36
- import "./chunk-REZWSU22.js";
30
+ import "./chunk-KJ4BPXMB.js";
31
+ import "./chunk-5PUF4LA5.js";
32
+ import "./chunk-PVCHKW35.js";
33
+ import "./chunk-CQXDAXQF.js";
34
+ import "./chunk-VODRLEDP.js";
35
+ import "./chunk-7MTM3BDT.js";
36
+ import "./chunk-OLKM53RL.js";
37
37
  import {
38
38
  getSessionInfo
39
39
  } from "./chunk-FDSMCFV5.js";
@@ -43,23 +43,23 @@ import {
43
43
  getIsEnterprise,
44
44
  getOnboardingState,
45
45
  getUserCapabilities
46
- } from "./chunk-I3H5EFZK.js";
47
- import "./chunk-WR6RQKF5.js";
46
+ } from "./chunk-EOZ665GA.js";
47
+ import "./chunk-GGBE6KJV.js";
48
48
  import {
49
49
  getGlobalSettings,
50
50
  getOfflineThresholdSettings,
51
51
  getUserSettings
52
52
  } from "./chunk-7QKCBSFU.js";
53
- import "./chunk-GGBE6KJV.js";
54
- import "./chunk-JIS4PA3R.js";
55
53
  import {
56
54
  getIsServiceProvider
57
55
  } from "./chunk-3NOV7X4M.js";
56
+ import "./chunk-YO22XLHI.js";
57
+ import "./chunk-JIS4PA3R.js";
58
+ import "./chunk-WR6RQKF5.js";
58
59
  import {
59
60
  getDevicesByStatus,
60
61
  getSortedFilteringAttributes
61
- } from "./chunk-MH5WPYQI.js";
62
- import "./chunk-YO22XLHI.js";
62
+ } from "./chunk-X7NEALMI.js";
63
63
  import {
64
64
  getFeatures
65
65
  } from "./chunk-BYUPW7RA.js";
@@ -74,8 +74,8 @@ import {
74
74
  timeUnits
75
75
  } from "./chunk-WWED74SG.js";
76
76
  import "./chunk-2DYA3X77.js";
77
- import "./chunk-ZKAH3APE.js";
78
77
  import "./chunk-FAJ3I2UQ.js";
78
+ import "./chunk-ZKAH3APE.js";
79
79
  import "./chunk-OWWCFJZ5.js";
80
80
 
81
81
  // src/storehooks.ts
package/dist/thunks.cjs CHANGED
@@ -93,7 +93,6 @@ __export(thunks_exports, {
93
93
  getDeviceById: () => getDeviceById2,
94
94
  getDeviceConfig: () => getDeviceConfig,
95
95
  getDeviceConnect: () => getDeviceConnect,
96
- getDeviceCount: () => getDeviceCount,
97
96
  getDeviceDeployments: () => getDeviceDeployments,
98
97
  getDeviceFileDownloadLink: () => getDeviceFileDownloadLink,
99
98
  getDeviceInfo: () => getDeviceInfo,
@@ -1251,15 +1250,22 @@ var getDeviceIdentityAttributes = (0, import_toolkit4.createSelector)(
1251
1250
  );
1252
1251
  var getDeviceCountsByStatus = (0, import_toolkit4.createSelector)(
1253
1252
  [getDevicesByStatus],
1254
- (byStatus) => Object.values(import_constants5.DEVICE_STATES).reduce((accu, state) => {
1255
- accu[state] = byStatus[state].total || 0;
1256
- return accu;
1257
- }, {})
1253
+ (byStatus) => Object.values(import_constants5.DEVICE_STATES).reduce(
1254
+ (accu, deviceState) => {
1255
+ const { counts } = byStatus[deviceState];
1256
+ const { total, ...tieredCounts } = counts;
1257
+ const count = Object.values(tieredCounts).reduce((accu2, countPerTier) => accu2 + countPerTier, 0);
1258
+ accu[deviceState] = count;
1259
+ accu.total = accu.total + count;
1260
+ return accu;
1261
+ },
1262
+ { total: 0 }
1263
+ )
1258
1264
  );
1259
1265
  var getDeviceById = (0, import_toolkit4.createSelector)([getDevicesById, (_, deviceId) => deviceId], (devicesById, deviceId = "") => devicesById[deviceId] ?? {});
1260
1266
  var getSelectedGroupInfo = (0, import_toolkit4.createSelector)(
1261
- [getAcceptedDevices, getGroupsById, getSelectedGroup],
1262
- ({ total: acceptedDeviceTotal }, groupsById, selectedGroup) => {
1267
+ [getDeviceCountsByStatus, getGroupsById, getSelectedGroup],
1268
+ ({ accepted: acceptedDeviceTotal }, groupsById, selectedGroup) => {
1263
1269
  let groupCount = acceptedDeviceTotal;
1264
1270
  let groupFilters = [];
1265
1271
  if (selectedGroup && groupsById[selectedGroup]) {
@@ -1275,8 +1281,8 @@ var getCombinedLimit = (0, import_toolkit4.createSelector)(
1275
1281
  // limit might be -1 for unlimited devices
1276
1282
  );
1277
1283
  var getLimitMaxed = (0, import_toolkit4.createSelector)(
1278
- [getAcceptedDevices, getCombinedLimit],
1279
- ({ total: acceptedDevices = 0 }, combinedLimit) => !!combinedLimit && combinedLimit <= acceptedDevices
1284
+ [getDeviceCountsByStatus, getCombinedLimit],
1285
+ ({ accepted: acceptedDevices }, combinedLimit) => !!combinedLimit && combinedLimit <= acceptedDevices
1280
1286
  );
1281
1287
  var getGroupsByIdWithoutUngrouped = (0, import_toolkit4.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
1282
1288
  var getGroupData = (0, import_toolkit4.createSelector)([getGroupsByIdWithoutUngrouped], (groups) => {
@@ -1911,12 +1917,10 @@ var initialState3 = {
1911
1917
  // }
1912
1918
  },
1913
1919
  byStatus: {
1914
- [import_constants5.DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },
1915
- active: { deviceIds: [], total: 0 },
1916
- inactive: { deviceIds: [], total: 0 },
1917
- [import_constants5.DEVICE_STATES.pending]: { deviceIds: [], total: 0 },
1918
- [import_constants5.DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
1919
- [import_constants5.DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }
1920
+ [import_constants5.DEVICE_STATES.accepted]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } },
1921
+ [import_constants5.DEVICE_STATES.pending]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } },
1922
+ [import_constants5.DEVICE_STATES.preauth]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } },
1923
+ [import_constants5.DEVICE_STATES.rejected]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } }
1920
1924
  },
1921
1925
  deviceList: {
1922
1926
  deviceIds: [],
@@ -2046,21 +2050,19 @@ var devicesSlice = (0, import_toolkit10.createSlice)({
2046
2050
  }
2047
2051
  state.filters = action.payload.filter((filter) => filter.key && filter.operator && filter.scope && typeof filter.value !== "undefined");
2048
2052
  },
2049
- setInactiveDevices: (state, action) => {
2050
- const { activeDeviceTotal, inactiveDeviceTotal } = action.payload;
2051
- state.byStatus.active.total = activeDeviceTotal;
2052
- state.byStatus.inactive.total = inactiveDeviceTotal;
2053
- },
2054
2053
  setDeviceReports: (state, action) => {
2055
2054
  state.reports = action.payload;
2056
2055
  },
2057
2056
  setDevicesByStatus: (state, action) => {
2058
- const { forceUpdate, status, total, deviceIds } = action.payload;
2059
- state.byStatus[status] = total || forceUpdate ? { deviceIds, total } : state.byStatus[status];
2057
+ const { status, total, deviceIds } = action.payload;
2058
+ if (total) {
2059
+ state.byStatus[status].deviceIds = deviceIds;
2060
+ state.byStatus[status].counts.total = total;
2061
+ }
2060
2062
  },
2061
2063
  setDevicesCountByStatus: (state, action) => {
2062
- const { count, status } = action.payload;
2063
- state.byStatus[status].total = count;
2064
+ const { countsPerTier, status } = action.payload;
2065
+ state.byStatus[status].counts = { ...countsPerTier, total: Object.values(countsPerTier).reduce((accu, tieredCount) => accu += tieredCount, 0) };
2064
2066
  },
2065
2067
  setDeviceLimits: (state, action) => {
2066
2068
  state.limits = action.payload;
@@ -2077,7 +2079,15 @@ var devicesSlice = (0, import_toolkit10.createSlice)({
2077
2079
  const hasMultipleAuthSets = authId && device.auth_sets ? device.auth_sets.filter((authset) => authset.id !== authId).length > 0 : false;
2078
2080
  if (!hasMultipleAuthSets && Object.values(import_constants5.DEVICE_STATES).includes(device.status)) {
2079
2081
  const deviceIds = state.byStatus[device.status].deviceIds.filter((id) => id !== deviceId);
2080
- state.byStatus[device.status] = { deviceIds, total: Math.max(0, state.byStatus[device.status].total - 1) };
2082
+ const deviceTier = device.attributes.tier || "standard";
2083
+ state.byStatus[device.status] = {
2084
+ deviceIds,
2085
+ counts: {
2086
+ ...state.byStatus[device.status].counts,
2087
+ [deviceTier]: Math.max(0, state.byStatus[device.status].counts[deviceTier] - 1),
2088
+ total: Math.max(0, state.byStatus[device.status].counts.total - 1)
2089
+ }
2090
+ };
2081
2091
  }
2082
2092
  }
2083
2093
  }
@@ -2453,7 +2463,8 @@ var initialState8 = {
2453
2463
  },
2454
2464
  userSettings: {
2455
2465
  columnSelection: [],
2456
- onboarding: {}
2466
+ onboarding: {},
2467
+ firstLoginTimestamp: null
2457
2468
  },
2458
2469
  userSettingsInitialized: false
2459
2470
  };
@@ -3508,21 +3519,13 @@ var getDeviceInfo = createAppAsyncThunk(`${sliceName3}/getDeviceInfo`, (deviceId
3508
3519
  }
3509
3520
  return Promise.all(tasks);
3510
3521
  });
3511
- var getDeviceCount = createAppAsyncThunk(
3512
- `${sliceName3}/getDeviceCount`,
3513
- (status, { dispatch, getState }) => general_api_default.post(getSearchEndpoint(getState()), {
3514
- page: 1,
3515
- per_page: 1,
3516
- filters: mapFiltersToTerms([{ key: "status", value: status, operator: import_constants5.DEVICE_FILTERING_OPTIONS.$eq.key, scope: "identity" }]),
3517
- attributes: defaultAttributes
3518
- }).then((response) => {
3519
- const count = Number(response.headers[import_constants5.headerNames.total]);
3520
- return dispatch(actions3.setDevicesCountByStatus({ count, status }));
3521
- })
3522
- );
3523
3522
  var getAllDeviceCounts = createAppAsyncThunk(
3524
3523
  `${sliceName3}/getAllDeviceCounts`,
3525
- (_, { dispatch }) => Promise.all([import_constants5.DEVICE_STATES.accepted, import_constants5.DEVICE_STATES.pending].map((status) => dispatch(getDeviceCount(status))))
3524
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.inventoryApiUrlV2}/statistics`).then(({ data }) => {
3525
+ const { devices_by_status } = data;
3526
+ Object.entries(devices_by_status).map(([status, countsPerTier]) => dispatch(actions3.setDevicesCountByStatus({ countsPerTier, status })));
3527
+ return;
3528
+ })
3526
3529
  );
3527
3530
  var getDeviceLimits2 = createAppAsyncThunk(
3528
3531
  `${sliceName3}/getDeviceLimit`,
@@ -3594,7 +3597,7 @@ var getDevicesByStatus2 = createAppAsyncThunk(
3594
3597
  const state2 = getState();
3595
3598
  const deviceAccu = reduceReceivedDevices(response.data, [], state2, status);
3596
3599
  let total = !applicableFilters.length ? Number(response.headers[import_constants5.headerNames.total]) : 0;
3597
- if (status && state2.devices.byStatus[status].total === deviceAccu.ids.length) {
3600
+ if (status && state2.devices.byStatus[status].counts.total === deviceAccu.ids.length) {
3598
3601
  total = deviceAccu.ids.length;
3599
3602
  }
3600
3603
  const tasks = [dispatch(actions3.receivedDevices(deviceAccu.devicesById))];
@@ -3701,8 +3704,8 @@ var updateReportData = createAppAsyncThunk(`${sliceName3}/updateReportData`, (re
3701
3704
  const { group = "" } = report;
3702
3705
  const devicesById = getDevicesById(getState());
3703
3706
  const groups = getGroupsById(getState());
3704
- const acceptedDevices = getAcceptedDevices(getState());
3705
- const totalDeviceCount = groups[group] ? groups[group].total : acceptedDevices.total;
3707
+ const { accepted: acceptedDevicesCount } = getDeviceCountsByStatus(getState());
3708
+ const totalDeviceCount = groups[group] ? groups[group].total : acceptedDevicesCount;
3706
3709
  const reportsData = getDeviceReports(getState());
3707
3710
  const newReports = [...reportsData];
3708
3711
  newReports[reportIndex] = initializeDistributionData(report, groups, devicesById, totalDeviceCount);
@@ -3720,6 +3723,7 @@ var getReportDataWithoutBackendSupport = createAppAsyncThunk(
3720
3723
  const effectiveAttribute = software ? software : attribute;
3721
3724
  const devicesById = getDevicesById(getState());
3722
3725
  const acceptedDevices = getAcceptedDevices(getState());
3726
+ const { accepted: acceptedDevicesCount } = getDeviceCountsByStatus(getState());
3723
3727
  const groups = getGroupsById(getState());
3724
3728
  const { deviceIds = [], filters = [], total = 0 } = groups[group] || {};
3725
3729
  let groupDevicesRequest = Promise.resolve({
@@ -3727,7 +3731,7 @@ var getReportDataWithoutBackendSupport = createAppAsyncThunk(
3727
3731
  });
3728
3732
  if (group && (!(deviceIds.length && total) || deviceIds.length !== total || !deviceIds.every((id) => !!devicesById[id]))) {
3729
3733
  groupDevicesRequest = filters.length ? dispatch(getAllDynamicGroupDevices({ group, attribute: effectiveAttribute })).unwrap() : dispatch(getAllGroupDevices({ group, attribute: effectiveAttribute })).unwrap();
3730
- } else if (!group && (acceptedDevices.deviceIds.length !== acceptedDevices.total || !acceptedDevices.deviceIds.every((id) => !!devicesById[id]))) {
3734
+ } else if (!group && (acceptedDevices.deviceIds.length !== acceptedDevicesCount || !acceptedDevices.deviceIds.every((id) => !!devicesById[id]))) {
3731
3735
  groupDevicesRequest = dispatch(getAllDevicesByStatus({ status: import_constants5.DEVICE_STATES.accepted, attribute: effectiveAttribute })).unwrap();
3732
3736
  }
3733
3737
  return groupDevicesRequest.then(() => dispatch(updateReportData(reportIndex)));
@@ -4933,6 +4937,7 @@ var getDeltaGenerationJobDetails = createAppAsyncThunk(
4933
4937
  // src/usersSlice/thunks.ts
4934
4938
  var import_helpers14 = require("@northern.tech/utils/helpers");
4935
4939
  var import_retrytimer = require("@northern.tech/utils/retrytimer");
4940
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
4936
4941
  var import_md52 = __toESM(require("md5"), 1);
4937
4942
  var import_universal_cookie5 = __toESM(require("universal-cookie"), 1);
4938
4943
 
@@ -5517,6 +5522,7 @@ var saveUserSettings = createAppAsyncThunk(
5517
5522
  const updatedSettings = {
5518
5523
  ...userSettings,
5519
5524
  ...settings,
5525
+ firstLoginTimestamp: userSettings.firstLoginTimestamp ?? (0, import_dayjs2.default)().format(),
5520
5526
  onboarding: {
5521
5527
  ...onboardingState,
5522
5528
  ...settings.onboarding
@@ -5658,7 +5664,6 @@ var submitUserFeedback = createAppAsyncThunk(
5658
5664
  getDeviceById,
5659
5665
  getDeviceConfig,
5660
5666
  getDeviceConnect,
5661
- getDeviceCount,
5662
5667
  getDeviceDeployments,
5663
5668
  getDeviceFileDownloadLink,
5664
5669
  getDeviceInfo,