@northern.tech/store 0.19.2 → 0.21.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 (148) hide show
  1. package/dist/actions.cjs +3 -0
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +2 -1
  4. package/dist/actions.d.ts +2 -1
  5. package/dist/actions.js +3 -3
  6. package/dist/api/general-api.js +1 -1
  7. package/dist/api/users-api.js +1 -1
  8. package/dist/appSlice/constants.cjs +3 -45
  9. package/dist/appSlice/constants.cjs.map +1 -1
  10. package/dist/appSlice/constants.d.cts +0 -15
  11. package/dist/appSlice/constants.d.ts +0 -15
  12. package/dist/appSlice/constants.js +1 -1
  13. package/dist/appSlice/index.js +1 -1
  14. package/dist/appSlice/mocks.js +1 -1
  15. package/dist/appSlice/thunks.cjs +14 -56
  16. package/dist/appSlice/thunks.cjs.map +1 -1
  17. package/dist/appSlice/thunks.js +13 -13
  18. package/dist/auth.js +1 -1
  19. package/dist/{chunk-KJ2SUFAU.js → chunk-4UV7ZJXY.js} +77 -12
  20. package/dist/chunk-4UV7ZJXY.js.map +1 -0
  21. package/dist/{chunk-43ZBO3JW.js → chunk-4ZYLGBJU.js} +2 -2
  22. package/dist/{chunk-45BHMNX6.js → chunk-6PYYMAFS.js} +6 -6
  23. package/dist/{chunk-ZAZTNDSY.js → chunk-7KSKENLP.js} +3 -3
  24. package/dist/{chunk-AV7SRATY.js → chunk-7VFPMJCH.js} +6 -6
  25. package/dist/{chunk-B3C6H2PR.js → chunk-7WIISD2N.js} +17 -14
  26. package/dist/{chunk-B3C6H2PR.js.map → chunk-7WIISD2N.js.map} +1 -1
  27. package/dist/{chunk-AJ6DIDO4.js → chunk-DBBE6D36.js} +4 -46
  28. package/dist/chunk-DBBE6D36.js.map +1 -0
  29. package/dist/{chunk-RJRZXDVT.js → chunk-GHATCG2U.js} +2 -2
  30. package/dist/{chunk-42GZ6FGV.js → chunk-PL6RIFD5.js} +2 -2
  31. package/dist/{chunk-VCEFZTWS.js → chunk-TIL2S3JA.js} +4 -1
  32. package/dist/chunk-TIL2S3JA.js.map +1 -0
  33. package/dist/{chunk-O7DR57RN.js → chunk-ZGRY42BZ.js} +9 -12
  34. package/dist/{chunk-O7DR57RN.js.map → chunk-ZGRY42BZ.js.map} +1 -1
  35. package/dist/{chunk-XOASGJZU.js → chunk-ZVE23XXF.js} +7 -7
  36. package/dist/{chunk-3NOV7X4M.js → chunk-ZZQJWNQT.js} +3 -1
  37. package/dist/chunk-ZZQJWNQT.js.map +1 -0
  38. package/dist/commonConstants.js +1 -1
  39. package/dist/commonSelectors.cjs +11 -56
  40. package/dist/commonSelectors.cjs.map +1 -1
  41. package/dist/commonSelectors.js +7 -7
  42. package/dist/constants.cjs +3 -45
  43. package/dist/constants.cjs.map +1 -1
  44. package/dist/constants.js +1 -1
  45. package/dist/deploymentsSlice/constants.js +1 -1
  46. package/dist/deploymentsSlice/index.js +1 -1
  47. package/dist/deploymentsSlice/mocks.js +1 -1
  48. package/dist/deploymentsSlice/selectors.js +1 -1
  49. package/dist/deploymentsSlice/thunks.cjs +14 -56
  50. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  51. package/dist/deploymentsSlice/thunks.js +13 -13
  52. package/dist/devicesSlice/constants.js +1 -1
  53. package/dist/devicesSlice/index.js +1 -1
  54. package/dist/devicesSlice/mocks.js +1 -1
  55. package/dist/devicesSlice/selectors.cjs +8 -11
  56. package/dist/devicesSlice/selectors.cjs.map +1 -1
  57. package/dist/devicesSlice/selectors.js +2 -2
  58. package/dist/devicesSlice/thunks.cjs +14 -56
  59. package/dist/devicesSlice/thunks.cjs.map +1 -1
  60. package/dist/devicesSlice/thunks.js +13 -13
  61. package/dist/liststatehook.js +1 -1
  62. package/dist/locationutils.js +1 -1
  63. package/dist/monitorSlice/index.js +1 -1
  64. package/dist/monitorSlice/mocks.js +1 -1
  65. package/dist/monitorSlice/thunks.cjs +14 -56
  66. package/dist/monitorSlice/thunks.cjs.map +1 -1
  67. package/dist/monitorSlice/thunks.js +11 -11
  68. package/dist/onboardingSlice/thunks.cjs +14 -56
  69. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  70. package/dist/onboardingSlice/thunks.js +13 -13
  71. package/dist/organizationSlice/constants.js +1 -1
  72. package/dist/organizationSlice/index.cjs +3 -0
  73. package/dist/organizationSlice/index.cjs.map +1 -1
  74. package/dist/organizationSlice/index.d.cts +4 -1
  75. package/dist/organizationSlice/index.d.ts +4 -1
  76. package/dist/organizationSlice/index.js +2 -2
  77. package/dist/organizationSlice/mocks.cjs +175 -0
  78. package/dist/organizationSlice/mocks.cjs.map +1 -1
  79. package/dist/organizationSlice/mocks.d.cts +121 -2
  80. package/dist/organizationSlice/mocks.d.ts +121 -2
  81. package/dist/organizationSlice/mocks.js +87 -2
  82. package/dist/organizationSlice/mocks.js.map +1 -1
  83. package/dist/organizationSlice/selectors.cjs +3 -0
  84. package/dist/organizationSlice/selectors.cjs.map +1 -1
  85. package/dist/organizationSlice/selectors.d.cts +3 -2
  86. package/dist/organizationSlice/selectors.d.ts +3 -2
  87. package/dist/organizationSlice/selectors.js +4 -2
  88. package/dist/organizationSlice/thunks.cjs +97 -71
  89. package/dist/organizationSlice/thunks.cjs.map +1 -1
  90. package/dist/organizationSlice/thunks.d.cts +17 -3
  91. package/dist/organizationSlice/thunks.d.ts +17 -3
  92. package/dist/organizationSlice/thunks.js +19 -15
  93. package/dist/organizationSlice/types.cjs.map +1 -1
  94. package/dist/organizationSlice/types.d.cts +30 -7
  95. package/dist/organizationSlice/types.d.ts +30 -7
  96. package/dist/releasesSlice/index.js +1 -1
  97. package/dist/releasesSlice/mocks.js +1 -1
  98. package/dist/releasesSlice/selectors.cjs.map +1 -1
  99. package/dist/releasesSlice/selectors.js +3 -3
  100. package/dist/releasesSlice/thunks.cjs +14 -56
  101. package/dist/releasesSlice/thunks.cjs.map +1 -1
  102. package/dist/releasesSlice/thunks.js +11 -11
  103. package/dist/selectors.cjs +14 -56
  104. package/dist/selectors.cjs.map +1 -1
  105. package/dist/selectors.d.cts +1 -1
  106. package/dist/selectors.d.ts +1 -1
  107. package/dist/selectors.js +9 -7
  108. package/dist/sockethook.js +1 -1
  109. package/dist/store.cjs +3 -0
  110. package/dist/store.cjs.map +1 -1
  111. package/dist/store.js +4 -4
  112. package/dist/storehooks.cjs +91 -69
  113. package/dist/storehooks.cjs.map +1 -1
  114. package/dist/storehooks.js +13 -13
  115. package/dist/thunks.cjs +95 -69
  116. package/dist/thunks.cjs.map +1 -1
  117. package/dist/thunks.d.cts +1 -1
  118. package/dist/thunks.d.ts +1 -1
  119. package/dist/thunks.js +17 -13
  120. package/dist/useDeploymentDevice.cjs +14 -56
  121. package/dist/useDeploymentDevice.cjs.map +1 -1
  122. package/dist/useDeploymentDevice.js +13 -13
  123. package/dist/usersSlice/constants.js +1 -1
  124. package/dist/usersSlice/index.js +1 -1
  125. package/dist/usersSlice/mocks.js +1 -1
  126. package/dist/usersSlice/selectors.cjs +3 -45
  127. package/dist/usersSlice/selectors.cjs.map +1 -1
  128. package/dist/usersSlice/selectors.js +3 -3
  129. package/dist/usersSlice/thunks.cjs +14 -56
  130. package/dist/usersSlice/thunks.cjs.map +1 -1
  131. package/dist/usersSlice/thunks.js +13 -13
  132. package/dist/utils.cjs +18 -57
  133. package/dist/utils.cjs.map +1 -1
  134. package/dist/utils.d.cts +1 -3
  135. package/dist/utils.d.ts +1 -3
  136. package/dist/utils.js +2 -2
  137. package/package.json +1 -1
  138. package/dist/chunk-3NOV7X4M.js.map +0 -1
  139. package/dist/chunk-AJ6DIDO4.js.map +0 -1
  140. package/dist/chunk-KJ2SUFAU.js.map +0 -1
  141. package/dist/chunk-VCEFZTWS.js.map +0 -1
  142. /package/dist/{chunk-43ZBO3JW.js.map → chunk-4ZYLGBJU.js.map} +0 -0
  143. /package/dist/{chunk-45BHMNX6.js.map → chunk-6PYYMAFS.js.map} +0 -0
  144. /package/dist/{chunk-ZAZTNDSY.js.map → chunk-7KSKENLP.js.map} +0 -0
  145. /package/dist/{chunk-AV7SRATY.js.map → chunk-7VFPMJCH.js.map} +0 -0
  146. /package/dist/{chunk-RJRZXDVT.js.map → chunk-GHATCG2U.js.map} +0 -0
  147. /package/dist/{chunk-42GZ6FGV.js.map → chunk-PL6RIFD5.js.map} +0 -0
  148. /package/dist/{chunk-XOASGJZU.js.map → chunk-ZVE23XXF.js.map} +0 -0
