@northern.tech/store 0.16.0 → 0.17.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 (106) hide show
  1. package/dist/actions.cjs +2 -1
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.js +6 -6
  4. package/dist/api/general-api.js +1 -1
  5. package/dist/api/users-api.js +1 -1
  6. package/dist/appSlice/index.js +1 -1
  7. package/dist/appSlice/mocks.js +1 -1
  8. package/dist/appSlice/thunks.cjs +2 -1
  9. package/dist/appSlice/thunks.cjs.map +1 -1
  10. package/dist/appSlice/thunks.js +15 -15
  11. package/dist/auth.js +1 -1
  12. package/dist/{chunk-YWL3XLJH.js → chunk-76GD35G3.js} +21 -21
  13. package/dist/{chunk-MWJFQYA2.js → chunk-E2UO6BJ3.js} +11 -11
  14. package/dist/{chunk-M7YH35Y4.js → chunk-GL634FKF.js} +10 -10
  15. package/dist/{chunk-NJMHH7TJ.js → chunk-JDSAICR3.js} +12 -12
  16. package/dist/{chunk-WCJHYB46.js → chunk-QHGAJE7K.js} +7 -7
  17. package/dist/{chunk-3YJY7KQW.js → chunk-QL6FN2JC.js} +4 -2
  18. package/dist/{chunk-3YJY7KQW.js.map → chunk-QL6FN2JC.js.map} +1 -1
  19. package/dist/{chunk-GAADWFQZ.js → chunk-QXS7I6BE.js} +7 -7
  20. package/dist/{chunk-KJ4BPXMB.js → chunk-YR65C62H.js} +3 -2
  21. package/dist/chunk-YR65C62H.js.map +1 -0
  22. package/dist/commonConstants.js +1 -1
  23. package/dist/commonSelectors.cjs.map +1 -1
  24. package/dist/commonSelectors.js +6 -6
  25. package/dist/constants.js +1 -1
  26. package/dist/deploymentsSlice/constants.js +1 -1
  27. package/dist/deploymentsSlice/index.js +1 -1
  28. package/dist/deploymentsSlice/mocks.js +1 -1
  29. package/dist/deploymentsSlice/selectors.js +1 -1
  30. package/dist/deploymentsSlice/thunks.cjs +2 -1
  31. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  32. package/dist/deploymentsSlice/thunks.js +15 -15
  33. package/dist/devicesSlice/constants.js +1 -1
  34. package/dist/devicesSlice/index.js +1 -1
  35. package/dist/devicesSlice/mocks.js +1 -1
  36. package/dist/devicesSlice/selectors.js +1 -1
  37. package/dist/devicesSlice/thunks.cjs +2 -1
  38. package/dist/devicesSlice/thunks.cjs.map +1 -1
  39. package/dist/devicesSlice/thunks.js +15 -15
  40. package/dist/liststatehook.js +1 -1
  41. package/dist/locationutils.js +1 -1
  42. package/dist/monitorSlice/index.js +1 -1
  43. package/dist/monitorSlice/mocks.js +1 -1
  44. package/dist/monitorSlice/thunks.cjs +2 -1
  45. package/dist/monitorSlice/thunks.cjs.map +1 -1
  46. package/dist/monitorSlice/thunks.js +13 -13
  47. package/dist/onboardingSlice/thunks.cjs +2 -1
  48. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  49. package/dist/onboardingSlice/thunks.js +15 -15
  50. package/dist/organizationSlice/constants.js +1 -1
  51. package/dist/organizationSlice/index.js +1 -1
  52. package/dist/organizationSlice/mocks.js +1 -1
  53. package/dist/organizationSlice/selectors.js +1 -1
  54. package/dist/organizationSlice/thunks.cjs +2 -1
  55. package/dist/organizationSlice/thunks.cjs.map +1 -1
  56. package/dist/organizationSlice/thunks.js +15 -15
  57. package/dist/releasesSlice/index.js +1 -1
  58. package/dist/releasesSlice/mocks.js +1 -1
  59. package/dist/releasesSlice/selectors.js +1 -1
  60. package/dist/releasesSlice/thunks.cjs +2 -1
  61. package/dist/releasesSlice/thunks.cjs.map +1 -1
  62. package/dist/releasesSlice/thunks.js +13 -13
  63. package/dist/selectors.cjs +3 -0
  64. package/dist/selectors.cjs.map +1 -1
  65. package/dist/selectors.d.cts +1 -1
  66. package/dist/selectors.d.ts +1 -1
  67. package/dist/selectors.js +20 -18
  68. package/dist/sockethook.js +1 -1
  69. package/dist/store.cjs +2 -1
  70. package/dist/store.cjs.map +1 -1
  71. package/dist/store.js +7 -7
  72. package/dist/storehooks.cjs +2 -1
  73. package/dist/storehooks.cjs.map +1 -1
  74. package/dist/storehooks.js +16 -16
  75. package/dist/thunks.cjs +2 -1
  76. package/dist/thunks.cjs.map +1 -1
  77. package/dist/thunks.js +16 -16
  78. package/dist/useDeploymentDevice.cjs +2 -1
  79. package/dist/useDeploymentDevice.cjs.map +1 -1
  80. package/dist/useDeploymentDevice.js +17 -17
  81. package/dist/usersSlice/constants.js +1 -1
  82. package/dist/usersSlice/index.cjs +2 -1
  83. package/dist/usersSlice/index.cjs.map +1 -1
  84. package/dist/usersSlice/index.d.cts +1 -0
  85. package/dist/usersSlice/index.d.ts +1 -0
  86. package/dist/usersSlice/index.js +2 -2
  87. package/dist/usersSlice/mocks.cjs +2 -1
  88. package/dist/usersSlice/mocks.cjs.map +1 -1
  89. package/dist/usersSlice/mocks.js +2 -2
  90. package/dist/usersSlice/selectors.cjs +3 -0
  91. package/dist/usersSlice/selectors.cjs.map +1 -1
  92. package/dist/usersSlice/selectors.d.cts +2 -1
  93. package/dist/usersSlice/selectors.d.ts +2 -1
  94. package/dist/usersSlice/selectors.js +4 -2
  95. package/dist/usersSlice/thunks.cjs +2 -1
  96. package/dist/usersSlice/thunks.cjs.map +1 -1
  97. package/dist/usersSlice/thunks.js +15 -15
  98. package/dist/utils.js +1 -1
  99. package/package.json +1 -1
  100. package/dist/chunk-KJ4BPXMB.js.map +0 -1
  101. /package/dist/{chunk-YWL3XLJH.js.map → chunk-76GD35G3.js.map} +0 -0
  102. /package/dist/{chunk-MWJFQYA2.js.map → chunk-E2UO6BJ3.js.map} +0 -0
  103. /package/dist/{chunk-M7YH35Y4.js.map → chunk-GL634FKF.js.map} +0 -0
  104. /package/dist/{chunk-NJMHH7TJ.js.map → chunk-JDSAICR3.js.map} +0 -0
  105. /package/dist/{chunk-WCJHYB46.js.map → chunk-QHGAJE7K.js.map} +0 -0
  106. /package/dist/{chunk-GAADWFQZ.js.map → chunk-QXS7I6BE.js.map} +0 -0
