@northern.tech/store 0.18.0 → 0.19.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 (58) hide show
  1. package/dist/actions.js +3 -3
  2. package/dist/appSlice/thunks.cjs +21 -2
  3. package/dist/appSlice/thunks.cjs.map +1 -1
  4. package/dist/appSlice/thunks.js +9 -9
  5. package/dist/{chunk-6UO33KLN.js → chunk-GAHFKM3N.js} +4 -4
  6. package/dist/{chunk-EFFRZCDN.js → chunk-QFYSFHAF.js} +15 -15
  7. package/dist/{chunk-BX2CTAJO.js → chunk-RJRZXDVT.js} +5 -5
  8. package/dist/{chunk-CXBQKY7F.js → chunk-RVAERI6U.js} +6 -6
  9. package/dist/{chunk-PFWOM36E.js → chunk-TJBX7YHM.js} +29 -8
  10. package/dist/{chunk-PFWOM36E.js.map → chunk-TJBX7YHM.js.map} +1 -1
  11. package/dist/{chunk-C5QK6HH6.js → chunk-XC7DABLM.js} +4 -4
  12. package/dist/commonSelectors.cjs +31 -0
  13. package/dist/commonSelectors.cjs.map +1 -1
  14. package/dist/commonSelectors.d.cts +147 -1
  15. package/dist/commonSelectors.d.ts +147 -1
  16. package/dist/commonSelectors.js +4 -2
  17. package/dist/deploymentsSlice/thunks.cjs +21 -2
  18. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  19. package/dist/deploymentsSlice/thunks.js +9 -9
  20. package/dist/devicesSlice/thunks.cjs +21 -2
  21. package/dist/devicesSlice/thunks.cjs.map +1 -1
  22. package/dist/devicesSlice/thunks.js +9 -9
  23. package/dist/monitorSlice/thunks.cjs +19 -0
  24. package/dist/monitorSlice/thunks.cjs.map +1 -1
  25. package/dist/monitorSlice/thunks.js +7 -7
  26. package/dist/onboardingSlice/thunks.cjs +21 -2
  27. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  28. package/dist/onboardingSlice/thunks.js +9 -9
  29. package/dist/organizationSlice/thunks.cjs +23 -4
  30. package/dist/organizationSlice/thunks.cjs.map +1 -1
  31. package/dist/organizationSlice/thunks.js +9 -9
  32. package/dist/releasesSlice/thunks.cjs +19 -0
  33. package/dist/releasesSlice/thunks.cjs.map +1 -1
  34. package/dist/releasesSlice/thunks.js +7 -7
  35. package/dist/selectors.cjs +29 -0
  36. package/dist/selectors.cjs.map +1 -1
  37. package/dist/selectors.d.cts +1 -1
  38. package/dist/selectors.d.ts +1 -1
  39. package/dist/selectors.js +13 -11
  40. package/dist/store.js +4 -4
  41. package/dist/storehooks.cjs +26 -7
  42. package/dist/storehooks.cjs.map +1 -1
  43. package/dist/storehooks.js +9 -9
  44. package/dist/thunks.cjs +23 -4
  45. package/dist/thunks.cjs.map +1 -1
  46. package/dist/thunks.js +9 -9
  47. package/dist/useDeploymentDevice.cjs +21 -2
  48. package/dist/useDeploymentDevice.cjs.map +1 -1
  49. package/dist/useDeploymentDevice.js +9 -9
  50. package/dist/usersSlice/thunks.cjs +21 -2
  51. package/dist/usersSlice/thunks.cjs.map +1 -1
  52. package/dist/usersSlice/thunks.js +9 -9
  53. package/package.json +1 -1
  54. /package/dist/{chunk-6UO33KLN.js.map → chunk-GAHFKM3N.js.map} +0 -0
  55. /package/dist/{chunk-EFFRZCDN.js.map → chunk-QFYSFHAF.js.map} +0 -0
  56. /package/dist/{chunk-BX2CTAJO.js.map → chunk-RJRZXDVT.js.map} +0 -0
  57. /package/dist/{chunk-CXBQKY7F.js.map → chunk-RVAERI6U.js.map} +0 -0
  58. /package/dist/{chunk-C5QK6HH6.js.map → chunk-XC7DABLM.js.map} +0 -0
