@northern.tech/store 0.18.0 → 0.19.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 (106) hide show
  1. package/dist/actions.js +6 -6
  2. package/dist/api/general-api.cjs +13 -9
  3. package/dist/api/general-api.cjs.map +1 -1
  4. package/dist/api/general-api.js +3 -3
  5. package/dist/api/users-api.cjs +13 -9
  6. package/dist/api/users-api.cjs.map +1 -1
  7. package/dist/api/users-api.js +4 -4
  8. package/dist/appSlice/index.js +1 -1
  9. package/dist/appSlice/mocks.js +1 -1
  10. package/dist/appSlice/thunks.cjs +42 -19
  11. package/dist/appSlice/thunks.cjs.map +1 -1
  12. package/dist/appSlice/thunks.js +18 -18
  13. package/dist/auth.cjs +7 -9
  14. package/dist/auth.cjs.map +1 -1
  15. package/dist/auth.js +2 -2
  16. package/dist/{chunk-6UO33KLN.js → chunk-C3EMLDPU.js} +5 -5
  17. package/dist/{chunk-EFFRZCDN.js → chunk-FUGCLQ5L.js} +23 -23
  18. package/dist/{chunk-C5QK6HH6.js → chunk-GBXG2XBY.js} +5 -5
  19. package/dist/{chunk-5M6EUVNO.js → chunk-IRQRV552.js} +8 -2
  20. package/dist/chunk-IRQRV552.js.map +1 -0
  21. package/dist/{chunk-CXBQKY7F.js → chunk-KJHHSYGP.js} +14 -14
  22. package/dist/{chunk-PFWOM36E.js → chunk-MZ5NRW3K.js} +38 -17
  23. package/dist/{chunk-PFWOM36E.js.map → chunk-MZ5NRW3K.js.map} +1 -1
  24. package/dist/{chunk-BX2CTAJO.js → chunk-QFYYTAYD.js} +11 -11
  25. package/dist/{chunk-FDSMCFV5.js → chunk-UVTLZV34.js} +8 -10
  26. package/dist/chunk-UVTLZV34.js.map +1 -0
  27. package/dist/{chunk-Y3DJIMEN.js → chunk-XJLZK4QY.js} +3 -3
  28. package/dist/commonConstants.js +1 -1
  29. package/dist/commonSelectors.cjs +31 -0
  30. package/dist/commonSelectors.cjs.map +1 -1
  31. package/dist/commonSelectors.d.cts +147 -1
  32. package/dist/commonSelectors.d.ts +147 -1
  33. package/dist/commonSelectors.js +8 -6
  34. package/dist/constants.js +1 -1
  35. package/dist/deploymentsSlice/constants.js +1 -1
  36. package/dist/deploymentsSlice/index.js +1 -1
  37. package/dist/deploymentsSlice/mocks.js +1 -1
  38. package/dist/deploymentsSlice/selectors.js +1 -1
  39. package/dist/deploymentsSlice/thunks.cjs +42 -19
  40. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  41. package/dist/deploymentsSlice/thunks.js +18 -18
  42. package/dist/devicesSlice/constants.js +1 -1
  43. package/dist/devicesSlice/index.js +1 -1
  44. package/dist/devicesSlice/mocks.js +1 -1
  45. package/dist/devicesSlice/selectors.js +1 -1
  46. package/dist/devicesSlice/thunks.cjs +42 -19
  47. package/dist/devicesSlice/thunks.cjs.map +1 -1
  48. package/dist/devicesSlice/thunks.js +18 -18
  49. package/dist/liststatehook.js +1 -1
  50. package/dist/locationutils.js +1 -1
  51. package/dist/monitorSlice/index.js +1 -1
  52. package/dist/monitorSlice/mocks.js +1 -1
  53. package/dist/monitorSlice/thunks.cjs +32 -9
  54. package/dist/monitorSlice/thunks.cjs.map +1 -1
  55. package/dist/monitorSlice/thunks.js +15 -15
  56. package/dist/onboardingSlice/thunks.cjs +45 -22
  57. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  58. package/dist/onboardingSlice/thunks.js +18 -18
  59. package/dist/organizationSlice/constants.js +1 -1
  60. package/dist/organizationSlice/index.js +1 -1
  61. package/dist/organizationSlice/mocks.js +1 -1
  62. package/dist/organizationSlice/selectors.js +1 -1
  63. package/dist/organizationSlice/thunks.cjs +50 -27
  64. package/dist/organizationSlice/thunks.cjs.map +1 -1
  65. package/dist/organizationSlice/thunks.js +18 -18
  66. package/dist/releasesSlice/index.js +1 -1
  67. package/dist/releasesSlice/mocks.js +1 -1
  68. package/dist/releasesSlice/selectors.js +1 -1
  69. package/dist/releasesSlice/thunks.cjs +32 -9
  70. package/dist/releasesSlice/thunks.cjs.map +1 -1
  71. package/dist/releasesSlice/thunks.js +15 -15
  72. package/dist/selectors.cjs +29 -0
  73. package/dist/selectors.cjs.map +1 -1
  74. package/dist/selectors.d.cts +1 -1
  75. package/dist/selectors.d.ts +1 -1
  76. package/dist/selectors.js +44 -42
  77. package/dist/sockethook.js +1 -1
  78. package/dist/store.cjs +7 -9
  79. package/dist/store.cjs.map +1 -1
  80. package/dist/store.js +8 -8
  81. package/dist/storehooks.cjs +60 -37
  82. package/dist/storehooks.cjs.map +1 -1
  83. package/dist/storehooks.js +20 -20
  84. package/dist/thunks.cjs +53 -30
  85. package/dist/thunks.cjs.map +1 -1
  86. package/dist/thunks.js +18 -18
  87. package/dist/useDeploymentDevice.cjs +42 -19
  88. package/dist/useDeploymentDevice.cjs.map +1 -1
  89. package/dist/useDeploymentDevice.js +18 -18
  90. package/dist/usersSlice/constants.js +1 -1
  91. package/dist/usersSlice/index.js +1 -1
  92. package/dist/usersSlice/mocks.js +1 -1
  93. package/dist/usersSlice/selectors.js +1 -1
  94. package/dist/usersSlice/thunks.cjs +42 -19
  95. package/dist/usersSlice/thunks.cjs.map +1 -1
  96. package/dist/usersSlice/thunks.js +18 -18
  97. package/dist/utils.js +1 -1
  98. package/package.json +1 -1
  99. package/dist/chunk-5M6EUVNO.js.map +0 -1
  100. package/dist/chunk-FDSMCFV5.js.map +0 -1
  101. /package/dist/{chunk-6UO33KLN.js.map → chunk-C3EMLDPU.js.map} +0 -0
  102. /package/dist/{chunk-EFFRZCDN.js.map → chunk-FUGCLQ5L.js.map} +0 -0
  103. /package/dist/{chunk-C5QK6HH6.js.map → chunk-GBXG2XBY.js.map} +0 -0
  104. /package/dist/{chunk-CXBQKY7F.js.map → chunk-KJHHSYGP.js.map} +0 -0
  105. /package/dist/{chunk-BX2CTAJO.js.map → chunk-QFYYTAYD.js.map} +0 -0
  106. /package/dist/{chunk-Y3DJIMEN.js.map → chunk-XJLZK4QY.js.map} +0 -0
