@northern.tech/store 0.23.0 → 0.24.1

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 (155) hide show
  1. package/dist/actions.js +10 -10
  2. package/dist/api/general-api.cjs.map +1 -1
  3. package/dist/api/general-api.js +4 -4
  4. package/dist/api/users-api.cjs.map +1 -1
  5. package/dist/api/users-api.js +5 -5
  6. package/dist/appSlice/index.js +3 -3
  7. package/dist/appSlice/mocks.js +3 -3
  8. package/dist/appSlice/thunks.cjs +37 -0
  9. package/dist/appSlice/thunks.cjs.map +1 -1
  10. package/dist/appSlice/thunks.js +26 -26
  11. package/dist/auth.cjs.map +1 -1
  12. package/dist/auth.js +3 -3
  13. package/dist/{chunk-ZGRY42BZ.js → chunk-2AGBXDGF.js} +2 -2
  14. package/dist/{chunk-XJLZK4QY.js → chunk-3IXBQAMO.js} +3 -3
  15. package/dist/{chunk-YR65C62H.js → chunk-4NG7EGAG.js} +2 -2
  16. package/dist/{chunk-IRQRV552.js → chunk-6NLGT2LD.js} +3 -3
  17. package/dist/{chunk-WWED74SG.js → chunk-AERWBWRM.js} +3 -1
  18. package/dist/{chunk-WWED74SG.js.map → chunk-AERWBWRM.js.map} +1 -1
  19. package/dist/{chunk-WR6RQKF5.js → chunk-CXRORJR5.js} +2 -2
  20. package/dist/{chunk-SVSHXLCN.js → chunk-DOT4GDYO.js} +14 -14
  21. package/dist/{chunk-PL6RIFD5.js → chunk-E2X525PA.js} +2 -2
  22. package/dist/{chunk-AROYP5V5.js → chunk-E7PTHNNO.js} +18 -18
  23. package/dist/{chunk-FQ6CCYUU.js → chunk-EZRW3IQG.js} +17 -17
  24. package/dist/{chunk-OLKM53RL.js → chunk-F2ADELYA.js} +2 -2
  25. package/dist/{chunk-VODRLEDP.js → chunk-GLIQTGWN.js} +2 -2
  26. package/dist/{chunk-4ZYLGBJU.js → chunk-IDKMS5RA.js} +3 -3
  27. package/dist/{chunk-TIL2S3JA.js → chunk-IJ6KKUA2.js} +2 -2
  28. package/dist/{chunk-DYUOBPAI.js → chunk-JKLFEHCF.js} +2 -2
  29. package/dist/{chunk-TRKA7XYU.js → chunk-NRHTBY6E.js} +2 -2
  30. package/dist/{chunk-PVCHKW35.js → chunk-NYDBCHD7.js} +2 -2
  31. package/dist/{chunk-DDY7IFSE.js → chunk-PKPTJ6XM.js} +10 -10
  32. package/dist/{chunk-7WIISD2N.js → chunk-S7XYEGLR.js} +10 -3
  33. package/dist/{chunk-7WIISD2N.js.map → chunk-S7XYEGLR.js.map} +1 -1
  34. package/dist/{chunk-73JXR6WS.js → chunk-T2BICNAM.js} +9 -9
  35. package/dist/{chunk-UVTLZV34.js → chunk-WKXBJVZ7.js} +2 -2
  36. package/dist/{chunk-ML5CUAQD.js → chunk-X4TGUR22.js} +2 -2
  37. package/dist/{chunk-ZZQJWNQT.js → chunk-X6AM6P6X.js} +43 -4
  38. package/dist/chunk-X6AM6P6X.js.map +1 -0
  39. package/dist/{chunk-Y54UJUE4.js → chunk-XAAJ4NVG.js} +42 -39
  40. package/dist/chunk-XAAJ4NVG.js.map +1 -0
  41. package/dist/commonConstants.cjs +3 -0
  42. package/dist/commonConstants.cjs.map +1 -1
  43. package/dist/commonConstants.d.cts +2 -1
  44. package/dist/commonConstants.d.ts +2 -1
  45. package/dist/commonConstants.js +4 -2
  46. package/dist/commonSelectors.cjs +37 -0
  47. package/dist/commonSelectors.cjs.map +1 -1
  48. package/dist/commonSelectors.js +10 -10
  49. package/dist/constants.cjs +3 -0
  50. package/dist/constants.cjs.map +1 -1
  51. package/dist/constants.d.cts +1 -1
  52. package/dist/constants.d.ts +1 -1
  53. package/dist/constants.js +4 -2
  54. package/dist/deploymentsSlice/constants.js +2 -2
  55. package/dist/deploymentsSlice/index.js +3 -3
  56. package/dist/deploymentsSlice/mocks.js +3 -3
  57. package/dist/deploymentsSlice/selectors.js +3 -3
  58. package/dist/deploymentsSlice/thunks.cjs +37 -0
  59. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  60. package/dist/deploymentsSlice/thunks.js +26 -26
  61. package/dist/devicesSlice/constants.js +2 -2
  62. package/dist/devicesSlice/index.js +3 -3
  63. package/dist/devicesSlice/mocks.js +3 -3
  64. package/dist/devicesSlice/selectors.cjs.map +1 -1
  65. package/dist/devicesSlice/selectors.js +3 -3
  66. package/dist/devicesSlice/thunks.cjs +37 -0
  67. package/dist/devicesSlice/thunks.cjs.map +1 -1
  68. package/dist/devicesSlice/thunks.js +26 -26
  69. package/dist/liststatehook.cjs.map +1 -1
  70. package/dist/liststatehook.js +3 -3
  71. package/dist/locationutils.cjs.map +1 -1
  72. package/dist/locationutils.js +3 -3
  73. package/dist/monitorSlice/index.js +3 -3
  74. package/dist/monitorSlice/mocks.js +3 -3
  75. package/dist/monitorSlice/thunks.cjs +37 -0
  76. package/dist/monitorSlice/thunks.cjs.map +1 -1
  77. package/dist/monitorSlice/thunks.js +22 -22
  78. package/dist/onboardingSlice/thunks.cjs +37 -0
  79. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  80. package/dist/onboardingSlice/thunks.js +26 -26
  81. package/dist/organizationSlice/constants.js +2 -2
  82. package/dist/organizationSlice/index.js +3 -3
  83. package/dist/organizationSlice/mocks.js +3 -3
  84. package/dist/organizationSlice/selectors.cjs +42 -0
  85. package/dist/organizationSlice/selectors.cjs.map +1 -1
  86. package/dist/organizationSlice/selectors.d.cts +287 -3
  87. package/dist/organizationSlice/selectors.d.ts +287 -3
  88. package/dist/organizationSlice/selectors.js +9 -3
  89. package/dist/organizationSlice/thunks.cjs +53 -10
  90. package/dist/organizationSlice/thunks.cjs.map +1 -1
  91. package/dist/organizationSlice/thunks.d.cts +8 -8
  92. package/dist/organizationSlice/thunks.d.ts +8 -8
  93. package/dist/organizationSlice/thunks.js +28 -28
  94. package/dist/releasesSlice/index.js +3 -3
  95. package/dist/releasesSlice/mocks.js +3 -3
  96. package/dist/releasesSlice/selectors.cjs.map +1 -1
  97. package/dist/releasesSlice/selectors.js +4 -4
  98. package/dist/releasesSlice/thunks.cjs +37 -0
  99. package/dist/releasesSlice/thunks.cjs.map +1 -1
  100. package/dist/releasesSlice/thunks.js +23 -23
  101. package/dist/selectors.cjs +42 -0
  102. package/dist/selectors.cjs.map +1 -1
  103. package/dist/selectors.d.cts +1 -1
  104. package/dist/selectors.d.ts +1 -1
  105. package/dist/selectors.js +57 -51
  106. package/dist/sockethook.cjs.map +1 -1
  107. package/dist/sockethook.js +2 -2
  108. package/dist/store.js +12 -12
  109. package/dist/storehooks.cjs +51 -8
  110. package/dist/storehooks.cjs.map +1 -1
  111. package/dist/storehooks.js +28 -28
  112. package/dist/thunks.cjs +53 -10
  113. package/dist/thunks.cjs.map +1 -1
  114. package/dist/thunks.d.cts +1 -1
  115. package/dist/thunks.d.ts +1 -1
  116. package/dist/thunks.js +34 -34
  117. package/dist/useDeploymentDevice.cjs +37 -0
  118. package/dist/useDeploymentDevice.cjs.map +1 -1
  119. package/dist/useDeploymentDevice.js +26 -26
  120. package/dist/usersSlice/constants.js +2 -2
  121. package/dist/usersSlice/index.js +3 -3
  122. package/dist/usersSlice/mocks.js +3 -3
  123. package/dist/usersSlice/selectors.cjs.map +1 -1
  124. package/dist/usersSlice/selectors.js +4 -4
  125. package/dist/usersSlice/thunks.cjs +37 -0
  126. package/dist/usersSlice/thunks.cjs.map +1 -1
  127. package/dist/usersSlice/thunks.js +26 -26
  128. package/dist/utils.cjs +8 -0
  129. package/dist/utils.cjs.map +1 -1
  130. package/dist/utils.d.cts +2 -1
  131. package/dist/utils.d.ts +2 -1
  132. package/dist/utils.js +5 -3
  133. package/package.json +1 -1
  134. package/dist/chunk-Y54UJUE4.js.map +0 -1
  135. package/dist/chunk-ZZQJWNQT.js.map +0 -1
  136. /package/dist/{chunk-ZGRY42BZ.js.map → chunk-2AGBXDGF.js.map} +0 -0
  137. /package/dist/{chunk-XJLZK4QY.js.map → chunk-3IXBQAMO.js.map} +0 -0
  138. /package/dist/{chunk-YR65C62H.js.map → chunk-4NG7EGAG.js.map} +0 -0
  139. /package/dist/{chunk-IRQRV552.js.map → chunk-6NLGT2LD.js.map} +0 -0
  140. /package/dist/{chunk-WR6RQKF5.js.map → chunk-CXRORJR5.js.map} +0 -0
  141. /package/dist/{chunk-SVSHXLCN.js.map → chunk-DOT4GDYO.js.map} +0 -0
  142. /package/dist/{chunk-PL6RIFD5.js.map → chunk-E2X525PA.js.map} +0 -0
  143. /package/dist/{chunk-AROYP5V5.js.map → chunk-E7PTHNNO.js.map} +0 -0
  144. /package/dist/{chunk-FQ6CCYUU.js.map → chunk-EZRW3IQG.js.map} +0 -0
  145. /package/dist/{chunk-OLKM53RL.js.map → chunk-F2ADELYA.js.map} +0 -0
  146. /package/dist/{chunk-VODRLEDP.js.map → chunk-GLIQTGWN.js.map} +0 -0
  147. /package/dist/{chunk-4ZYLGBJU.js.map → chunk-IDKMS5RA.js.map} +0 -0
  148. /package/dist/{chunk-TIL2S3JA.js.map → chunk-IJ6KKUA2.js.map} +0 -0
  149. /package/dist/{chunk-DYUOBPAI.js.map → chunk-JKLFEHCF.js.map} +0 -0
  150. /package/dist/{chunk-TRKA7XYU.js.map → chunk-NRHTBY6E.js.map} +0 -0
  151. /package/dist/{chunk-PVCHKW35.js.map → chunk-NYDBCHD7.js.map} +0 -0
  152. /package/dist/{chunk-DDY7IFSE.js.map → chunk-PKPTJ6XM.js.map} +0 -0
  153. /package/dist/{chunk-73JXR6WS.js.map → chunk-T2BICNAM.js.map} +0 -0
  154. /package/dist/{chunk-UVTLZV34.js.map → chunk-WKXBJVZ7.js.map} +0 -0
  155. /package/dist/{chunk-ML5CUAQD.js.map → chunk-X4TGUR22.js.map} +0 -0
