@northern.tech/store 0.12.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 (176) hide show
  1. package/dist/actions.cjs +20 -16
  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 +8 -8
  6. package/dist/appSlice/index.cjs.map +1 -1
  7. package/dist/appSlice/index.d.cts +1 -1
  8. package/dist/appSlice/index.d.ts +1 -1
  9. package/dist/appSlice/index.js +1 -1
  10. package/dist/appSlice/mocks.cjs.map +1 -1
  11. package/dist/appSlice/mocks.js +1 -1
  12. package/dist/appSlice/selectors.d.cts +34 -528
  13. package/dist/appSlice/selectors.d.ts +34 -528
  14. package/dist/appSlice/thunks.cjs +45 -41
  15. package/dist/appSlice/thunks.cjs.map +1 -1
  16. package/dist/appSlice/thunks.d.cts +5 -3
  17. package/dist/appSlice/thunks.d.ts +5 -3
  18. package/dist/appSlice/thunks.js +14 -14
  19. package/dist/{chunk-QOFVCPRW.js → chunk-5PUF4LA5.js} +1 -1
  20. package/dist/chunk-5PUF4LA5.js.map +1 -0
  21. package/dist/{chunk-TKIOEF3B.js → chunk-6KAV62BW.js} +6 -6
  22. package/dist/{chunk-OFGCC3GM.js → chunk-7MTM3BDT.js} +1 -1
  23. package/dist/chunk-7MTM3BDT.js.map +1 -0
  24. package/dist/{chunk-4HSH7RH3.js → chunk-AR4FTKSL.js} +8 -8
  25. package/dist/{chunk-ZRMB4U7Z.js → chunk-BZAXFAGT.js} +4 -4
  26. package/dist/{chunk-ZNAJKEP2.js → chunk-CQXDAXQF.js} +1 -1
  27. package/dist/chunk-CQXDAXQF.js.map +1 -0
  28. package/dist/{chunk-5ZCZTTYX.js → chunk-EOZ665GA.js} +2 -2
  29. package/dist/{chunk-C5NXNZ7F.js → chunk-ETZVJXPD.js} +23 -30
  30. package/dist/chunk-ETZVJXPD.js.map +1 -0
  31. package/dist/{chunk-WCBHYLUK.js → chunk-KJ4BPXMB.js} +1 -1
  32. package/dist/chunk-KJ4BPXMB.js.map +1 -0
  33. package/dist/{chunk-C2LGE3P6.js → chunk-OLKM53RL.js} +1 -1
  34. package/dist/chunk-OLKM53RL.js.map +1 -0
  35. package/dist/{chunk-HLX5L3IM.js → chunk-PVCHKW35.js} +1 -1
  36. package/dist/chunk-PVCHKW35.js.map +1 -0
  37. package/dist/{chunk-REZWSU22.js → chunk-VODRLEDP.js} +21 -17
  38. package/dist/chunk-VODRLEDP.js.map +1 -0
  39. package/dist/{chunk-MH5WPYQI.js → chunk-X7NEALMI.js} +16 -9
  40. package/dist/chunk-X7NEALMI.js.map +1 -0
  41. package/dist/{chunk-OGUVURJ5.js → chunk-YFAIYNQG.js} +9 -9
  42. package/dist/commonSelectors.cjs +15 -8
  43. package/dist/commonSelectors.cjs.map +1 -1
  44. package/dist/commonSelectors.d.cts +178 -3523
  45. package/dist/commonSelectors.d.ts +178 -3523
  46. package/dist/commonSelectors.js +2 -2
  47. package/dist/deploymentsSlice/index.cjs.map +1 -1
  48. package/dist/deploymentsSlice/index.d.cts +1 -1
  49. package/dist/deploymentsSlice/index.d.ts +1 -1
  50. package/dist/deploymentsSlice/index.js +1 -1
  51. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  52. package/dist/deploymentsSlice/mocks.js +1 -1
  53. package/dist/deploymentsSlice/selectors.d.cts +16 -138
  54. package/dist/deploymentsSlice/selectors.d.ts +16 -138
  55. package/dist/deploymentsSlice/thunks.cjs +45 -41
  56. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  57. package/dist/deploymentsSlice/thunks.d.cts +4 -2
  58. package/dist/deploymentsSlice/thunks.d.ts +4 -2
  59. package/dist/deploymentsSlice/thunks.js +14 -14
  60. package/dist/devicesSlice/index.cjs +20 -16
  61. package/dist/devicesSlice/index.cjs.map +1 -1
  62. package/dist/devicesSlice/index.d.cts +11 -20
  63. package/dist/devicesSlice/index.d.ts +11 -20
  64. package/dist/devicesSlice/index.js +1 -1
  65. package/dist/devicesSlice/mocks.cjs +24 -22
  66. package/dist/devicesSlice/mocks.cjs.map +1 -1
  67. package/dist/devicesSlice/mocks.d.cts +20 -12
  68. package/dist/devicesSlice/mocks.d.ts +20 -12
  69. package/dist/devicesSlice/mocks.js +5 -7
  70. package/dist/devicesSlice/mocks.js.map +1 -1
  71. package/dist/devicesSlice/selectors.cjs +15 -8
  72. package/dist/devicesSlice/selectors.cjs.map +1 -1
  73. package/dist/devicesSlice/selectors.d.cts +207 -1730
  74. package/dist/devicesSlice/selectors.d.ts +207 -1730
  75. package/dist/devicesSlice/selectors.js +1 -1
  76. package/dist/devicesSlice/thunks.cjs +45 -43
  77. package/dist/devicesSlice/thunks.cjs.map +1 -1
  78. package/dist/devicesSlice/thunks.d.cts +12 -46
  79. package/dist/devicesSlice/thunks.d.ts +12 -46
  80. package/dist/devicesSlice/thunks.js +14 -16
  81. package/dist/monitorSlice/index.cjs.map +1 -1
  82. package/dist/monitorSlice/index.d.cts +1 -1
  83. package/dist/monitorSlice/index.d.ts +1 -1
  84. package/dist/monitorSlice/index.js +1 -1
  85. package/dist/monitorSlice/mocks.cjs.map +1 -1
  86. package/dist/monitorSlice/mocks.js +1 -1
  87. package/dist/monitorSlice/thunks.cjs +35 -24
  88. package/dist/monitorSlice/thunks.cjs.map +1 -1
  89. package/dist/monitorSlice/thunks.d.cts +3 -2
  90. package/dist/monitorSlice/thunks.d.ts +3 -2
  91. package/dist/monitorSlice/thunks.js +12 -12
  92. package/dist/onboardingSlice/index.cjs.map +1 -1
  93. package/dist/onboardingSlice/index.d.cts +1 -1
  94. package/dist/onboardingSlice/index.d.ts +1 -1
  95. package/dist/onboardingSlice/index.js +1 -1
  96. package/dist/onboardingSlice/mocks.cjs.map +1 -1
  97. package/dist/onboardingSlice/mocks.js +1 -1
  98. package/dist/onboardingSlice/thunks.cjs +45 -41
  99. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  100. package/dist/onboardingSlice/thunks.d.cts +7 -15
  101. package/dist/onboardingSlice/thunks.d.ts +7 -15
  102. package/dist/onboardingSlice/thunks.js +14 -14
  103. package/dist/organizationSlice/index.cjs.map +1 -1
  104. package/dist/organizationSlice/index.d.cts +41 -31
  105. package/dist/organizationSlice/index.d.ts +41 -31
  106. package/dist/organizationSlice/index.js +1 -1
  107. package/dist/organizationSlice/mocks.cjs.map +1 -1
  108. package/dist/organizationSlice/mocks.js +1 -1
  109. package/dist/organizationSlice/selectors.d.cts +42 -659
  110. package/dist/organizationSlice/selectors.d.ts +42 -659
  111. package/dist/organizationSlice/thunks.cjs +45 -41
  112. package/dist/organizationSlice/thunks.cjs.map +1 -1
  113. package/dist/organizationSlice/thunks.d.cts +4 -1
  114. package/dist/organizationSlice/thunks.d.ts +4 -1
  115. package/dist/organizationSlice/thunks.js +14 -14
  116. package/dist/organizationSlice/types.cjs.map +1 -1
  117. package/dist/organizationSlice/types.d.cts +2 -12
  118. package/dist/organizationSlice/types.d.ts +2 -12
  119. package/dist/releasesSlice/mocks.d.cts +7 -1
  120. package/dist/releasesSlice/mocks.d.ts +7 -1
  121. package/dist/releasesSlice/selectors.d.cts +155 -930
  122. package/dist/releasesSlice/selectors.d.ts +155 -930
  123. package/dist/releasesSlice/thunks.cjs +35 -24
  124. package/dist/releasesSlice/thunks.cjs.map +1 -1
  125. package/dist/releasesSlice/thunks.d.cts +4 -2
  126. package/dist/releasesSlice/thunks.d.ts +4 -2
  127. package/dist/releasesSlice/thunks.js +12 -12
  128. package/dist/selectors.cjs +15 -8
  129. package/dist/selectors.cjs.map +1 -1
  130. package/dist/selectors.d.cts +6 -3
  131. package/dist/selectors.d.ts +6 -3
  132. package/dist/selectors.js +2 -2
  133. package/dist/store.cjs +20 -16
  134. package/dist/store.cjs.map +1 -1
  135. package/dist/store.d.cts +40 -658
  136. package/dist/store.d.ts +40 -658
  137. package/dist/store.js +9 -9
  138. package/dist/storehooks.cjs +45 -41
  139. package/dist/storehooks.cjs.map +1 -1
  140. package/dist/storehooks.js +14 -14
  141. package/dist/thunks.cjs +45 -43
  142. package/dist/thunks.cjs.map +1 -1
  143. package/dist/thunks.d.cts +7 -5
  144. package/dist/thunks.d.ts +7 -5
  145. package/dist/thunks.js +14 -16
  146. package/dist/useDeploymentDevice.cjs +45 -41
  147. package/dist/useDeploymentDevice.cjs.map +1 -1
  148. package/dist/useDeploymentDevice.js +14 -14
  149. package/dist/usersSlice/index.cjs.map +1 -1
  150. package/dist/usersSlice/index.d.cts +46 -46
  151. package/dist/usersSlice/index.d.ts +46 -46
  152. package/dist/usersSlice/index.js +1 -1
  153. package/dist/usersSlice/mocks.cjs.map +1 -1
  154. package/dist/usersSlice/mocks.js +1 -1
  155. package/dist/usersSlice/selectors.d.cts +75 -1436
  156. package/dist/usersSlice/selectors.d.ts +75 -1436
  157. package/dist/usersSlice/thunks.cjs +45 -41
  158. package/dist/usersSlice/thunks.cjs.map +1 -1
  159. package/dist/usersSlice/thunks.d.cts +3 -1
  160. package/dist/usersSlice/thunks.d.ts +3 -1
  161. package/dist/usersSlice/thunks.js +14 -14
  162. package/package.json +1 -1
  163. package/dist/chunk-C2LGE3P6.js.map +0 -1
  164. package/dist/chunk-C5NXNZ7F.js.map +0 -1
  165. package/dist/chunk-HLX5L3IM.js.map +0 -1
  166. package/dist/chunk-MH5WPYQI.js.map +0 -1
  167. package/dist/chunk-OFGCC3GM.js.map +0 -1
  168. package/dist/chunk-QOFVCPRW.js.map +0 -1
  169. package/dist/chunk-REZWSU22.js.map +0 -1
  170. package/dist/chunk-WCBHYLUK.js.map +0 -1
  171. package/dist/chunk-ZNAJKEP2.js.map +0 -1
  172. /package/dist/{chunk-TKIOEF3B.js.map → chunk-6KAV62BW.js.map} +0 -0
  173. /package/dist/{chunk-4HSH7RH3.js.map → chunk-AR4FTKSL.js.map} +0 -0
  174. /package/dist/{chunk-ZRMB4U7Z.js.map → chunk-BZAXFAGT.js.map} +0 -0
  175. /package/dist/{chunk-5ZCZTTYX.js.map → chunk-EOZ665GA.js.map} +0 -0
  176. /package/dist/{chunk-OGUVURJ5.js.map → chunk-YFAIYNQG.js.map} +0 -0