@@ -43,38 +43,38 @@ import {
43
43
  updateDevicesAuth,
44
44
  updateDynamicGroup,
45
45
  updateReportData
46
- } from "../chunk-EFFRZCDN.js";
47
- import "../chunk-C5QK6HH6.js";
48
- import "../chunk-6UO33KLN.js";
49
- import "../chunk-CXBQKY7F.js";
50
- import "../chunk-Y3DJIMEN.js";
51
- import "../chunk-5M6EUVNO.js";
52
- import "../chunk-BX2CTAJO.js";
53
- import "../chunk-TRKA7XYU.js";
46
+ } from "../chunk-FUGCLQ5L.js";
47
+ import "../chunk-GBXG2XBY.js";
48
+ import "../chunk-C3EMLDPU.js";
49
+ import "../chunk-KJHHSYGP.js";
50
+ import "../chunk-XJLZK4QY.js";
51
+ import "../chunk-IRQRV552.js";
52
+ import "../chunk-QFYYTAYD.js";
54
53
  import "../chunk-YR65C62H.js";
54
+ import "../chunk-VODRLEDP.js";
55
+ import "../chunk-TRKA7XYU.js";
56
+ import "../chunk-CQXDAXQF.js";
55
57
  import "../chunk-VCEFZTWS.js";
56
58
  import "../chunk-PVCHKW35.js";
57
- import "../chunk-CQXDAXQF.js";
58
- import "../chunk-OLKM53RL.js";
59
59
  import "../chunk-6WJI4MOP.js";
