@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.
- package/dist/actions.js +6 -6
- package/dist/api/general-api.cjs +13 -9
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.js +3 -3
- package/dist/api/users-api.cjs +13 -9
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.js +4 -4
- package/dist/appSlice/index.js +1 -1
- package/dist/appSlice/mocks.js +1 -1
- package/dist/appSlice/thunks.cjs +42 -19
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.js +18 -18
- package/dist/auth.cjs +7 -9
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.js +2 -2
- package/dist/{chunk-6UO33KLN.js → chunk-C3EMLDPU.js} +5 -5
- package/dist/{chunk-EFFRZCDN.js → chunk-FUGCLQ5L.js} +23 -23
- package/dist/{chunk-C5QK6HH6.js → chunk-GBXG2XBY.js} +5 -5
- package/dist/{chunk-5M6EUVNO.js → chunk-IRQRV552.js} +8 -2
- package/dist/chunk-IRQRV552.js.map +1 -0
- package/dist/{chunk-CXBQKY7F.js → chunk-KJHHSYGP.js} +14 -14
- package/dist/{chunk-PFWOM36E.js → chunk-MZ5NRW3K.js} +38 -17
- package/dist/{chunk-PFWOM36E.js.map → chunk-MZ5NRW3K.js.map} +1 -1
- package/dist/{chunk-BX2CTAJO.js → chunk-QFYYTAYD.js} +11 -11
- package/dist/{chunk-FDSMCFV5.js → chunk-UVTLZV34.js} +8 -10
- package/dist/chunk-UVTLZV34.js.map +1 -0
- package/dist/{chunk-Y3DJIMEN.js → chunk-XJLZK4QY.js} +3 -3
- package/dist/commonConstants.js +1 -1
- package/dist/commonSelectors.cjs +31 -0
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.d.cts +147 -1
- package/dist/commonSelectors.d.ts +147 -1
- package/dist/commonSelectors.js +8 -6
- package/dist/constants.js +1 -1
- package/dist/deploymentsSlice/constants.js +1 -1
- package/dist/deploymentsSlice/index.js +1 -1
- package/dist/deploymentsSlice/mocks.js +1 -1
- package/dist/deploymentsSlice/selectors.js +1 -1
- package/dist/deploymentsSlice/thunks.cjs +42 -19
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.js +18 -18
- package/dist/devicesSlice/constants.js +1 -1
- package/dist/devicesSlice/index.js +1 -1
- package/dist/devicesSlice/mocks.js +1 -1
- package/dist/devicesSlice/selectors.js +1 -1
- package/dist/devicesSlice/thunks.cjs +42 -19
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.js +18 -18
- package/dist/liststatehook.js +1 -1
- package/dist/locationutils.js +1 -1
- package/dist/monitorSlice/index.js +1 -1
- package/dist/monitorSlice/mocks.js +1 -1
- package/dist/monitorSlice/thunks.cjs +32 -9
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.js +15 -15
- package/dist/onboardingSlice/thunks.cjs +45 -22
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.js +18 -18
- package/dist/organizationSlice/constants.js +1 -1
- package/dist/organizationSlice/index.js +1 -1
- package/dist/organizationSlice/mocks.js +1 -1
- package/dist/organizationSlice/selectors.js +1 -1
- package/dist/organizationSlice/thunks.cjs +50 -27
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.js +18 -18
- package/dist/releasesSlice/index.js +1 -1
- package/dist/releasesSlice/mocks.js +1 -1
- package/dist/releasesSlice/selectors.js +1 -1
- package/dist/releasesSlice/thunks.cjs +32 -9
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.js +15 -15
- package/dist/selectors.cjs +29 -0
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +1 -1
- package/dist/selectors.d.ts +1 -1
- package/dist/selectors.js +44 -42
- package/dist/sockethook.js +1 -1
- package/dist/store.cjs +7 -9
- package/dist/store.cjs.map +1 -1
- package/dist/store.js +8 -8
- package/dist/storehooks.cjs +60 -37
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +20 -20
- package/dist/thunks.cjs +53 -30
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.js +18 -18
- package/dist/useDeploymentDevice.cjs +42 -19
- package/dist/useDeploymentDevice.cjs.map +1 -1
- package/dist/useDeploymentDevice.js +18 -18
- package/dist/usersSlice/constants.js +1 -1
- package/dist/usersSlice/index.js +1 -1
- package/dist/usersSlice/mocks.js +1 -1
- package/dist/usersSlice/selectors.js +1 -1
- package/dist/usersSlice/thunks.cjs +42 -19
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.js +18 -18
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-5M6EUVNO.js.map +0 -1
- package/dist/chunk-FDSMCFV5.js.map +0 -1
- /package/dist/{chunk-6UO33KLN.js.map → chunk-C3EMLDPU.js.map} +0 -0
- /package/dist/{chunk-EFFRZCDN.js.map → chunk-FUGCLQ5L.js.map} +0 -0
- /package/dist/{chunk-C5QK6HH6.js.map → chunk-GBXG2XBY.js.map} +0 -0
- /package/dist/{chunk-CXBQKY7F.js.map → chunk-KJHHSYGP.js.map} +0 -0
- /package/dist/{chunk-BX2CTAJO.js.map → chunk-QFYYTAYD.js.map} +0 -0
- /package/dist/{chunk-Y3DJIMEN.js.map → chunk-XJLZK4QY.js.map} +0 -0
|
@@ -4,34 +4,34 @@ import {
|
|
|
4
4
|
getDeviceMonitorConfig,
|
|
5
5
|
getIssueCountsByType,
|
|
6
6
|
getLatestDeviceAlerts
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-TRKA7XYU.js";
|
|
7
|
+
} from "../chunk-C3EMLDPU.js";
|
|
8
|
+
import "../chunk-KJHHSYGP.js";
|
|
9
|
+
import "../chunk-IRQRV552.js";
|
|
10
|
+
import "../chunk-QFYYTAYD.js";
|
|
12
11
|
import "../chunk-YR65C62H.js";
|
|
12
|
+
import "../chunk-VODRLEDP.js";
|
|
13
|
+
import "../chunk-TRKA7XYU.js";
|
|
14
|
+
import "../chunk-CQXDAXQF.js";
|
|
13
15
|
import "../chunk-VCEFZTWS.js";
|
|
14
16
|
import "../chunk-PVCHKW35.js";
|
|
15
|
-
import "../chunk-CQXDAXQF.js";
|
|
16
|
-
import "../chunk-OLKM53RL.js";
|
|
17
17
|
import "../chunk-6WJI4MOP.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-OLKM53RL.js";
|
|
19
|
+
import "../chunk-UVTLZV34.js";
|
|
20
20
|
import "../chunk-NMAXZ3ZY.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-GEQ2QQEE.js";
|
|
21
|
+
import "../chunk-MZ5NRW3K.js";
|
|
23
22
|
import "../chunk-QL6FN2JC.js";
|
|
24
|
-
import "../chunk-3NOV7X4M.js";
|
|
25
|
-
import "../chunk-YO22XLHI.js";
|
|
26
|
-
import "../chunk-JIS4PA3R.js";
|
|
27
23
|
import "../chunk-O7DR57RN.js";
|
|
24
|
+
import "../chunk-GEQ2QQEE.js";
|
|
25
|
+
import "../chunk-JIS4PA3R.js";
|
|
26
|
+
import "../chunk-3NOV7X4M.js";
|
|
28
27
|
import "../chunk-WR6RQKF5.js";
|
|
28
|
+
import "../chunk-YO22XLHI.js";
|
|
29
29
|
import "../chunk-4BHM6WVX.js";
|
|
30
30
|
import "../chunk-U5TPV5X5.js";
|
|
31
31
|
import "../chunk-WWED74SG.js";
|
|
32
32
|
import "../chunk-2DYA3X77.js";
|
|
33
|
-
import "../chunk-FAJ3I2UQ.js";
|
|
34
33
|
import "../chunk-ZKAH3APE.js";
|
|
34
|
+
import "../chunk-FAJ3I2UQ.js";
|
|
35
35
|
import "../chunk-EL672W25.js";
|
|
36
36
|
export {
|
|
37
37
|
changeNotificationSetting,
|
|
@@ -40,7 +40,7 @@ __export(thunks_exports, {
|
|
|
40
40
|
module.exports = __toCommonJS(thunks_exports);
|
|
41
41
|
var import_helpers11 = require("@northern.tech/utils/helpers");
|
|
42
42
|
var import_tracking2 = __toESM(require("@northern.tech/utils/tracking"), 1);
|
|
43
|
-
var
|
|
43
|
+
var import_universal_cookie5 = __toESM(require("universal-cookie"), 1);
|
|
44
44
|
|
|
45
45
|
// src/onboardingSlice/index.ts
|
|
46
46
|
var import_toolkit = require("@reduxjs/toolkit");
|
|
@@ -816,6 +816,7 @@ var getIsPreview = (0, import_toolkit2.createSelector)([getFullVersionInformatio
|
|
|
816
816
|
// src/commonSelectors.ts
|
|
817
817
|
var import_helpers4 = require("@northern.tech/utils/helpers");
|
|
818
818
|
var import_toolkit8 = require("@reduxjs/toolkit");
|
|
819
|
+
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
819
820
|
|
|
820
821
|
// src/deploymentsSlice/selectors.ts
|
|
821
822
|
var import_toolkit3 = require("@reduxjs/toolkit");
|
|
@@ -1174,6 +1175,7 @@ var emptyObject = {};
|
|
|
1174
1175
|
var getRolesById = (state) => state.users.rolesById;
|
|
1175
1176
|
var getTooltipsById = (state) => state.users.tooltips.byId;
|
|
1176
1177
|
var getGlobalSettings = (state) => state.users.globalSettings;
|
|
1178
|
+
var getUserSettingsInitialized = (state) => state.users.userSettingsInitialized;
|
|
1177
1179
|
var getCurrentUserId = (state) => state.users.currentUser;
|
|
1178
1180
|
var getUsersById = (state) => state.users.byId;
|
|
1179
1181
|
var getUsersList = (0, import_toolkit7.createSelector)([getUsersById], (usersById) => Object.values(usersById));
|
|
@@ -1211,6 +1213,7 @@ var getOfflineThresholdSettings = (0, import_toolkit7.createSelector)([getGlobal
|
|
|
1211
1213
|
intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName
|
|
1212
1214
|
}));
|
|
1213
1215
|
var getRolesList = (0, import_toolkit7.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([value, role]) => ({ value, ...role })));
|
|
1216
|
+
var getSecurityAlertDismissedTimestamp = (state) => state.users.userSettings.securityAlertDismissedTimestamp;
|
|
1214
1217
|
|
|
1215
1218
|
// src/commonSelectors.ts
|
|
1216
1219
|
var getIsEnterprise = (0, import_toolkit8.createSelector)(
|
|
@@ -1417,6 +1420,22 @@ var getRelevantRoles = (0, import_toolkit8.createSelector)([getOrganization, get
|
|
|
1417
1420
|
return accu;
|
|
1418
1421
|
}, roles);
|
|
1419
1422
|
});
|
|
1423
|
+
var getShowSecurityAlert = (0, import_toolkit8.createSelector)(
|
|
1424
|
+
[getCurrentUser, getHas2FA, getFeatures, getIsEnterprise, getUserSettingsInitialized, getSecurityAlertDismissedTimestamp],
|
|
1425
|
+
(currentUser, has2FA, features, isEnterprise, settingsInitialized, dismissedTimestamp) => {
|
|
1426
|
+
const isHosted = features?.isHosted;
|
|
1427
|
+
const canHave2FA = isEnterprise || isHosted;
|
|
1428
|
+
if (!currentUser || !settingsInitialized || has2FA || !canHave2FA) {
|
|
1429
|
+
return false;
|
|
1430
|
+
}
|
|
1431
|
+
if (dismissedTimestamp === null) {
|
|
1432
|
+
return true;
|
|
1433
|
+
}
|
|
1434
|
+
const today = (0, import_dayjs.default)();
|
|
1435
|
+
const dismissedMonthAgo = today.diff(dismissedTimestamp, "months");
|
|
1436
|
+
return dismissedMonthAgo > 0;
|
|
1437
|
+
}
|
|
1438
|
+
);
|
|
1420
1439
|
|
|
1421
1440
|
// src/store.ts
|
|
1422
1441
|
var import_react_redux = require("react-redux");
|
|
@@ -2332,19 +2351,17 @@ var getSessionInfo = () => {
|
|
|
2332
2351
|
sessionInfo = JSON.parse(window.localStorage.getItem("JWT") ?? "");
|
|
2333
2352
|
} catch {
|
|
2334
2353
|
}
|
|
2354
|
+
const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
|
|
2355
|
+
if (jwtTokenFromCookie) {
|
|
2356
|
+
setSessionInfo({ token: jwtTokenFromCookie });
|
|
2357
|
+
cookies.remove("JWT");
|
|
2358
|
+
cookies.remove("JWT", { path: "/" });
|
|
2359
|
+
return { token: jwtTokenFromCookie, expiresAt: void 0 };
|
|
2360
|
+
}
|
|
2335
2361
|
if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < /* @__PURE__ */ new Date()) {
|
|
2336
2362
|
cleanUp();
|
|
2337
2363
|
return { ...emptySession };
|
|
2338
2364
|
}
|
|
2339
|
-
if (!sessionInfo.token) {
|
|
2340
|
-
const jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
|
|
2341
|
-
if (jwtTokenFromCookie) {
|
|
2342
|
-
setSessionInfo({ token: jwtTokenFromCookie });
|
|
2343
|
-
sessionInfo.token = jwtTokenFromCookie;
|
|
2344
|
-
cookies.remove("JWT");
|
|
2345
|
-
cookies.remove("JWT", { path: "/" });
|
|
2346
|
-
}
|
|
2347
|
-
}
|
|
2348
2365
|
sessionInfo.token = sessionInfo.token || "";
|
|
2349
2366
|
tokenCache = sessionInfo.token;
|
|
2350
2367
|
return sessionInfo;
|
|
@@ -2454,12 +2471,18 @@ var createAppAsyncThunk = import_toolkit16.createAsyncThunk.withTypes();
|
|
|
2454
2471
|
|
|
2455
2472
|
// src/appSlice/thunks.ts
|
|
2456
2473
|
var import_helpers7 = require("@northern.tech/utils/helpers");
|
|
2457
|
-
var
|
|
2474
|
+
var import_universal_cookie3 = __toESM(require("universal-cookie"), 1);
|
|
2458
2475
|
|
|
2459
2476
|
// src/api/general-api.ts
|
|
2460
2477
|
var import_axios = __toESM(require("axios"), 1);
|
|
2478
|
+
var import_universal_cookie2 = __toESM(require("universal-cookie"), 1);
|
|
2479
|
+
var cookies2 = new import_universal_cookie2.default();
|
|
2461
2480
|
var unauthorizedRedirect = (error) => {
|
|
2462
2481
|
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
|
|
2482
|
+
if (cookies2.get("JWT", { doNotParse: true })) {
|
|
2483
|
+
window.location.reload();
|
|
2484
|
+
return Promise.reject(error);
|
|
2485
|
+
}
|
|
2463
2486
|
cleanUp();
|
|
2464
2487
|
window.location.replace("/ui/");
|
|
2465
2488
|
}
|
|
@@ -2495,9 +2518,9 @@ var Api = {
|
|
|
2495
2518
|
var general_api_default = Api;
|
|
2496
2519
|
|
|
2497
2520
|
// src/appSlice/thunks.ts
|
|
2498
|
-
var
|
|
2521
|
+
var cookies3 = new import_universal_cookie3.default();
|
|
2499
2522
|
var setFirstLoginAfterSignup = createAppAsyncThunk(`${sliceName2}/setFirstLoginAfterSignup`, (firstLoginAfterSignup, { dispatch }) => {
|
|
2500
|
-
|
|
2523
|
+
cookies3.set("firstLoginAfterSignup", !!firstLoginAfterSignup, { maxAge: 60, path: "/", domain: ".mender.io", sameSite: false });
|
|
2501
2524
|
dispatch(actions2.setFirstLoginAfterSignup(!!firstLoginAfterSignup));
|
|
2502
2525
|
});
|
|
2503
2526
|
var dateFunctionMap = {
|
|
@@ -3918,9 +3941,9 @@ var changeNotificationSetting = createAppAsyncThunk(
|
|
|
3918
3941
|
// src/usersSlice/thunks.ts
|
|
3919
3942
|
var import_helpers10 = require("@northern.tech/utils/helpers");
|
|
3920
3943
|
var import_retrytimer = require("@northern.tech/utils/retrytimer");
|
|
3921
|
-
var
|
|
3944
|
+
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
3922
3945
|
var import_md5 = __toESM(require("md5"), 1);
|
|
3923
|
-
var
|
|
3946
|
+
var import_universal_cookie4 = __toESM(require("universal-cookie"), 1);
|
|
3924
3947
|
|
|
3925
3948
|
// src/api/users-api.ts
|
|
3926
3949
|
var import_axios3 = __toESM(require("axios"), 1);
|
|
@@ -3937,7 +3960,7 @@ var Api2 = {
|
|
|
3937
3960
|
var users_api_default = Api2;
|
|
3938
3961
|
|
|
3939
3962
|
// src/usersSlice/thunks.ts
|
|
3940
|
-
var
|
|
3963
|
+
var cookies4 = new import_universal_cookie4.default();
|
|
3941
3964
|
var { setAnnouncement, setSnackbar: setSnackbar4 } = actions_default;
|
|
3942
3965
|
var handleLoginError = (err, { token2fa: has2FA, password }, rejectWithValue) => () => {
|
|
3943
3966
|
const errorText = (0, import_helpers10.extractErrorMessage)(err);
|
|
@@ -3972,7 +3995,7 @@ var loginUser = createAppAsyncThunk(
|
|
|
3972
3995
|
now.setSeconds(now.getSeconds() + import_constants5.maxSessionAge);
|
|
3973
3996
|
const expiresAt = stayLoggedIn ? void 0 : now.toISOString();
|
|
3974
3997
|
setSessionInfo({ token, expiresAt });
|
|
3975
|
-
|
|
3998
|
+
cookies4.remove("JWT", { path: "/" });
|
|
3976
3999
|
return dispatch(getUser(OWN_USER_ID)).unwrap().catch((e) => {
|
|
3977
4000
|
cleanUp();
|
|
3978
4001
|
return Promise.reject(dispatch(setSnackbar4((0, import_helpers10.extractErrorMessage)(e))));
|
|
@@ -4503,7 +4526,7 @@ var saveUserSettings = createAppAsyncThunk(
|
|
|
4503
4526
|
const updatedSettings = {
|
|
4504
4527
|
...userSettings,
|
|
4505
4528
|
...settings,
|
|
4506
|
-
firstLoginTimestamp: userSettings.firstLoginTimestamp ?? (0,
|
|
4529
|
+
firstLoginTimestamp: userSettings.firstLoginTimestamp ?? (0, import_dayjs2.default)().format(),
|
|
4507
4530
|
onboarding: {
|
|
4508
4531
|
...onboardingState,
|
|
4509
4532
|
...settings.onboarding
|
|
@@ -4527,9 +4550,9 @@ var setHideAnnouncement = createAppAsyncThunk(
|
|
|
4527
4550
|
({ shouldHide, userId }, { dispatch, getState }) => {
|
|
4528
4551
|
const currentUserId = userId || getCurrentUser(getState()).id;
|
|
4529
4552
|
const hash = getState().app.hostedAnnouncement ? (0, import_md5.default)(getState().app.hostedAnnouncement) : "";
|
|
4530
|
-
const announceCookie =
|
|
4553
|
+
const announceCookie = cookies4.get(`${currentUserId}${hash}`);
|
|
4531
4554
|
if (shouldHide || hash.length && typeof announceCookie !== "undefined") {
|
|
4532
|
-
|
|
4555
|
+
cookies4.set(`${currentUserId}${hash}`, true, { maxAge: 604800 });
|
|
4533
4556
|
dispatch(setAnnouncement(""));
|
|
4534
4557
|
}
|
|
4535
4558
|
}
|
|
@@ -4582,7 +4605,7 @@ var submitUserFeedback = createAppAsyncThunk(
|
|
|
4582
4605
|
);
|
|
4583
4606
|
|
|
4584
4607
|
// src/onboardingSlice/thunks.ts
|
|
4585
|
-
var
|
|
4608
|
+
var cookies5 = new import_universal_cookie5.default();
|
|
4586
4609
|
var applyOnboardingFallbacks = (progress2) => {
|
|
4587
4610
|
const step = orderedOnboardingSteps[progress2];
|
|
4588
4611
|
if (step && step.fallbackStep) {
|
|
@@ -4600,7 +4623,7 @@ var determineProgress = (acceptedDevices, pendingDevices, releases, pastDeployme
|
|
|
4600
4623
|
};
|
|
4601
4624
|
var deductOnboardingState = ({ devicesById, devicesByStatus, onboardingState, pastDeployments, releases, userCapabilities, userId }) => {
|
|
4602
4625
|
const { canDeploy, canManageDevices, canReadDeployments, canReadDevices, canReadReleases, canUploadReleases } = userCapabilities;
|
|
4603
|
-
const userCookie =
|
|
4626
|
+
const userCookie = cookies5.get(`${userId}-onboarded`);
|
|
4604
4627
|
const acceptedDevices = devicesByStatus[import_constants5.DEVICE_STATES.accepted].deviceIds;
|
|
4605
4628
|
const pendingDevices = devicesByStatus[import_constants5.DEVICE_STATES.pending].deviceIds;
|
|
4606
4629
|
let deviceType = onboardingState.deviceType ?? [];
|