@northern.tech/store 0.5.2 → 0.5.3
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.cjs +47 -0
- package/dist/actions.cjs.map +1 -1
- package/dist/actions.d.cts +6 -2
- package/dist/actions.d.ts +6 -2
- package/dist/actions.js +10 -10
- package/dist/api/general-api.cjs +1 -1
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.d.cts +8 -8
- package/dist/api/general-api.d.ts +8 -8
- package/dist/api/general-api.js +4 -4
- package/dist/api/users-api.cjs +1 -1
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.d.cts +1 -1
- package/dist/api/users-api.d.ts +1 -1
- package/dist/api/users-api.js +5 -5
- package/dist/appSlice/constants.cjs +1 -0
- package/dist/appSlice/constants.cjs.map +1 -1
- package/dist/appSlice/constants.d.cts +5 -0
- package/dist/appSlice/constants.d.ts +5 -0
- package/dist/appSlice/constants.js +1 -1
- package/dist/appSlice/index.cjs +1 -0
- package/dist/appSlice/index.cjs.map +1 -1
- package/dist/appSlice/index.js +3 -3
- package/dist/appSlice/mocks.cjs +1 -0
- package/dist/appSlice/mocks.cjs.map +1 -1
- package/dist/appSlice/mocks.js +3 -3
- package/dist/appSlice/thunks.cjs +76 -20
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.js +25 -25
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.js +3 -3
- package/dist/{chunk-MZNANSS2.js → chunk-4DOSYAJY.js} +2 -2
- package/dist/{chunk-R6KRH2IY.js → chunk-4UJXT6RF.js} +3 -3
- package/dist/{chunk-VUFRP6P3.js → chunk-5HYHE4HO.js} +2 -2
- package/dist/chunk-5HYHE4HO.js.map +1 -0
- package/dist/{chunk-ZJW3QIPM.js → chunk-66NK2ZV2.js} +2 -2
- package/dist/{chunk-PGFVHKP5.js → chunk-AVCIWAZB.js} +2 -2
- package/dist/{chunk-RS37Y2PQ.js → chunk-BNSSPYCA.js} +4 -4
- package/dist/chunk-BNSSPYCA.js.map +1 -0
- package/dist/{chunk-UE5N5VO3.js → chunk-CEEXZF5E.js} +3 -3
- package/dist/{chunk-UGSLGUS6.js → chunk-CWZKWW74.js} +2 -2
- package/dist/{chunk-3P3IE42O.js → chunk-DE25YP6N.js} +62 -54
- package/dist/chunk-DE25YP6N.js.map +1 -0
- package/dist/{chunk-QYLGIR4W.js → chunk-DXJ2WS3N.js} +3 -2
- package/dist/chunk-DXJ2WS3N.js.map +1 -0
- package/dist/{chunk-H5FAPMJJ.js → chunk-DYN7AU7R.js} +9 -9
- package/dist/{chunk-JXQUFKID.js → chunk-GRVTVLIZ.js} +7 -2
- package/dist/chunk-GRVTVLIZ.js.map +1 -0
- package/dist/{chunk-KC7SKI3U.js → chunk-HLTP624H.js} +8 -5
- package/dist/{chunk-KC7SKI3U.js.map → chunk-HLTP624H.js.map} +1 -1
- package/dist/{chunk-F26IKSML.js → chunk-I6JE3OLT.js} +8 -8
- package/dist/{chunk-ABJLRDCO.js → chunk-IY76MO6R.js} +2 -2
- package/dist/{chunk-V3QEONX7.js → chunk-J74LNK6P.js} +11 -11
- package/dist/{chunk-QKPV5RRN.js → chunk-JOK26PI7.js} +51 -18
- package/dist/chunk-JOK26PI7.js.map +1 -0
- package/dist/{chunk-KJNNEDRV.js → chunk-JZXNRDO2.js} +2 -2
- package/dist/{chunk-MSOXMRF7.js → chunk-KGSJ7CSA.js} +12 -3
- package/dist/{chunk-MSOXMRF7.js.map → chunk-KGSJ7CSA.js.map} +1 -1
- package/dist/{chunk-OOICURFL.js → chunk-KJJ47UIO.js} +48 -2
- package/dist/chunk-KJJ47UIO.js.map +1 -0
- package/dist/{chunk-7C4SQBEE.js → chunk-MRXTMI6O.js} +1 -1
- package/dist/chunk-MRXTMI6O.js.map +1 -0
- package/dist/{chunk-HFOTAPIJ.js → chunk-PY6ID7TL.js} +2 -1
- package/dist/chunk-PY6ID7TL.js.map +1 -0
- package/dist/{chunk-SCZLNFB5.js → chunk-VCTZ25Q5.js} +9 -9
- package/dist/{chunk-YY6SKZDF.js → chunk-W37ETKI6.js} +3 -12
- package/dist/chunk-W37ETKI6.js.map +1 -0
- package/dist/{chunk-QHK7GGV4.js → chunk-ZZ3YDCYZ.js} +3 -3
- package/dist/commonConstants.cjs.map +1 -1
- package/dist/commonConstants.d.cts +6 -5
- package/dist/commonConstants.d.ts +6 -5
- package/dist/commonConstants.js +2 -2
- package/dist/commonSelectors.cjs +8 -18
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.js +9 -9
- package/dist/constants.cjs +1 -0
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +2 -2
- package/dist/deploymentsSlice/constants.js +2 -2
- package/dist/deploymentsSlice/index.cjs.map +1 -1
- package/dist/deploymentsSlice/index.d.cts +2 -2
- package/dist/deploymentsSlice/index.d.ts +2 -2
- package/dist/deploymentsSlice/index.js +3 -3
- package/dist/deploymentsSlice/mocks.cjs.map +1 -1
- package/dist/deploymentsSlice/mocks.js +3 -3
- package/dist/deploymentsSlice/selectors.cjs +6 -0
- package/dist/deploymentsSlice/selectors.cjs.map +1 -1
- package/dist/deploymentsSlice/selectors.d.cts +22 -1
- package/dist/deploymentsSlice/selectors.d.ts +22 -1
- package/dist/deploymentsSlice/selectors.js +5 -3
- package/dist/deploymentsSlice/thunks.cjs +78 -20
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.d.cts +14 -1
- package/dist/deploymentsSlice/thunks.d.ts +14 -1
- package/dist/deploymentsSlice/thunks.js +27 -25
- package/dist/devicesSlice/constants.js +2 -2
- package/dist/devicesSlice/index.js +3 -3
- package/dist/devicesSlice/mocks.js +3 -3
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.js +3 -3
- package/dist/devicesSlice/thunks.cjs +76 -20
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.js +25 -25
- package/dist/liststatehook.cjs +6 -3
- package/dist/liststatehook.cjs.map +1 -1
- package/dist/liststatehook.d.cts +4 -2
- package/dist/liststatehook.d.ts +4 -2
- package/dist/liststatehook.js +3 -3
- package/dist/locationutils.cjs +6 -3
- package/dist/locationutils.cjs.map +1 -1
- package/dist/locationutils.d.cts +3 -1
- package/dist/locationutils.d.ts +3 -1
- package/dist/locationutils.js +3 -3
- package/dist/monitorSlice/index.js +3 -3
- package/dist/monitorSlice/mocks.js +3 -3
- package/dist/monitorSlice/thunks.cjs +56 -9
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.js +21 -21
- package/dist/onboardingSlice/thunks.cjs +76 -20
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.js +25 -25
- package/dist/organizationSlice/constants.js +2 -2
- package/dist/organizationSlice/index.js +3 -3
- package/dist/organizationSlice/mocks.js +3 -3
- package/dist/organizationSlice/selectors.cjs +0 -20
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +1 -155
- package/dist/organizationSlice/selectors.d.ts +1 -155
- package/dist/organizationSlice/selectors.js +3 -5
- package/dist/organizationSlice/thunks.cjs +99 -43
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +5 -5
- package/dist/organizationSlice/thunks.d.ts +5 -5
- package/dist/organizationSlice/thunks.js +25 -25
- package/dist/releasesSlice/index.cjs +46 -0
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.d.cts +51 -3
- package/dist/releasesSlice/index.d.ts +51 -3
- package/dist/releasesSlice/index.js +3 -3
- package/dist/releasesSlice/mocks.cjs +46 -0
- package/dist/releasesSlice/mocks.cjs.map +1 -1
- package/dist/releasesSlice/mocks.d.cts +13 -0
- package/dist/releasesSlice/mocks.d.ts +13 -0
- package/dist/releasesSlice/mocks.js +3 -3
- package/dist/releasesSlice/selectors.cjs +13 -0
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.d.cts +186 -1
- package/dist/releasesSlice/selectors.d.ts +186 -1
- package/dist/releasesSlice/selectors.js +12 -4
- package/dist/releasesSlice/thunks.cjs +99 -17
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +68 -3
- package/dist/releasesSlice/thunks.d.ts +68 -3
- package/dist/releasesSlice/thunks.js +26 -22
- package/dist/selectors.cjs +19 -20
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +5 -3
- package/dist/selectors.d.ts +5 -3
- package/dist/selectors.js +19 -11
- package/dist/sockethook.cjs.map +1 -1
- package/dist/sockethook.js +2 -2
- package/dist/store.cjs +47 -0
- package/dist/store.cjs.map +1 -1
- package/dist/store.d.cts +11 -110
- package/dist/store.d.ts +11 -110
- package/dist/store.js +12 -12
- package/dist/storehooks.cjs +142 -54
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +26 -25
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +146 -53
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +3 -3
- package/dist/thunks.d.ts +3 -3
- package/dist/thunks.js +33 -27
- package/dist/useDeploymentDevice.cjs +76 -20
- package/dist/useDeploymentDevice.cjs.map +1 -1
- package/dist/useDeploymentDevice.js +25 -25
- package/dist/usersSlice/constants.js +2 -2
- package/dist/usersSlice/index.js +3 -3
- package/dist/usersSlice/mocks.js +3 -3
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.js +4 -4
- package/dist/usersSlice/thunks.cjs +78 -22
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.d.cts +18 -10
- package/dist/usersSlice/thunks.d.ts +18 -10
- package/dist/usersSlice/thunks.js +27 -27
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +3 -3
- package/package.json +5 -5
- package/dist/chunk-3P3IE42O.js.map +0 -1
- package/dist/chunk-7C4SQBEE.js.map +0 -1
- package/dist/chunk-HFOTAPIJ.js.map +0 -1
- package/dist/chunk-JXQUFKID.js.map +0 -1
- package/dist/chunk-OOICURFL.js.map +0 -1
- package/dist/chunk-QKPV5RRN.js.map +0 -1
- package/dist/chunk-QYLGIR4W.js.map +0 -1
- package/dist/chunk-RS37Y2PQ.js.map +0 -1
- package/dist/chunk-VUFRP6P3.js.map +0 -1
- package/dist/chunk-YY6SKZDF.js.map +0 -1
- /package/dist/{chunk-MZNANSS2.js.map → chunk-4DOSYAJY.js.map} +0 -0
- /package/dist/{chunk-R6KRH2IY.js.map → chunk-4UJXT6RF.js.map} +0 -0
- /package/dist/{chunk-ZJW3QIPM.js.map → chunk-66NK2ZV2.js.map} +0 -0
- /package/dist/{chunk-PGFVHKP5.js.map → chunk-AVCIWAZB.js.map} +0 -0
- /package/dist/{chunk-UE5N5VO3.js.map → chunk-CEEXZF5E.js.map} +0 -0
- /package/dist/{chunk-UGSLGUS6.js.map → chunk-CWZKWW74.js.map} +0 -0
- /package/dist/{chunk-H5FAPMJJ.js.map → chunk-DYN7AU7R.js.map} +0 -0
- /package/dist/{chunk-F26IKSML.js.map → chunk-I6JE3OLT.js.map} +0 -0
- /package/dist/{chunk-ABJLRDCO.js.map → chunk-IY76MO6R.js.map} +0 -0
- /package/dist/{chunk-V3QEONX7.js.map → chunk-J74LNK6P.js.map} +0 -0
- /package/dist/{chunk-KJNNEDRV.js.map → chunk-JZXNRDO2.js.map} +0 -0
- /package/dist/{chunk-SCZLNFB5.js.map → chunk-VCTZ25Q5.js.map} +0 -0
- /package/dist/{chunk-QHK7GGV4.js.map → chunk-ZZ3YDCYZ.js.map} +0 -0
package/dist/storehooks.cjs
CHANGED
|
@@ -37,7 +37,7 @@ module.exports = __toCommonJS(storehooks_exports);
|
|
|
37
37
|
var import_react2 = require("react");
|
|
38
38
|
var import_react_redux2 = require("react-redux");
|
|
39
39
|
var import_helpers15 = require("@northern.tech/utils/helpers");
|
|
40
|
-
var
|
|
40
|
+
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
41
41
|
var import_duration = __toESM(require("dayjs/plugin/duration.js"), 1);
|
|
42
42
|
var import_universal_cookie6 = __toESM(require("universal-cookie"), 1);
|
|
43
43
|
|
|
@@ -61,6 +61,7 @@ var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.k
|
|
|
61
61
|
var defaultReportType = "distribution";
|
|
62
62
|
var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
|
|
63
63
|
var locations = {
|
|
64
|
+
cn: { key: "cn", title: "China", location: "cn.hosted.mender.io" },
|
|
64
65
|
eu: { key: "eu", title: "EU", location: "eu.hosted.mender.io" },
|
|
65
66
|
us: { key: "us", title: "US", location: "hosted.mender.io" }
|
|
66
67
|
};
|
|
@@ -783,6 +784,7 @@ var initialState = {
|
|
|
783
784
|
},
|
|
784
785
|
// return boolean rather than organization details
|
|
785
786
|
features: {
|
|
787
|
+
hasAiEnabled: false,
|
|
786
788
|
hasAuditlogs: false,
|
|
787
789
|
hasDeltaProgress: false,
|
|
788
790
|
hasMultitenancy: false,
|
|
@@ -1438,6 +1440,23 @@ var initialState7 = {
|
|
|
1438
1440
|
}
|
|
1439
1441
|
*/
|
|
1440
1442
|
},
|
|
1443
|
+
deltaJobs: {
|
|
1444
|
+
/*
|
|
1445
|
+
[jobId]: {
|
|
1446
|
+
id: '',
|
|
1447
|
+
...
|
|
1448
|
+
}
|
|
1449
|
+
*/
|
|
1450
|
+
},
|
|
1451
|
+
deltaJobsList: {
|
|
1452
|
+
...import_constants5.DEVICE_LIST_DEFAULTS,
|
|
1453
|
+
jobIds: [],
|
|
1454
|
+
total: 0,
|
|
1455
|
+
sort: {
|
|
1456
|
+
direction: import_constants5.SORTING_OPTIONS.desc,
|
|
1457
|
+
key: "started"
|
|
1458
|
+
}
|
|
1459
|
+
},
|
|
1441
1460
|
releasesList: {
|
|
1442
1461
|
...import_constants5.DEVICE_LIST_DEFAULTS,
|
|
1443
1462
|
searchedIds: [],
|
|
@@ -1456,6 +1475,7 @@ var initialState7 = {
|
|
|
1456
1475
|
},
|
|
1457
1476
|
tags: [],
|
|
1458
1477
|
updateTypes: [],
|
|
1478
|
+
selectedJob: null,
|
|
1459
1479
|
/*
|
|
1460
1480
|
* Return single release with corresponding Artifacts
|
|
1461
1481
|
*/
|
|
@@ -1488,6 +1508,34 @@ var releaseSlice = (0, import_toolkit7.createSlice)({
|
|
|
1488
1508
|
},
|
|
1489
1509
|
setReleaseListState: (state, action) => {
|
|
1490
1510
|
state.releasesList = action.payload;
|
|
1511
|
+
},
|
|
1512
|
+
receivedDeltaJobs: (state, action) => {
|
|
1513
|
+
const { jobs, total } = action.payload;
|
|
1514
|
+
state.deltaJobs = jobs.reduce(
|
|
1515
|
+
(accu, job) => {
|
|
1516
|
+
accu[job.id] = {
|
|
1517
|
+
...accu[job.id],
|
|
1518
|
+
...job
|
|
1519
|
+
};
|
|
1520
|
+
return accu;
|
|
1521
|
+
},
|
|
1522
|
+
{ ...state.deltaJobs }
|
|
1523
|
+
);
|
|
1524
|
+
state.deltaJobsList.jobIds = jobs.map((job) => job.id);
|
|
1525
|
+
state.deltaJobsList.total = total;
|
|
1526
|
+
},
|
|
1527
|
+
receivedDeltaJobDetails: (state, action) => {
|
|
1528
|
+
const job = action.payload;
|
|
1529
|
+
state.deltaJobs[job.id] = {
|
|
1530
|
+
...state.deltaJobs[job.id],
|
|
1531
|
+
...job
|
|
1532
|
+
};
|
|
1533
|
+
},
|
|
1534
|
+
setDeltaJobsListState: (state, action) => {
|
|
1535
|
+
state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };
|
|
1536
|
+
},
|
|
1537
|
+
setSelectedJob: (state, action) => {
|
|
1538
|
+
state.selectedJob = action.payload;
|
|
1491
1539
|
}
|
|
1492
1540
|
}
|
|
1493
1541
|
});
|
|
@@ -1704,6 +1752,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
|
|
|
1704
1752
|
var getDeploymentsByStatus = (state) => state.deployments.byStatus;
|
|
1705
1753
|
var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
|
|
1706
1754
|
var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
|
|
1755
|
+
var getDeploymentById = (0, import_toolkit10.createSelector)(
|
|
1756
|
+
[getDeploymentsById, (_, deploymentId) => deploymentId],
|
|
1757
|
+
(deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
|
|
1758
|
+
);
|
|
1707
1759
|
var getMappedDeploymentSelection = (0, import_toolkit10.createSelector)(
|
|
1708
1760
|
[getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
|
|
1709
1761
|
(selectionState, deploymentsState, deploymentsById) => {
|
|
@@ -1853,8 +1905,6 @@ var getOnboarding = (state) => state.onboarding;
|
|
|
1853
1905
|
|
|
1854
1906
|
// src/organizationSlice/selectors.ts
|
|
1855
1907
|
var import_toolkit12 = require("@reduxjs/toolkit");
|
|
1856
|
-
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
1857
|
-
var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1);
|
|
1858
1908
|
var getOrganization = (state) => state.organization.organization;
|
|
1859
1909
|
var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
|
|
1860
1910
|
var getAuditlogState = (state) => state.organization.auditlog.selectionState;
|
|
@@ -1883,12 +1933,6 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
|
|
|
1883
1933
|
const [eventAction, eventTime] = atob(selectedId).split("|");
|
|
1884
1934
|
return events.find((item) => item.action === eventAction && item.time === eventTime);
|
|
1885
1935
|
});
|
|
1886
|
-
import_dayjs.default.extend(import_relativeTime.default);
|
|
1887
|
-
var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
|
|
1888
|
-
var getHasCurrentPricing = (0, import_toolkit12.createSelector)(
|
|
1889
|
-
[getOrganization],
|
|
1890
|
-
({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
|
|
1891
|
-
);
|
|
1892
1936
|
|
|
1893
1937
|
// src/releasesSlice/selectors.ts
|
|
1894
1938
|
var import_toolkit13 = require("@reduxjs/toolkit");
|
|
@@ -2058,6 +2102,10 @@ var getHasReleases = (0, import_toolkit13.createSelector)(
|
|
|
2058
2102
|
);
|
|
2059
2103
|
var getSelectedRelease = (0, import_toolkit13.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
|
|
2060
2104
|
var getSelectedReleases = (0, import_toolkit13.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
|
|
2105
|
+
var getDeltaJobsById = (state) => state.releases.deltaJobs;
|
|
2106
|
+
var getDeltaJobById = (0, import_toolkit13.createSelector)([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId) => byId[jobId]);
|
|
2107
|
+
var getSelectedJobId = (state) => state.releases.selectedJob;
|
|
2108
|
+
var getSelectedJob = (0, import_toolkit13.createSelector)([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || ""]);
|
|
2061
2109
|
|
|
2062
2110
|
// src/usersSlice/selectors.ts
|
|
2063
2111
|
var import_toolkit14 = require("@reduxjs/toolkit");
|
|
@@ -2317,7 +2365,7 @@ var import_universal_cookie2 = __toESM(require("universal-cookie"), 1);
|
|
|
2317
2365
|
// src/api/general-api.ts
|
|
2318
2366
|
var import_axios = __toESM(require("axios"), 1);
|
|
2319
2367
|
var unauthorizedRedirect = (error) => {
|
|
2320
|
-
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken()) {
|
|
2368
|
+
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
|
|
2321
2369
|
cleanUp();
|
|
2322
2370
|
window.location.replace("/ui/");
|
|
2323
2371
|
}
|
|
@@ -2907,6 +2955,15 @@ var saveDeltaDeploymentsConfig = createAppAsyncThunk(
|
|
|
2907
2955
|
});
|
|
2908
2956
|
}
|
|
2909
2957
|
);
|
|
2958
|
+
var generateDeploymentLogAnalysis = createAppAsyncThunk(
|
|
2959
|
+
`${sliceName2}/generateDeploymentLogAnalysis`,
|
|
2960
|
+
({ deploymentId, deviceId }, { dispatch, rejectWithValue }) => general_api_default.get(`${import_constants5.apiRoot}/v1alpha1/deployments/deployments/${deploymentId}/devices/${deviceId}/log/explain`).then(({ data: result }) => Promise.resolve(result)).catch((err) => {
|
|
2961
|
+
if (err.response.status === 429) {
|
|
2962
|
+
return rejectWithValue(err.response);
|
|
2963
|
+
}
|
|
2964
|
+
commonErrorHandler(err, "There was an error analysing the deployment log:", dispatch);
|
|
2965
|
+
})
|
|
2966
|
+
);
|
|
2910
2967
|
|
|
2911
2968
|
// src/devicesSlice/thunks.tsx
|
|
2912
2969
|
var import_react_router_dom = require("react-router-dom");
|
|
@@ -2986,15 +3043,15 @@ var removeDevicesFromGroup = createAppAsyncThunk(
|
|
|
2986
3043
|
)
|
|
2987
3044
|
);
|
|
2988
3045
|
var getGroupNotification = (newGroup, selectedGroup) => {
|
|
2989
|
-
const
|
|
3046
|
+
const successMessage = "The group was updated successfully";
|
|
2990
3047
|
if (newGroup === selectedGroup) {
|
|
2991
|
-
return { message:
|
|
3048
|
+
return { message: successMessage, autoHideDuration: TIMEOUTS.fiveSeconds };
|
|
2992
3049
|
}
|
|
2993
3050
|
return {
|
|
2994
3051
|
action: "",
|
|
2995
3052
|
autoHideDuration: TIMEOUTS.fiveSeconds,
|
|
2996
3053
|
message: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2997
|
-
|
|
3054
|
+
successMessage,
|
|
2998
3055
|
" - ",
|
|
2999
3056
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_router_dom.Link, { to: `/devices?inventory=group:eq:${newGroup}`, children: "click here" }),
|
|
3000
3057
|
" to see it."
|
|
@@ -3526,9 +3583,10 @@ var getDeviceConnect = createAppAsyncThunk(
|
|
|
3526
3583
|
var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
|
|
3527
3584
|
var triggerDeviceUpdate = createAppAsyncThunk(
|
|
3528
3585
|
`${sliceName3}/triggerDeviceUpdate`,
|
|
3529
|
-
({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
|
|
3530
|
-
(
|
|
3531
|
-
|
|
3586
|
+
({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).catch((err) => commonErrorHandler(err, `The request couldn\u2019t be sent.`, dispatch)).then(() => {
|
|
3587
|
+
dispatch(setSnackbar3("Request has been sent."));
|
|
3588
|
+
return new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds));
|
|
3589
|
+
})
|
|
3532
3590
|
);
|
|
3533
3591
|
var getSessionDetails = createAppAsyncThunk(
|
|
3534
3592
|
`${sliceName3}/getSessionDetails`,
|
|
@@ -3964,13 +4022,13 @@ var advanceOnboarding = createAppAsyncThunk(`${sliceName5}/advanceOnboarding`, (
|
|
|
3964
4022
|
// src/organizationSlice/thunks.ts
|
|
3965
4023
|
var import_MenderTypes2 = require("@northern.tech/types/MenderTypes");
|
|
3966
4024
|
var import_helpers11 = require("@northern.tech/utils/helpers");
|
|
3967
|
-
var
|
|
4025
|
+
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
3968
4026
|
var import_utc = __toESM(require("dayjs/plugin/utc.js"), 1);
|
|
3969
4027
|
var import_jwt_decode = require("jwt-decode");
|
|
3970
4028
|
var import_md5 = __toESM(require("md5"), 1);
|
|
3971
4029
|
var import_universal_cookie4 = __toESM(require("universal-cookie"), 1);
|
|
3972
4030
|
var cookies4 = new import_universal_cookie4.default();
|
|
3973
|
-
|
|
4031
|
+
import_dayjs.default.extend(import_utc.default);
|
|
3974
4032
|
var { setAnnouncement, setSnackbar: setSnackbar4 } = actions_default;
|
|
3975
4033
|
var { page: defaultPage4, perPage: defaultPerPage4 } = import_constants5.DEVICE_LIST_DEFAULTS;
|
|
3976
4034
|
var cancelRequest = createAppAsyncThunk(`${sliceName6}/cancelRequest`, (reason, { dispatch, getState }) => {
|
|
@@ -3997,10 +4055,12 @@ var createOrganizationTrial = createAppAsyncThunk(`${sliceName6}/createOrganizat
|
|
|
3997
4055
|
const targetLocation = getTargetLocation(key);
|
|
3998
4056
|
const target = `${targetLocation}${import_constants5.tenantadmApiUrlv2}/tenants/trial`;
|
|
3999
4057
|
return general_api_default.postUnauthorized(target, data).catch((err) => {
|
|
4000
|
-
if (err.response
|
|
4058
|
+
if (err.response?.status >= 400 && err.response?.status < 500) {
|
|
4001
4059
|
dispatch(setSnackbar4({ message: err.response.data.error, autoHideDuration: TIMEOUTS.fiveSeconds }));
|
|
4002
|
-
|
|
4060
|
+
} else {
|
|
4061
|
+
dispatch(setSnackbar4({ message: "There was an error creating your account", autoHideDuration: TIMEOUTS.fiveSeconds }));
|
|
4003
4062
|
}
|
|
4063
|
+
return Promise.reject(err);
|
|
4004
4064
|
}).then(({ headers }) => {
|
|
4005
4065
|
cookies4.remove("oauth");
|
|
4006
4066
|
cookies4.remove("externalID");
|
|
@@ -4182,32 +4242,29 @@ var getUserOrganization = createAppAsyncThunk(
|
|
|
4182
4242
|
);
|
|
4183
4243
|
var getUserBilling = createAppAsyncThunk(
|
|
4184
4244
|
`${sliceName6}/getUserBilling`,
|
|
4185
|
-
(_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/profile`).then((res) => dispatch(actions6.setBillingProfile(res.data)))
|
|
4245
|
+
(_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/profile`).catch((err) => commonErrorHandler(err, "There was an error getting your billing profile:", dispatch, commonErrorFallback)).then((res) => dispatch(actions6.setBillingProfile(res.data)))
|
|
4186
4246
|
);
|
|
4187
|
-
var getUserSubscription = createAppAsyncThunk(`${sliceName6}/getUserSubscription`, (_, { dispatch }) => {
|
|
4188
|
-
const
|
|
4189
|
-
|
|
4247
|
+
var getUserSubscription = createAppAsyncThunk(`${sliceName6}/getUserSubscription`, async (_, { dispatch }) => {
|
|
4248
|
+
const currentSubscription = await dispatch(getCurrentSubscription()).unwrap();
|
|
4249
|
+
const currentPreview = await dispatch(getBillingPreview({ preview_mode: import_MenderTypes2.PreviewRequest.preview_mode.NEXT })).unwrap();
|
|
4250
|
+
return dispatch(actions6.setSubscription({ ...currentPreview, ...currentSubscription }));
|
|
4190
4251
|
});
|
|
4191
4252
|
var getBillingPreview = createAppAsyncThunk(
|
|
4192
4253
|
`${sliceName6}/getBillingPreview`,
|
|
4193
|
-
(order) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).then(
|
|
4194
|
-
({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data
|
|
4195
|
-
)
|
|
4254
|
+
(order, { dispatch }) => general_api_default.post(`${import_constants5.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)
|
|
4196
4255
|
);
|
|
4197
4256
|
var getCurrentSubscription = createAppAsyncThunk(
|
|
4198
4257
|
`${sliceName6}/getCurrentSubscription`,
|
|
4199
|
-
() => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`).then((res) => res.data)
|
|
4258
|
+
(_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`).then((res) => res.data).catch((err) => {
|
|
4259
|
+
if (err.response && err.response.status === 404) {
|
|
4260
|
+
throw new Error("Request failed with status code 404");
|
|
4261
|
+
}
|
|
4262
|
+
return commonErrorHandler(err, "There was an error retrieving your current subscription", dispatch, commonErrorFallback);
|
|
4263
|
+
})
|
|
4200
4264
|
);
|
|
4201
|
-
var successMessage = (planId) => `Thank you! You have successfully subscribed to the ${PLANS[planId].name} plan. You can view and edit your billing details on the Organization and billing page.`;
|
|
4202
4265
|
var requestPlanUpgrade = createAppAsyncThunk(
|
|
4203
4266
|
`${sliceName6}/requestPlanUpgrade`,
|
|
4204
|
-
(order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(
|
|
4205
|
-
() => Promise.all([
|
|
4206
|
-
dispatch(setSnackbar4(successMessage(order.plan))),
|
|
4207
|
-
setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds),
|
|
4208
|
-
dispatch(getUserOrganization())
|
|
4209
|
-
])
|
|
4210
|
-
)
|
|
4267
|
+
(order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.all([setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds), dispatch(getUserOrganization())]))
|
|
4211
4268
|
);
|
|
4212
4269
|
var sendSupportMessage = createAppAsyncThunk(
|
|
4213
4270
|
`${sliceName6}/sendSupportMessage`,
|
|
@@ -4324,7 +4381,7 @@ var commonFields = {
|
|
|
4324
4381
|
issues: { parse: void 0, select: defaultSelector, target: "selectedIssues" },
|
|
4325
4382
|
open: { parse: Boolean, select: defaultSelector, target: "open" }
|
|
4326
4383
|
};
|
|
4327
|
-
var formatReleases = ({ pageState: { searchTerm, selectedTags = [], tab, type } }) => Object.entries({ name: searchTerm, tab, type }).reduce(
|
|
4384
|
+
var formatReleases = ({ pageState: { id, searchTerm, selectedTags = [], tab, type } }) => Object.entries({ name: searchTerm, tab, type, id }).reduce(
|
|
4328
4385
|
(accu, [key, value]) => value ? [...accu, `${key}=${value}`] : accu,
|
|
4329
4386
|
selectedTags.map((tag) => `tag=${tag}`)
|
|
4330
4387
|
).join("&");
|
|
@@ -4420,6 +4477,18 @@ var getArtifactUrl = createAppAsyncThunk(
|
|
|
4420
4477
|
return dispatch(actions7.receiveRelease(release));
|
|
4421
4478
|
})
|
|
4422
4479
|
);
|
|
4480
|
+
var pollLocation = async (location, attempt = 1, maxAttempts = 5, delay = TIMEOUTS.oneSecond) => {
|
|
4481
|
+
try {
|
|
4482
|
+
await general_api_default.get(location);
|
|
4483
|
+
return Promise.resolve();
|
|
4484
|
+
} catch {
|
|
4485
|
+
if (attempt >= maxAttempts) {
|
|
4486
|
+
throw new Error(`Couldn't get ${location} after ${maxAttempts} attempts`);
|
|
4487
|
+
}
|
|
4488
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
4489
|
+
return pollLocation(location, attempt + 1, maxAttempts, delay);
|
|
4490
|
+
}
|
|
4491
|
+
};
|
|
4423
4492
|
var createArtifact = createAppAsyncThunk(`${sliceName7}/createArtifact`, ({ file, meta }, { dispatch }) => {
|
|
4424
4493
|
const formData = Object.entries(meta).reduce((accu, [key, value]) => {
|
|
4425
4494
|
if (Array.isArray(value)) {
|
|
@@ -4444,13 +4513,18 @@ var createArtifact = createAppAsyncThunk(`${sliceName7}/createArtifact`, ({ file
|
|
|
4444
4513
|
(e) => dispatch(uploadProgress3({ id: uploadId, progress: progress(e) })),
|
|
4445
4514
|
cancelSource.signal
|
|
4446
4515
|
)
|
|
4447
|
-
]).then(() => {
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4516
|
+
]).then((tasks) => {
|
|
4517
|
+
const generateResponse = tasks[tasks.length - 1];
|
|
4518
|
+
const generateLocation = generateResponse.headers[import_constants5.headerNames.location];
|
|
4519
|
+
const location = generateLocation.replace("/generate", "");
|
|
4520
|
+
return pollLocation(location);
|
|
4521
|
+
}).then(
|
|
4522
|
+
() => Promise.all([
|
|
4523
|
+
dispatch(getReleases()),
|
|
4524
|
+
dispatch(selectRelease(meta.name)),
|
|
4525
|
+
dispatch(setSnackbar5({ message: "Upload successful", autoHideDuration: TIMEOUTS.fiveSeconds }))
|
|
4526
|
+
])
|
|
4527
|
+
).catch((err) => {
|
|
4454
4528
|
if ((0, import_axios3.isCancel)(err)) {
|
|
4455
4529
|
return dispatch(setSnackbar5({ message: "The artifact generation has been cancelled", autoHideDuration: TIMEOUTS.fiveSeconds }));
|
|
4456
4530
|
}
|
|
@@ -4673,6 +4747,20 @@ var getUpdateTypes = createAppAsyncThunk(
|
|
|
4673
4747
|
`${sliceName7}/getReleaseTypes`,
|
|
4674
4748
|
(_, { dispatch }) => general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/releases/all/types`).catch((err) => commonErrorHandler(err, `Existing update types couldn't be retrieved.`, dispatch)).then(({ data: types }) => Promise.resolve(dispatch(actions7.receiveReleaseTypes(types))))
|
|
4675
4749
|
);
|
|
4750
|
+
var getDeltaGenerationJobs = createAppAsyncThunk(`${sliceName7}/getDeltaGenerationJobs`, (options = {}, { dispatch }) => {
|
|
4751
|
+
const { page = defaultPage5, perPage = defaultPerPage5, sort = {} } = options;
|
|
4752
|
+
const { key: sortKey, direction: sortDirection } = sort;
|
|
4753
|
+
const sortParam = sortKey && sortDirection ? `&sort=${sortKey}:${sortDirection}` : "";
|
|
4754
|
+
return general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/deployments/releases/delta/jobs?page=${page}&per_page=${perPage}${sortParam}`).then(({ data, headers }) => {
|
|
4755
|
+
const total = Number(headers[import_constants5.headerNames.total]) || data.length;
|
|
4756
|
+
const result = { jobs: data, total };
|
|
4757
|
+
return Promise.all([dispatch(actions7.receivedDeltaJobs(result)), result]);
|
|
4758
|
+
}).catch((err) => commonErrorHandler(err, "There was an error retrieving delta generation jobs:", dispatch));
|
|
4759
|
+
});
|
|
4760
|
+
var getDeltaGenerationJobDetails = createAppAsyncThunk(
|
|
4761
|
+
`${sliceName7}/getDeltaGenerationJobDetails`,
|
|
4762
|
+
(jobId, { dispatch }) => general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/deployments/releases/delta/jobs/${jobId}`).then(({ data }) => dispatch(actions7.receivedDeltaJobDetails(data))).catch((err) => commonErrorHandler(err, "There was an error retrieving delta generation job details:", dispatch))
|
|
4763
|
+
);
|
|
4676
4764
|
|
|
4677
4765
|
// src/usersSlice/thunks.ts
|
|
4678
4766
|
var import_helpers14 = require("@northern.tech/utils/helpers");
|
|
@@ -5327,23 +5415,23 @@ var setAllTooltipsReadState = createAppAsyncThunk(
|
|
|
5327
5415
|
return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
|
|
5328
5416
|
}
|
|
5329
5417
|
);
|
|
5330
|
-
var
|
|
5418
|
+
var submitUserFeedback = createAppAsyncThunk(
|
|
5331
5419
|
`${sliceName8}/submitFeedback`,
|
|
5332
|
-
({
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
5420
|
+
({ formId, feedback }, { dispatch }) => general_api_default.post(`${import_constants5.useradmApiUrlv2}/support/feedback/${formId}`, feedback).then(() => {
|
|
5421
|
+
if (formId === "product") {
|
|
5422
|
+
const today = /* @__PURE__ */ new Date();
|
|
5423
|
+
dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
|
|
5424
|
+
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
5425
|
+
}
|
|
5339
5426
|
})
|
|
5340
5427
|
);
|
|
5341
5428
|
|
|
5342
5429
|
// src/storehooks.ts
|
|
5343
5430
|
var cookies6 = new import_universal_cookie6.default();
|
|
5344
|
-
|
|
5431
|
+
import_dayjs2.default.extend(import_duration.default);
|
|
5345
5432
|
var { setDeviceListState: setDeviceListState2, setFirstLoginAfterSignup: setFirstLoginAfterSignup2, setTooltipsState, setShowStartupNotification } = actions_default;
|
|
5346
5433
|
var featureFlags = [
|
|
5434
|
+
"hasAiEnabled",
|
|
5347
5435
|
"hasAuditlogs",
|
|
5348
5436
|
"hasMultitenancy",
|
|
5349
5437
|
"hasDeltaProgress",
|
|
@@ -5469,7 +5557,7 @@ var useAppInit = (userId) => {
|
|
|
5469
5557
|
];
|
|
5470
5558
|
tasks = maybeAddOnboardingTasks({ devicesByStatus, dispatch, tasks, onboardingState });
|
|
5471
5559
|
if (canManageUsers && intervalUnit && intervalUnit !== timeUnits.days) {
|
|
5472
|
-
const duration =
|
|
5560
|
+
const duration = import_dayjs2.default.duration(interval, intervalUnit);
|
|
5473
5561
|
const days = duration.asDays();
|
|
5474
5562
|
if (days < 1) {
|
|
5475
5563
|
tasks.push(Promise.resolve(setTimeout(() => dispatch(setShowStartupNotification(true)), TIMEOUTS.fiveSeconds)));
|