60
- import "../chunk-VODRLEDP.js";
61
- import "../chunk-FDSMCFV5.js";
60
+ import "../chunk-OLKM53RL.js";
61
+ import "../chunk-UVTLZV34.js";
62
62
  import "../chunk-53W2NRSL.js";
63
63
  import "../chunk-NMAXZ3ZY.js";
64
- import "../chunk-PFWOM36E.js";
65
- import "../chunk-GEQ2QQEE.js";
64
+ import "../chunk-MZ5NRW3K.js";
66
65
  import "../chunk-QL6FN2JC.js";
67
- import "../chunk-3NOV7X4M.js";
68
- import "../chunk-YO22XLHI.js";
69
- import "../chunk-JIS4PA3R.js";
70
66
  import "../chunk-O7DR57RN.js";
67
+ import "../chunk-GEQ2QQEE.js";
68
+ import "../chunk-JIS4PA3R.js";
69
+ import "../chunk-3NOV7X4M.js";
71
70
  import "../chunk-WR6RQKF5.js";
71
+ import "../chunk-YO22XLHI.js";
72
72
  import "../chunk-4BHM6WVX.js";
73
73
  import "../chunk-U5TPV5X5.js";
74
74
  import "../chunk-WWED74SG.js";
75
75
  import "../chunk-2DYA3X77.js";
76
- import "../chunk-FAJ3I2UQ.js";
77
76
  import "../chunk-ZKAH3APE.js";
77
+ import "../chunk-FAJ3I2UQ.js";
78
78
  import "../chunk-EL672W25.js";