@@ -3,16 +3,16 @@ import {
3
3
  setFirstLoginAfterSignup,
4
4
  setOfflineThreshold,
5
5
  setSearchState
6
- } from "../chunk-KJ2SUFAU.js";
7
- import "../chunk-AV7SRATY.js";
8
- import "../chunk-45BHMNX6.js";
9
- import "../chunk-ZAZTNDSY.js";
6
+ } from "../chunk-4UV7ZJXY.js";
7
+ import "../chunk-7VFPMJCH.js";
8
+ import "../chunk-6PYYMAFS.js";
9
+ import "../chunk-7KSKENLP.js";
10
10
  import "../chunk-XJLZK4QY.js";
11
11
  import "../chunk-IRQRV552.js";
12
- import "../chunk-RJRZXDVT.js";
12
+ import "../chunk-GHATCG2U.js";
13
13
  import "../chunk-TRKA7XYU.js";
14
14
  import "../chunk-YR65C62H.js";
15
- import "../chunk-VCEFZTWS.js";
15
+ import "../chunk-TIL2S3JA.js";
16
16
  import "../chunk-PVCHKW35.js";
17
17
  import "../chunk-CQXDAXQF.js";
18
18
  import "../chunk-VODRLEDP.js";
@@ -21,21 +21,21 @@ import "../chunk-OLKM53RL.js";
21
21
  import "../chunk-UVTLZV34.js";
