@northern.tech/store 0.8.0 → 0.10.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 (141) hide show
  1. package/dist/actions.cjs +7 -3
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +1 -1
  4. package/dist/actions.d.ts +1 -1
  5. package/dist/actions.js +5 -5
  6. package/dist/api/general-api.js +1 -1
  7. package/dist/api/users-api.js +1 -1
  8. package/dist/appSlice/constants.cjs +2 -1
  9. package/dist/appSlice/constants.cjs.map +1 -1
  10. package/dist/appSlice/constants.js +1 -1
  11. package/dist/appSlice/index.js +1 -1
  12. package/dist/appSlice/mocks.js +1 -1
  13. package/dist/appSlice/thunks.cjs +18 -8
  14. package/dist/appSlice/thunks.cjs.map +1 -1
  15. package/dist/appSlice/thunks.js +16 -16
  16. package/dist/auth.js +1 -1
  17. package/dist/{chunk-DJXS3LMY.js → chunk-2KT4PX3H.js} +10 -10
  18. package/dist/{chunk-RJKAD2TK.js → chunk-2S4DM4MI.js} +17 -17
  19. package/dist/{chunk-Z5TDXPYZ.js → chunk-7QKCBSFU.js} +2 -2
  20. package/dist/{chunk-IY3OCILF.js → chunk-DIBKFSC7.js} +25 -25
  21. package/dist/chunk-DIBKFSC7.js.map +1 -0
  22. package/dist/{chunk-H5YHKATI.js → chunk-GGBE6KJV.js} +2 -2
  23. package/dist/{chunk-2TYNHR66.js → chunk-GX2TWNLC.js} +2 -2
  24. package/dist/{chunk-IURSNZM7.js → chunk-J5KNRQFA.js} +6 -6
  25. package/dist/{chunk-N3XU7WJM.js → chunk-OWWCFJZ5.js} +3 -2
  26. package/dist/chunk-OWWCFJZ5.js.map +1 -0
  27. package/dist/{chunk-KQ6AGXRK.js → chunk-REZWSU22.js} +8 -4
  28. package/dist/chunk-REZWSU22.js.map +1 -0
  29. package/dist/{chunk-UVYRVFZX.js → chunk-SE22RKCE.js} +11 -5
  30. package/dist/chunk-SE22RKCE.js.map +1 -0
  31. package/dist/{chunk-FCHMFLKB.js → chunk-YYA5MPLL.js} +8 -8
  32. package/dist/{chunk-EF4FYV4X.js → chunk-ZK2CPOZO.js} +6 -6
  33. package/dist/commonConstants.js +1 -1
  34. package/dist/commonSelectors.cjs +9 -3
  35. package/dist/commonSelectors.cjs.map +1 -1
  36. package/dist/commonSelectors.js +8 -8
  37. package/dist/constants.cjs +2 -1
  38. package/dist/constants.cjs.map +1 -1
  39. package/dist/constants.js +1 -1
  40. package/dist/deploymentsSlice/constants.js +1 -1
  41. package/dist/deploymentsSlice/index.js +1 -1
  42. package/dist/deploymentsSlice/mocks.js +1 -1
  43. package/dist/deploymentsSlice/selectors.js +1 -1
  44. package/dist/deploymentsSlice/thunks.cjs +18 -8
  45. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  46. package/dist/deploymentsSlice/thunks.js +16 -16
  47. package/dist/devicesSlice/constants.js +1 -1
  48. package/dist/devicesSlice/index.cjs +7 -3
  49. package/dist/devicesSlice/index.cjs.map +1 -1
  50. package/dist/devicesSlice/index.d.cts +4 -4
  51. package/dist/devicesSlice/index.d.ts +4 -4
  52. package/dist/devicesSlice/index.js +2 -2
  53. package/dist/devicesSlice/mocks.cjs +8 -4
  54. package/dist/devicesSlice/mocks.cjs.map +1 -1
  55. package/dist/devicesSlice/mocks.d.cts +5 -1
  56. package/dist/devicesSlice/mocks.d.ts +5 -1
  57. package/dist/devicesSlice/mocks.js +3 -3
  58. package/dist/devicesSlice/mocks.js.map +1 -1
  59. package/dist/devicesSlice/selectors.cjs +12 -5
  60. package/dist/devicesSlice/selectors.cjs.map +1 -1
  61. package/dist/devicesSlice/selectors.d.cts +310 -3
  62. package/dist/devicesSlice/selectors.d.ts +310 -3
  63. package/dist/devicesSlice/selectors.js +6 -4
  64. package/dist/devicesSlice/thunks.cjs +20 -10
  65. package/dist/devicesSlice/thunks.cjs.map +1 -1
  66. package/dist/devicesSlice/thunks.d.cts +5 -5
  67. package/dist/devicesSlice/thunks.d.ts +5 -5
  68. package/dist/devicesSlice/thunks.js +18 -18
  69. package/dist/liststatehook.js +1 -1
  70. package/dist/locationutils.js +1 -1
  71. package/dist/monitorSlice/index.js +1 -1
  72. package/dist/monitorSlice/mocks.js +1 -1
  73. package/dist/monitorSlice/thunks.cjs +16 -6
  74. package/dist/monitorSlice/thunks.cjs.map +1 -1
  75. package/dist/monitorSlice/thunks.js +14 -14
  76. package/dist/onboardingSlice/thunks.cjs +18 -8
  77. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  78. package/dist/onboardingSlice/thunks.js +16 -16
  79. package/dist/organizationSlice/constants.js +1 -1
  80. package/dist/organizationSlice/index.js +1 -1
  81. package/dist/organizationSlice/mocks.js +1 -1
  82. package/dist/organizationSlice/selectors.js +1 -1
  83. package/dist/organizationSlice/thunks.cjs +20 -10
  84. package/dist/organizationSlice/thunks.cjs.map +1 -1
  85. package/dist/organizationSlice/thunks.d.cts +3 -3
  86. package/dist/organizationSlice/thunks.d.ts +3 -3
  87. package/dist/organizationSlice/thunks.js +16 -16
  88. package/dist/releasesSlice/index.js +1 -1
  89. package/dist/releasesSlice/mocks.js +1 -1
  90. package/dist/releasesSlice/selectors.js +3 -3
  91. package/dist/releasesSlice/thunks.cjs +16 -6
  92. package/dist/releasesSlice/thunks.cjs.map +1 -1
  93. package/dist/releasesSlice/thunks.js +14 -14
  94. package/dist/selectors.cjs +13 -5
  95. package/dist/selectors.cjs.map +1 -1
  96. package/dist/selectors.d.cts +1 -1
  97. package/dist/selectors.d.ts +1 -1
  98. package/dist/selectors.js +26 -24
  99. package/dist/sockethook.cjs.map +1 -1
  100. package/dist/sockethook.js +1 -1
  101. package/dist/sockethook.js.map +1 -1
  102. package/dist/store.cjs +7 -3
  103. package/dist/store.cjs.map +1 -1
  104. package/dist/store.js +6 -6
  105. package/dist/storehooks.cjs +29 -16
  106. package/dist/storehooks.cjs.map +1 -1
  107. package/dist/storehooks.js +27 -24
  108. package/dist/storehooks.js.map +1 -1
  109. package/dist/thunks.cjs +22 -12
  110. package/dist/thunks.cjs.map +1 -1
  111. package/dist/thunks.d.cts +1 -1
  112. package/dist/thunks.d.ts +1 -1
  113. package/dist/thunks.js +18 -18
  114. package/dist/useDeploymentDevice.cjs +18 -8
  115. package/dist/useDeploymentDevice.cjs.map +1 -1
  116. package/dist/useDeploymentDevice.js +17 -17
  117. package/dist/usersSlice/constants.js +1 -1
  118. package/dist/usersSlice/index.js +1 -1
  119. package/dist/usersSlice/mocks.js +1 -1
  120. package/dist/usersSlice/selectors.cjs +1 -0
  121. package/dist/usersSlice/selectors.cjs.map +1 -1
  122. package/dist/usersSlice/selectors.js +3 -3
  123. package/dist/usersSlice/thunks.cjs +18 -8
  124. package/dist/usersSlice/thunks.cjs.map +1 -1
  125. package/dist/usersSlice/thunks.js +16 -16
  126. package/dist/utils.cjs +1 -0
  127. package/dist/utils.cjs.map +1 -1
  128. package/dist/utils.js +2 -2
  129. package/package.json +7 -7
  130. package/dist/chunk-IY3OCILF.js.map +0 -1
  131. package/dist/chunk-KQ6AGXRK.js.map +0 -1
  132. package/dist/chunk-N3XU7WJM.js.map +0 -1
  133. package/dist/chunk-UVYRVFZX.js.map +0 -1
  134. /package/dist/{chunk-DJXS3LMY.js.map → chunk-2KT4PX3H.js.map} +0 -0
  135. /package/dist/{chunk-RJKAD2TK.js.map → chunk-2S4DM4MI.js.map} +0 -0
  136. /package/dist/{chunk-Z5TDXPYZ.js.map → chunk-7QKCBSFU.js.map} +0 -0
  137. /package/dist/{chunk-H5YHKATI.js.map → chunk-GGBE6KJV.js.map} +0 -0
  138. /package/dist/{chunk-2TYNHR66.js.map → chunk-GX2TWNLC.js.map} +0 -0
  139. /package/dist/{chunk-IURSNZM7.js.map → chunk-J5KNRQFA.js.map} +0 -0
  140. /package/dist/{chunk-FCHMFLKB.js.map → chunk-YYA5MPLL.js.map} +0 -0
  141. /package/dist/{chunk-EF4FYV4X.js.map → chunk-ZK2CPOZO.js.map} +0 -0