@@ -1,25 +1,27 @@
1
- import * as _northern_tech_utils_constants from '@northern.tech/utils/constants';
2
- import { ReadState } from '../usersSlice/constants.js';
3
- import { User, UserSession, CustomColumn, GlobalSettings, UserSettings } from '../usersSlice/index.js';
1
+ import { UserSliceType } from '../usersSlice/index.js';
4
2
  import { ReleaseSliceType } from '../releasesSlice/index.js';
5
- import { OrganizationState } from '../organizationSlice/types.js';
6
- import { OnboardingApproach } from '../onboardingSlice/index.js';
7
- import * as _northern_tech_types_types_gen from '@northern.tech/types/types.gen';
3
+ import { OrganizationSliceType } from '../organizationSlice/index.js';
4
+ import { OnboardingSliceType } from '../onboardingSlice/index.js';
5
+ import { MonitorSliceType } from '../monitorSlice/index.js';
8
6
  import { DeviceSliceType } from '../devicesSlice/index.js';
9
- import { SearchState, SentryConfig, SnackbarContent, Upload } from '../appSlice/index.js';
7
+ import { AppSliceType } from '../appSlice/index.js';
10
8
  import * as reselect from 'reselect';
11
- import { Deployment, DeploymentByStatus, SelectionState, DeploymentConfig } from './index.js';
9
+ import { Deployment, DeploymentByStatus, SelectionState, DeploymentsSliceType } from './index.js';
12
10
  import { RootState } from '../store.js';