79
79
  export {
80
80
  addDevicesToGroup,
@@ -18,8 +18,8 @@ import {
18
18
  } from "./chunk-53W2NRSL.js";
19
19
  import "./chunk-WWED74SG.js";
20
20
  import "./chunk-2DYA3X77.js";
21
- import "./chunk-FAJ3I2UQ.js";
22
21
  import "./chunk-ZKAH3APE.js";
22
+ import "./chunk-FAJ3I2UQ.js";
23
23
  import "./chunk-EL672W25.js";
24
24
 
25
25
  // src/liststatehook.ts
@@ -20,8 +20,8 @@ import {
20
20
  } from "./chunk-53W2NRSL.js";
21
21
  import "./chunk-WWED74SG.js";
22
22
  import "./chunk-2DYA3X77.js";
23
- import "./chunk-FAJ3I2UQ.js";
24
23
  import "./chunk-ZKAH3APE.js";
24
+ import "./chunk-FAJ3I2UQ.js";
25
25
  import "./chunk-EL672W25.js";
26
26
  export {
27
27
  commonProcessor,
@@ -7,8 +7,8 @@ import {
7
7
  } from "../chunk-PVCHKW35.js";
8
8
  import "../chunk-WWED74SG.js";
9
9
  import "../chunk-2DYA3X77.js";
10
- import "../chunk-FAJ3I2UQ.js";
11
10
  import "../chunk-ZKAH3APE.js";
11
+ import "../chunk-FAJ3I2UQ.js";
12
12
  import "../chunk-EL672W25.js";
13
13
  export {
14
14
  actions,
@@ -6,8 +6,8 @@ import {
6
6
  DEVICE_LIST_DEFAULTS
7
7
  } from "../chunk-WWED74SG.js";
8
8
  import "../chunk-2DYA3X77.js";
9
- import "../chunk-FAJ3I2UQ.js";
10
9
  import "../chunk-ZKAH3APE.js";
10
+ import "../chunk-FAJ3I2UQ.js";
11
11
  import "../chunk-EL672W25.js";
12
12
 
13
13
  // src/monitorSlice/mocks.ts
@@ -1650,6 +1650,7 @@ var actions_default = {
1650
1650
 
1651
1651
  // src/api/general-api.ts
1652
1652
  var import_axios = __toESM(require("axios"), 1);
1653
+ var import_universal_cookie2 = __toESM(require("universal-cookie"), 1);
1653
1654
 
1654
1655
  // src/auth.ts
1655
1656
  var import_universal_cookie = __toESM(require("universal-cookie"), 1);
@@ -1662,19 +1663,17 @@ var getSessionInfo = () => {
1662
1663
  sessionInfo = JSON.parse(window.localStorage.getItem("JWT") ?? "");
1663
1664
  } catch {
1664
1665
  }
1666
+ const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
1667
+ if (jwtTokenFromCookie) {
1668
+ setSessionInfo({ token: jwtTokenFromCookie });
1669
+ cookies.remove("JWT");
1670
+ cookies.remove("JWT", { path: "/" });
1671
+ return { token: jwtTokenFromCookie, expiresAt: void 0 };
1672
+ }
1665
1673
  if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < /* @__PURE__ */ new Date()) {
1666
1674
  cleanUp();
1667
1675
  return { ...emptySession };
1668
1676
  }
1669
- if (!sessionInfo.token) {
1670
- const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
1671
- if (jwtTokenFromCookie) {
1672
- setSessionInfo({ token: jwtTokenFromCookie });
1673
- sessionInfo.token = jwtTokenFromCookie;
1674
- cookies.remove("JWT");
1675
- cookies.remove("JWT", { path: "/" });
1676
- }
1677
- }
1678
1677
  sessionInfo.token = sessionInfo.token || "";
1679
1678
  tokenCache = sessionInfo.token;
1680
1679
  return sessionInfo;
@@ -1693,8 +1692,13 @@ var cleanUp = () => {
1693
1692
  };
1694
1693
 
1695
1694
  // src/api/general-api.ts
1695
+ var cookies2 = new import_universal_cookie2.default();
1696
1696
  var unauthorizedRedirect = (error) => {
1697
1697
  if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
1698
+ if (cookies2.get("JWT", { doNotParse: true })) {
1699
+ window.location.reload();
1700
+ return Promise.reject(error);
1701
+ }
1698
1702
  cleanUp();
1699
1703
  window.location.replace("/ui/");
1700
1704
  }
@@ -1747,6 +1751,7 @@ var getIsPreview = (0, import_toolkit9.createSelector)([getFullVersionInformatio
1747
1751
  // src/commonSelectors.ts
1748
1752
  var import_helpers5 = require("@northern.tech/utils/helpers");
1749
1753
  var import_toolkit15 = require("@reduxjs/toolkit");
1754
+ var import_dayjs = __toESM(require("dayjs"), 1);
1750
1755
 
1751
1756
  // src/deploymentsSlice/selectors.ts
1752
1757
  var import_toolkit10 = require("@reduxjs/toolkit");
@@ -2069,6 +2074,7 @@ var emptyObject = {};
2069
2074
  var getRolesById = (state) => state.users.rolesById;
2070
2075
  var getTooltipsById = (state) => state.users.tooltips.byId;
2071
2076
  var getGlobalSettings = (state) => state.users.globalSettings;
2077
+ var getUserSettingsInitialized = (state) => state.users.userSettingsInitialized;
2072
2078
  var getCurrentUserId = (state) => state.users.currentUser;
2073
2079
  var getUsersById = (state) => state.users.byId;
2074
2080
  var getUsersList = (0, import_toolkit14.createSelector)([getUsersById], (usersById) => Object.values(usersById));
@@ -2106,6 +2112,7 @@ var getOfflineThresholdSettings = (0, import_toolkit14.createSelector)([getGloba
2106
2112
  intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName
2107
2113
  }));
2108
2114
  var getRolesList = (0, import_toolkit14.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([value, role]) => ({ value, ...role })));
2115
+ var getSecurityAlertDismissedTimestamp = (state) => state.users.userSettings.securityAlertDismissedTimestamp;
2109
2116
 
2110
2117
  // src/commonSelectors.ts
2111
2118
  var getIsEnterprise = (0, import_toolkit15.createSelector)(
@@ -2312,6 +2319,22 @@ var getRelevantRoles = (0, import_toolkit15.createSelector)([getOrganization, ge
2312
2319
  return accu;
2313
2320
  }, roles);
2314
2321
  });
2322
+ var getShowSecurityAlert = (0, import_toolkit15.createSelector)(
2323
+ [getCurrentUser, getHas2FA, getFeatures, getIsEnterprise, getUserSettingsInitialized, getSecurityAlertDismissedTimestamp],
2324
+ (currentUser, has2FA, features, isEnterprise, settingsInitialized, dismissedTimestamp) => {
2325
+ const isHosted = features?.isHosted;
2326
+ const canHave2FA = isEnterprise || isHosted;
2327
+ if (!currentUser || !settingsInitialized || has2FA || !canHave2FA) {
2328
+ return false;
2329
+ }
2330
+ if (dismissedTimestamp === null) {
2331
+ return true;
2332
+ }
2333
+ const today = (0, import_dayjs.default)();
2334
+ const dismissedMonthAgo = today.diff(dismissedTimestamp, "months");
2335
+ return dismissedMonthAgo > 0;
2336
+ }
2337
+ );
2315
2338
 
2316
2339
  // src/store.ts
2317
2340
  var import_react_redux = require("react-redux");