@@ -49,6 +49,7 @@ var import_constants5 = require("@northern.tech/utils/constants");
49
49
 
50
50
  // src/appSlice/constants.ts
51
51
  var import_icons_material = require("@mui/icons-material");
52
+ var import_utils = require("@northern.tech/utils");
52
53
  var startingDeviceCount = {
53
54
  os: "for first 50 devices",
54
55
  professional: "for first 250 devices"
@@ -1080,7 +1081,11 @@ var initialState3 = {
1080
1081
  // { items: [{ key: "someKey", count: 42 }], otherCount: 123, total: <otherCount + itemsCount> }
1081
1082
  ],
1082
1083
  total: 0,
1083
- limit: 0,
1084
+ limits: {
1085
+ standard: 0,
1086
+ micro: 0,
1087
+ system: 0
1088
+ },
1084
1089
  groups: {
1085
1090
  byId: {
1086
1091
  // groupName: { deviceIds: [], total: 0, filters: [] },
@@ -1186,8 +1191,8 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
1186
1191
  const { count, status } = action.payload;
1187
1192
  state.byStatus[status].total = count;
1188
1193
  },
1189
- setDeviceLimit: (state, action) => {
1190
- state.limit = action.payload;
1194
+ setDeviceLimits: (state, action) => {
1195
+ state.limits = action.payload;
1191
1196
  },
1192
1197
  receivedDevice: (state, action) => {
1193
1198
  state.byId[action.payload.id] = {
@@ -1807,7 +1812,7 @@ var getSortedFilteringAttributes = (0, import_toolkit11.createSelector)([getFilt
1807
1812
  ...filteringAttributes,
1808
1813
  identityAttributes: [...filteringAttributes.identityAttributes, "id"]
1809
1814
  }));
1810
- var getDeviceLimit = (state) => state.devices.limit;
1815
+ var getDeviceLimits = (state) => state.devices.limits;
1811
1816
  var getFilteringAttributesLimit = (state) => state.devices.filteringAttributesLimit;
1812
1817
  var getDeviceIdentityAttributes = (0, import_toolkit11.createSelector)(
1813
1818
  [getFilteringAttributes, getFilteringAttributesLimit],
@@ -1845,9 +1850,14 @@ var getSelectedGroupInfo = (0, import_toolkit11.createSelector)(
1845
1850
  return { groupCount, selectedGroup, groupFilters };
1846
1851
  }
1847
1852
  );
1853
+ var getCombinedLimit = (0, import_toolkit11.createSelector)(
1854
+ [getDeviceLimits],
1855
+ (deviceLimits) => Object.values(deviceLimits).reduce((accu, limit) => accu + Math.max(limit ?? 0, 0), 0)
1856
+ // limit might be -1 for unlimited devices
1857
+ );
1848
1858
  var getLimitMaxed = (0, import_toolkit11.createSelector)(
1849
- [getAcceptedDevices, getDeviceLimit],
1850
- ({ total: acceptedDevices = 0 }, deviceLimit) => Boolean(deviceLimit && deviceLimit <= acceptedDevices)
1859
+ [getAcceptedDevices, getCombinedLimit],
1860
+ ({ total: acceptedDevices = 0 }, combinedLimit) => combinedLimit <= acceptedDevices
1851
1861
  );
1852
1862
  var getGroupsByIdWithoutUngrouped = (0, import_toolkit11.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
1853
1863
  var getGroupData = (0, import_toolkit11.createSelector)([getGroupsByIdWithoutUngrouped], (groups) => {
@@ -3366,9 +3376,9 @@ var getAllDeviceCounts = createAppAsyncThunk(
3366
3376
  `${sliceName3}/getAllDeviceCounts`,
3367
3377
  (_, { dispatch }) => Promise.all([import_constants5.DEVICE_STATES.accepted, import_constants5.DEVICE_STATES.pending].map((status) => dispatch(getDeviceCount(status))))
3368
3378
  );
3369
- var getDeviceLimit2 = createAppAsyncThunk(
3379
+ var getDeviceLimits2 = createAppAsyncThunk(
3370
3380
  `${sliceName3}/getDeviceLimit`,
3371
- (_, { dispatch }) => general_api_default.get(`${import_constants5.deviceAuthV2}/limits/max_devices`).then((res) => dispatch(actions3.setDeviceLimit(res.data.limit)))
3381
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.deviceAuthV2}/limits/devices`).then((res) => dispatch(actions3.setDeviceLimits(res.data)))
3372
3382
  );
3373
3383
  var setDeviceListState = createAppAsyncThunk(
3374
3384
  `${sliceName3}/setDeviceListState`,
@@ -4102,7 +4112,7 @@ var cancelUpgrade = createAppAsyncThunk(
4102
4112
  );
4103
4113
  var completeUpgrade = createAppAsyncThunk(
4104
4114
  `${sliceName6}/completeUpgrade`,
4105
- ({ tenantId, plan, billing_profile }, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/tenants/${tenantId}/upgrade/complete`, { plan, billing_profile }).catch((err) => commonErrorHandler(err, `There was an error upgrading your account:`, dispatch)).then(() => Promise.all([dispatch(getDeviceLimit2()), dispatch(getUserOrganization())]))
4115
+ ({ tenantId, plan, billing_profile }, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/tenants/${tenantId}/upgrade/complete`, { plan, billing_profile }).catch((err) => commonErrorHandler(err, `There was an error upgrading your account:`, dispatch)).then(() => Promise.all([dispatch(getDeviceLimits2()), dispatch(getUserOrganization())]))
4106
4116
  );
4107
4117
  var prepareAuditlogQuery = ({
4108
4118
  startDate,
@@ -4264,7 +4274,7 @@ var getCurrentSubscription = createAppAsyncThunk(
4264
4274
  );
4265
4275
  var requestPlanUpgrade = createAppAsyncThunk(
4266
4276
  `${sliceName6}/requestPlanUpgrade`,
4267
- (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.all([setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds), dispatch(getUserOrganization())]))
4277
+ (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.all([setTimeout(() => dispatch(getDeviceLimits2()), TIMEOUTS.threeSeconds), dispatch(getUserOrganization())]))
4268
4278
  );
4269
4279
  var sendSupportMessage = createAppAsyncThunk(
4270
4280
  `${sliceName6}/sendSupportMessage`,
@@ -5529,7 +5539,7 @@ var useAppInit = (userId) => {
5529
5539
  if (isServiceProvider) {
5530
5540
  return Promise.resolve(dispatch(getRoles()));
5531
5541
  }
5532
- return Promise.all([
5542
+ const tasks = [
5533
5543
  dispatch(getDeviceAttributes()),
5534
5544
  dispatch(getDeploymentsByStatus2({ status: DEPLOYMENT_STATES.finished, shouldSelect: false })),
5535
5545
  dispatch(getDeploymentsByStatus2({ status: DEPLOYMENT_STATES.inprogress })),
@@ -5540,11 +5550,14 @@ var useAppInit = (userId) => {
5540
5550
  dispatch(getDynamicGroups()),
5541
5551
  dispatch(getGroups2()),
5542
5552
  dispatch(getIntegrations()),
5543
- dispatch(getReleases()),
5544
- dispatch(getDeviceLimit2()),
5545
- dispatch(getRoles())
5546
- ]);
5547
- }, [dispatch, isServiceProvider]);
5553
+ dispatch(getReleases())
5554
+ ];
5555
+ if (hasMultitenancy) {
5556
+ tasks.push(dispatch(getDeviceLimits2()));
5557
+ tasks.push(dispatch(getRoles()));
5558
+ }
5559
+ return Promise.all(tasks);
5560
+ }, [dispatch, hasMultitenancy, isServiceProvider]);
5548
5561
  const interpretAppData = (0, import_react2.useCallback)(() => {
5549
5562
  const settings = {};
5550
5563
  if (cookies6.get("_ga") && typeof hasTrackingEnabled === "undefined") {