@@ -3,38 +3,38 @@ import {
3
3
  setFirstLoginAfterSignup,
4
4
  setOfflineThreshold,
5
5
  setSearchState
6
- } from "../chunk-YWL3XLJH.js";
7
- import "../chunk-GAADWFQZ.js";
8
- import "../chunk-WCJHYB46.js";
9
- import "../chunk-MWJFQYA2.js";
6
+ } from "../chunk-76GD35G3.js";
10
7
  import "../chunk-Y3DJIMEN.js";
8
+ import "../chunk-QXS7I6BE.js";
9
+ import "../chunk-QHGAJE7K.js";
11
10
  import "../chunk-5M6EUVNO.js";
12
- import "../chunk-M7YH35Y4.js";
13
- import "../chunk-TRKA7XYU.js";
14
- import "../chunk-KJ4BPXMB.js";
15
- import "../chunk-PVCHKW35.js";
11
+ import "../chunk-E2UO6BJ3.js";
12
+ import "../chunk-GL634FKF.js";
13
+ import "../chunk-YR65C62H.js";
16
14
  import "../chunk-VCEFZTWS.js";
15
+ import "../chunk-TRKA7XYU.js";
17
16
  import "../chunk-CQXDAXQF.js";
18
17
  import "../chunk-VODRLEDP.js";
19
- import "../chunk-6WJI4MOP.js";
18
+ import "../chunk-PVCHKW35.js";
20
19
  import "../chunk-OLKM53RL.js";
20
+ import "../chunk-6WJI4MOP.js";
21
21
  import "../chunk-FDSMCFV5.js";
22
22
  import "../chunk-53W2NRSL.js";
23
23
  import "../chunk-NMAXZ3ZY.js";
24
- import "../chunk-NJMHH7TJ.js";
24
+ import "../chunk-JDSAICR3.js";
25
25
  import "../chunk-GEQ2QQEE.js";
26
- import "../chunk-3YJY7KQW.js";
27
- import "../chunk-JIS4PA3R.js";
28
- import "../chunk-YO22XLHI.js";
26
+ import "../chunk-QL6FN2JC.js";
29
27
  import "../chunk-3NOV7X4M.js";
30
- import "../chunk-WR6RQKF5.js";
28
+ import "../chunk-YO22XLHI.js";
29
+ import "../chunk-JIS4PA3R.js";
31
30
  import "../chunk-O7DR57RN.js";
32
31
  import "../chunk-4BHM6WVX.js";
32
+ import "../chunk-WR6RQKF5.js";
33
33
  import "../chunk-U5TPV5X5.js";
34
34
  import "../chunk-WWED74SG.js";
35
- import "../chunk-ZKAH3APE.js";
36
35
  import "../chunk-2DYA3X77.js";
37
36
  import "../chunk-FAJ3I2UQ.js";
37
+ import "../chunk-ZKAH3APE.js";
38
38
  import "../chunk-EL672W25.js";