22
22
  import "../chunk-53W2NRSL.js";
23
23
  import "../chunk-NMAXZ3ZY.js";
24
- import "../chunk-XOASGJZU.js";
25
- import "../chunk-42GZ6FGV.js";
26
- import "../chunk-43ZBO3JW.js";
27
- import "../chunk-3NOV7X4M.js";
24
+ import "../chunk-ZVE23XXF.js";
25
+ import "../chunk-PL6RIFD5.js";
26
+ import "../chunk-4ZYLGBJU.js";
27
+ import "../chunk-ZZQJWNQT.js";
28
28
  import "../chunk-YO22XLHI.js";
29
29
  import "../chunk-JIS4PA3R.js";
30
30
  import "../chunk-WR6RQKF5.js";
31
- import "../chunk-O7DR57RN.js";
31
+ import "../chunk-ZGRY42BZ.js";
32
32
  import "../chunk-4BHM6WVX.js";
33
- import "../chunk-B3C6H2PR.js";
33
+ import "../chunk-7WIISD2N.js";
34
34
  import "../chunk-WWED74SG.js";
35
35
  import "../chunk-2DYA3X77.js";
36
36
  import "../chunk-FAJ3I2UQ.js";
37
37
  import "../chunk-ZKAH3APE.js";
38
- import "../chunk-AJ6DIDO4.js";
38
+ import "../chunk-DBBE6D36.js";
39
39
  export {
40
40
  getLatestReleaseInfo,
41
41
  setFirstLoginAfterSignup,
package/dist/auth.js CHANGED
@@ -9,7 +9,7 @@ import "./chunk-WWED74SG.js";
9
9
  import "./chunk-2DYA3X77.js";
10
10
  import "./chunk-FAJ3I2UQ.js";
11
11
  import "./chunk-ZKAH3APE.js";
12
- import "./chunk-AJ6DIDO4.js";
12
+ import "./chunk-DBBE6D36.js";
13
13
  export {
14
14
  cleanUp,
15
15
  getSessionInfo,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  getDeviceMonitorConfig,
3
3
  getLatestDeviceAlerts
4
- } from "./chunk-45BHMNX6.js";
4
+ } from "./chunk-6PYYMAFS.js";
5
5
  import {
6
6
  commonErrorFallback,
7
7
  commonErrorHandler,
8
8
  createAppAsyncThunk
9
- } from "./chunk-ZAZTNDSY.js";
9
+ } from "./chunk-7KSKENLP.js";
10
10
  import {
11
11
  users_api_default
12
12
  } from "./chunk-XJLZK4QY.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-IRQRV552.js";