13
11
  import 'redux';
14
12
  import '@reduxjs/toolkit';
15
13
  import 'immer';
16
14
  import '@northern.tech/types/MenderTypes';
15
+ import '@northern.tech/utils/constants';
17
16
  import '../commonConstants.js';
18
17
  import 'react/jsx-runtime';
18
+ import '../usersSlice/constants.js';
19
+ import '../organizationSlice/types.js';
19
20
  import '../appSlice/constants.js';
20
21
  import '@mui/material/OverridableComponent';
21
22
  import '@mui/material';
22
23
  import '../organizationSlice/constants.js';
24
+ import '../monitorSlice/constants.js';
23
25
  import '../devicesSlice/constants.js';
24
26
  import 'redux-thunk';
25
27
 
@@ -71,138 +73,14 @@ declare const getMappedDeploymentSelection: ((state: any, deploymentsState: any)
71
73
  };
72
74
  declare const DEPLOYMENT_CUTOFF = 3;
73
75
  declare const getRecentDeployments: ((state: {
74
- app: {
75
- cancelSource: any;
76
- commit: string;
77
- demoArtifactLink: string;
78
- docsVersion: string;
79
- features: Record<string, boolean>;
80
- feedbackProbability: number;
81
- firstLoginAfterSignup: boolean;
82
- hostAddress: string | null;
83
- hostedAnnouncement: string;
84
- newThreshold: string;
85
- offlineThreshold: string;
86
- recaptchaSiteKey: string;
87
- searchState: SearchState;
88
- sentry: SentryConfig;
89
- snackbar: SnackbarContent;
90
- stripeAPIKey: string;
91
- trackerCode: string;
92
- uploadsById: Record<string, Upload>;
93
- versionInformation: {
94
- [key: string]: string | {
95
- releaseDate: string;
96
- repos: Record<string, string>;
97
- } | undefined;
98
- backend?: string;
99
- GUI?: string;
100
- latestRelease?: {
101
- releaseDate: string;
102
- repos: Record<string, string>;
103
- };
104
- };
105
- yesterday?: string;
106
- };
76
+ app: AppSliceType;
107
77
  devices: DeviceSliceType;
108
- deployments: {
109
- byId: Record<string, Deployment>;
110
- byStatus: DeploymentByStatus;
111
- config: DeploymentConfig;
112
- deploymentDeviceLimit: number;
113
- selectedDeviceIds: string[];
114
- selectionState: SelectionState;
115
- };
116
- monitor: {
117
- alerts: {
118
- alertList: {
119
- page: number;
120
- perPage: number;
121
- total: number;
122
- };
123
- byDeviceId: {
124
- alerts?: Record<string, _northern_tech_types_types_gen.Alert & {
125
- fullName?: string;
126
- }>;
127
- latest?: Record<string, _northern_tech_types_types_gen.Alert & {
128
- fullName?: string;
129
- }>;
130
- };
131
- };
132
- issueCounts: {
133
- byType: {
134
- issues: {
135
- filtered: number;
136
- total: number;
137
- };
138
- offline: {
139
- filtered: number;
140
- total: number;
141
- };
142
- failedLastUpdate: {
143
- filtered: number;
144
- total: number;
145
- };
146
- monitoring: {
147
- filtered: number;
148
- total: number;
149
- };
150
- authRequests: {
151
- filtered: number;
152
- total: number;
153
- };
154
- gatewayDevices: {
155
- filtered: number;
156
- total: number;
157
- };
158
- };
159
- };
160
- settings: {
161
- global: {
162
- channels: {
163
- email: {
164
- enabled: boolean;
165
- };
166
- };
167
- };
168
- };
169
- };
170
- onboarding: {
171
- address?: string;
172
- approach: OnboardingApproach | null;
173
- complete: boolean;
174
- demoArtifactPort: number;
175
- deviceConnection?: string;
176
- deviceType: string[] | string | null;
177
- progress: string | null;
178
- showTips: boolean | null;
179
- showTipsDialog: boolean;
180
- };
181
- organization: OrganizationState;
78
+ deployments: DeploymentsSliceType;
79
+ monitor: MonitorSliceType;
80
+ onboarding: OnboardingSliceType;
81
+ organization: OrganizationSliceType;
182
82
  releases: ReleaseSliceType;
183
- users: {
184
- activationCode?: string;
185
- byId: Record<string, User>;
186
- currentSession?: UserSession | object;
187
- currentUser: string | null;
188
- customColumns: CustomColumn[];
189
- globalSettings: GlobalSettings;
190
- permissionSetsById: Record<string, _northern_tech_utils_constants.PermissionSet>;
191
- qrCode: string | null;
192
- rolesById: Record<string, _northern_tech_utils_constants.Role>;
193
- rolesInitialized: boolean;
194
- settingsInitialized: boolean;
195
- showConnectDeviceDialog: boolean;
196
- showFeedbackDialog: boolean;
197
- showStartupNotification: boolean;
198
- tooltips: {
199
- byId: Record<string, {
200
- readState: ReadState;
201
- }>;
202
- };
203
- userSettings: UserSettings;
204
- userSettingsInitialized: boolean;
205
- };
83
+ users: UserSliceType;
206
84
  }) => {
207
85
  total: number;
208
86
  }) & {
@@ -1043,12 +1043,10 @@ var initialState3 = {
1043
1043
  // }
1044
1044
  },
1045
1045
  byStatus: {
1046
- [import_constants5.DEVICE_STATES.accepted]: { deviceIds: [], total: 0 },
1047
- active: { deviceIds: [], total: 0 },
1048
- inactive: { deviceIds: [], total: 0 },
1049
- [import_constants5.DEVICE_STATES.pending]: { deviceIds: [], total: 0 },
1050
- [import_constants5.DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
1051
- [import_constants5.DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }
1046
+ [import_constants5.DEVICE_STATES.accepted]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } },
1047
+ [import_constants5.DEVICE_STATES.pending]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } },
1048
+ [import_constants5.DEVICE_STATES.preauth]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } },
1049
+ [import_constants5.DEVICE_STATES.rejected]: { deviceIds: [], counts: { standard: 0, micro: 0, system: 0, total: 0 } }
1052
1050
  },