@@ -16,67 +16,67 @@ import {
16
16
  getUserSettings as getUserSettings2,
17
17
  saveGlobalSettings,
18
18
  saveUserSettings
19
- } from "./chunk-Y54UJUE4.js";
19
+ } from "./chunk-XAAJ4NVG.js";
20
+ import "./chunk-T2BICNAM.js";
20
21
  import {
21
22
  getReleases
22
- } from "./chunk-DDY7IFSE.js";
23
- import "./chunk-73JXR6WS.js";
24
- import "./chunk-FQ6CCYUU.js";
25
- import "./chunk-XJLZK4QY.js";
26
- import "./chunk-IRQRV552.js";
23
+ } from "./chunk-PKPTJ6XM.js";
24
+ import "./chunk-EZRW3IQG.js";
25
+ import "./chunk-3IXBQAMO.js";
26
+ import "./chunk-6NLGT2LD.js";
27
27
  import {
28
28
  actions_default
29
- } from "./chunk-SVSHXLCN.js";
30
- import "./chunk-TRKA7XYU.js";
31
- import "./chunk-YR65C62H.js";
32
- import "./chunk-TIL2S3JA.js";
33
- import "./chunk-PVCHKW35.js";
29
+ } from "./chunk-DOT4GDYO.js";
30
+ import "./chunk-4NG7EGAG.js";
31
+ import "./chunk-NRHTBY6E.js";
32
+ import "./chunk-IJ6KKUA2.js";
34
33
  import "./chunk-CQXDAXQF.js";
