@northern.tech/store 0.5.2 → 0.6.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.
- package/dist/actions.cjs +47 -0
- package/dist/actions.cjs.map +1 -1
- package/dist/actions.d.cts +14 -15
- package/dist/actions.d.ts +14 -15
- package/dist/actions.js +10 -10
- package/dist/api/general-api.cjs +5 -6
- 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 +5 -6
- 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/selectors.d.cts +9 -9
- package/dist/appSlice/selectors.d.ts +9 -9
- package/dist/appSlice/thunks.cjs +84 -27
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.d.cts +1 -1
- package/dist/appSlice/thunks.d.ts +1 -1
- package/dist/appSlice/thunks.js +26 -26
- package/dist/auth.cjs +4 -5
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.js +3 -3
- package/dist/{chunk-H5FAPMJJ.js → chunk-2ASLHSBV.js} +9 -9
- package/dist/{chunk-KC7SKI3U.js → chunk-2M5W3IDP.js} +8 -5
- package/dist/{chunk-KC7SKI3U.js.map → chunk-2M5W3IDP.js.map} +1 -1
- package/dist/{chunk-V3QEONX7.js → chunk-3ECSADAW.js} +13 -13
- package/dist/{chunk-YY6SKZDF.js → chunk-67GS7ERY.js} +3 -12
- package/dist/chunk-67GS7ERY.js.map +1 -0
- package/dist/{chunk-UGSLGUS6.js → chunk-7BKDELUQ.js} +2 -2
- package/dist/{chunk-QHK7GGV4.js → chunk-B7GXA42G.js} +3 -3
- package/dist/{chunk-PGFVHKP5.js → chunk-CEH2D355.js} +2 -2
- package/dist/{chunk-VUFRP6P3.js → chunk-EIIFEV62.js} +2 -2
- package/dist/chunk-EIIFEV62.js.map +1 -0
- package/dist/{chunk-3P3IE42O.js → chunk-GN2HC6HW.js} +70 -61
- package/dist/chunk-GN2HC6HW.js.map +1 -0
- package/dist/{chunk-ABJLRDCO.js → chunk-MVK6W7ZH.js} +2 -2
- package/dist/chunk-MVK6W7ZH.js.map +1 -0
- package/dist/{chunk-HFOTAPIJ.js → chunk-N3XU7WJM.js} +2 -1
- package/dist/chunk-N3XU7WJM.js.map +1 -0
- package/dist/{chunk-QYLGIR4W.js → chunk-PB36MEEN.js} +3 -2
- package/dist/chunk-PB36MEEN.js.map +1 -0
- package/dist/{chunk-F26IKSML.js → chunk-PTQS3JDZ.js} +10 -10
- package/dist/{chunk-QKPV5RRN.js → chunk-QPHDDTQC.js} +55 -21
- package/dist/chunk-QPHDDTQC.js.map +1 -0
- package/dist/{chunk-MZNANSS2.js → chunk-RRL7OZHU.js} +2 -2
- package/dist/{chunk-MSOXMRF7.js → chunk-RWGVRDFG.js} +12 -3
- package/dist/chunk-RWGVRDFG.js.map +1 -0
- package/dist/{chunk-RS37Y2PQ.js → chunk-TL6KSTZZ.js} +4 -4
- package/dist/chunk-TL6KSTZZ.js.map +1 -0
- package/dist/{chunk-SCZLNFB5.js → chunk-TU4IVT3M.js} +14 -14
- package/dist/{chunk-R6KRH2IY.js → chunk-VIV6U46F.js} +6 -4
- package/dist/chunk-VIV6U46F.js.map +1 -0
- package/dist/{chunk-ZJW3QIPM.js → chunk-W2RDUU5Q.js} +2 -2
- package/dist/{chunk-OOICURFL.js → chunk-WD7MIPCO.js} +48 -2
- package/dist/chunk-WD7MIPCO.js.map +1 -0
- package/dist/{chunk-KJNNEDRV.js → chunk-XLXLFSZA.js} +2 -2
- package/dist/{chunk-UE5N5VO3.js → chunk-XZDCXV4H.js} +3 -3
- package/dist/chunk-XZDCXV4H.js.map +1 -0
- package/dist/{chunk-7C4SQBEE.js → chunk-YEQ7D6AW.js} +5 -6
- package/dist/chunk-YEQ7D6AW.js.map +1 -0
- package/dist/{chunk-JXQUFKID.js → chunk-ZABYTBKG.js} +7 -2
- package/dist/chunk-ZABYTBKG.js.map +1 -0
- package/dist/commonConstants.cjs +4 -5
- package/dist/commonConstants.cjs.map +1 -1
- package/dist/commonConstants.d.cts +14 -13
- package/dist/commonConstants.d.ts +14 -13
- package/dist/commonConstants.js +2 -2
- package/dist/commonSelectors.cjs +14 -25
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.d.cts +127 -138
- package/dist/commonSelectors.d.ts +127 -138
- package/dist/commonSelectors.js +10 -10
- package/dist/constants.cjs +5 -5
- 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.cjs.map +1 -1
- package/dist/deploymentsSlice/constants.d.cts +2 -2
- package/dist/deploymentsSlice/constants.d.ts +2 -2
- package/dist/deploymentsSlice/constants.js +2 -2
- package/dist/deploymentsSlice/index.cjs.map +1 -1
- package/dist/deploymentsSlice/index.d.cts +5 -4
- package/dist/deploymentsSlice/index.d.ts +5 -4
- 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 +25 -4
- package/dist/deploymentsSlice/selectors.d.ts +25 -4
- package/dist/deploymentsSlice/selectors.js +5 -3
- package/dist/deploymentsSlice/thunks.cjs +86 -27
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.d.cts +17 -4
- package/dist/deploymentsSlice/thunks.d.ts +17 -4
- package/dist/deploymentsSlice/thunks.js +28 -26
- package/dist/devicesSlice/constants.js +2 -2
- package/dist/devicesSlice/index.cjs.map +1 -1
- package/dist/devicesSlice/index.d.cts +4 -4
- package/dist/devicesSlice/index.d.ts +4 -4
- package/dist/devicesSlice/index.js +3 -3
- package/dist/devicesSlice/mocks.cjs +4 -4
- package/dist/devicesSlice/mocks.cjs.map +1 -1
- package/dist/devicesSlice/mocks.js +7 -7
- package/dist/devicesSlice/mocks.js.map +1 -1
- package/dist/devicesSlice/selectors.cjs +4 -5
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.d.cts +23 -23
- package/dist/devicesSlice/selectors.d.ts +23 -23
- package/dist/devicesSlice/selectors.js +3 -3
- package/dist/devicesSlice/thunks.cjs +84 -27
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.d.cts +5 -5
- package/dist/devicesSlice/thunks.d.ts +5 -5
- package/dist/devicesSlice/thunks.js +26 -26
- package/dist/liststatehook.cjs +10 -8
- 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 +10 -8
- 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 +62 -16
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.d.cts +1 -1
- package/dist/monitorSlice/thunks.d.ts +1 -1
- package/dist/monitorSlice/thunks.js +22 -22
- package/dist/onboardingSlice/thunks.cjs +84 -27
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.d.cts +1 -1
- package/dist/onboardingSlice/thunks.d.ts +1 -1
- package/dist/onboardingSlice/thunks.js +26 -26
- package/dist/organizationSlice/constants.js +2 -2
- package/dist/organizationSlice/index.js +3 -3
- package/dist/organizationSlice/mocks.d.cts +2 -2
- package/dist/organizationSlice/mocks.d.ts +2 -2
- package/dist/organizationSlice/mocks.js +3 -3
- package/dist/organizationSlice/selectors.cjs +4 -25
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +45 -203
- package/dist/organizationSlice/selectors.d.ts +45 -203
- package/dist/organizationSlice/selectors.js +3 -5
- package/dist/organizationSlice/thunks.cjs +107 -51
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +6 -6
- package/dist/organizationSlice/thunks.d.ts +6 -6
- package/dist/organizationSlice/thunks.js +26 -26
- package/dist/organizationSlice/types.cjs.map +1 -1
- package/dist/organizationSlice/types.d.cts +8 -30
- package/dist/organizationSlice/types.d.ts +8 -30
- package/dist/releasesSlice/index.cjs +46 -0
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.d.cts +55 -5
- package/dist/releasesSlice/index.d.ts +55 -5
- 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 +11 -0
- package/dist/releasesSlice/mocks.d.ts +11 -0
- package/dist/releasesSlice/mocks.js +3 -3
- package/dist/releasesSlice/selectors.cjs +17 -5
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.d.cts +210 -27
- package/dist/releasesSlice/selectors.d.ts +210 -27
- package/dist/releasesSlice/selectors.js +12 -4
- package/dist/releasesSlice/thunks.cjs +109 -27
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +71 -6
- package/dist/releasesSlice/thunks.d.ts +71 -6
- package/dist/releasesSlice/thunks.js +27 -23
- package/dist/selectors.cjs +29 -28
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +5 -19
- package/dist/selectors.d.ts +5 -19
- package/dist/selectors.js +30 -20
- package/dist/sockethook.cjs +4 -5
- 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 +22 -121
- package/dist/store.d.ts +22 -121
- package/dist/store.js +12 -12
- package/dist/storehooks.cjs +154 -65
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +27 -26
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +158 -64
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +4 -4
- package/dist/thunks.d.ts +4 -4
- package/dist/thunks.js +34 -28
- package/dist/useDeploymentDevice.cjs +84 -27
- package/dist/useDeploymentDevice.cjs.map +1 -1
- package/dist/useDeploymentDevice.js +26 -26
- package/dist/usersSlice/constants.js +2 -2
- package/dist/usersSlice/index.js +3 -3
- package/dist/usersSlice/mocks.cjs +1 -0
- package/dist/usersSlice/mocks.cjs.map +1 -1
- package/dist/usersSlice/mocks.d.cts +3 -3
- package/dist/usersSlice/mocks.d.ts +3 -3
- package/dist/usersSlice/mocks.js +4 -3
- package/dist/usersSlice/mocks.js.map +1 -1
- package/dist/usersSlice/selectors.cjs +8 -6
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.d.cts +33 -34
- package/dist/usersSlice/selectors.d.ts +33 -34
- package/dist/usersSlice/selectors.js +6 -4
- package/dist/usersSlice/thunks.cjs +86 -29
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.d.cts +19 -11
- package/dist/usersSlice/thunks.d.ts +19 -11
- package/dist/usersSlice/thunks.js +28 -28
- package/dist/utils.cjs +4 -5
- 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-ABJLRDCO.js.map +0 -1
- package/dist/chunk-HFOTAPIJ.js.map +0 -1
- package/dist/chunk-JXQUFKID.js.map +0 -1
- package/dist/chunk-MSOXMRF7.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-R6KRH2IY.js.map +0 -1
- package/dist/chunk-RS37Y2PQ.js.map +0 -1
- package/dist/chunk-UE5N5VO3.js.map +0 -1
- package/dist/chunk-VUFRP6P3.js.map +0 -1
- package/dist/chunk-YY6SKZDF.js.map +0 -1
- /package/dist/{chunk-H5FAPMJJ.js.map → chunk-2ASLHSBV.js.map} +0 -0
- /package/dist/{chunk-V3QEONX7.js.map → chunk-3ECSADAW.js.map} +0 -0
- /package/dist/{chunk-UGSLGUS6.js.map → chunk-7BKDELUQ.js.map} +0 -0
- /package/dist/{chunk-QHK7GGV4.js.map → chunk-B7GXA42G.js.map} +0 -0
- /package/dist/{chunk-PGFVHKP5.js.map → chunk-CEH2D355.js.map} +0 -0
- /package/dist/{chunk-F26IKSML.js.map → chunk-PTQS3JDZ.js.map} +0 -0
- /package/dist/{chunk-MZNANSS2.js.map → chunk-RRL7OZHU.js.map} +0 -0
- /package/dist/{chunk-SCZLNFB5.js.map → chunk-TU4IVT3M.js.map} +0 -0
- /package/dist/{chunk-ZJW3QIPM.js.map → chunk-W2RDUU5Q.js.map} +0 -0
- /package/dist/{chunk-KJNNEDRV.js.map → chunk-XLXLFSZA.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: "hosted.mender.cn" },
|
|
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
|
};
|
|
@@ -180,7 +181,6 @@ var DARK_MODE = "dark";
|
|
|
180
181
|
|
|
181
182
|
// src/commonConstants.tsx
|
|
182
183
|
var import_js = require("@mdi/js");
|
|
183
|
-
var import_MenderTypes = require("@northern.tech/types/MenderTypes");
|
|
184
184
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
185
185
|
var timeUnits = {
|
|
186
186
|
days: "days",
|
|
@@ -204,9 +204,9 @@ var TIMEOUTS = {
|
|
|
204
204
|
var DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };
|
|
205
205
|
var defaultIdAttribute = Object.freeze({ attribute: "id", scope: import_constants5.ATTRIBUTE_SCOPES.identity });
|
|
206
206
|
var credentialTypes = {
|
|
207
|
-
aws:
|
|
208
|
-
http:
|
|
209
|
-
sas:
|
|
207
|
+
aws: "aws",
|
|
208
|
+
http: "http",
|
|
209
|
+
sas: "sas",
|
|
210
210
|
x509: "x509"
|
|
211
211
|
};
|
|
212
212
|
var EXTERNAL_PROVIDER = {
|
|
@@ -254,7 +254,7 @@ var EXTERNAL_PROVIDER = {
|
|
|
254
254
|
};
|
|
255
255
|
var emptyWebhook = {
|
|
256
256
|
description: "",
|
|
257
|
-
provider:
|
|
257
|
+
provider: "webhook",
|
|
258
258
|
credentials: {
|
|
259
259
|
type: EXTERNAL_PROVIDER.webhook.credentialsType,
|
|
260
260
|
[EXTERNAL_PROVIDER.webhook.credentialsType]: {
|
|
@@ -783,6 +783,7 @@ var initialState = {
|
|
|
783
783
|
},
|
|
784
784
|
// return boolean rather than organization details
|
|
785
785
|
features: {
|
|
786
|
+
hasAiEnabled: false,
|
|
786
787
|
hasAuditlogs: false,
|
|
787
788
|
hasDeltaProgress: false,
|
|
788
789
|
hasMultitenancy: false,
|
|
@@ -1438,6 +1439,23 @@ var initialState7 = {
|
|
|
1438
1439
|
}
|
|
1439
1440
|
*/
|
|
1440
1441
|
},
|
|
1442
|
+
deltaJobs: {
|
|
1443
|
+
/*
|
|
1444
|
+
[jobId]: {
|
|
1445
|
+
id: '',
|
|
1446
|
+
...
|
|
1447
|
+
}
|
|
1448
|
+
*/
|
|
1449
|
+
},
|
|
1450
|
+
deltaJobsList: {
|
|
1451
|
+
...import_constants5.DEVICE_LIST_DEFAULTS,
|
|
1452
|
+
jobIds: [],
|
|
1453
|
+
total: 0,
|
|
1454
|
+
sort: {
|
|
1455
|
+
direction: import_constants5.SORTING_OPTIONS.desc,
|
|
1456
|
+
key: "started"
|
|
1457
|
+
}
|
|
1458
|
+
},
|
|
1441
1459
|
releasesList: {
|
|
1442
1460
|
...import_constants5.DEVICE_LIST_DEFAULTS,
|
|
1443
1461
|
searchedIds: [],
|
|
@@ -1456,6 +1474,7 @@ var initialState7 = {
|
|
|
1456
1474
|
},
|
|
1457
1475
|
tags: [],
|
|
1458
1476
|
updateTypes: [],
|
|
1477
|
+
selectedJob: null,
|
|
1459
1478
|
/*
|
|
1460
1479
|
* Return single release with corresponding Artifacts
|
|
1461
1480
|
*/
|
|
@@ -1488,6 +1507,34 @@ var releaseSlice = (0, import_toolkit7.createSlice)({
|
|
|
1488
1507
|
},
|
|
1489
1508
|
setReleaseListState: (state, action) => {
|
|
1490
1509
|
state.releasesList = action.payload;
|
|
1510
|
+
},
|
|
1511
|
+
receivedDeltaJobs: (state, action) => {
|
|
1512
|
+
const { jobs, total } = action.payload;
|
|
1513
|
+
state.deltaJobs = jobs.reduce(
|
|
1514
|
+
(accu, job) => {
|
|
1515
|
+
accu[job.id] = {
|
|
1516
|
+
...accu[job.id],
|
|
1517
|
+
...job
|
|
1518
|
+
};
|
|
1519
|
+
return accu;
|
|
1520
|
+
},
|
|
1521
|
+
{ ...state.deltaJobs }
|
|
1522
|
+
);
|
|
1523
|
+
state.deltaJobsList.jobIds = jobs.map((job) => job.id);
|
|
1524
|
+
state.deltaJobsList.total = total;
|
|
1525
|
+
},
|
|
1526
|
+
receivedDeltaJobDetails: (state, action) => {
|
|
1527
|
+
const job = action.payload;
|
|
1528
|
+
state.deltaJobs[job.id] = {
|
|
1529
|
+
...state.deltaJobs[job.id],
|
|
1530
|
+
...job
|
|
1531
|
+
};
|
|
1532
|
+
},
|
|
1533
|
+
setDeltaJobsListState: (state, action) => {
|
|
1534
|
+
state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };
|
|
1535
|
+
},
|
|
1536
|
+
setSelectedJob: (state, action) => {
|
|
1537
|
+
state.selectedJob = action.payload;
|
|
1491
1538
|
}
|
|
1492
1539
|
}
|
|
1493
1540
|
});
|
|
@@ -1690,9 +1737,9 @@ var getIsUploading = (0, import_toolkit9.createSelector)([getUploads], (uploadsB
|
|
|
1690
1737
|
var getSearchedDevices = (0, import_toolkit9.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
|
|
1691
1738
|
var getVersionInformation = (0, import_toolkit9.createSelector)(
|
|
1692
1739
|
[getFullVersionInformation, getFeatures],
|
|
1693
|
-
({ Integration
|
|
1740
|
+
({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : { ...remainder, Integration }
|
|
1694
1741
|
);
|
|
1695
|
-
var getIsPreview = (0, import_toolkit9.createSelector)([getFullVersionInformation], ({ Integration
|
|
1742
|
+
var getIsPreview = (0, import_toolkit9.createSelector)([getFullVersionInformation], ({ Integration }) => (0, import_helpers2.versionCompare)(Integration, "next") > -1);
|
|
1696
1743
|
|
|
1697
1744
|
// src/commonSelectors.ts
|
|
1698
1745
|
var import_helpers5 = require("@northern.tech/utils/helpers");
|
|
@@ -1704,6 +1751,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
|
|
|
1704
1751
|
var getDeploymentsByStatus = (state) => state.deployments.byStatus;
|
|
1705
1752
|
var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
|
|
1706
1753
|
var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
|
|
1754
|
+
var getDeploymentById = (0, import_toolkit10.createSelector)(
|
|
1755
|
+
[getDeploymentsById, (_, deploymentId) => deploymentId],
|
|
1756
|
+
(deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
|
|
1757
|
+
);
|
|
1707
1758
|
var getMappedDeploymentSelection = (0, import_toolkit10.createSelector)(
|
|
1708
1759
|
[getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
|
|
1709
1760
|
(selectionState, deploymentsState, deploymentsById) => {
|
|
@@ -1853,8 +1904,6 @@ var getOnboarding = (state) => state.onboarding;
|
|
|
1853
1904
|
|
|
1854
1905
|
// src/organizationSlice/selectors.ts
|
|
1855
1906
|
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
1907
|
var getOrganization = (state) => state.organization.organization;
|
|
1859
1908
|
var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
|
|
1860
1909
|
var getAuditlogState = (state) => state.organization.auditlog.selectionState;
|
|
@@ -1883,12 +1932,6 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
|
|
|
1883
1932
|
const [eventAction, eventTime] = atob(selectedId).split("|");
|
|
1884
1933
|
return events.find((item) => item.action === eventAction && item.time === eventTime);
|
|
1885
1934
|
});
|
|
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
1935
|
|
|
1893
1936
|
// src/releasesSlice/selectors.ts
|
|
1894
1937
|
var import_toolkit13 = require("@reduxjs/toolkit");
|
|
@@ -2058,6 +2101,10 @@ var getHasReleases = (0, import_toolkit13.createSelector)(
|
|
|
2058
2101
|
);
|
|
2059
2102
|
var getSelectedRelease = (0, import_toolkit13.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
|
|
2060
2103
|
var getSelectedReleases = (0, import_toolkit13.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
|
|
2104
|
+
var getDeltaJobsById = (state) => state.releases.deltaJobs;
|
|
2105
|
+
var getDeltaJobById = (0, import_toolkit13.createSelector)([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId) => byId[jobId]);
|
|
2106
|
+
var getSelectedJobId = (state) => state.releases.selectedJob;
|
|
2107
|
+
var getSelectedJob = (0, import_toolkit13.createSelector)([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || ""]);
|
|
2061
2108
|
|
|
2062
2109
|
// src/usersSlice/selectors.ts
|
|
2063
2110
|
var import_toolkit14 = require("@reduxjs/toolkit");
|
|
@@ -2317,7 +2364,7 @@ var import_universal_cookie2 = __toESM(require("universal-cookie"), 1);
|
|
|
2317
2364
|
// src/api/general-api.ts
|
|
2318
2365
|
var import_axios = __toESM(require("axios"), 1);
|
|
2319
2366
|
var unauthorizedRedirect = (error) => {
|
|
2320
|
-
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken()) {
|
|
2367
|
+
if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
|
|
2321
2368
|
cleanUp();
|
|
2322
2369
|
window.location.replace("/ui/");
|
|
2323
2370
|
}
|
|
@@ -2564,6 +2611,8 @@ var transformDeployments = (deployments, deploymentsById) => deployments.sort((0
|
|
|
2564
2611
|
...deploymentPrototype,
|
|
2565
2612
|
...deploymentsById[item.id],
|
|
2566
2613
|
...item,
|
|
2614
|
+
// TODO: explicitly set filter term types to address scope type mismatch in deployment specs
|
|
2615
|
+
// @ts-expect-error: type misalignment in filter terms type
|
|
2567
2616
|
filter: filter ? { ...filter, name: filter.name ?? filter.id, filters: mapTermsToFilters(filter.terms) } : void 0,
|
|
2568
2617
|
name: decodeURIComponent(item.name)
|
|
2569
2618
|
};
|
|
@@ -2907,6 +2956,15 @@ var saveDeltaDeploymentsConfig = createAppAsyncThunk(
|
|
|
2907
2956
|
});
|
|
2908
2957
|
}
|
|
2909
2958
|
);
|
|
2959
|
+
var generateDeploymentLogAnalysis = createAppAsyncThunk(
|
|
2960
|
+
`${sliceName2}/generateDeploymentLogAnalysis`,
|
|
2961
|
+
({ 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) => {
|
|
2962
|
+
if (err.response.status === 429) {
|
|
2963
|
+
return rejectWithValue(err.response);
|
|
2964
|
+
}
|
|
2965
|
+
commonErrorHandler(err, "There was an error analysing the deployment log:", dispatch);
|
|
2966
|
+
})
|
|
2967
|
+
);
|
|
2910
2968
|
|
|
2911
2969
|
// src/devicesSlice/thunks.tsx
|
|
2912
2970
|
var import_react_router_dom = require("react-router-dom");
|
|
@@ -2986,15 +3044,15 @@ var removeDevicesFromGroup = createAppAsyncThunk(
|
|
|
2986
3044
|
)
|
|
2987
3045
|
);
|
|
2988
3046
|
var getGroupNotification = (newGroup, selectedGroup) => {
|
|
2989
|
-
const
|
|
3047
|
+
const successMessage = "The group was updated successfully";
|
|
2990
3048
|
if (newGroup === selectedGroup) {
|
|
2991
|
-
return { message:
|
|
3049
|
+
return { message: successMessage, autoHideDuration: TIMEOUTS.fiveSeconds };
|
|
2992
3050
|
}
|
|
2993
3051
|
return {
|
|
2994
3052
|
action: "",
|
|
2995
3053
|
autoHideDuration: TIMEOUTS.fiveSeconds,
|
|
2996
3054
|
message: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
|
|
2997
|
-
|
|
3055
|
+
successMessage,
|
|
2998
3056
|
" - ",
|
|
2999
3057
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_router_dom.Link, { to: `/devices?inventory=group:eq:${newGroup}`, children: "click here" }),
|
|
3000
3058
|
" to see it."
|
|
@@ -3526,9 +3584,10 @@ var getDeviceConnect = createAppAsyncThunk(
|
|
|
3526
3584
|
var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
|
|
3527
3585
|
var triggerDeviceUpdate = createAppAsyncThunk(
|
|
3528
3586
|
`${sliceName3}/triggerDeviceUpdate`,
|
|
3529
|
-
({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
|
|
3530
|
-
(
|
|
3531
|
-
|
|
3587
|
+
({ 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(() => {
|
|
3588
|
+
dispatch(setSnackbar3("Request has been sent."));
|
|
3589
|
+
return new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds));
|
|
3590
|
+
})
|
|
3532
3591
|
);
|
|
3533
3592
|
var getSessionDetails = createAppAsyncThunk(
|
|
3534
3593
|
`${sliceName3}/getSessionDetails`,
|
|
@@ -3962,15 +4021,14 @@ var advanceOnboarding = createAppAsyncThunk(`${sliceName5}/advanceOnboarding`, (
|
|
|
3962
4021
|
});
|
|
3963
4022
|
|
|
3964
4023
|
// src/organizationSlice/thunks.ts
|
|
3965
|
-
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: "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("&");
|
|
@@ -4351,13 +4408,14 @@ var flattenRelease = (release, stateRelease) => {
|
|
|
4351
4408
|
return { ...stateRelease, ...release, artifacts, device_types_compatible: deviceTypes.filter(import_helpers13.duplicateFilter), modified };
|
|
4352
4409
|
};
|
|
4353
4410
|
var reduceReceivedReleases = (releases, stateReleasesById) => releases.reduce((accu, release) => {
|
|
4354
|
-
const
|
|
4355
|
-
|
|
4411
|
+
const name = release.name ?? release.Name;
|
|
4412
|
+
const stateRelease = stateReleasesById[name] || {};
|
|
4413
|
+
accu[name] = flattenRelease(release, stateRelease);
|
|
4356
4414
|
return accu;
|
|
4357
4415
|
}, {});
|
|
4358
4416
|
var findArtifactIndexInRelease = (releases, id) => Object.values(releases).reduce(
|
|
4359
4417
|
(accu, item) => {
|
|
4360
|
-
const index = item.artifacts
|
|
4418
|
+
const index = item.artifacts?.findIndex((releaseArtifact) => releaseArtifact.id === id) ?? -1;
|
|
4361
4419
|
if (index > -1) {
|
|
4362
4420
|
accu = { release: item, index };
|
|
4363
4421
|
}
|
|
@@ -4420,6 +4478,18 @@ var getArtifactUrl = createAppAsyncThunk(
|
|
|
4420
4478
|
return dispatch(actions7.receiveRelease(release));
|
|
4421
4479
|
})
|
|
4422
4480
|
);
|
|
4481
|
+
var pollLocation = async (location, attempt = 1, maxAttempts = 5, delay = TIMEOUTS.oneSecond) => {
|
|
4482
|
+
try {
|
|
4483
|
+
await general_api_default.get(location);
|
|
4484
|
+
return Promise.resolve();
|
|
4485
|
+
} catch {
|
|
4486
|
+
if (attempt >= maxAttempts) {
|
|
4487
|
+
throw new Error(`Couldn't get ${location} after ${maxAttempts} attempts`);
|
|
4488
|
+
}
|
|
4489
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
4490
|
+
return pollLocation(location, attempt + 1, maxAttempts, delay);
|
|
4491
|
+
}
|
|
4492
|
+
};
|
|
4423
4493
|
var createArtifact = createAppAsyncThunk(`${sliceName7}/createArtifact`, ({ file, meta }, { dispatch }) => {
|
|
4424
4494
|
const formData = Object.entries(meta).reduce((accu, [key, value]) => {
|
|
4425
4495
|
if (Array.isArray(value)) {
|
|
@@ -4444,13 +4514,18 @@ var createArtifact = createAppAsyncThunk(`${sliceName7}/createArtifact`, ({ file
|
|
|
4444
4514
|
(e) => dispatch(uploadProgress3({ id: uploadId, progress: progress(e) })),
|
|
4445
4515
|
cancelSource.signal
|
|
4446
4516
|
)
|
|
4447
|
-
]).then(() => {
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
|
|
4452
|
-
|
|
4453
|
-
|
|
4517
|
+
]).then((tasks) => {
|
|
4518
|
+
const generateResponse = tasks[tasks.length - 1];
|
|
4519
|
+
const generateLocation = generateResponse.headers[import_constants5.headerNames.location];
|
|
4520
|
+
const location = generateLocation.replace("/generate", "");
|
|
4521
|
+
return pollLocation(location);
|
|
4522
|
+
}).then(
|
|
4523
|
+
() => Promise.all([
|
|
4524
|
+
dispatch(getReleases()),
|
|
4525
|
+
dispatch(selectRelease(meta.name)),
|
|
4526
|
+
dispatch(setSnackbar5({ message: "Upload successful", autoHideDuration: TIMEOUTS.fiveSeconds }))
|
|
4527
|
+
])
|
|
4528
|
+
).catch((err) => {
|
|
4454
4529
|
if ((0, import_axios3.isCancel)(err)) {
|
|
4455
4530
|
return dispatch(setSnackbar5({ message: "The artifact generation has been cancelled", autoHideDuration: TIMEOUTS.fiveSeconds }));
|
|
4456
4531
|
}
|
|
@@ -4673,6 +4748,20 @@ var getUpdateTypes = createAppAsyncThunk(
|
|
|
4673
4748
|
`${sliceName7}/getReleaseTypes`,
|
|
4674
4749
|
(_, { 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
4750
|
);
|
|
4751
|
+
var getDeltaGenerationJobs = createAppAsyncThunk(`${sliceName7}/getDeltaGenerationJobs`, (options = {}, { dispatch }) => {
|
|
4752
|
+
const { page = defaultPage5, perPage = defaultPerPage5, sort = {} } = options;
|
|
4753
|
+
const { key: sortKey, direction: sortDirection } = sort;
|
|
4754
|
+
const sortParam = sortKey && sortDirection ? `&sort=${sortKey}:${sortDirection}` : "";
|
|
4755
|
+
return general_api_default.get(`${import_constants5.deploymentsApiUrlV2}/deployments/releases/delta/jobs?page=${page}&per_page=${perPage}${sortParam}`).then(({ data, headers }) => {
|
|
4756
|
+
const total = Number(headers[import_constants5.headerNames.total]) || data.length;
|
|
4757
|
+
const result = { jobs: data, total };
|
|
4758
|
+
return Promise.all([dispatch(actions7.receivedDeltaJobs(result)), result]);
|
|
4759
|
+
}).catch((err) => commonErrorHandler(err, "There was an error retrieving delta generation jobs:", dispatch));
|
|
4760
|
+
});
|
|
4761
|
+
var getDeltaGenerationJobDetails = createAppAsyncThunk(
|
|
4762
|
+
`${sliceName7}/getDeltaGenerationJobDetails`,
|
|
4763
|
+
(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))
|
|
4764
|
+
);
|
|
4676
4765
|
|
|
4677
4766
|
// src/usersSlice/thunks.ts
|
|
4678
4767
|
var import_helpers14 = require("@northern.tech/utils/helpers");
|
|
@@ -5327,23 +5416,23 @@ var setAllTooltipsReadState = createAppAsyncThunk(
|
|
|
5327
5416
|
return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
|
|
5328
5417
|
}
|
|
5329
5418
|
);
|
|
5330
|
-
var
|
|
5419
|
+
var submitUserFeedback = createAppAsyncThunk(
|
|
5331
5420
|
`${sliceName8}/submitFeedback`,
|
|
5332
|
-
({
|
|
5333
|
-
|
|
5334
|
-
|
|
5335
|
-
|
|
5336
|
-
|
|
5337
|
-
|
|
5338
|
-
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
5421
|
+
({ formId, feedback }, { dispatch }) => general_api_default.post(`${import_constants5.useradmApiUrlv2}/support/feedback/${formId}`, feedback).then(() => {
|
|
5422
|
+
if (formId === "product") {
|
|
5423
|
+
const today = /* @__PURE__ */ new Date();
|
|
5424
|
+
dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
|
|
5425
|
+
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
5426
|
+
}
|
|
5339
5427
|
})
|
|
5340
5428
|
);
|
|
5341
5429
|
|
|
5342
5430
|
// src/storehooks.ts
|
|
5343
5431
|
var cookies6 = new import_universal_cookie6.default();
|
|
5344
|
-
|
|
5432
|
+
import_dayjs2.default.extend(import_duration.default);
|
|
5345
5433
|
var { setDeviceListState: setDeviceListState2, setFirstLoginAfterSignup: setFirstLoginAfterSignup2, setTooltipsState, setShowStartupNotification } = actions_default;
|
|
5346
5434
|
var featureFlags = [
|
|
5435
|
+
"hasAiEnabled",
|
|
5347
5436
|
"hasAuditlogs",
|
|
5348
5437
|
"hasMultitenancy",
|
|
5349
5438
|
"hasDeltaProgress",
|
|
@@ -5469,7 +5558,7 @@ var useAppInit = (userId) => {
|
|
|
5469
5558
|
];
|
|
5470
5559
|
tasks = maybeAddOnboardingTasks({ devicesByStatus, dispatch, tasks, onboardingState });
|
|
5471
5560
|
if (canManageUsers && intervalUnit && intervalUnit !== timeUnits.days) {
|
|
5472
|
-
const duration =
|
|
5561
|
+
const duration = import_dayjs2.default.duration(interval, intervalUnit);
|
|
5473
5562
|
const days = duration.asDays();
|
|
5474
5563
|
if (days < 1) {
|
|
5475
5564
|
tasks.push(Promise.resolve(setTimeout(() => dispatch(setShowStartupNotification(true)), TIMEOUTS.fiveSeconds)));
|