1053
1051
  deviceList: {
1054
1052
  deviceIds: [],
@@ -1178,21 +1176,19 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
1178
1176
  }
1179
1177
  state.filters = action.payload.filter((filter) => filter.key && filter.operator && filter.scope && typeof filter.value !== "undefined");
1180
1178
  },
1181
- setInactiveDevices: (state, action) => {
1182
- const { activeDeviceTotal, inactiveDeviceTotal } = action.payload;
1183
- state.byStatus.active.total = activeDeviceTotal;
1184
- state.byStatus.inactive.total = inactiveDeviceTotal;
1185
- },
1186
1179
  setDeviceReports: (state, action) => {
1187
1180
  state.reports = action.payload;
1188
1181
  },
1189
1182
  setDevicesByStatus: (state, action) => {
1190
- const { forceUpdate, status, total, deviceIds } = action.payload;
1191
- state.byStatus[status] = total || forceUpdate ? { deviceIds, total } : state.byStatus[status];
1183
+ const { status, total, deviceIds } = action.payload;
1184
+ if (total) {
1185
+ state.byStatus[status].deviceIds = deviceIds;
1186
+ state.byStatus[status].counts.total = total;
1187
+ }
1192
1188
  },
1193
1189
  setDevicesCountByStatus: (state, action) => {
1194
- const { count, status } = action.payload;
1195
- state.byStatus[status].total = count;
1190
+ const { countsPerTier, status } = action.payload;
1191
+ state.byStatus[status].counts = { ...countsPerTier, total: Object.values(countsPerTier).reduce((accu, tieredCount) => accu += tieredCount, 0) };
1196
1192
  },