35
- import "./chunk-OLKM53RL.js";
36
- import "./chunk-DYUOBPAI.js";
37
- import "./chunk-VODRLEDP.js";
34
+ import "./chunk-NYDBCHD7.js";
35
+ import "./chunk-GLIQTGWN.js";
36
+ import "./chunk-JKLFEHCF.js";
37
+ import "./chunk-F2ADELYA.js";
38
38
  import {
39
39
  getSessionInfo
40
- } from "./chunk-UVTLZV34.js";
41
- import "./chunk-ML5CUAQD.js";
40
+ } from "./chunk-WKXBJVZ7.js";
41
+ import "./chunk-X4TGUR22.js";
42
42
  import "./chunk-NMAXZ3ZY.js";
43
43
  import {
44
44
  getIsEnterprise,
45
45
  getOnboardingState,
46
46
  getUserCapabilities
47
- } from "./chunk-AROYP5V5.js";
48
- import "./chunk-PL6RIFD5.js";
47
+ } from "./chunk-E7PTHNNO.js";
48
+ import {
49
+ getIsServiceProvider
50
+ } from "./chunk-X6AM6P6X.js";
49
51
  import {
50
52
  getGlobalSettings,
51
53
  getOfflineThresholdSettings,
52
54
  getUserSettings
53
- } from "./chunk-4ZYLGBJU.js";
54
- import {
55
- getIsServiceProvider
56
- } from "./chunk-ZZQJWNQT.js";
57
- import "./chunk-YO22XLHI.js";
55
+ } from "./chunk-IDKMS5RA.js";
56
+ import "./chunk-E2X525PA.js";
58
57
  import "./chunk-JIS4PA3R.js";