39
39
  export {
40
40
  getLatestReleaseInfo,
package/dist/auth.js CHANGED
@@ -6,9 +6,9 @@ import {
6
6
  updateMaxAge
7
7
  } from "./chunk-FDSMCFV5.js";
8
8
  import "./chunk-WWED74SG.js";
9
- import "./chunk-ZKAH3APE.js";
10
9
  import "./chunk-2DYA3X77.js";
11
10
  import "./chunk-FAJ3I2UQ.js";
11
+ import "./chunk-ZKAH3APE.js";
12
12
  import "./chunk-EL672W25.js";
13
13
  export {
14
14
  cleanUp,
@@ -1,25 +1,25 @@
1
+ import {
2
+ users_api_default
3
+ } from "./chunk-Y3DJIMEN.js";
1
4
  import {
2
5
  getDeviceMonitorConfig,
3
6
  getLatestDeviceAlerts
4
- } from "./chunk-WCJHYB46.js";
7
+ } from "./chunk-QHGAJE7K.js";
8
+ import {
9
+ general_api_default
10
+ } from "./chunk-5M6EUVNO.js";
5
11
  import {
6
12
  commonErrorFallback,
7
13
  commonErrorHandler,
8
14
  createAppAsyncThunk
9
- } from "./chunk-MWJFQYA2.js";
10
- import {
11
- users_api_default
12
- } from "./chunk-Y3DJIMEN.js";
13
- import {
14
- general_api_default
15
- } from "./chunk-5M6EUVNO.js";
15
+ } from "./chunk-E2UO6BJ3.js";
16
16
  import {
17
17
  actions_default
18
- } from "./chunk-M7YH35Y4.js";
18
+ } from "./chunk-GL634FKF.js";
19
19
  import {
20
20
  actions as actions6,
21
21
  sliceName as sliceName6
22
- } from "./chunk-KJ4BPXMB.js";
22
+ } from "./chunk-YR65C62H.js";
23
23
  import {
24
24
  actions as actions5,
25
25
  sliceName as sliceName5
@@ -32,14 +32,14 @@ import {
32
32
  actions as actions3,
33
33
  sliceName as sliceName3
34
34
  } from "./chunk-VODRLEDP.js";
35
- import {
36
- actions,
37
- sliceName
38
- } from "./chunk-6WJI4MOP.js";
39
35
  import {
40
36
  actions as actions2,
41
37
  sliceName as sliceName2
42
38
  } from "./chunk-OLKM53RL.js";
39
+ import {
40
+ actions,
41
+ sliceName
42
+ } from "./chunk-6WJI4MOP.js";
43
43
  import {
44
44
  cleanUp,
45
45
  getSessionInfo,
@@ -52,7 +52,7 @@ import {
52
52
  getSearchEndpoint,
53
53
  getTenantCapabilities,
54
54
  getUserCapabilities
55
- } from "./chunk-NJMHH7TJ.js";
55
+ } from "./chunk-JDSAICR3.js";
56
56
  import {
57
57
  getCurrentSession,
58
58
  getCurrentUser,
@@ -64,17 +64,13 @@ import {
64
64
  getTooltipsState,
65
65
  getUserSettings,
66
66
  getUsersById
67
- } from "./chunk-3YJY7KQW.js";
67
+ } from "./chunk-QL6FN2JC.js";
68
68
  import {
69
69
  getAuditlogState,
70
70
  getDeviceTwinIntegrations,
71
71
  getOrganization,
72
72
  getTenantsList
73
73
  } from "./chunk-3NOV7X4M.js";
74
- import {
75
- getDeploymentsById,
76
- getDeploymentsByStatus
77
- } from "./chunk-WR6RQKF5.js";
78
74
  import {
79
75
  getAcceptedDevices,
80
76
  getDeviceById,
@@ -90,6 +86,10 @@ import {
90
86
  getFeatures,
91
87
  getSearchState
92
88
  } from "./chunk-4BHM6WVX.js";
89
+ import {
90
+ getDeploymentsById,
91
+ getDeploymentsByStatus
92
+ } from "./chunk-WR6RQKF5.js";
93
93
  import {
94
94
  convertDeviceListStateToFilters,
95
95
  extractErrorMessage,
@@ -2771,4 +2771,4 @@ export {
2771
2771
  setAllTooltipsReadState,
2772
2772
  submitUserFeedback
2773
2773
  };
2774
- //# sourceMappingURL=chunk-YWL3XLJH.js.map
2774
+ //# sourceMappingURL=chunk-76GD35G3.js.map
@@ -1,20 +1,17 @@
1
1
  import {
2
2
  actions_default
3
- } from "./chunk-M7YH35Y4.js";
4
- import {
5
- releasesSlice_default
6
- } from "./chunk-TRKA7XYU.js";
3
+ } from "./chunk-GL634FKF.js";
7
4
  import {
8
5
  actions as actions2,
9
6
  usersSlice_default
10
- } from "./chunk-KJ4BPXMB.js";
11
- import {
12
- monitorSlice_default
13
- } from "./chunk-PVCHKW35.js";
7
+ } from "./chunk-YR65C62H.js";
14
8
  import {
15
9
  actions,
16
10
  organizationSlice_default
17
11
  } from "./chunk-VCEFZTWS.js";
12
+ import {
13
+ releasesSlice_default
14
+ } from "./chunk-TRKA7XYU.js";
18
15
  import {
19
16
  onboardingSlice_default
20
17
  } from "./chunk-CQXDAXQF.js";
@@ -22,11 +19,14 @@ import {
22
19
  devicesSlice_default
23
20
  } from "./chunk-VODRLEDP.js";
24
21
  import {
25
- appSlice_default
26
- } from "./chunk-6WJI4MOP.js";
22
+ monitorSlice_default
23
+ } from "./chunk-PVCHKW35.js";
27
24
  import {
28
25
  deploymentsSlice_default
29
26
  } from "./chunk-OLKM53RL.js";
27
+ import {
28
+ appSlice_default
29
+ } from "./chunk-6WJI4MOP.js";
30
30
  import {
31
31
  getToken
32
32
  } from "./chunk-FDSMCFV5.js";
@@ -139,4 +139,4 @@ export {
139
139
  useAppDispatch,
140
140
  createAppAsyncThunk
141
141
  };
142
- //# sourceMappingURL=chunk-MWJFQYA2.js.map
142
+ //# sourceMappingURL=chunk-E2UO6BJ3.js.map
@@ -1,15 +1,12 @@
1
- import {
2
- actions as actions7
3
- } from "./chunk-TRKA7XYU.js";
4
1
  import {
5
2
  actions as actions8
6
- } from "./chunk-KJ4BPXMB.js";
7
- import {
8
- actions as actions4
9
- } from "./chunk-PVCHKW35.js";
3
+ } from "./chunk-YR65C62H.js";
10
4
  import {
11
5
  actions as actions6
12
6
  } from "./chunk-VCEFZTWS.js";