16
16
  import {
17
17
  actions_default
18
- } from "./chunk-RJRZXDVT.js";
18
+ } from "./chunk-GHATCG2U.js";
19
19
  import {
20
20
  actions as actions6,
21
21
  sliceName as sliceName6
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  actions as actions5,
25
25
  sliceName as sliceName5
26
- } from "./chunk-VCEFZTWS.js";
26
+ } from "./chunk-TIL2S3JA.js";
27
27
  import {
28
28
  actions as actions4,
29
29
  sliceName as sliceName4
@@ -52,7 +52,7 @@ import {
52
52
  getSearchEndpoint,
53
53
  getTenantCapabilities,
54
54
  getUserCapabilities
55
- } from "./chunk-XOASGJZU.js";
55
+ } from "./chunk-ZVE23XXF.js";
56
56
  import {
57
57
  getCurrentSession,
58
58
  getCurrentUser,
@@ -64,13 +64,13 @@ import {
64
64
  getTooltipsState,
65
65
  getUserSettings,
66
66
  getUsersById
67
- } from "./chunk-43ZBO3JW.js";
67
+ } from "./chunk-4ZYLGBJU.js";
68
68
  import {
69
69
  getAuditlogState,
70
70
  getDeviceTwinIntegrations,
71
71
  getOrganization,
72
72
  getTenantsList
73
- } from "./chunk-3NOV7X4M.js";
73
+ } from "./chunk-ZZQJWNQT.js";
74
74
  import {
75
75
  getDeploymentsById,
76
76
  getDeploymentsByStatus
@@ -85,7 +85,7 @@ import {
85
85
  getDevicesById,
86
86
  getGroupsById,
87
87
  getSelectedGroup
88
- } from "./chunk-O7DR57RN.js";
88
+ } from "./chunk-ZGRY42BZ.js";
89
89
  import {
90
90
  getFeatures,
91
91
  getSearchState
@@ -101,7 +101,7 @@ import {
101
101
  mergePermissions,
102
102
  parseSubscriptionPreview,
103
103
  progress
104
- } from "./chunk-B3C6H2PR.js";
104
+ } from "./chunk-7WIISD2N.js";
105
105
  import {
106
106
  ALL_DEVICE_STATES,
107
107
  ALL_RELEASES,
@@ -162,8 +162,10 @@ import {
162
162
  orderedOnboardingSteps
163
163
  } from "./chunk-FAJ3I2UQ.js";
164
164
  import {
165
+ ADDONS,
166
+ PLANS,
165
167
  locations
166
- } from "./chunk-AJ6DIDO4.js";
168
+ } from "./chunk-DBBE6D36.js";
167
169
 