58
+ import "./chunk-YO22XLHI.js";
59
+ import "./chunk-CXRORJR5.js";
59
60
  import {
60
61
  getDevicesByStatus,
61
62
  getSortedFilteringAttributes
62
- } from "./chunk-ZGRY42BZ.js";
63
- import "./chunk-WR6RQKF5.js";
63
+ } from "./chunk-2AGBXDGF.js";
64
64
  import {
65
65
  getFeatures
66
66
  } from "./chunk-4BHM6WVX.js";
67
67
  import {
68
68
  getComparisonCompatibleVersion,
69
69
  stringToBoolean
70
- } from "./chunk-7WIISD2N.js";
70
+ } from "./chunk-S7XYEGLR.js";
71
71
  import {
72
72
  DEPLOYMENT_STATES,
73
73
  DEVICE_STATES,
74
74
  TIMEOUTS,
75
75
  timeUnits
76
- } from "./chunk-WWED74SG.js";
76
+ } from "./chunk-AERWBWRM.js";
77
77
  import "./chunk-2DYA3X77.js";
78
- import "./chunk-FAJ3I2UQ.js";
79
78
  import "./chunk-ZKAH3APE.js";
79
+ import "./chunk-FAJ3I2UQ.js";
80
80
  import "./chunk-DBBE6D36.js";