7
+ import {
8
+ actions as actions7
9
+ } from "./chunk-TRKA7XYU.js";
13
10
  import {
14
11
  actions as actions5
15
12
  } from "./chunk-CQXDAXQF.js";
@@ -17,11 +14,14 @@ import {
17
14
  actions as actions3
18
15
  } from "./chunk-VODRLEDP.js";
19
16
  import {
20
- actions
21
- } from "./chunk-6WJI4MOP.js";
17
+ actions as actions4
18
+ } from "./chunk-PVCHKW35.js";
22
19
  import {
23
20
  actions as actions2
24
21
  } from "./chunk-OLKM53RL.js";
22
+ import {
23
+ actions
24
+ } from "./chunk-6WJI4MOP.js";
25
25
 
26
26
  // src/actions.ts
27
27
  var actions_default = {
@@ -38,4 +38,4 @@ var actions_default = {
38
38
  export {
39
39
  actions_default
40
40
  };
41
- //# sourceMappingURL=chunk-M7YH35Y4.js.map
41
+ //# sourceMappingURL=chunk-GL634FKF.js.map
@@ -7,23 +7,18 @@ import {
7
7
  getRolesById,
8
8
  getRolesList,
9
9
  getUserSettings
10
- } from "./chunk-3YJY7KQW.js";
11
- import {
12
- getOnboarding
13
- } from "./chunk-JIS4PA3R.js";
14
- import {
15
- getIssueCountsByType
16
- } from "./chunk-YO22XLHI.js";
10
+ } from "./chunk-QL6FN2JC.js";
17
11
  import {
18
12
  getAuditLogEntry,
19
13
  getIsServiceProvider,
20
14
  getOrganization
21
15
  } from "./chunk-3NOV7X4M.js";
22
16
  import {
23
- getDeploymentsById,
24
- getDeploymentsSelectionState,
25
- getSelectedDeploymentDeviceIds
26
- } from "./chunk-WR6RQKF5.js";
17
+ getIssueCountsByType
18
+ } from "./chunk-YO22XLHI.js";
19
+ import {
20
+ getOnboarding
21
+ } from "./chunk-JIS4PA3R.js";
27
22
  import {
28
23
  getDeviceById,
29
24
  getDevicesById,
@@ -35,6 +30,11 @@ import {
35
30
  getFeatures,
36
31
  getSearchedDevices
37
32
  } from "./chunk-4BHM6WVX.js";
33
+ import {
34
+ getDeploymentsById,
35
+ getDeploymentsSelectionState,
36
+ getSelectedDeploymentDeviceIds
37
+ } from "./chunk-WR6RQKF5.js";
38
38
  import {
39
39
  listItemMapper,
40
40
  mapUserRolesToUiPermissions
@@ -289,4 +289,4 @@ export {
289
289
  getAuditlogDevice,
290
290
  getRelevantRoles
291
291
  };
292
- //# sourceMappingURL=chunk-NJMHH7TJ.js.map
292
+ //# sourceMappingURL=chunk-JDSAICR3.js.map
@@ -1,21 +1,21 @@
1
+ import {
2
+ general_api_default
3
+ } from "./chunk-5M6EUVNO.js";
1
4
  import {
2
5
  commonErrorFallback,
3
6
  commonErrorHandler,
4
7
  createAppAsyncThunk
5
- } from "./chunk-MWJFQYA2.js";
6
- import {
7
- general_api_default
8
- } from "./chunk-5M6EUVNO.js";
8
+ } from "./chunk-E2UO6BJ3.js";
9
9
  import {
10
10
  actions_default
11
- } from "./chunk-M7YH35Y4.js";
11
+ } from "./chunk-GL634FKF.js";
12
12
  import {
13
13
  actions,
14
14
  sliceName
15
15
  } from "./chunk-PVCHKW35.js";
16
16
  import {
17
17
  getSearchEndpoint
18
- } from "./chunk-NJMHH7TJ.js";
18
+ } from "./chunk-JDSAICR3.js";
19
19
  import {
20
20
  getDeviceFilters
21
21
  } from "./chunk-O7DR57RN.js";
@@ -107,4 +107,4 @@ export {
107
107
  getDeviceMonitorConfig,
108
108
  changeNotificationSetting
109
109
  };