168
170
  // src/appSlice/thunks.ts
169
171
  import { deepCompare as deepCompare4, extractErrorMessage as extractErrorMessage3 } from "@northern.tech/utils/helpers";
@@ -1550,6 +1552,63 @@ var cancelRequest = createAppAsyncThunk(`${sliceName5}/cancelRequest`, (reason,
1550
1552
  () => Promise.resolve(dispatch(setSnackbar3({ message: "Deactivation request was sent successfully", autoHideDuration: TIMEOUTS.fiveSeconds })))
1551
1553
  );
1552
1554
  });
1555
+ var getTierId = (tierName) => tierName.replace("mender_", "");
1556
+ var getProductPlans = (products) => products.reduce(
1557
+ (plansById, product) => {
1558
+ const { name, prices } = product;
1559
+ const tierId = getTierId(name);
1560
+ prices.forEach((price) => {
1561
+ const existing = plansById[price.plan] ?? { ...PLANS[price.plan], tierLimitsConstrains: {} };
1562
+ const tierConstraints = price.constraints ? { [tierId]: { min: price.constraints.min, max: price.constraints.max, div: price.constraints.div } } : {};
1563
+ plansById[price.plan] = {
1564
+ ...existing,
1565
+ tierLimitsConstrains: {
1566
+ ...existing.tierLimitsConstrains,
1567
+ ...tierConstraints
1568
+ }
1569
+ };
1570
+ });
1571
+ return plansById;
1572
+ },
1573
+ { enterprise: { ...PLANS.enterprise } }
1574
+ );
1575
+ var getProductAddons = (products) => products.reduce((accu, product) => {
1576
+ const { addons = [] } = product;
1577
+ addons.forEach((addon) => {
1578
+ const { name: addonName = "", prices: addonPrices = [] } = addon;
1579
+ const existingEligible = accu[addonName]?.eligible ?? [];
1580
+ const newEligible = addonPrices.map((p) => p.plan);
1581
+ accu[addonName] = {
1582
+ ...ADDONS[addonName],
1583
+ eligible: [.../* @__PURE__ */ new Set([...existingEligible, ...newEligible, PLANS.enterprise.id])]
1584
+ };
1585
+ });
1586
+ return accu;
1587
+ }, {});
1588
+ var transformProductResponse = (products) => {
1589
+ const tiers = [];
1590
+ const sortedProducts = products.sort((a, b) => a.name.localeCompare(b.name));
1591
+ sortedProducts.forEach((tier) => {
1592
+ const addonsSupported = Object.fromEntries((tier.addons || []).map((addon) => [addon.name, addon.prices?.map((p) => p.plan)]));
1593
+ const allPlans = tier.prices.map((price) => price.plan);
1594
+ const addonsTransposed = allPlans.reduce((acc, plan) => {
1595
+ acc[plan] = Object.entries(addonsSupported).filter(([, addonSupportedPlans]) => addonSupportedPlans.includes(plan)).map(([addon]) => addon);
1596
+ return acc;
1597
+ }, {});
1598
+ const tierId = getTierId(tier.name);
1599
+ tiers.push({
1600
+ id: tierId,
1601
+ title: tierId,
1602
+ stripeProductName: tier.name,
1603
+ limitConstrains: Object.fromEntries(tier.prices.map((p) => [p.plan, p.constraints])),
1604
+ addons: addonsSupported,
1605
+ addonsByPlan: addonsTransposed
1606
+ });
1607
+ });
1608
+ const plans = getProductPlans(products);
1609
+ const addons = getProductAddons(products);
1610
+ return { plans, tiers, addons };
1611
+ };
1553
1612
  var getTargetLocation = (key) => {
1554
1613
  if (devLocations.includes(window.location.hostname)) {
1555
1614
  return "";
@@ -1764,7 +1823,7 @@ var getUserSubscription = createAppAsyncThunk(`${sliceName5}/getUserSubscription
1764
1823
  });
1765
1824
  var getBillingPreview = createAppAsyncThunk(
1766
1825
  `${sliceName5}/getBillingPreview`,
1767
- (order, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).catch((err) => commonErrorHandler(err, "There was an error getting your billing information:", dispatch, commonErrorFallback)).then(({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data)
1826
+ (order, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).catch((err) => commonErrorHandler(err, "There was an error getting your billing information:", dispatch, commonErrorFallback)).then(({ data }) => order.preview_mode === "recurring" ? { items: parseSubscriptionPreview(data.lines), total: data.total } : data)
1768
1827
  );
1769
1828
  var getCurrentSubscription = createAppAsyncThunk(
1770
1829
  `${sliceName5}/getCurrentSubscription`,
@@ -1775,6 +1834,10 @@ var getCurrentSubscription = createAppAsyncThunk(
1775
1834
  return commonErrorHandler(err, "There was an error retrieving your current subscription", dispatch, commonErrorFallback);
1776
1835
  })
1777
1836
  );
1837
+ var getProducts = createAppAsyncThunk(
1838
+ `${sliceName5}/getEnabledTiers`,
1839
+ (_, { dispatch }) => general_api_default.get(`${tenantadmApiUrlv2}/billing/products`).catch((err) => commonErrorHandler(err, "There was an error getting Mender products:", dispatch, commonErrorFallback)).then((res) => dispatch(actions5.setProducts(transformProductResponse(res.data))))
1840
+ );
1778
1841
  var requestPlanUpgrade = createAppAsyncThunk(
1779
1842
  `${sliceName5}/requestPlanUpgrade`,
1780
1843
  (order, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.all([setTimeout(() => dispatch(getDeviceLimits()), TIMEOUTS.threeSeconds), dispatch(getUserOrganization())]))
@@ -2704,6 +2767,7 @@ export {
2704
2767
  setOnboardingCanceled,
2705
2768
  advanceOnboarding,
2706
2769
  cancelRequest,
2770
+ transformProductResponse,
2707
2771
  getTargetLocation,
2708
2772
  createOrganizationTrial,
2709
2773
  startCardUpdate,
@@ -2728,6 +2792,7 @@ export {
2728
2792
  getUserSubscription,
2729
2793
  getBillingPreview,
2730
2794
  getCurrentSubscription,
2795
+ getProducts,
2731
2796
  requestPlanUpgrade,
2732
2797
  sendSupportMessage,
2733
2798
  requestPlanChange,
@@ -2780,4 +2845,4 @@ export {
2780
2845
  setAllTooltipsReadState,
2781
2846
  submitUserFeedback
2782
2847
  };
2783
- //# sourceMappingURL=chunk-KJ2SUFAU.js.map
2848
+ //# sourceMappingURL=chunk-4UV7ZJXY.js.map