@@ -1613,5 +1613,151 @@ declare const getRelevantRoles: ((state: {
1613
1613
  memoize: typeof reselect.weakMapMemoize;
1614
1614
  argsMemoize: typeof reselect.weakMapMemoize;
1615
1615
  };
1616
+ declare const getShowSecurityAlert: ((state: {
1617
+ app: AppSliceType;
1618
+ devices: DeviceSliceType;
1619
+ deployments: DeploymentsSliceType;
1620
+ monitor: MonitorSliceType;
1621
+ onboarding: OnboardingSliceType;
1622
+ organization: OrganizationSliceType;
1623
+ releases: ReleaseSliceType;
1624
+ users: UserSliceType;
1625
+ }) => boolean) & {
1626
+ clearCache: () => void;
1627
+ resultsCount: () => number;
1628
+ resetResultsCount: () => void;
1629
+ } & {
1630
+ resultFunc: (resultFuncArgs_0: User, resultFuncArgs_1: boolean, resultFuncArgs_2: Record<string, boolean>, resultFuncArgs_3: boolean, resultFuncArgs_4: boolean, resultFuncArgs_5: string | null) => boolean;
1631
+ memoizedResultFunc: ((resultFuncArgs_0: User, resultFuncArgs_1: boolean, resultFuncArgs_2: Record<string, boolean>, resultFuncArgs_3: boolean, resultFuncArgs_4: boolean, resultFuncArgs_5: string | null) => boolean) & {
1632
+ clearCache: () => void;
1633
+ resultsCount: () => number;
1634
+ resetResultsCount: () => void;
1635
+ };
1636
+ lastResult: () => boolean;
1637
+ dependencies: [((state: {
1638
+ app: AppSliceType;
1639
+ devices: DeviceSliceType;
1640
+ deployments: DeploymentsSliceType;
1641
+ monitor: MonitorSliceType;
1642
+ onboarding: OnboardingSliceType;
1643
+ organization: OrganizationSliceType;
1644
+ releases: ReleaseSliceType;
1645
+ users: UserSliceType;
1646
+ }) => User) & {
1647
+ clearCache: () => void;
1648
+ resultsCount: () => number;
1649
+ resetResultsCount: () => void;
1650
+ } & {
1651
+ resultFunc: (resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User;
1652
+ memoizedResultFunc: ((resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User) & {
1653
+ clearCache: () => void;
1654
+ resultsCount: () => number;
1655
+ resetResultsCount: () => void;
1656
+ };
1657
+ lastResult: () => User;
1658
+ dependencies: [(state: RootState) => Record<string, User>, (state: RootState) => string | null];
1659
+ recomputations: () => number;
1660
+ resetRecomputations: () => void;
1661
+ dependencyRecomputations: () => number;
1662
+ resetDependencyRecomputations: () => void;
1663
+ } & {
1664
+ memoize: typeof reselect.weakMapMemoize;
1665
+ argsMemoize: typeof reselect.weakMapMemoize;
1666
+ }, ((state: {
1667
+ app: AppSliceType;
1668
+ devices: DeviceSliceType;
1669
+ deployments: DeploymentsSliceType;
1670
+ monitor: MonitorSliceType;
1671
+ onboarding: OnboardingSliceType;
1672
+ organization: OrganizationSliceType;
1673
+ releases: ReleaseSliceType;
1674
+ users: UserSliceType;
1675
+ }) => boolean) & {
1676
+ clearCache: () => void;
1677
+ resultsCount: () => number;
1678
+ resetResultsCount: () => void;
1679
+ } & {
1680
+ resultFunc: (resultFuncArgs_0: User) => boolean;
1681
+ memoizedResultFunc: ((resultFuncArgs_0: User) => boolean) & {
1682
+ clearCache: () => void;
1683
+ resultsCount: () => number;
1684
+ resetResultsCount: () => void;
1685
+ };
1686
+ lastResult: () => boolean;
1687
+ dependencies: [((state: {
1688
+ app: AppSliceType;
1689
+ devices: DeviceSliceType;
1690
+ deployments: DeploymentsSliceType;
1691
+ monitor: MonitorSliceType;
1692
+ onboarding: OnboardingSliceType;
1693
+ organization: OrganizationSliceType;
1694
+ releases: ReleaseSliceType;
1695
+ users: UserSliceType;
1696
+ }) => User) & {
1697
+ clearCache: () => void;
1698
+ resultsCount: () => number;
1699
+ resetResultsCount: () => void;
1700
+ } & {
1701
+ resultFunc: (resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User;
1702
+ memoizedResultFunc: ((resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User) & {
1703
+ clearCache: () => void;
1704
+ resultsCount: () => number;
1705
+ resetResultsCount: () => void;
1706
+ };
1707
+ lastResult: () => User;
1708
+ dependencies: [(state: RootState) => Record<string, User>, (state: RootState) => string | null];
1709
+ recomputations: () => number;
1710
+ resetRecomputations: () => void;
1711
+ dependencyRecomputations: () => number;
1712
+ resetDependencyRecomputations: () => void;
1713
+ } & {
1714
+ memoize: typeof reselect.weakMapMemoize;
1715
+ argsMemoize: typeof reselect.weakMapMemoize;
1716
+ }];
1717
+ recomputations: () => number;
1718
+ resetRecomputations: () => void;
1719
+ dependencyRecomputations: () => number;
1720
+ resetDependencyRecomputations: () => void;
1721
+ } & {
1722
+ memoize: typeof reselect.weakMapMemoize;
1723
+ argsMemoize: typeof reselect.weakMapMemoize;
1724
+ }, (state: RootState) => Record<string, boolean>, ((state: {
1725
+ app: AppSliceType;
1726
+ devices: DeviceSliceType;
1727
+ deployments: DeploymentsSliceType;
1728
+ monitor: MonitorSliceType;
1729
+ onboarding: OnboardingSliceType;
1730
+ organization: OrganizationSliceType;
1731
+ releases: ReleaseSliceType;
1732
+ users: UserSliceType;
1733
+ }) => boolean) & {
1734
+ clearCache: () => void;
1735
+ resultsCount: () => number;
1736
+ resetResultsCount: () => void;
1737
+ } & {
1738
+ resultFunc: (resultFuncArgs_0: Partial<Organization>, resultFuncArgs_1: Record<string, boolean>) => boolean;
1739
+ memoizedResultFunc: ((resultFuncArgs_0: Partial<Organization>, resultFuncArgs_1: Record<string, boolean>) => boolean) & {
1740
+ clearCache: () => void;
1741
+ resultsCount: () => number;
1742
+ resetResultsCount: () => void;
1743
+ };
1744
+ lastResult: () => boolean;
1745
+ dependencies: [(state: RootState) => Partial<Organization>, (state: RootState) => Record<string, boolean>];
1746
+ recomputations: () => number;
1747
+ resetRecomputations: () => void;
1748
+ dependencyRecomputations: () => number;
1749
+ resetDependencyRecomputations: () => void;
1750
+ } & {
1751
+ memoize: typeof reselect.weakMapMemoize;
1752
+ argsMemoize: typeof reselect.weakMapMemoize;
1753
+ }, (state: RootState) => boolean, (state: RootState) => string | null];
1754
+ recomputations: () => number;
1755
+ resetRecomputations: () => void;
1756
+ dependencyRecomputations: () => number;
1757
+ resetDependencyRecomputations: () => void;
1758
+ } & {
1759
+ memoize: typeof reselect.weakMapMemoize;
1760
+ argsMemoize: typeof reselect.weakMapMemoize;
1761
+ };
1616
1762
 
1617
- export { getAttrsEndpoint, getAuditlogDevice, getAvailableIssueOptionsByType, getDemoDeviceAddress, getDeploymentRelease, getDeviceConfigDeployment, getDeviceReportsForUser, getFilterAttributes, getGroupNames, getIsEnterprise, getMappedDevicesList, getOnboardingState, getRelevantRoles, getSearchEndpoint, getSelectedDeploymentData, getTenantCapabilities, getUserCapabilities, getUserRoles };
1763
+ export { getAttrsEndpoint, getAuditlogDevice, getAvailableIssueOptionsByType, getDemoDeviceAddress, getDeploymentRelease, getDeviceConfigDeployment, getDeviceReportsForUser, getFilterAttributes, getGroupNames, getIsEnterprise, getMappedDevicesList, getOnboardingState, getRelevantRoles, getSearchEndpoint, getSelectedDeploymentData, getShowSecurityAlert, getTenantCapabilities, getUserCapabilities, getUserRoles };
@@ -1613,5 +1613,151 @@ declare const getRelevantRoles: ((state: {
1613
1613
  memoize: typeof reselect.weakMapMemoize;
1614
1614
  argsMemoize: typeof reselect.weakMapMemoize;
1615
1615
  };
1616
+ declare const getShowSecurityAlert: ((state: {
1617
+ app: AppSliceType;
1618
+ devices: DeviceSliceType;
1619
+ deployments: DeploymentsSliceType;
1620
+ monitor: MonitorSliceType;
1621
+ onboarding: OnboardingSliceType;
1622
+ organization: OrganizationSliceType;
1623
+ releases: ReleaseSliceType;
1624
+ users: UserSliceType;
1625
+ }) => boolean) & {
1626
+ clearCache: () => void;
1627
+ resultsCount: () => number;
1628
+ resetResultsCount: () => void;
1629
+ } & {
1630
+ resultFunc: (resultFuncArgs_0: User, resultFuncArgs_1: boolean, resultFuncArgs_2: Record<string, boolean>, resultFuncArgs_3: boolean, resultFuncArgs_4: boolean, resultFuncArgs_5: string | null) => boolean;
1631
+ memoizedResultFunc: ((resultFuncArgs_0: User, resultFuncArgs_1: boolean, resultFuncArgs_2: Record<string, boolean>, resultFuncArgs_3: boolean, resultFuncArgs_4: boolean, resultFuncArgs_5: string | null) => boolean) & {
1632
+ clearCache: () => void;
1633
+ resultsCount: () => number;
1634
+ resetResultsCount: () => void;
1635
+ };
1636
+ lastResult: () => boolean;
1637
+ dependencies: [((state: {
1638
+ app: AppSliceType;
1639
+ devices: DeviceSliceType;
1640
+ deployments: DeploymentsSliceType;
1641
+ monitor: MonitorSliceType;
1642
+ onboarding: OnboardingSliceType;
1643
+ organization: OrganizationSliceType;
1644
+ releases: ReleaseSliceType;
1645
+ users: UserSliceType;
1646
+ }) => User) & {
1647
+ clearCache: () => void;
1648
+ resultsCount: () => number;
1649
+ resetResultsCount: () => void;
1650
+ } & {
1651
+ resultFunc: (resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User;
1652
+ memoizedResultFunc: ((resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User) & {
1653
+ clearCache: () => void;
1654
+ resultsCount: () => number;
1655
+ resetResultsCount: () => void;
1656
+ };
1657
+ lastResult: () => User;
1658
+ dependencies: [(state: RootState) => Record<string, User>, (state: RootState) => string | null];
1659
+ recomputations: () => number;
1660
+ resetRecomputations: () => void;
1661
+ dependencyRecomputations: () => number;
1662
+ resetDependencyRecomputations: () => void;
1663
+ } & {
1664
+ memoize: typeof reselect.weakMapMemoize;
1665
+ argsMemoize: typeof reselect.weakMapMemoize;
1666
+ }, ((state: {
1667
+ app: AppSliceType;
1668
+ devices: DeviceSliceType;
1669
+ deployments: DeploymentsSliceType;
1670
+ monitor: MonitorSliceType;
1671
+ onboarding: OnboardingSliceType;
1672
+ organization: OrganizationSliceType;
1673
+ releases: ReleaseSliceType;
1674
+ users: UserSliceType;
1675
+ }) => boolean) & {
1676
+ clearCache: () => void;
1677
+ resultsCount: () => number;
1678
+ resetResultsCount: () => void;
1679
+ } & {
1680
+ resultFunc: (resultFuncArgs_0: User) => boolean;
1681
+ memoizedResultFunc: ((resultFuncArgs_0: User) => boolean) & {
1682
+ clearCache: () => void;
1683
+ resultsCount: () => number;
1684
+ resetResultsCount: () => void;
1685
+ };
1686
+ lastResult: () => boolean;
1687
+ dependencies: [((state: {
1688
+ app: AppSliceType;
1689
+ devices: DeviceSliceType;
1690
+ deployments: DeploymentsSliceType;
1691
+ monitor: MonitorSliceType;
1692
+ onboarding: OnboardingSliceType;
1693
+ organization: OrganizationSliceType;
1694
+ releases: ReleaseSliceType;
1695
+ users: UserSliceType;
1696
+ }) => User) & {
1697
+ clearCache: () => void;
1698
+ resultsCount: () => number;
1699
+ resetResultsCount: () => void;
1700
+ } & {
1701
+ resultFunc: (resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User;
1702
+ memoizedResultFunc: ((resultFuncArgs_0: Record<string, User>, resultFuncArgs_1: string | null) => User) & {
1703
+ clearCache: () => void;
1704
+ resultsCount: () => number;
1705
+ resetResultsCount: () => void;
1706
+ };
1707
+ lastResult: () => User;
1708
+ dependencies: [(state: RootState) => Record<string, User>, (state: RootState) => string | null];
1709
+ recomputations: () => number;
1710
+ resetRecomputations: () => void;
1711
+ dependencyRecomputations: () => number;
1712
+ resetDependencyRecomputations: () => void;
1713
+ } & {
1714
+ memoize: typeof reselect.weakMapMemoize;
1715
+ argsMemoize: typeof reselect.weakMapMemoize;
1716
+ }];
1717
+ recomputations: () => number;
1718
+ resetRecomputations: () => void;
1719
+ dependencyRecomputations: () => number;
1720
+ resetDependencyRecomputations: () => void;
1721
+ } & {
1722
+ memoize: typeof reselect.weakMapMemoize;
1723
+ argsMemoize: typeof reselect.weakMapMemoize;
1724
+ }, (state: RootState) => Record<string, boolean>, ((state: {
1725
+ app: AppSliceType;
1726
+ devices: DeviceSliceType;
1727
+ deployments: DeploymentsSliceType;
1728
+ monitor: MonitorSliceType;
1729
+ onboarding: OnboardingSliceType;
1730
+ organization: OrganizationSliceType;
1731
+ releases: ReleaseSliceType;
1732
+ users: UserSliceType;
1733
+ }) => boolean) & {
1734
+ clearCache: () => void;
1735
+ resultsCount: () => number;
1736
+ resetResultsCount: () => void;
1737
+ } & {
1738
+ resultFunc: (resultFuncArgs_0: Partial<Organization>, resultFuncArgs_1: Record<string, boolean>) => boolean;
1739
+ memoizedResultFunc: ((resultFuncArgs_0: Partial<Organization>, resultFuncArgs_1: Record<string, boolean>) => boolean) & {
1740
+ clearCache: () => void;
1741
+ resultsCount: () => number;
1742
+ resetResultsCount: () => void;
1743
+ };
1744
+ lastResult: () => boolean;
1745
+ dependencies: [(state: RootState) => Partial<Organization>, (state: RootState) => Record<string, boolean>];
1746
+ recomputations: () => number;
1747
+ resetRecomputations: () => void;
1748
+ dependencyRecomputations: () => number;
1749
+ resetDependencyRecomputations: () => void;
1750
+ } & {
1751
+ memoize: typeof reselect.weakMapMemoize;
1752
+ argsMemoize: typeof reselect.weakMapMemoize;
1753
+ }, (state: RootState) => boolean, (state: RootState) => string | null];
1754
+ recomputations: () => number;
1755
+ resetRecomputations: () => void;
1756
+ dependencyRecomputations: () => number;
1757
+ resetDependencyRecomputations: () => void;
1758
+ } & {
1759
+ memoize: typeof reselect.weakMapMemoize;
1760
+ argsMemoize: typeof reselect.weakMapMemoize;
1761
+ };
1616
1762
 
1617
- export { getAttrsEndpoint, getAuditlogDevice, getAvailableIssueOptionsByType, getDemoDeviceAddress, getDeploymentRelease, getDeviceConfigDeployment, getDeviceReportsForUser, getFilterAttributes, getGroupNames, getIsEnterprise, getMappedDevicesList, getOnboardingState, getRelevantRoles, getSearchEndpoint, getSelectedDeploymentData, getTenantCapabilities, getUserCapabilities, getUserRoles };
1763
+ export { getAttrsEndpoint, getAuditlogDevice, getAvailableIssueOptionsByType, getDemoDeviceAddress, getDeploymentRelease, getDeviceConfigDeployment, getDeviceReportsForUser, getFilterAttributes, getGroupNames, getIsEnterprise, getMappedDevicesList, getOnboardingState, getRelevantRoles, getSearchEndpoint, getSelectedDeploymentData, getShowSecurityAlert, getTenantCapabilities, getUserCapabilities, getUserRoles };
@@ -14,17 +14,18 @@ import {
14
14
  getRelevantRoles,
15
15
  getSearchEndpoint,
16
16
  getSelectedDeploymentData,
17
+ getShowSecurityAlert,
17
18
  getTenantCapabilities,
18
19
  getUserCapabilities,
19
20
  getUserRoles
20
- } from "./chunk-PFWOM36E.js";
21
+ } from "./chunk-TJBX7YHM.js";
21
22
  import "./chunk-GEQ2QQEE.js";
22
23
  import "./chunk-QL6FN2JC.js";
23
24
  import "./chunk-3NOV7X4M.js";
24
25
  import "./chunk-YO22XLHI.js";
25
26
  import "./chunk-JIS4PA3R.js";
26
- import "./chunk-O7DR57RN.js";
27
27
  import "./chunk-WR6RQKF5.js";
28
+ import "./chunk-O7DR57RN.js";
28
29
  import "./chunk-4BHM6WVX.js";
29
30
  import "./chunk-U5TPV5X5.js";
30
31
  import "./chunk-WWED74SG.js";
@@ -48,6 +49,7 @@ export {
48
49
  getRelevantRoles,
49
50
  getSearchEndpoint,
50
51
  getSelectedDeploymentData,
52
+ getShowSecurityAlert,
51
53
  getTenantCapabilities,
52
54
  getUserCapabilities,
53
55
  getUserRoles
@@ -1804,6 +1804,7 @@ var getIsPreview = (0, import_toolkit9.createSelector)([getFullVersionInformatio
1804
1804
  // src/commonSelectors.ts
1805
1805
  var import_helpers5 = require("@northern.tech/utils/helpers");
1806
1806
  var import_toolkit15 = require("@reduxjs/toolkit");
1807
+ var import_dayjs = __toESM(require("dayjs"), 1);
1807
1808
 
1808
1809
  // src/deploymentsSlice/selectors.ts
1809
1810
  var import_toolkit10 = require("@reduxjs/toolkit");
@@ -2162,6 +2163,7 @@ var emptyObject = {};
2162
2163
  var getRolesById = (state) => state.users.rolesById;
2163
2164
  var getTooltipsById = (state) => state.users.tooltips.byId;
2164
2165
  var getGlobalSettings = (state) => state.users.globalSettings;
2166
+ var getUserSettingsInitialized = (state) => state.users.userSettingsInitialized;
2165
2167
  var getCurrentUserId = (state) => state.users.currentUser;
2166
2168
  var getUsersById = (state) => state.users.byId;
2167
2169
  var getUsersList = (0, import_toolkit14.createSelector)([getUsersById], (usersById) => Object.values(usersById));
@@ -2199,6 +2201,7 @@ var getOfflineThresholdSettings = (0, import_toolkit14.createSelector)([getGloba
2199
2201
  intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName
2200
2202
  }));
2201
2203
  var getRolesList = (0, import_toolkit14.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([value, role]) => ({ value, ...role })));
2204
+ var getSecurityAlertDismissedTimestamp = (state) => state.users.userSettings.securityAlertDismissedTimestamp;
2202
2205
 
2203
2206
  // src/commonSelectors.ts
2204
2207
  var getIsEnterprise = (0, import_toolkit15.createSelector)(
@@ -2405,6 +2408,22 @@ var getRelevantRoles = (0, import_toolkit15.createSelector)([getOrganization, ge
2405
2408
  return accu;
2406
2409
  }, roles);
2407
2410
  });
2411
+ var getShowSecurityAlert = (0, import_toolkit15.createSelector)(
2412
+ [getCurrentUser, getHas2FA, getFeatures, getIsEnterprise, getUserSettingsInitialized, getSecurityAlertDismissedTimestamp],
2413
+ (currentUser, has2FA, features, isEnterprise, settingsInitialized, dismissedTimestamp) => {
2414
+ const isHosted = features?.isHosted;
2415
+ const canHave2FA = isEnterprise || isHosted;
2416
+ if (!currentUser || !settingsInitialized || has2FA || !canHave2FA) {
2417
+ return false;
2418
+ }
2419
+ if (dismissedTimestamp === null) {
2420
+ return true;
2421
+ }
2422
+ const today = (0, import_dayjs.default)();
2423
+ const dismissedMonthAgo = today.diff(dismissedTimestamp, "months");
2424
+ return dismissedMonthAgo > 0;
2425
+ }
2426
+ );
2408
2427
 
2409
2428
  // src/store.ts
2410
2429
  var import_react_redux = require("react-redux");
@@ -3556,7 +3575,7 @@ var changeNotificationSetting = createAppAsyncThunk(
3556
3575
  // src/usersSlice/thunks.ts
3557
3576
  var import_helpers9 = require("@northern.tech/utils/helpers");
3558
3577
  var import_retrytimer = require("@northern.tech/utils/retrytimer");
3559
- var import_dayjs = __toESM(require("dayjs"), 1);
3578
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
3560
3579
  var import_md5 = __toESM(require("md5"), 1);
3561
3580
  var import_universal_cookie3 = __toESM(require("universal-cookie"), 1);
3562
3581
 
@@ -4141,7 +4160,7 @@ var saveUserSettings = createAppAsyncThunk(
4141
4160
  const updatedSettings = {
4142
4161
  ...userSettings,
4143
4162
  ...settings,
4144
- firstLoginTimestamp: userSettings.firstLoginTimestamp ?? (0, import_dayjs.default)().format(),
4163
+ firstLoginTimestamp: userSettings.firstLoginTimestamp ?? (0, import_dayjs2.default)().format(),
4145
4164
  onboarding: {
4146
4165
  ...onboardingState,
4147
4166
  ...settings.onboarding