81
81
 
82
82
  // src/storehooks.ts
package/dist/thunks.cjs CHANGED
@@ -65,7 +65,7 @@ __export(thunks_exports, {
65
65
  editArtifact: () => editArtifact,
66
66
  editBillingProfile: () => editBillingProfile,
67
67
  editRole: () => editRole,
68
- editTenantDeviceLimit: () => editTenantDeviceLimit,
68
+ editTenant: () => editTenant,
69
69
  editUser: () => editUser,
70
70
  enableUser2fa: () => enableUser2fa,
71
71
  generateDeploymentLogAnalysis: () => generateDeploymentLogAnalysis,
@@ -336,6 +336,7 @@ var TIMEOUTS = {
336
336
  };
337
337
  var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
338
338
  var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants5.ATTRIBUTE_SCOPES.identity });
339
+ var productOrder = ["micro", "standard", "system"];
339
340
  var credentialTypes = {
340
341
  aws: "aws",
341
342
  http: "http",
@@ -1351,6 +1352,41 @@ var getAuditLogEntry = (0, import_toolkit5.createSelector)([getAuditLog, getAudi
1351
1352
  const [eventAction, eventTime] = atob(selectedId).split("|");
1352
1353
  return events.find((item) => item.action === eventAction && item.time === eventTime);
1353
1354
  });
1355
+ var toTierName = (key) => key.replace(/max_|_?devices/g, "") || "standard";
1356
+ var processDeviceLimits = (deviceLimits, skipFilter = false) => {
1357
+ const result = { limits: {}, disabled: [] };
1358
+ if (!deviceLimits) return result;
1359
+ const tiersByName = Object.fromEntries(Object.entries(deviceLimits).map(([key, limit]) => [toTierName(key), { key, limit }]));
1360
+ return productOrder.reduce((accu, tierName) => {
1361
+ const entry = tiersByName[tierName];
1362
+ if (!entry) return accu;
1363
+ const { key, limit } = entry;
1364
+ if (limit.value === 0) {
1365
+ accu.disabled.push(tierName);
1366
+ if (!skipFilter) return accu;
1367
+ }
1368
+ accu.limits[tierName] = {
1369
+ id: tierName,
1370
+ backendId: key,
1371
+ limit: limit.value,
1372
+ current: limit.current_value,
1373
+ name: tierName,
1374
+ quotaLeft: Math.max(limit.value - limit.current_value, 0),
1375
+ limitReached: limit.value !== -1 && limit.value <= limit.current_value
1376
+ };
1377
+ return accu;
1378
+ }, result);
1379
+ };
1380
+ var getDeviceLimitsInfo = (0, import_toolkit5.createSelector)([getOrganization], ({ device_limits }) => processDeviceLimits(device_limits));
1381
+ var getDisabledTiers = (0, import_toolkit5.createSelector)([getDeviceLimitsInfo], ({ disabled }) => disabled);
1382
+ var getSpLimits = (0, import_toolkit5.createSelector)([getDeviceLimitsInfo], ({ limits }) => limits);
1383
+ var getTenantListWithLimits = (0, import_toolkit5.createSelector)([getTenantsList], (tenantList) => ({
1384
+ ...tenantList,
1385
+ tenants: tenantList.tenants.map((tenant) => ({
1386
+ ...tenant,
1387
+ device_limits: processDeviceLimits(tenant.device_limits, true).limits
1388
+ }))
1389
+ }));
1354
1390
 
1355
1391
  // src/releasesSlice/selectors.ts
1356
1392
  var import_toolkit6 = require("@reduxjs/toolkit");
@@ -1487,6 +1523,12 @@ var parseSubscriptionPreview = (lines) => lines.reduce((acc, { addon, amount, pr
1487
1523
  }
1488
1524
  return acc;
1489
1525
  }, {});
1526
+ var convertToBackendSPLimits = (limits, spLimits) => Object.fromEntries(
1527
+ Object.entries(limits).filter(([key]) => !!spLimits[key]).map(([key, limit]) => {
1528
+ const { backendId } = spLimits[key];
1529
+ return [backendId, { Name: backendId, value: Number(limit) || 0 }];
1530
+ })
1531
+ );
1490
1532
 
1491
1533
  // src/releasesSlice/selectors.ts
1492
1534
  var getSelectedReleaseId = (state) => state.releases.selectedRelease;
@@ -4427,7 +4469,7 @@ var addTenant = createAppAsyncThunk(
4427
4469
  );
4428
4470
  var tenantListRetrieval = async (config) => {
4429
4471
  const { page, perPage } = config;
4430
- const params = new URLSearchParams({ page, per_page: perPage }).toString();
4472
+ const params = new URLSearchParams({ page, per_page: perPage, tiers: "true" }).toString();
4431
4473
  const tenantList = await general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/tenants?${params}`);
4432
4474
  const totalCount = tenantList.headers[import_constants5.headerNames.total] || TENANT_LIST_DEFAULT.perPage;
4433
4475
  return [tenantList.data, Number(totalCount)];
@@ -4452,16 +4494,17 @@ var setTenantsListState = createAppAsyncThunk(
4452
4494
  return dispatch(actions6.setTenantListState({ ...nextState }));
4453
4495
  }
4454
4496
  );
4455
- var editTenantDeviceLimit = createAppAsyncThunk(
4456
- `${sliceName6}/editDeviceLimit`,
4457
- ({ newLimit, id, name }, { dispatch }) => general_api_default.put(`${import_constants5.tenantadmApiUrlv2}/tenants/${id}/child`, { device_limit: newLimit, name }).catch((err) => commonErrorHandler(err, `Device Limit cannot be changed`, dispatch)).then(
4497
+ var editTenant = createAppAsyncThunk(`${sliceName6}/editDeviceLimit`, ({ deviceLimits, id, name }, { dispatch, getState }) => {
4498
+ const spLimits = getSpLimits(getState());
4499
+ const device_limits = convertToBackendSPLimits(deviceLimits, spLimits);
4500
+ return general_api_default.put(`${import_constants5.tenantadmApiUrlv2}/tenants/${id}/child`, { device_limits, name }).catch((err) => commonErrorHandler(err, `Device Limit cannot be changed`, dispatch)).then(
4458
4501
  () => Promise.all([
4459
- dispatch(setSnackbar4("Device Limit was changed successfully")),
4502
+ dispatch(setSnackbar4("Tenant was changed successfully")),
4460
4503
  dispatch(getUserOrganization()),
4461
4504
  new Promise((resolve) => setTimeout(() => resolve(dispatch(getTenants())), TIMEOUTS.oneSecond))
4462
4505
  ])
4463
- )
4464
- );
4506
+ );
4507
+ });
4465
4508
  var editBillingProfile = createAppAsyncThunk(
4466
4509
  `${sliceName6}/editBillingProfileEmail`,
4467
4510
  ({ billingProfile }, { dispatch }) => general_api_default.patch(`${import_constants5.tenantadmApiUrlv2}/billing/profile`, billingProfile).catch((err) => commonErrorHandler(err, `Failed to change billing profile`, dispatch)).then(() => Promise.all([dispatch(setSnackbar4("Billing Profile was changed successfully")), dispatch(getUserBilling())]))
@@ -4482,7 +4525,7 @@ var removeTenant = createAppAsyncThunk(
4482
4525
  );
4483
4526
  var getUserOrganization = createAppAsyncThunk(
4484
4527
  `${sliceName6}/getUserOrganization`,
4485
- (_, { dispatch, getState }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv1}/user/tenant`).then((res) => {
4528
+ (_, { dispatch, getState }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv1}/user/tenant?tiers=true`).then((res) => {
4486
4529
  const tasks = [dispatch(actions6.setOrganization(res.data))];
4487
4530
  const { addons, plan, trial } = res.data;
4488
4531
  const { token } = getCurrentSession(getState());
@@ -5728,7 +5771,7 @@ var submitUserFeedback = createAppAsyncThunk(
5728
5771
  editArtifact,
5729
5772
  editBillingProfile,
5730
5773
  editRole,
5731
- editTenantDeviceLimit,
5774
+ editTenant,
5732
5775
  editUser,
5733
5776
  enableUser2fa,
5734
5777
  generateDeploymentLogAnalysis,