110
- //# sourceMappingURL=chunk-WCJHYB46.js.map
110
+ //# sourceMappingURL=chunk-QHGAJE7K.js.map
@@ -55,6 +55,7 @@ var getOfflineThresholdSettings = createSelector([getGlobalSettings], ({ offline
55
55
  var getRolesList = createSelector([getRolesById], (rolesById) => Object.entries(rolesById).map(([value, role]) => ({ value, ...role })));
56
56
  var getCurrentSession = (state) => state.users.currentSession;
57
57
  var getRolesInitialized = (state) => state.users.rolesInitialized;
58
+ var getSecurityAlertDismissedTimestamp = (state) => state.users.userSettings.securityAlertDismissedTimestamp;
58
59
 
59
60
  export {
60
61
  getRolesById,
@@ -75,6 +76,7 @@ export {
75
76
  getOfflineThresholdSettings,
76
77
  getRolesList,
77
78
  getCurrentSession,
78
- getRolesInitialized
79
+ getRolesInitialized,
80
+ getSecurityAlertDismissedTimestamp
79
81
  };
80
- //# sourceMappingURL=chunk-3YJY7KQW.js.map
82
+ //# sourceMappingURL=chunk-QL6FN2JC.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/usersSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport { DEVICE_ONLINE_CUTOFF, defaultIdAttribute } from '../constants';\nimport { twoFAStates } from '../constants';\nimport type { RootState } from '../store';\nimport { isDarkMode } from '../utils';\nimport { READ_STATES } from './constants';\nimport type { User } from './index';\n\nconst emptyObject = {} as User;\n\nexport const getRolesById = (state: RootState) => state.users.rolesById;\nexport const getTooltipsById = (state: RootState) => state.users.tooltips.byId;\nexport const getGlobalSettings = (state: RootState) => state.users.globalSettings;\nexport const getGlobalSettingsInitialized = (state: RootState) => state.users.settingsInitialized;\nexport const getUserSettingsInitialized = (state: RootState) => state.users.userSettingsInitialized;\nconst getCurrentUserId = (state: RootState) => state.users.currentUser;\nexport const getUsersById = (state: RootState) => state.users.byId;\n\nexport const getUsersList = createSelector([getUsersById], usersById => Object.values(usersById));\nexport const getCurrentUser = createSelector([getUsersById, getCurrentUserId], (usersById, userId) =>\n userId ? (usersById[userId] ?? emptyObject) : emptyObject\n);\nexport const getUserSettings = (state: RootState) => state.users.userSettings;\nexport const getSelectedDeviceAttribute = createSelector([getUserSettings], ({ columnSelection }) =>\n columnSelection.map(attribute => ({ attribute: attribute.key, scope: attribute.scope }))\n);\nexport const getIsDarkMode = createSelector([getUserSettings], ({ mode }) => isDarkMode(mode));\n\nexport const getReadAllHelptips = createSelector([getTooltipsById], tooltips =>\n Object.values(tooltips).every(({ readState }) => readState === READ_STATES.read)\n);\n\nexport const getTooltipsState = createSelector([getTooltipsById, getUserSettings], (byId, { tooltips = {} }) =>\n Object.entries(byId).reduce(\n (accu, [id, value]) => {\n accu[id] = { ...accu[id], ...value };\n return accu;\n },\n { ...tooltips }\n )\n);\n\nexport const getHas2FA = createSelector(\n [getCurrentUser],\n currentUser => currentUser.hasOwnProperty('tfa_status') && (currentUser as User).tfa_status === twoFAStates.enabled\n);\n\nexport const getIdAttribute = createSelector([getGlobalSettings], ({ id_attribute = { ...defaultIdAttribute } }) => id_attribute);\n\nexport const getOfflineThresholdSettings = createSelector([getGlobalSettings], ({ offlineThreshold }) => ({\n interval: offlineThreshold?.interval || DEVICE_ONLINE_CUTOFF.interval,\n intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName\n}));\n\nexport const getRolesList = createSelector([getRolesById], rolesById => Object.entries(rolesById).map(([value, role]) => ({ value, ...role })));\n\nexport const getCurrentSession = (state: RootState) => state.users.currentSession;\nexport const getRolesInitialized = (state: RootState) => state.users.rolesInitialized;\n"],"mappings":";;;;;;;;;;;AAaA,SAAS,sBAAsB;AAS/B,IAAM,cAAc,CAAC;AAEd,IAAM,eAAe,CAAC,UAAqB,MAAM,MAAM;AACvD,IAAM,kBAAkB,CAAC,UAAqB,MAAM,MAAM,SAAS;AACnE,IAAM,oBAAoB,CAAC,UAAqB,MAAM,MAAM;AAC5D,IAAM,+BAA+B,CAAC,UAAqB,MAAM,MAAM;AACvE,IAAM,6BAA6B,CAAC,UAAqB,MAAM,MAAM;AAC5E,IAAM,mBAAmB,CAAC,UAAqB,MAAM,MAAM;AACpD,IAAM,eAAe,CAAC,UAAqB,MAAM,MAAM;AAEvD,IAAM,eAAe,eAAe,CAAC,YAAY,GAAG,eAAa,OAAO,OAAO,SAAS,CAAC;AACzF,IAAM,iBAAiB;AAAA,EAAe,CAAC,cAAc,gBAAgB;AAAA,EAAG,CAAC,WAAW,WACzF,SAAU,UAAU,MAAM,KAAK,cAAe;AAChD;AACO,IAAM,kBAAkB,CAAC,UAAqB,MAAM,MAAM;AAC1D,IAAM,6BAA6B;AAAA,EAAe,CAAC,eAAe;AAAA,EAAG,CAAC,EAAE,gBAAgB,MAC7F,gBAAgB,IAAI,gBAAc,EAAE,WAAW,UAAU,KAAK,OAAO,UAAU,MAAM,EAAE;AACzF;AACO,IAAM,gBAAgB,eAAe,CAAC,eAAe,GAAG,CAAC,EAAE,KAAK,MAAM,WAAW,IAAI,CAAC;AAEtF,IAAM,qBAAqB;AAAA,EAAe,CAAC,eAAe;AAAA,EAAG,cAClE,OAAO,OAAO,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,MAAM,cAAc,YAAY,IAAI;AACjF;AAEO,IAAM,mBAAmB;AAAA,EAAe,CAAC,iBAAiB,eAAe;AAAA,EAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MACxG,OAAO,QAAQ,IAAI,EAAE;AAAA,IACnB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;AACrB,WAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM;AACnC,aAAO;AAAA,IACT;AAAA,IACA,EAAE,GAAG,SAAS;AAAA,EAChB;AACF;AAEO,IAAM,YAAY;AAAA,EACvB,CAAC,cAAc;AAAA,EACf,iBAAe,YAAY,eAAe,YAAY,KAAM,YAAqB,eAAe,YAAY;AAC9G;AAEO,IAAM,iBAAiB,eAAe,CAAC,iBAAiB,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,MAAM,YAAY;AAEzH,IAAM,8BAA8B,eAAe,CAAC,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,OAAO;AAAA,EACxG,UAAU,kBAAkB,YAAY,qBAAqB;AAAA,EAC7D,cAAc,kBAAkB,gBAAgB,qBAAqB;AACvE,EAAE;AAEK,IAAM,eAAe,eAAe,CAAC,YAAY,GAAG,eAAa,OAAO,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AAEvI,IAAM,oBAAoB,CAAC,UAAqB,MAAM,MAAM;AAC5D,IAAM,sBAAsB,CAAC,UAAqB,MAAM,MAAM;","names":[]}
1
+ {"version":3,"sources":["../src/usersSlice/selectors.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { createSelector } from '@reduxjs/toolkit';\n\nimport { DEVICE_ONLINE_CUTOFF, defaultIdAttribute } from '../constants';\nimport { twoFAStates } from '../constants';\nimport type { RootState } from '../store';\nimport { isDarkMode } from '../utils';\nimport { READ_STATES } from './constants';\nimport type { User } from './index';\n\nconst emptyObject = {} as User;\n\nexport const getRolesById = (state: RootState) => state.users.rolesById;\nexport const getTooltipsById = (state: RootState) => state.users.tooltips.byId;\nexport const getGlobalSettings = (state: RootState) => state.users.globalSettings;\nexport const getGlobalSettingsInitialized = (state: RootState) => state.users.settingsInitialized;\nexport const getUserSettingsInitialized = (state: RootState) => state.users.userSettingsInitialized;\nconst getCurrentUserId = (state: RootState) => state.users.currentUser;\nexport const getUsersById = (state: RootState) => state.users.byId;\n\nexport const getUsersList = createSelector([getUsersById], usersById => Object.values(usersById));\nexport const getCurrentUser = createSelector([getUsersById, getCurrentUserId], (usersById, userId) =>\n userId ? (usersById[userId] ?? emptyObject) : emptyObject\n);\nexport const getUserSettings = (state: RootState) => state.users.userSettings;\nexport const getSelectedDeviceAttribute = createSelector([getUserSettings], ({ columnSelection }) =>\n columnSelection.map(attribute => ({ attribute: attribute.key, scope: attribute.scope }))\n);\nexport const getIsDarkMode = createSelector([getUserSettings], ({ mode }) => isDarkMode(mode));\n\nexport const getReadAllHelptips = createSelector([getTooltipsById], tooltips =>\n Object.values(tooltips).every(({ readState }) => readState === READ_STATES.read)\n);\n\nexport const getTooltipsState = createSelector([getTooltipsById, getUserSettings], (byId, { tooltips = {} }) =>\n Object.entries(byId).reduce(\n (accu, [id, value]) => {\n accu[id] = { ...accu[id], ...value };\n return accu;\n },\n { ...tooltips }\n )\n);\n\nexport const getHas2FA = createSelector(\n [getCurrentUser],\n currentUser => currentUser.hasOwnProperty('tfa_status') && (currentUser as User).tfa_status === twoFAStates.enabled\n);\n\nexport const getIdAttribute = createSelector([getGlobalSettings], ({ id_attribute = { ...defaultIdAttribute } }) => id_attribute);\n\nexport const getOfflineThresholdSettings = createSelector([getGlobalSettings], ({ offlineThreshold }) => ({\n interval: offlineThreshold?.interval || DEVICE_ONLINE_CUTOFF.interval,\n intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName\n}));\n\nexport const getRolesList = createSelector([getRolesById], rolesById => Object.entries(rolesById).map(([value, role]) => ({ value, ...role })));\n\nexport const getCurrentSession = (state: RootState) => state.users.currentSession;\nexport const getRolesInitialized = (state: RootState) => state.users.rolesInitialized;\n\nexport const getSecurityAlertDismissedTimestamp = (state: RootState) => state.users.userSettings.securityAlertDismissedTimestamp;\n"],"mappings":";;;;;;;;;;;AAaA,SAAS,sBAAsB;AAS/B,IAAM,cAAc,CAAC;AAEd,IAAM,eAAe,CAAC,UAAqB,MAAM,MAAM;AACvD,IAAM,kBAAkB,CAAC,UAAqB,MAAM,MAAM,SAAS;AACnE,IAAM,oBAAoB,CAAC,UAAqB,MAAM,MAAM;AAC5D,IAAM,+BAA+B,CAAC,UAAqB,MAAM,MAAM;AACvE,IAAM,6BAA6B,CAAC,UAAqB,MAAM,MAAM;AAC5E,IAAM,mBAAmB,CAAC,UAAqB,MAAM,MAAM;AACpD,IAAM,eAAe,CAAC,UAAqB,MAAM,MAAM;AAEvD,IAAM,eAAe,eAAe,CAAC,YAAY,GAAG,eAAa,OAAO,OAAO,SAAS,CAAC;AACzF,IAAM,iBAAiB;AAAA,EAAe,CAAC,cAAc,gBAAgB;AAAA,EAAG,CAAC,WAAW,WACzF,SAAU,UAAU,MAAM,KAAK,cAAe;AAChD;AACO,IAAM,kBAAkB,CAAC,UAAqB,MAAM,MAAM;AAC1D,IAAM,6BAA6B;AAAA,EAAe,CAAC,eAAe;AAAA,EAAG,CAAC,EAAE,gBAAgB,MAC7F,gBAAgB,IAAI,gBAAc,EAAE,WAAW,UAAU,KAAK,OAAO,UAAU,MAAM,EAAE;AACzF;AACO,IAAM,gBAAgB,eAAe,CAAC,eAAe,GAAG,CAAC,EAAE,KAAK,MAAM,WAAW,IAAI,CAAC;AAEtF,IAAM,qBAAqB;AAAA,EAAe,CAAC,eAAe;AAAA,EAAG,cAClE,OAAO,OAAO,QAAQ,EAAE,MAAM,CAAC,EAAE,UAAU,MAAM,cAAc,YAAY,IAAI;AACjF;AAEO,IAAM,mBAAmB;AAAA,EAAe,CAAC,iBAAiB,eAAe;AAAA,EAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,MACxG,OAAO,QAAQ,IAAI,EAAE;AAAA,IACnB,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;AACrB,WAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,MAAM;AACnC,aAAO;AAAA,IACT;AAAA,IACA,EAAE,GAAG,SAAS;AAAA,EAChB;AACF;AAEO,IAAM,YAAY;AAAA,EACvB,CAAC,cAAc;AAAA,EACf,iBAAe,YAAY,eAAe,YAAY,KAAM,YAAqB,eAAe,YAAY;AAC9G;AAEO,IAAM,iBAAiB,eAAe,CAAC,iBAAiB,GAAG,CAAC,EAAE,eAAe,EAAE,GAAG,mBAAmB,EAAE,MAAM,YAAY;AAEzH,IAAM,8BAA8B,eAAe,CAAC,iBAAiB,GAAG,CAAC,EAAE,iBAAiB,OAAO;AAAA,EACxG,UAAU,kBAAkB,YAAY,qBAAqB;AAAA,EAC7D,cAAc,kBAAkB,gBAAgB,qBAAqB;AACvE,EAAE;AAEK,IAAM,eAAe,eAAe,CAAC,YAAY,GAAG,eAAa,OAAO,QAAQ,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC;AAEvI,IAAM,oBAAoB,CAAC,UAAqB,MAAM,MAAM;AAC5D,IAAM,sBAAsB,CAAC,UAAqB,MAAM,MAAM;AAE9D,IAAM,qCAAqC,CAAC,UAAqB,MAAM,MAAM,aAAa;","names":[]}
@@ -1,14 +1,14 @@
1
+ import {
2
+ general_api_default
3
+ } from "./chunk-5M6EUVNO.js";
1
4
  import {
2
5
  commonErrorFallback,
3
6
  commonErrorHandler,
4
7
  createAppAsyncThunk
5
- } from "./chunk-MWJFQYA2.js";
6
- import {
7
- general_api_default
8
- } from "./chunk-5M6EUVNO.js";
8
+ } from "./chunk-E2UO6BJ3.js";
9
9
  import {
10
10
  actions_default
11
- } from "./chunk-M7YH35Y4.js";
11
+ } from "./chunk-GL634FKF.js";
12
12
  import {
13
13
  actions,
14
14
  sliceName
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-53W2NRSL.js";
19
19
  import {
20
20
  getSearchEndpoint
21
- } from "./chunk-NJMHH7TJ.js";
21
+ } from "./chunk-JDSAICR3.js";
22
22
  import {
23
23
  getReleasesById
24
24
  } from "./chunk-GEQ2QQEE.js";
@@ -442,4 +442,4 @@ export {
442
442
  getDeltaGenerationJobs,
443
443
  getDeltaGenerationJobDetails
444
444
  };
445
- //# sourceMappingURL=chunk-GAADWFQZ.js.map
445
+ //# sourceMappingURL=chunk-QXS7I6BE.js.map
@@ -41,7 +41,8 @@ var initialState = {
41
41
  userSettings: {
42
42
  columnSelection: [],
43
43
  onboarding: {},
44
- firstLoginTimestamp: null
44
+ firstLoginTimestamp: null,
45
+ securityAlertDismissedTimestamp: null
45
46
  },
46
47
  userSettingsInitialized: false
47
48
  };
@@ -144,4 +145,4 @@ export {
144
145
  actions,
145
146
  usersSlice_default
146
147
  };
147
- //# sourceMappingURL=chunk-KJ4BPXMB.js.map
148
+ //# sourceMappingURL=chunk-YR65C62H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/usersSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport type { User as BackendUser, DeploymentPhase, TenantInfo, TenantsIdName } from '@northern.tech/types/MenderTypes';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport type { FilterOperator, PermissionSet, Role } from '../constants';\nimport { defaultPermissionSets, rolesById } from '../constants';\nimport type { ReadState } from './constants';\nimport { READ_STATES } from './constants';\n\nexport const sliceName = 'users';\nexport type User = BackendUser & TenantInfo & { tenants?: TenantsIdName };\nexport type UserSession = {\n expiresAt?: string;\n token: string;\n};\nexport type CustomColumn = {\n attribute: {\n name: string;\n scope: string;\n };\n size: number;\n};\n\ntype FilterOption = {\n key: string;\n operator: FilterOperator;\n scope: string;\n value: string;\n};\nexport type GlobalSettings = {\n [x: string]: any;\n id_attribute?: {\n attribute: string;\n scope: string;\n };\n previousFilters: FilterOption[];\n previousPhases: DeploymentPhase[][];\n retries: number;\n};\ntype Column = {\n id: string;\n key: string;\n name: string;\n scope: string;\n title: string;\n};\nexport type UserSettings = {\n [x: string]: any;\n columnSelection: Column[];\n feedbackCollectedAt?: string;\n firstLoginTimestamp: null | string;\n mode?: 'light' | 'dark';\n onboarding: Partial<{\n address: string;\n approach: 'physical' | 'virtual' | 'mcu' | null;\n complete: boolean;\n demoArtifactPort: number;\n deviceType: string[] | string;\n progress: string;\n showTips: null | boolean;\n showTipsDialog: boolean;\n }>;\n securityAlertDismissedTimestamp: null | string;\n tooltips?: object;\n trackingConsentGiven?: boolean;\n};\n\nexport type UserSliceType = {\n activationCode?: string;\n byId: Record<string, User>;\n currentSession?: UserSession | object;\n currentUser: string | null;\n customColumns: CustomColumn[];\n globalSettings: GlobalSettings;\n permissionSetsById: Record<string, PermissionSet>;\n qrCode: string | null;\n rolesById: Record<string, Role>;\n rolesInitialized: boolean;\n settingsInitialized: boolean;\n showConnectDeviceDialog: boolean;\n showFeedbackDialog: boolean;\n showStartupNotification: boolean;\n tooltips: {\n byId: Record<string, { readState: ReadState }>;\n };\n userSettings: UserSettings;\n userSettingsInitialized: boolean;\n};\n\nexport const initialState: UserSliceType = {\n activationCode: undefined,\n byId: {},\n currentUser: null,\n currentSession: {\n // { token: window.localStorage.getItem('JWT'), expiresAt: '2023-01-01T00:15:00.000Z' | undefined }, // expiresAt depending on the stay logged in setting\n },\n customColumns: [],\n qrCode: null,\n globalSettings: {\n id_attribute: undefined,\n previousFilters: [],\n previousPhases: [],\n retries: 0\n },\n permissionSetsById: {\n ...defaultPermissionSets\n },\n rolesById: {\n ...rolesById\n },\n rolesInitialized: false,\n settingsInitialized: false,\n showConnectDeviceDialog: false,\n showFeedbackDialog: false,\n showStartupNotification: false,\n tooltips: {\n byId: {\n // <id>: { readState: <read|unread> } // this object is getting enhanced by the tooltip texts in the app constants\n }\n },\n userSettings: {\n columnSelection: [],\n onboarding: {},\n firstLoginTimestamp: null,\n securityAlertDismissedTimestamp: null\n },\n userSettingsInitialized: false\n};\n\nexport const usersSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receivedQrCode: (state, action: PayloadAction<string | null>) => {\n state.qrCode = action.payload;\n },\n successfullyLoggedIn: (state, action: PayloadAction<UserSession>) => {\n state.currentSession = action.payload;\n },\n receivedUserList: (state, action: PayloadAction<Record<string, User>>) => {\n state.byId = action.payload;\n },\n receivedActivationCode: (state, action: PayloadAction<string>) => {\n state.activationCode = action.payload;\n },\n receivedUser: (state, action: PayloadAction<User>) => {\n state.byId[action.payload.id] = action.payload;\n state.currentUser = action.payload.id;\n },\n removedUser: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedUser, ...byId } = state.byId;\n state.byId = byId;\n state.currentUser = state.currentUser === action.payload ? null : state.currentUser;\n },\n updatedUser: (state, action: PayloadAction<Partial<User> & { id: string }>) => {\n state.byId[action.payload.id] = {\n ...state.byId[action.payload.id],\n ...action.payload\n };\n },\n receivedPermissionSets: (state, action: PayloadAction<Record<string, PermissionSet>>) => {\n state.permissionSetsById = action.payload;\n },\n receivedRoles: (state, action: PayloadAction<Record<string, Role>>) => {\n state.rolesById = action.payload;\n state.rolesInitialized = true;\n },\n finishedRoleInitialization: (state, action) => {\n state.rolesInitialized = action.payload;\n },\n createdRole: (state, action: PayloadAction<Role>) => {\n state.rolesById[action.payload.name] = {\n ...state.rolesById[action.payload.name],\n ...action.payload\n };\n },\n removedRole: (state, action: PayloadAction<string>) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...rolesById } = state.rolesById;\n state.rolesById = rolesById;\n },\n setCustomColumns: (state, action: PayloadAction<CustomColumn[]>) => {\n state.customColumns = action.payload;\n },\n setGlobalSettings: (state, action: PayloadAction<GlobalSettings>) => {\n state.settingsInitialized = true;\n state.globalSettings = {\n ...state.globalSettings,\n ...action.payload\n };\n },\n setUserSettings: (state, action: PayloadAction<UserSettings>) => {\n state.userSettingsInitialized = true;\n state.userSettings = {\n ...state.userSettings,\n ...action.payload\n };\n },\n setTooltipState: (state, action: PayloadAction<{ id: string; readState: ReadState }>) => {\n const { id, readState = READ_STATES.read } = action.payload;\n state.tooltips.byId[id] = { ...state.tooltips.byId[id], readState };\n },\n setTooltipsState: (state, action: PayloadAction<UserSliceType['tooltips']['byId']>) => {\n state.tooltips.byId = {\n ...state.tooltips.byId,\n ...action.payload\n };\n },\n setShowFeedbackDialog: (state, action: PayloadAction<boolean>) => {\n state.showFeedbackDialog = action.payload;\n },\n setShowConnectingDialog: (state, action: PayloadAction<boolean>) => {\n state.showConnectDeviceDialog = action.payload;\n },\n setShowStartupNotification: (state, action: PayloadAction<boolean>) => {\n state.showStartupNotification = action.payload;\n }\n }\n});\n\nexport const actions = usersSlice.actions;\nexport default usersSlice.reducer;\n"],"mappings":"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","names":["rolesById"]}
@@ -11,9 +11,9 @@ import {
11
11
  emptyWebhook,
12
12
  timeUnits
13
13
  } from "./chunk-WWED74SG.js";
14
- import "./chunk-ZKAH3APE.js";
15
14
  import "./chunk-2DYA3X77.js";
16
15
  import "./chunk-FAJ3I2UQ.js";
16
+ import "./chunk-ZKAH3APE.js";
17
17
  import "./chunk-EL672W25.js";
18
18
  export {
19
19
  DEVICE_LIST_MAXIMUM_LENGTH,