1197
1193
  setDeviceLimits: (state, action) => {
1198
1194
  state.limits = action.payload;
@@ -1209,7 +1205,15 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
1209
1205
  const hasMultipleAuthSets = authId && device.auth_sets ? device.auth_sets.filter((authset) => authset.id !== authId).length > 0 : false;
1210
1206
  if (!hasMultipleAuthSets && Object.values(import_constants5.DEVICE_STATES).includes(device.status)) {
1211
1207
  const deviceIds = state.byStatus[device.status].deviceIds.filter((id) => id !== deviceId);
1212
- state.byStatus[device.status] = { deviceIds, total: Math.max(0, state.byStatus[device.status].total - 1) };
1208
+ const deviceTier = device.attributes.tier || "standard";
1209
+ state.byStatus[device.status] = {
1210
+ deviceIds,
1211
+ counts: {
1212
+ ...state.byStatus[device.status].counts,
1213
+ [deviceTier]: Math.max(0, state.byStatus[device.status].counts[deviceTier] - 1),
1214
+ total: Math.max(0, state.byStatus[device.status].counts.total - 1)
1215
+ }
1216
+ };
1213
1217
  }
1214
1218
  }
1215
1219
  }
@@ -1876,15 +1880,22 @@ var getDeviceIdentityAttributes = (0, import_toolkit11.createSelector)(
1876
1880
  );
1877
1881
  var getDeviceCountsByStatus = (0, import_toolkit11.createSelector)(
1878
1882
  [getDevicesByStatus],
1879
- (byStatus) => Object.values(import_constants5.DEVICE_STATES).reduce((accu, state) => {
1880
- accu[state] = byStatus[state].total || 0;
1881
- return accu;
1882
- }, {})
1883
+ (byStatus) => Object.values(import_constants5.DEVICE_STATES).reduce(
1884
+ (accu, deviceState) => {
1885
+ const { counts } = byStatus[deviceState];
1886
+ const { total, ...tieredCounts } = counts;
1887
+ const count = Object.values(tieredCounts).reduce((accu2, countPerTier) => accu2 + countPerTier, 0);
1888
+ accu[deviceState] = count;
1889
+ accu.total = accu.total + count;
1890
+ return accu;
1891
+ },
1892
+ { total: 0 }
1893
+ )
1883
1894
  );
1884
1895
  var getDeviceById = (0, import_toolkit11.createSelector)([getDevicesById, (_, deviceId) => deviceId], (devicesById, deviceId = "") => devicesById[deviceId] ?? {});
1885
1896
  var getSelectedGroupInfo = (0, import_toolkit11.createSelector)(
1886
- [getAcceptedDevices, getGroupsById, getSelectedGroup],
1887
- ({ total: acceptedDeviceTotal }, groupsById, selectedGroup) => {
1897
+ [getDeviceCountsByStatus, getGroupsById, getSelectedGroup],
1898
+ ({ accepted: acceptedDeviceTotal }, groupsById, selectedGroup) => {
1888
1899
  let groupCount = acceptedDeviceTotal;
1889
1900
  let groupFilters = [];
1890
1901
  if (selectedGroup && groupsById[selectedGroup]) {
@@ -1900,8 +1911,8 @@ var getCombinedLimit = (0, import_toolkit11.createSelector)(
1900
1911
  // limit might be -1 for unlimited devices
1901
1912
  );
1902
1913
  var getLimitMaxed = (0, import_toolkit11.createSelector)(
1903
- [getAcceptedDevices, getCombinedLimit],
1904
- ({ total: acceptedDevices = 0 }, combinedLimit) => !!combinedLimit && combinedLimit <= acceptedDevices
1914
+ [getDeviceCountsByStatus, getCombinedLimit],
1915
+ ({ accepted: acceptedDevices }, combinedLimit) => !!combinedLimit && combinedLimit <= acceptedDevices
1905
1916
  );
1906
1917
  var getGroupsByIdWithoutUngrouped = (0, import_toolkit11.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
1907
1918
  var getGroupData = (0, import_toolkit11.createSelector)([getGroupsByIdWithoutUngrouped], (groups) => {
@@ -2960,21 +2971,13 @@ var getDeviceInfo = createAppAsyncThunk(`${sliceName3}/getDeviceInfo`, (deviceId
2960
2971
  }
2961
2972
  return Promise.all(tasks);
2962
2973
  });
2963
- var getDeviceCount = createAppAsyncThunk(
2964
- `${sliceName3}/getDeviceCount`,
2965
- (status, { dispatch, getState }) => general_api_default.post(getSearchEndpoint(getState()), {
2966
- page: 1,
2967
- per_page: 1,
2968
- filters: mapFiltersToTerms([{ key: "status", value: status, operator: import_constants5.DEVICE_FILTERING_OPTIONS.$eq.key, scope: "identity" }]),
2969
- attributes: defaultAttributes
2970
- }).then((response) => {
2971
- const count = Number(response.headers[import_constants5.headerNames.total]);
2972
- return dispatch(actions3.setDevicesCountByStatus({ count, status }));
2973
- })
2974
- );
2975
2974
  var getAllDeviceCounts = createAppAsyncThunk(
2976
2975
  `${sliceName3}/getAllDeviceCounts`,
2977
- (_, { dispatch }) => Promise.all([import_constants5.DEVICE_STATES.accepted, import_constants5.DEVICE_STATES.pending].map((status) => dispatch(getDeviceCount(status))))
2976
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.inventoryApiUrlV2}/statistics`).then(({ data }) => {
2977
+ const { devices_by_status } = data;
2978
+ Object.entries(devices_by_status).map(([status, countsPerTier]) => dispatch(actions3.setDevicesCountByStatus({ countsPerTier, status })));
2979
+ return;
2980
+ })
2978
2981
  );
2979
2982
  var getDeviceLimits2 = createAppAsyncThunk(
2980
2983
  `${sliceName3}/getDeviceLimit`,
@@ -3046,7 +3049,7 @@ var getDevicesByStatus2 = createAppAsyncThunk(
3046
3049
  const state2 = getState();
3047
3050
  const deviceAccu = reduceReceivedDevices(response.data, [], state2, status);
3048
3051
  let total = !applicableFilters.length ? Number(response.headers[import_constants5.headerNames.total]) : 0;
3049
- if (status && state2.devices.byStatus[status].total === deviceAccu.ids.length) {
3052
+ if (status && state2.devices.byStatus[status].counts.total === deviceAccu.ids.length) {
3050
3053
  total = deviceAccu.ids.length;
3051
3054
  }
3052
3055
  const tasks = [dispatch(actions3.receivedDevices(deviceAccu.devicesById))];
@@ -3153,8 +3156,8 @@ var updateReportData = createAppAsyncThunk(`${sliceName3}/updateReportData`, (re
3153
3156
  const { group = "" } = report;
3154
3157
  const devicesById = getDevicesById(getState());
3155
3158
  const groups = getGroupsById(getState());
3156
- const acceptedDevices = getAcceptedDevices(getState());
3157
- const totalDeviceCount = groups[group] ? groups[group].total : acceptedDevices.total;
3159
+ const { accepted: acceptedDevicesCount } = getDeviceCountsByStatus(getState());
3160
+ const totalDeviceCount = groups[group] ? groups[group].total : acceptedDevicesCount;
3158
3161
  const reportsData = getDeviceReports(getState());
3159
3162
  const newReports = [...reportsData];
3160
3163
  newReports[reportIndex] = initializeDistributionData(report, groups, devicesById, totalDeviceCount);
@@ -3172,6 +3175,7 @@ var getReportDataWithoutBackendSupport = createAppAsyncThunk(
3172
3175
  const effectiveAttribute = software ? software : attribute;
3173
3176
  const devicesById = getDevicesById(getState());
3174
3177
  const acceptedDevices = getAcceptedDevices(getState());
3178
+ const { accepted: acceptedDevicesCount } = getDeviceCountsByStatus(getState());
3175
3179
  const groups = getGroupsById(getState());
3176
3180
  const { deviceIds = [], filters = [], total = 0 } = groups[group] || {};
3177
3181
  let groupDevicesRequest = Promise.resolve({
@@ -3179,7 +3183,7 @@ var getReportDataWithoutBackendSupport = createAppAsyncThunk(
3179
3183
  });
3180
3184
  if (group && (!(deviceIds.length && total) || deviceIds.length !== total || !deviceIds.every((id) => !!devicesById[id]))) {
3181
3185
  groupDevicesRequest = filters.length ? dispatch(getAllDynamicGroupDevices({ group, attribute: effectiveAttribute })).unwrap() : dispatch(getAllGroupDevices({ group, attribute: effectiveAttribute })).unwrap();
3182
- } else if (!group && (acceptedDevices.deviceIds.length !== acceptedDevices.total || !acceptedDevices.deviceIds.every((id) => !!devicesById[id]))) {
3186
+ } else if (!group && (acceptedDevices.deviceIds.length !== acceptedDevicesCount || !acceptedDevices.deviceIds.every((id) => !!devicesById[id]))) {
3183
3187
  groupDevicesRequest = dispatch(getAllDevicesByStatus({ status: import_constants5.DEVICE_STATES.accepted, attribute: effectiveAttribute })).unwrap();
3184
3188
  }
3185
3189
  return groupDevicesRequest.then(() => dispatch(updateReportData(reportIndex)));