@northern.tech/store 0.3.2 → 0.3.4
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/BillingProfile-ChP2_Sqw.d.cts +45 -0
- package/dist/BillingProfile-ChP2_Sqw.d.ts +45 -0
- package/dist/actions.cjs +22 -23
- package/dist/actions.cjs.map +1 -1
- package/dist/actions.js +12 -12
- package/dist/api/general-api.cjs.map +1 -1
- package/dist/api/general-api.js +5 -5
- package/dist/api/types/Tenant.ts +17 -12
- package/dist/api/users-api.cjs.map +1 -1
- package/dist/api/users-api.js +6 -6
- package/dist/appSlice/constants.cjs +18 -10
- package/dist/appSlice/constants.cjs.map +1 -1
- package/dist/appSlice/constants.d.cts +41 -84
- package/dist/appSlice/constants.d.ts +41 -84
- package/dist/appSlice/constants.js +1 -1
- package/dist/appSlice/index.cjs +1 -3
- package/dist/appSlice/index.cjs.map +1 -1
- package/dist/appSlice/index.js +4 -4
- package/dist/appSlice/thunks.cjs +153 -120
- package/dist/appSlice/thunks.cjs.map +1 -1
- package/dist/appSlice/thunks.js +28 -27
- package/dist/auth.cjs.map +1 -1
- package/dist/auth.js +4 -4
- package/dist/{chunk-NI4SZOCF.js → chunk-4RWZR3BN.js} +23 -25
- package/dist/{chunk-NI4SZOCF.js.map → chunk-4RWZR3BN.js.map} +1 -1
- package/dist/{chunk-YGBFDXXA.js → chunk-7YZCUAXZ.js} +2 -2
- package/dist/{chunk-7PVGDMNM.js → chunk-AFICTIVU.js} +3 -5
- package/dist/{chunk-7PVGDMNM.js.map → chunk-AFICTIVU.js.map} +1 -1
- package/dist/{chunk-YT73QWCN.js → chunk-AUBJUUP3.js} +3 -3
- package/dist/{chunk-UEP36GCI.js → chunk-AVX7VVOK.js} +3 -3
- package/dist/{chunk-4B3IMP4I.js → chunk-BSN2TOQC.js} +1 -1
- package/dist/{chunk-4B3IMP4I.js.map → chunk-BSN2TOQC.js.map} +1 -1
- package/dist/{chunk-VOCOFE4I.js → chunk-DCEKU6UV.js} +2 -2
- package/dist/{chunk-E5LEU5PF.js → chunk-DGQKXSRI.js} +3 -3
- package/dist/{chunk-74OJIKXF.js → chunk-EQLHIPPR.js} +182 -142
- package/dist/chunk-EQLHIPPR.js.map +1 -0
- package/dist/{chunk-MDC7Y3EX.js → chunk-EYCORLYU.js} +44 -40
- package/dist/chunk-EYCORLYU.js.map +1 -0
- package/dist/{chunk-KAQJH2YL.js → chunk-FQDSV3NK.js} +13 -5
- package/dist/chunk-FQDSV3NK.js.map +1 -0
- package/dist/{chunk-XTRPX7JZ.js → chunk-FRSA2YB5.js} +3 -3
- package/dist/chunk-FRSA2YB5.js.map +1 -0
- package/dist/{chunk-ANB5BM5J.js → chunk-FVCYB5OP.js} +37 -32
- package/dist/chunk-FVCYB5OP.js.map +1 -0
- package/dist/{chunk-AMGWP7A4.js → chunk-GAI4VYRZ.js} +2 -2
- package/dist/{chunk-YETZPQFR.js → chunk-GWJIY56H.js} +19 -20
- package/dist/chunk-GWJIY56H.js.map +1 -0
- package/dist/{chunk-Q6M5TTDQ.js → chunk-JO33IORF.js} +2 -2
- package/dist/chunk-JO33IORF.js.map +1 -0
- package/dist/chunk-K4MMUDYT.js +391 -0
- package/dist/chunk-K4MMUDYT.js.map +1 -0
- package/dist/{chunk-XXHONFSQ.js → chunk-L3SY3J5M.js} +4 -4
- package/dist/{chunk-XXHONFSQ.js.map → chunk-L3SY3J5M.js.map} +1 -1
- package/dist/{chunk-JAROCU6M.js → chunk-NCSKCF2S.js} +3 -3
- package/dist/{chunk-CYV6632F.js → chunk-NOQR3TE7.js} +2 -2
- package/dist/{chunk-A6CT6GTI.js → chunk-OEP2D6QL.js} +18 -12
- package/dist/chunk-OEP2D6QL.js.map +1 -0
- package/dist/{chunk-2RJIDREZ.js → chunk-PAIB5V27.js} +32 -23
- package/dist/chunk-PAIB5V27.js.map +1 -0
- package/dist/{chunk-FGKMJS3B.js → chunk-RX32WLVJ.js} +2 -4
- package/dist/chunk-RX32WLVJ.js.map +1 -0
- package/dist/{chunk-YTQUNAZP.js → chunk-X3GZILYD.js} +3 -3
- package/dist/{chunk-25AKG5HH.js → chunk-Y575RZHR.js} +19 -11
- package/dist/chunk-Y575RZHR.js.map +1 -0
- package/dist/{chunk-RX55KAKX.js → chunk-ZWOAFHAR.js} +2 -2
- package/dist/{chunk-NNADGHSL.js → chunk-ZZMFXRQK.js} +14 -14
- package/dist/commonConstants.cjs.map +1 -1
- package/dist/commonConstants.d.cts +1 -1
- package/dist/commonConstants.d.ts +1 -1
- package/dist/commonConstants.js +1 -1
- package/dist/commonSelectors.cjs +47 -29
- package/dist/commonSelectors.cjs.map +1 -1
- package/dist/commonSelectors.d.cts +55 -46
- package/dist/commonSelectors.d.ts +55 -46
- package/dist/commonSelectors.js +11 -11
- package/dist/constants.cjs +35 -19
- package/dist/constants.cjs.map +1 -1
- package/dist/constants.d.cts +3 -3
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +7 -3
- package/dist/deploymentdevicehook.cjs +159 -125
- package/dist/deploymentdevicehook.cjs.map +1 -1
- package/dist/deploymentdevicehook.d.cts +1 -1
- package/dist/deploymentdevicehook.d.ts +1 -1
- package/dist/deploymentdevicehook.js +34 -31
- package/dist/deploymentdevicehook.js.map +1 -1
- package/dist/deploymentsSlice/constants.cjs +8 -8
- package/dist/deploymentsSlice/constants.cjs.map +1 -1
- package/dist/deploymentsSlice/constants.js +3 -3
- package/dist/deploymentsSlice/index.cjs +8 -8
- package/dist/deploymentsSlice/index.cjs.map +1 -1
- package/dist/deploymentsSlice/index.js +4 -4
- package/dist/deploymentsSlice/selectors.cjs +8 -8
- package/dist/deploymentsSlice/selectors.cjs.map +1 -1
- package/dist/deploymentsSlice/selectors.js +4 -4
- package/dist/deploymentsSlice/thunks.cjs +153 -120
- package/dist/deploymentsSlice/thunks.cjs.map +1 -1
- package/dist/deploymentsSlice/thunks.js +28 -27
- package/dist/devicesSlice/constants.cjs +11 -8
- package/dist/devicesSlice/constants.cjs.map +1 -1
- package/dist/devicesSlice/constants.d.cts +2 -1
- package/dist/devicesSlice/constants.d.ts +2 -1
- package/dist/devicesSlice/constants.js +5 -3
- package/dist/devicesSlice/index.cjs +8 -8
- package/dist/devicesSlice/index.cjs.map +1 -1
- package/dist/devicesSlice/index.js +4 -4
- package/dist/devicesSlice/selectors.cjs +9 -9
- package/dist/devicesSlice/selectors.cjs.map +1 -1
- package/dist/devicesSlice/selectors.js +4 -4
- package/dist/devicesSlice/thunks.cjs +155 -120
- package/dist/devicesSlice/thunks.cjs.map +1 -1
- package/dist/devicesSlice/thunks.d.cts +12 -2
- package/dist/devicesSlice/thunks.d.ts +12 -2
- package/dist/devicesSlice/thunks.js +30 -27
- package/dist/flag-eu-5477R2P4.svg +130 -0
- package/dist/flag-us-HNQAF66I.svg +63 -0
- package/dist/liststatehook.cjs +971 -0
- package/dist/liststatehook.cjs.map +1 -0
- package/dist/liststatehook.d.cts +246 -0
- package/dist/liststatehook.d.ts +246 -0
- package/dist/liststatehook.js +88 -0
- package/dist/liststatehook.js.map +1 -0
- package/dist/locationutils.cjs +942 -0
- package/dist/locationutils.cjs.map +1 -0
- package/dist/locationutils.d.cts +113 -0
- package/dist/locationutils.d.ts +113 -0
- package/dist/locationutils.js +46 -0
- package/dist/locationutils.js.map +1 -0
- package/dist/monitorSlice/constants.cjs +8 -8
- package/dist/monitorSlice/constants.cjs.map +1 -1
- package/dist/monitorSlice/constants.js +3 -3
- package/dist/monitorSlice/index.cjs +8 -8
- package/dist/monitorSlice/index.cjs.map +1 -1
- package/dist/monitorSlice/index.js +4 -4
- package/dist/monitorSlice/thunks.cjs +74 -62
- package/dist/monitorSlice/thunks.cjs.map +1 -1
- package/dist/monitorSlice/thunks.js +24 -24
- package/dist/onboardingSlice/index.cjs +1 -3
- package/dist/onboardingSlice/index.cjs.map +1 -1
- package/dist/onboardingSlice/index.js +1 -1
- package/dist/onboardingSlice/thunks.cjs +157 -124
- package/dist/onboardingSlice/thunks.cjs.map +1 -1
- package/dist/onboardingSlice/thunks.d.cts +2 -34
- package/dist/onboardingSlice/thunks.d.ts +2 -34
- package/dist/onboardingSlice/thunks.js +28 -29
- package/dist/organizationSlice/constants.cjs +22 -17
- package/dist/organizationSlice/constants.cjs.map +1 -1
- package/dist/organizationSlice/constants.d.cts +33 -1
- package/dist/organizationSlice/constants.d.ts +33 -1
- package/dist/organizationSlice/constants.js +5 -3
- package/dist/organizationSlice/index.cjs +18 -15
- package/dist/organizationSlice/index.cjs.map +1 -1
- package/dist/organizationSlice/index.d.cts +27 -1012
- package/dist/organizationSlice/index.d.ts +27 -1012
- package/dist/organizationSlice/index.js +4 -4
- package/dist/organizationSlice/selectors.cjs.map +1 -1
- package/dist/organizationSlice/selectors.d.cts +10 -1
- package/dist/organizationSlice/selectors.d.ts +10 -1
- package/dist/organizationSlice/selectors.js +4 -4
- package/dist/organizationSlice/thunks.cjs +1619 -1559
- package/dist/organizationSlice/thunks.cjs.map +1 -1
- package/dist/organizationSlice/thunks.d.cts +62 -37
- package/dist/organizationSlice/thunks.d.ts +62 -37
- package/dist/organizationSlice/thunks.js +28 -27
- package/dist/organizationSlice/types.cjs +19 -0
- package/dist/organizationSlice/types.cjs.map +1 -0
- package/dist/organizationSlice/types.d.cts +5 -0
- package/dist/organizationSlice/types.d.ts +5 -0
- package/dist/organizationSlice/types.js +1 -0
- package/dist/organizationSlice/types.js.map +1 -0
- package/dist/releasesSlice/index.cjs.map +1 -1
- package/dist/releasesSlice/index.js +4 -4
- package/dist/releasesSlice/selectors.cjs +17 -8
- package/dist/releasesSlice/selectors.cjs.map +1 -1
- package/dist/releasesSlice/selectors.js +5 -5
- package/dist/releasesSlice/thunks.cjs +123 -94
- package/dist/releasesSlice/thunks.cjs.map +1 -1
- package/dist/releasesSlice/thunks.d.cts +1 -4
- package/dist/releasesSlice/thunks.d.ts +1 -4
- package/dist/releasesSlice/thunks.js +25 -24
- package/dist/selectors.cjs +53 -29
- package/dist/selectors.cjs.map +1 -1
- package/dist/selectors.d.cts +10 -1
- package/dist/selectors.d.ts +10 -1
- package/dist/selectors.js +49 -43
- package/dist/sockethook.cjs +529 -0
- package/dist/sockethook.cjs.map +1 -0
- package/dist/sockethook.d.cts +10 -0
- package/dist/sockethook.d.ts +10 -0
- package/dist/sockethook.js +141 -0
- package/dist/sockethook.js.map +1 -0
- package/dist/store.cjs +38 -29
- package/dist/store.cjs.map +1 -1
- package/dist/store.d.cts +13 -231
- package/dist/store.d.ts +13 -231
- package/dist/store.js +18 -16
- package/dist/storehooks.cjs +273 -198
- package/dist/storehooks.cjs.map +1 -1
- package/dist/storehooks.js +38 -37
- package/dist/storehooks.js.map +1 -1
- package/dist/thunks.cjs +259 -184
- package/dist/thunks.cjs.map +1 -1
- package/dist/thunks.d.cts +6 -2
- package/dist/thunks.d.ts +6 -2
- package/dist/thunks.js +30 -29
- package/dist/types-DBj17FZO.d.cts +135 -0
- package/dist/types-DnfZa6xd.d.ts +135 -0
- package/dist/usersSlice/constants.cjs +10 -10
- package/dist/usersSlice/constants.cjs.map +1 -1
- package/dist/usersSlice/constants.d.cts +6 -6
- package/dist/usersSlice/constants.d.ts +6 -6
- package/dist/usersSlice/constants.js +3 -3
- package/dist/usersSlice/index.cjs +10 -10
- package/dist/usersSlice/index.cjs.map +1 -1
- package/dist/usersSlice/index.js +4 -4
- package/dist/usersSlice/selectors.cjs +35 -13
- package/dist/usersSlice/selectors.cjs.map +1 -1
- package/dist/usersSlice/selectors.d.cts +44 -1
- package/dist/usersSlice/selectors.d.ts +44 -1
- package/dist/usersSlice/selectors.js +13 -7
- package/dist/usersSlice/thunks.cjs +151 -120
- package/dist/usersSlice/thunks.cjs.map +1 -1
- package/dist/usersSlice/thunks.d.cts +10 -9
- package/dist/usersSlice/thunks.d.ts +10 -9
- package/dist/usersSlice/thunks.js +28 -27
- package/dist/utils.cjs +23 -24
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +4 -4
- package/package.json +7 -6
- package/dist/chunk-25AKG5HH.js.map +0 -1
- package/dist/chunk-2RJIDREZ.js.map +0 -1
- package/dist/chunk-74OJIKXF.js.map +0 -1
- package/dist/chunk-A6CT6GTI.js.map +0 -1
- package/dist/chunk-ANB5BM5J.js.map +0 -1
- package/dist/chunk-FGKMJS3B.js.map +0 -1
- package/dist/chunk-KAQJH2YL.js.map +0 -1
- package/dist/chunk-MDC7Y3EX.js.map +0 -1
- package/dist/chunk-Q6M5TTDQ.js.map +0 -1
- package/dist/chunk-XTRPX7JZ.js.map +0 -1
- package/dist/chunk-YETZPQFR.js.map +0 -1
- /package/dist/{chunk-YGBFDXXA.js.map → chunk-7YZCUAXZ.js.map} +0 -0
- /package/dist/{chunk-YT73QWCN.js.map → chunk-AUBJUUP3.js.map} +0 -0
- /package/dist/{chunk-UEP36GCI.js.map → chunk-AVX7VVOK.js.map} +0 -0
- /package/dist/{chunk-VOCOFE4I.js.map → chunk-DCEKU6UV.js.map} +0 -0
- /package/dist/{chunk-E5LEU5PF.js.map → chunk-DGQKXSRI.js.map} +0 -0
- /package/dist/{chunk-AMGWP7A4.js.map → chunk-GAI4VYRZ.js.map} +0 -0
- /package/dist/{chunk-JAROCU6M.js.map → chunk-NCSKCF2S.js.map} +0 -0
- /package/dist/{chunk-CYV6632F.js.map → chunk-NOQR3TE7.js.map} +0 -0
- /package/dist/{chunk-YTQUNAZP.js.map → chunk-X3GZILYD.js.map} +0 -0
- /package/dist/{chunk-RX55KAKX.js.map → chunk-ZWOAFHAR.js.map} +0 -0
- /package/dist/{chunk-NNADGHSL.js.map → chunk-ZZMFXRQK.js.map} +0 -0
|
@@ -68,6 +68,7 @@ __export(thunks_exports, {
|
|
|
68
68
|
verifyEmailStart: () => verifyEmailStart
|
|
69
69
|
});
|
|
70
70
|
module.exports = __toCommonJS(thunks_exports);
|
|
71
|
+
var import_helptips = require("@northern.tech/common-ui/helptips");
|
|
71
72
|
|
|
72
73
|
// src/appSlice/constants.ts
|
|
73
74
|
var import_icons_material = require("@mui/icons-material");
|
|
@@ -97,28 +98,28 @@ var PLANS = {
|
|
|
97
98
|
id: "os",
|
|
98
99
|
name: "Basic",
|
|
99
100
|
offer: true,
|
|
100
|
-
price: "$32/month",
|
|
101
|
+
price: "$32 / month",
|
|
101
102
|
deviceCount: startingDeviceCount.os,
|
|
102
|
-
offerprice: "$23/month for first 50 devices",
|
|
103
|
+
offerprice: "$23 / month for first 50 devices",
|
|
103
104
|
price2: "for first 6 months;\n$29/month thereafter",
|
|
104
|
-
features: ["
|
|
105
|
+
features: ["Access to core features of Mender", "Basic support"]
|
|
105
106
|
},
|
|
106
107
|
professional: {
|
|
107
108
|
id: "professional",
|
|
108
109
|
name: "Professional",
|
|
109
110
|
offer: true,
|
|
110
|
-
price: "$269/month",
|
|
111
|
+
price: "$269 / month",
|
|
111
112
|
deviceCount: startingDeviceCount.professional,
|
|
112
|
-
offerprice: "$200/month for first 50 devices",
|
|
113
|
+
offerprice: "$200 / month for first 50 devices",
|
|
113
114
|
price2: "for first 6 months;\n$249/month thereafter",
|
|
114
|
-
features: ["
|
|
115
|
+
features: ["Advanced OTA features", "Higher priority support"]
|
|
115
116
|
},
|
|
116
117
|
enterprise: {
|
|
117
118
|
id: "enterprise",
|
|
118
119
|
name: "Enterprise",
|
|
119
120
|
price: "Custom pricing",
|
|
120
|
-
deviceCount: "
|
|
121
|
-
features: ["
|
|
121
|
+
deviceCount: "Unlimited devices",
|
|
122
|
+
features: ["All Mender features", "Advanced security features", "SLA-backed support"]
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
125
|
var ADDONS = {
|
|
@@ -589,6 +590,7 @@ var DEVICE_STATES = {
|
|
|
589
590
|
rejected: "rejected"
|
|
590
591
|
};
|
|
591
592
|
var geoAttributes = ["geo-lat", "geo-lon"].map((attribute) => ({ attribute, scope: "inventory" }));
|
|
593
|
+
var REPORT_CHART_SIZE_LIMIT = 6;
|
|
592
594
|
|
|
593
595
|
// src/monitorSlice/constants.ts
|
|
594
596
|
var alertChannels = { email: "email" };
|
|
@@ -670,13 +672,16 @@ var SSO_TYPES = {
|
|
|
670
672
|
configDetails: [{ key: "startURL", label: "Start Url", getValue: getOidcStartUrl }]
|
|
671
673
|
}
|
|
672
674
|
};
|
|
673
|
-
var
|
|
674
|
-
{ title: "Artifact", queryParameter: "object_type", value: "artifact" },
|
|
675
|
-
{ title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
|
|
676
|
-
{ title: "Device", queryParameter: "object_id", value: "device" },
|
|
677
|
-
{ title: "
|
|
678
|
-
|
|
679
|
-
|
|
675
|
+
var auditlogTypes = {
|
|
676
|
+
artifact: { title: "Artifact", queryParameter: "object_type", value: "artifact" },
|
|
677
|
+
deployment: { title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
|
|
678
|
+
device: { title: "Device", queryParameter: "object_id", value: "device" },
|
|
679
|
+
user_access_token: { title: "Personal Access Token", queryParameter: "user_access_token", value: "user_access_token" },
|
|
680
|
+
user: { title: "User", queryParameter: "object_id", value: "user" },
|
|
681
|
+
tenant: { title: "Tenant", queryParameter: "object_id", value: "tenant" }
|
|
682
|
+
};
|
|
683
|
+
var AUDIT_LOGS_TYPES = [auditlogTypes.artifact, auditlogTypes.deployment, auditlogTypes.device, auditlogTypes.user_access_token, auditlogTypes.user];
|
|
684
|
+
var SP_AUDIT_LOGS_TYPES = [auditlogTypes.user, auditlogTypes.tenant];
|
|
680
685
|
var emptyWebhook = {
|
|
681
686
|
description: "",
|
|
682
687
|
enabled: true,
|
|
@@ -809,7 +814,7 @@ var uiPermissionsByArea = {
|
|
|
809
814
|
explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
|
|
810
815
|
key: "auditlog",
|
|
811
816
|
uiPermissions: [uiPermissionsById.read],
|
|
812
|
-
title: "System
|
|
817
|
+
title: "System Audit Log"
|
|
813
818
|
},
|
|
814
819
|
deployments: {
|
|
815
820
|
endpoints: [
|
|
@@ -960,7 +965,7 @@ var serviceProviderRolesById = {
|
|
|
960
965
|
},
|
|
961
966
|
readOnly: {
|
|
962
967
|
name: "Read access",
|
|
963
|
-
value: staticRolesByName.
|
|
968
|
+
value: staticRolesByName.readOnly,
|
|
964
969
|
description: "This role can see all linked organizations but cannot make any changes",
|
|
965
970
|
permissions: [],
|
|
966
971
|
uiPermissions: {
|
|
@@ -1218,9 +1223,7 @@ var appSlice = (0, import_toolkit.createSlice)({
|
|
|
1218
1223
|
...action.payload
|
|
1219
1224
|
};
|
|
1220
1225
|
},
|
|
1221
|
-
setEnvironmentData: (state, action) => {
|
|
1222
|
-
return { ...state, ...action.payload };
|
|
1223
|
-
}
|
|
1226
|
+
setEnvironmentData: (state, action) => ({ ...state, ...action.payload })
|
|
1224
1227
|
}
|
|
1225
1228
|
});
|
|
1226
1229
|
var actions = appSlice.actions;
|
|
@@ -1595,9 +1598,7 @@ var onboardingSlice = (0, import_toolkit5.createSlice)({
|
|
|
1595
1598
|
name: sliceName5,
|
|
1596
1599
|
initialState: initialState5,
|
|
1597
1600
|
reducers: {
|
|
1598
|
-
setOnboardingState: (state, action) => {
|
|
1599
|
-
return { ...state, ...action.payload };
|
|
1600
|
-
},
|
|
1601
|
+
setOnboardingState: (state, action) => ({ ...state, ...action.payload }),
|
|
1601
1602
|
setDemoArtifactPort: (state, action) => {
|
|
1602
1603
|
state.demoArtifactPort = action.payload;
|
|
1603
1604
|
},
|
|
@@ -2179,7 +2180,7 @@ var getGroups = (0, import_toolkit11.createSelector)([getGroupsById], (groupsByI
|
|
|
2179
2180
|
(accu, [groupname, group]) => {
|
|
2180
2181
|
const name = groupname === UNGROUPED_GROUP.id ? UNGROUPED_GROUP.name : groupname;
|
|
2181
2182
|
const groupItem = { ...group, groupId: name, name: groupname };
|
|
2182
|
-
if (group.filters
|
|
2183
|
+
if (group.filters?.length > 0) {
|
|
2183
2184
|
if (groupname !== UNGROUPED_GROUP.id) {
|
|
2184
2185
|
accu.dynamic.push(groupItem);
|
|
2185
2186
|
} else {
|
|
@@ -2252,14 +2253,15 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
|
|
|
2252
2253
|
// src/utils.ts
|
|
2253
2254
|
var import_helpers4 = require("@northern.tech/utils/helpers");
|
|
2254
2255
|
var filterProcessors = {
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2256
|
+
[DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
|
|
2257
|
+
[DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
|
|
2258
|
+
[DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
|
|
2259
|
+
[DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
|
|
2260
|
+
[DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
|
|
2261
|
+
[DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
|
|
2262
|
+
[DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
|
|
2263
|
+
[DEVICE_FILTERING_OPTIONS.$exists.key]: import_helpers4.yes,
|
|
2264
|
+
[DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
|
|
2263
2265
|
};
|
|
2264
2266
|
var filterAliases = {
|
|
2265
2267
|
$nexists: { alias: DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
|
|
@@ -2303,14 +2305,12 @@ var filtersFilter = (item, index, array) => {
|
|
|
2303
2305
|
const firstIndex = array.findIndex((filter) => filterCompare(filter, item));
|
|
2304
2306
|
return firstIndex === index;
|
|
2305
2307
|
};
|
|
2306
|
-
var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => {
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
}, []);
|
|
2313
|
-
};
|
|
2308
|
+
var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
|
|
2309
|
+
if (id && byId[id]) {
|
|
2310
|
+
accu.push({ ...defaultObject, ...byId[id] });
|
|
2311
|
+
}
|
|
2312
|
+
return accu;
|
|
2313
|
+
}, []);
|
|
2314
2314
|
var mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
|
|
2315
2315
|
(accu, [key, value]) => {
|
|
2316
2316
|
let values;
|
|
@@ -2383,8 +2383,13 @@ var getTooltipsById = (state) => state.users.tooltips.byId;
|
|
|
2383
2383
|
var getGlobalSettings = (state) => state.users.globalSettings;
|
|
2384
2384
|
var getCurrentUserId = (state) => state.users.currentUser;
|
|
2385
2385
|
var getUsersById = (state) => state.users.byId;
|
|
2386
|
+
var getUsersList = (0, import_toolkit14.createSelector)([getUsersById], (usersById) => Object.values(usersById));
|
|
2386
2387
|
var getCurrentUser = (0, import_toolkit14.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => usersById[userId] ?? {});
|
|
2387
2388
|
var getUserSettings = (state) => state.users.userSettings;
|
|
2389
|
+
var getSelectedDeviceAttribute = (0, import_toolkit14.createSelector)(
|
|
2390
|
+
[getUserSettings],
|
|
2391
|
+
({ columnSelection }) => columnSelection.map((attribute) => ({ attribute: attribute.key, scope: attribute.scope }))
|
|
2392
|
+
);
|
|
2388
2393
|
var getIsDarkMode = (0, import_toolkit14.createSelector)([getUserSettings], ({ mode }) => isDarkMode(mode));
|
|
2389
2394
|
var getShowHelptips = (0, import_toolkit14.createSelector)(
|
|
2390
2395
|
[getTooltipsById],
|
|
@@ -2409,7 +2414,7 @@ var getOfflineThresholdSettings = (0, import_toolkit14.createSelector)([getGloba
|
|
|
2409
2414
|
interval: offlineThreshold?.interval || DEVICE_ONLINE_CUTOFF.interval,
|
|
2410
2415
|
intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName
|
|
2411
2416
|
}));
|
|
2412
|
-
var getRolesList = (0, import_toolkit14.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([
|
|
2417
|
+
var getRolesList = (0, import_toolkit14.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([value, role]) => ({ value, ...role })));
|
|
2413
2418
|
|
|
2414
2419
|
// src/commonSelectors.ts
|
|
2415
2420
|
var getIsEnterprise = (0, import_toolkit15.createSelector)(
|
|
@@ -2470,12 +2475,18 @@ var getUserCapabilities = (0, import_toolkit15.createSelector)([getUserRoles, ge
|
|
|
2470
2475
|
});
|
|
2471
2476
|
var getTenantCapabilities = (0, import_toolkit15.createSelector)(
|
|
2472
2477
|
[getFeatures, getOrganization, getIsEnterprise],
|
|
2473
|
-
({
|
|
2478
|
+
({
|
|
2479
|
+
hasAuditlogs: isAuditlogEnabled,
|
|
2480
|
+
hasDeviceConfig: isDeviceConfigEnabled,
|
|
2481
|
+
hasDeviceConnect: isDeviceConnectEnabled,
|
|
2482
|
+
hasMonitor: isMonitorEnabled,
|
|
2483
|
+
isHosted
|
|
2484
|
+
}, { addons = [], plan = PLANS.os.id }, isEnterprise) => {
|
|
2474
2485
|
const canDelta = isEnterprise || plan === PLANS.professional.id;
|
|
2475
2486
|
const hasAuditlogs = isAuditlogEnabled && isEnterprise;
|
|
2476
|
-
const hasDeviceConfig =
|
|
2477
|
-
const hasDeviceConnect =
|
|
2478
|
-
const hasMonitor = isMonitorEnabled && addons.some((addon) => addon.name ===
|
|
2487
|
+
const hasDeviceConfig = addons.some((addon) => addon.name === ADDONS.configure.id && addon.enabled) || isDeviceConfigEnabled && !isHosted;
|
|
2488
|
+
const hasDeviceConnect = addons.some((addon) => addon.name === ADDONS.troubleshoot.id && addon.enabled) || isDeviceConnectEnabled && !isHosted;
|
|
2489
|
+
const hasMonitor = isMonitorEnabled && addons.some((addon) => addon.name === ADDONS.monitor.id && addon.enabled);
|
|
2479
2490
|
return {
|
|
2480
2491
|
canDelta,
|
|
2481
2492
|
canRetry: canDelta,
|
|
@@ -2579,9 +2590,7 @@ var getGroupNames = (0, import_toolkit15.createSelector)([getGroupsById, getUser
|
|
|
2579
2590
|
});
|
|
2580
2591
|
var getDeviceReportsForUser = (0, import_toolkit15.createSelector)(
|
|
2581
2592
|
[getUserSettings, getCurrentUser, getGlobalSettings, getDevicesById],
|
|
2582
|
-
({ reports }, { id: currentUserId }, globalSettings, devicesById) => {
|
|
2583
|
-
return reports || globalSettings[`${currentUserId}-reports`] || (Object.keys(devicesById).length ? defaultReports : []);
|
|
2584
|
-
}
|
|
2593
|
+
({ reports }, { id: currentUserId }, globalSettings, devicesById) => reports || globalSettings[`${currentUserId}-reports`] || (Object.keys(devicesById).length ? defaultReports : [])
|
|
2585
2594
|
);
|
|
2586
2595
|
var listTypeDeviceIdMap = {
|
|
2587
2596
|
deviceList: getListedDevices,
|
|
@@ -2605,7 +2614,7 @@ var getAuditlogDevice = (0, import_toolkit15.createSelector)([getAuditLogEntry,
|
|
|
2605
2614
|
var getRelevantRoles = (0, import_toolkit15.createSelector)([getOrganization, getRolesList], ({ service_provider }, roles) => {
|
|
2606
2615
|
if (service_provider) {
|
|
2607
2616
|
return roles.reduce((accu, role) => {
|
|
2608
|
-
if (rolesById[role.
|
|
2617
|
+
if (rolesById[role.value]) {
|
|
2609
2618
|
return accu;
|
|
2610
2619
|
}
|
|
2611
2620
|
accu.push(role);
|
|
@@ -2613,20 +2622,19 @@ var getRelevantRoles = (0, import_toolkit15.createSelector)([getOrganization, ge
|
|
|
2613
2622
|
}, Object.values(serviceProviderRolesById));
|
|
2614
2623
|
}
|
|
2615
2624
|
return Object.keys(rolesById).reverse().reduce((accu, key) => {
|
|
2616
|
-
const index = accu.findIndex(({
|
|
2625
|
+
const index = accu.findIndex(({ value }) => value === key);
|
|
2617
2626
|
accu = [accu[index], ...accu.filter((item, itemIndex) => index !== itemIndex)];
|
|
2618
2627
|
return accu;
|
|
2619
2628
|
}, roles);
|
|
2620
2629
|
});
|
|
2621
2630
|
|
|
2622
2631
|
// src/store.ts
|
|
2632
|
+
var import_react_redux = require("react-redux");
|
|
2623
2633
|
var import_helpers6 = require("@northern.tech/utils/helpers");
|
|
2624
2634
|
var import_toolkit16 = require("@reduxjs/toolkit");
|
|
2625
2635
|
var { setSnackbar, uploadProgress } = actions_default;
|
|
2626
2636
|
var keys = ["sessionDeploymentChecker", settingsKeys.initialized];
|
|
2627
|
-
var resetEnvironment = () =>
|
|
2628
|
-
keys.map((key) => window.sessionStorage.removeItem(key));
|
|
2629
|
-
};
|
|
2637
|
+
var resetEnvironment = () => keys.forEach((key) => window.sessionStorage.removeItem(key));
|
|
2630
2638
|
resetEnvironment();
|
|
2631
2639
|
var commonErrorFallback = "Please check your connection.";
|
|
2632
2640
|
var commonErrorHandler = (err, errorContext, dispatch, fallback, mightBeAuthRelated = false) => {
|
|
@@ -2652,6 +2660,14 @@ var sessionReducer = (state, action) => {
|
|
|
2652
2660
|
}
|
|
2653
2661
|
return rootReducer(state, action);
|
|
2654
2662
|
};
|
|
2663
|
+
var rejectionLoggerMiddleware = () => (next) => (action) => {
|
|
2664
|
+
if (action.type.endsWith("/rejected")) {
|
|
2665
|
+
const { error } = action;
|
|
2666
|
+
console.error("Rejection in action:", action);
|
|
2667
|
+
console.error(error.stack);
|
|
2668
|
+
}
|
|
2669
|
+
return next(action);
|
|
2670
|
+
};
|
|
2655
2671
|
var getConfiguredStore = (options = {}) => {
|
|
2656
2672
|
const { preloadedState = {}, ...config } = options;
|
|
2657
2673
|
return (0, import_toolkit16.configureStore)({
|
|
@@ -2667,7 +2683,7 @@ var getConfiguredStore = (options = {}) => {
|
|
|
2667
2683
|
ignoredActionPaths: ["uploads", "snackbar", /payload\..*$/],
|
|
2668
2684
|
ignoredPaths: ["app.uploadsById", "app.snackbar", "organization.externalDeviceIntegrations"]
|
|
2669
2685
|
}
|
|
2670
|
-
})
|
|
2686
|
+
}).concat(rejectionLoggerMiddleware)
|
|
2671
2687
|
});
|
|
2672
2688
|
};
|
|
2673
2689
|
var store = getConfiguredStore({
|
|
@@ -2784,12 +2800,13 @@ var setSearchState = (0, import_toolkit17.createAsyncThunk)(`${sliceName}/setSea
|
|
|
2784
2800
|
|
|
2785
2801
|
// src/deploymentsSlice/thunks.ts
|
|
2786
2802
|
var import_helpers8 = require("@northern.tech/utils/helpers");
|
|
2803
|
+
var import_tracking = __toESM(require("@northern.tech/utils/tracking"), 1);
|
|
2787
2804
|
var import_toolkit18 = require("@reduxjs/toolkit");
|
|
2788
2805
|
var import_validator = require("validator");
|
|
2789
2806
|
var { receivedDevice, setSnackbar: setSnackbar2 } = actions_default;
|
|
2790
2807
|
var { page: defaultPage, perPage: defaultPerPage } = DEVICE_LIST_DEFAULTS;
|
|
2791
2808
|
var deriveDeploymentGroup = ({ filter = {}, group, groups = [], name }) => group || groups.length === 1 && !(0, import_validator.isUUID)(name) ? groups[0] : filter.name;
|
|
2792
|
-
var transformDeployments = (deployments, deploymentsById) => deployments.sort(import_helpers8.
|
|
2809
|
+
var transformDeployments = (deployments, deploymentsById) => deployments.sort((0, import_helpers8.customSort)(true, "created")).reduce(
|
|
2793
2810
|
(accu, item) => {
|
|
2794
2811
|
const filter = item.filter ?? {};
|
|
2795
2812
|
let deployment = {
|
|
@@ -2840,6 +2857,26 @@ var getDeploymentsByStatus2 = (0, import_toolkit18.createAsyncThunk)(`${sliceNam
|
|
|
2840
2857
|
return Promise.all(tasks);
|
|
2841
2858
|
});
|
|
2842
2859
|
});
|
|
2860
|
+
var isWithinFirstMonth = (expirationDate) => {
|
|
2861
|
+
if (!expirationDate) {
|
|
2862
|
+
return false;
|
|
2863
|
+
}
|
|
2864
|
+
const endOfFirstMonth = new Date(expirationDate);
|
|
2865
|
+
endOfFirstMonth.setMonth(endOfFirstMonth.getMonth() - 11);
|
|
2866
|
+
return endOfFirstMonth > /* @__PURE__ */ new Date();
|
|
2867
|
+
};
|
|
2868
|
+
var trackDeploymentCreation = (totalDeploymentCount, hasDeployments, trial_expiration) => {
|
|
2869
|
+
import_tracking.default.event({ category: "deployments", action: "create" });
|
|
2870
|
+
if (!totalDeploymentCount) {
|
|
2871
|
+
if (!hasDeployments) {
|
|
2872
|
+
import_tracking.default.event({ category: "deployments", action: "create_initial_deployment" });
|
|
2873
|
+
if (isWithinFirstMonth(trial_expiration)) {
|
|
2874
|
+
import_tracking.default.event({ category: "deployments", action: "create_initial_deployment_first_month" });
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2877
|
+
import_tracking.default.event({ category: "deployments", action: "create_initial_deployment_user" });
|
|
2878
|
+
}
|
|
2879
|
+
};
|
|
2843
2880
|
var MAX_PREVIOUS_PHASES_COUNT = 5;
|
|
2844
2881
|
var createDeployment = (0, import_toolkit18.createAsyncThunk)(`${sliceName2}/createDeployment`, ({ newDeployment, hasNewRetryDefault = false }, { dispatch, getState }) => {
|
|
2845
2882
|
let request;
|
|
@@ -2850,6 +2887,9 @@ var createDeployment = (0, import_toolkit18.createAsyncThunk)(`${sliceName2}/cre
|
|
|
2850
2887
|
} else {
|
|
2851
2888
|
request = general_api_default.post(`${deploymentsApiUrl}/deployments`, newDeployment);
|
|
2852
2889
|
}
|
|
2890
|
+
const totalDeploymentCount = Object.values(getDeploymentsByStatus(getState())).reduce((accu, item) => accu + item.total, 0);
|
|
2891
|
+
const { hasDeployments } = getGlobalSettings(getState());
|
|
2892
|
+
const { trial_expiration } = getOrganization(getState());
|
|
2853
2893
|
return request.catch((err) => commonErrorHandler(err, "Error creating deployment.", dispatch)).then((data) => {
|
|
2854
2894
|
const lastslashindex = data.headers.location.lastIndexOf("/");
|
|
2855
2895
|
const deploymentId = data.headers.location.substring(lastslashindex + 1);
|
|
@@ -2864,6 +2904,7 @@ var createDeployment = (0, import_toolkit18.createAsyncThunk)(`${sliceName2}/cre
|
|
|
2864
2904
|
dispatch(getSingleDeployment(deploymentId)),
|
|
2865
2905
|
dispatch(setSnackbar2("Deployment created successfully", TIMEOUTS.fiveSeconds))
|
|
2866
2906
|
];
|
|
2907
|
+
trackDeploymentCreation(totalDeploymentCount, hasDeployments, trial_expiration);
|
|
2867
2908
|
const { canManageUsers } = getUserCapabilities(getState());
|
|
2868
2909
|
if (canManageUsers) {
|
|
2869
2910
|
const { phases, retries } = newDeployment;
|
|
@@ -3538,7 +3579,7 @@ var getDevicesByStatus2 = (0, import_toolkit19.createAsyncThunk)(`${sliceName3}/
|
|
|
3538
3579
|
page = defaultPage2,
|
|
3539
3580
|
perPage = defaultPerPage2,
|
|
3540
3581
|
sortOptions = [],
|
|
3541
|
-
selectedAttributes =
|
|
3582
|
+
selectedAttributes = getSelectedDeviceAttribute(getState())
|
|
3542
3583
|
} = options;
|
|
3543
3584
|
const state = getState();
|
|
3544
3585
|
const { applicableFilters, filterTerms } = convertDeviceListStateToFilters({
|
|
@@ -3651,7 +3692,6 @@ var getReportingLimits = (0, import_toolkit19.createAsyncThunk)(
|
|
|
3651
3692
|
})
|
|
3652
3693
|
);
|
|
3653
3694
|
var ensureVersionString = (software, fallback) => software.length && software !== "artifact_name" ? software.endsWith(".version") ? software : `${software}.version` : fallback;
|
|
3654
|
-
var REPORT_CHART_SIZE_LIMIT = 6;
|
|
3655
3695
|
var getSingleReportData = (reportConfig, groups) => {
|
|
3656
3696
|
const { attribute, group, software = "" } = reportConfig;
|
|
3657
3697
|
const filters = [{ key: "status", scope: "identity", operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: "accepted" }];
|
|
@@ -3731,6 +3771,13 @@ var getDeviceConnect = (0, import_toolkit19.createAsyncThunk)(
|
|
|
3731
3771
|
({ data }) => Promise.all([dispatch(actions3.receivedDevice({ connect_status: data.status, connect_updated_ts: data.updated_ts, id })), Promise.resolve(data)])
|
|
3732
3772
|
)
|
|
3733
3773
|
);
|
|
3774
|
+
var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
|
|
3775
|
+
var triggerDeviceUpdate = (0, import_toolkit19.createAsyncThunk)(
|
|
3776
|
+
`${sliceName3}/triggerDeviceUpdate`,
|
|
3777
|
+
({ id, type }, { dispatch }) => general_api_default.post(`${deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
|
|
3778
|
+
() => new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds))
|
|
3779
|
+
)
|
|
3780
|
+
);
|
|
3734
3781
|
var getSessionDetails = (0, import_toolkit19.createAsyncThunk)(`${sliceName3}/getSessionDetails`, ({ sessionId, deviceId, userId, startDate, endDate }) => {
|
|
3735
3782
|
const { start: startUnix, end: endUnix } = (0, import_helpers9.dateRangeToUnix)(startDate, endDate);
|
|
3736
3783
|
const createdAfter = startDate ? `&created_after=${startUnix}` : "";
|
|
@@ -3833,12 +3880,12 @@ var deleteAuthset = (0, import_toolkit19.createAsyncThunk)(
|
|
|
3833
3880
|
);
|
|
3834
3881
|
var preauthDevice = (0, import_toolkit19.createAsyncThunk)(
|
|
3835
3882
|
`${sliceName3}/preauthDevice`,
|
|
3836
|
-
(authset, { dispatch }) => general_api_default.post(`${deviceAuthV2}/devices`, authset).catch((err) => {
|
|
3883
|
+
(authset, { dispatch, rejectWithValue }) => general_api_default.post(`${deviceAuthV2}/devices`, authset).then(() => Promise.resolve(dispatch(setSnackbar3("Device was successfully added to the preauthorization list", TIMEOUTS.fiveSeconds)))).catch((err) => {
|
|
3837
3884
|
if (err.response.status === 409) {
|
|
3838
|
-
return
|
|
3885
|
+
return rejectWithValue("A device with a matching identity data set already exists");
|
|
3839
3886
|
}
|
|
3840
3887
|
return commonErrorHandler(err, "The device could not be added:", dispatch);
|
|
3841
|
-
})
|
|
3888
|
+
})
|
|
3842
3889
|
);
|
|
3843
3890
|
var decommissionDevice = (0, import_toolkit19.createAsyncThunk)(
|
|
3844
3891
|
`${sliceName3}/decommissionDevice`,
|
|
@@ -4055,14 +4102,12 @@ var getDeviceMonitorConfig = (0, import_toolkit20.createAsyncThunk)(
|
|
|
4055
4102
|
);
|
|
4056
4103
|
var changeNotificationSetting = (0, import_toolkit20.createAsyncThunk)(
|
|
4057
4104
|
`${sliceName4}/changeNotificationSetting`,
|
|
4058
|
-
({ enabled, channel = alertChannels.email }, { dispatch }) => {
|
|
4059
|
-
|
|
4060
|
-
(
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
|
|
4064
|
-
);
|
|
4065
|
-
}
|
|
4105
|
+
({ enabled, channel = alertChannels.email }, { dispatch }) => general_api_default.put(`${monitorApiUrlv1}/settings/global/channel/alerts/${channel}/status`, { enabled }).catch((err) => commonErrorHandler(err, `${enabled ? "En" : "Dis"}abling ${channel} alerts failed:`, dispatch)).then(
|
|
4106
|
+
() => Promise.all([
|
|
4107
|
+
dispatch(actions4.changeAlertChannel({ channel, enabled })),
|
|
4108
|
+
dispatch(actions_default.setSnackbar(`Successfully ${enabled ? "en" : "dis"}abled ${channel} alerts`, TIMEOUTS.fiveSeconds))
|
|
4109
|
+
])
|
|
4110
|
+
)
|
|
4066
4111
|
);
|
|
4067
4112
|
|
|
4068
4113
|
// src/usersSlice/thunks.ts
|
|
@@ -4084,7 +4129,7 @@ var handleLoginError = (err, { token2fa: has2FA, password }, rejectWithValue) =>
|
|
|
4084
4129
|
}
|
|
4085
4130
|
const twoFAError = is2FABackend ? " and verification code" : "";
|
|
4086
4131
|
const errorMessage = `There was a problem logging in. Please check your email${twoFAError ? "," : " and"} password${twoFAError}. If you still have problems, contact an administrator.`;
|
|
4087
|
-
return Promise.reject(dispatch(setSnackbar4((0, import_helpers10.preformatWithRequestID)(err.response, errorMessage),
|
|
4132
|
+
return Promise.reject(dispatch(setSnackbar4({ message: (0, import_helpers10.preformatWithRequestID)(err.response, errorMessage), action: "Copy to clipboard" })));
|
|
4088
4133
|
};
|
|
4089
4134
|
var loginUser = (0, import_toolkit21.createAsyncThunk)(
|
|
4090
4135
|
`${sliceName8}/loginUser`,
|
|
@@ -4108,19 +4153,16 @@ var loginUser = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4108
4153
|
const expiresAt = stayLoggedIn ? void 0 : now.toISOString();
|
|
4109
4154
|
setSessionInfo({ token, expiresAt });
|
|
4110
4155
|
cookies3.remove("JWT", { path: "/" });
|
|
4111
|
-
return (
|
|
4112
|
-
|
|
4113
|
-
Promise.
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
window.
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
return Promise.resolve(dispatch(actions8.successfullyLoggedIn({ expiresAt, token })));
|
|
4122
|
-
})
|
|
4123
|
-
);
|
|
4156
|
+
return dispatch(getUser(OWN_USER_ID)).unwrap().catch((e) => {
|
|
4157
|
+
cleanUp();
|
|
4158
|
+
return Promise.reject(dispatch(setSnackbar4((0, import_helpers10.extractErrorMessage)(e))));
|
|
4159
|
+
}).then(() => {
|
|
4160
|
+
window.sessionStorage.removeItem("pendings-redirect");
|
|
4161
|
+
if (window.location.pathname !== "/ui/") {
|
|
4162
|
+
window.location.replace("/ui/");
|
|
4163
|
+
}
|
|
4164
|
+
return Promise.resolve(dispatch(actions8.successfullyLoggedIn({ expiresAt, token })));
|
|
4165
|
+
});
|
|
4124
4166
|
})
|
|
4125
4167
|
);
|
|
4126
4168
|
var logoutUser = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/logoutUser`, (_, { dispatch, getState }) => {
|
|
@@ -4138,6 +4180,7 @@ var switchUserOrganization = (0, import_toolkit21.createAsyncThunk)(`${sliceName
|
|
|
4138
4180
|
return Promise.reject();
|
|
4139
4181
|
}
|
|
4140
4182
|
return general_api_default.get(`${useradmApiUrlv1}/users/tenants/${tenantId}/token`).then(({ data: token }) => {
|
|
4183
|
+
window.sessionStorage.setItem("tenantChanged", "true");
|
|
4141
4184
|
setSessionInfo({ ...getSessionInfo(), token });
|
|
4142
4185
|
window.location.reload();
|
|
4143
4186
|
});
|
|
@@ -4178,11 +4221,18 @@ var verify2FA = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4178
4221
|
);
|
|
4179
4222
|
var getUserList = (0, import_toolkit21.createAsyncThunk)(
|
|
4180
4223
|
`${sliceName8}/getUserList`,
|
|
4181
|
-
(_, { dispatch }) => general_api_default.get(`${useradmApiUrlv1}/users`).then((res) => {
|
|
4182
|
-
const
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4224
|
+
(_, { dispatch, getState }) => general_api_default.get(`${useradmApiUrlv1}/users`).then((res) => {
|
|
4225
|
+
const currentUsersById = getUsersById(getState());
|
|
4226
|
+
const users = res.data.reduce(
|
|
4227
|
+
(accu, item) => {
|
|
4228
|
+
accu[item.id] = {
|
|
4229
|
+
...accu[item.id],
|
|
4230
|
+
...item
|
|
4231
|
+
};
|
|
4232
|
+
return accu;
|
|
4233
|
+
},
|
|
4234
|
+
{ ...currentUsersById }
|
|
4235
|
+
);
|
|
4186
4236
|
return dispatch(actions8.receivedUserList(users));
|
|
4187
4237
|
}).catch((err) => commonErrorHandler(err, `Users couldn't be loaded.`, dispatch, commonErrorFallback))
|
|
4188
4238
|
);
|
|
@@ -4191,9 +4241,7 @@ var getUser = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4191
4241
|
(id, { dispatch, rejectWithValue }) => general_api_default.get(`${useradmApiUrlv1}/users/${id}`).then(
|
|
4192
4242
|
({ data: user }) => Promise.all([
|
|
4193
4243
|
dispatch(actions8.receivedUser(user)),
|
|
4194
|
-
// @ts-ignore
|
|
4195
4244
|
dispatch(setHideAnnouncement({ shouldHide: false, userId: user.id })),
|
|
4196
|
-
// @ts-ignore
|
|
4197
4245
|
dispatch(updateUserColumnSettings({ currentUserId: user.id })),
|
|
4198
4246
|
user
|
|
4199
4247
|
])
|
|
@@ -4240,10 +4288,7 @@ var createUser = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4240
4288
|
);
|
|
4241
4289
|
var removeUser = (0, import_toolkit21.createAsyncThunk)(
|
|
4242
4290
|
`${sliceName8}/removeUser`,
|
|
4243
|
-
(userId, { dispatch }) => (
|
|
4244
|
-
// @ts-ignore
|
|
4245
|
-
general_api_default.delete(`${useradmApiUrlv1}/users/${userId}`).then(() => Promise.all([dispatch(actions8.removedUser(userId)), dispatch(getUserList()), dispatch(setSnackbar4(userActions.remove.successMessage))])).catch((err) => userActionErrorHandler(err, "remove", dispatch))
|
|
4246
|
-
)
|
|
4291
|
+
(userId, { dispatch }) => general_api_default.delete(`${useradmApiUrlv1}/users/${userId}`).then(() => Promise.all([dispatch(actions8.removedUser(userId)), dispatch(getUserList()), dispatch(setSnackbar4(userActions.remove.successMessage))])).catch((err) => userActionErrorHandler(err, "remove", dispatch))
|
|
4247
4292
|
);
|
|
4248
4293
|
var editUser = (0, import_toolkit21.createAsyncThunk)(
|
|
4249
4294
|
`${sliceName8}/editUser`,
|
|
@@ -4264,7 +4309,7 @@ var enableUser2fa = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4264
4309
|
);
|
|
4265
4310
|
var disableUser2fa = (0, import_toolkit21.createAsyncThunk)(
|
|
4266
4311
|
`${sliceName8}/disableUser2fa`,
|
|
4267
|
-
(userId = OWN_USER_ID, { dispatch }) => general_api_default.post(`${useradmApiUrlv1}/users/${userId}/2fa/disable`).catch((err) => commonErrorHandler(err, `There was an error disabling Two Factor authentication for the user.`, dispatch)).then(() => Promise.
|
|
4312
|
+
(userId = OWN_USER_ID, { dispatch }) => general_api_default.post(`${useradmApiUrlv1}/users/${userId}/2fa/disable`).catch((err) => commonErrorHandler(err, `There was an error disabling Two Factor authentication for the user.`, dispatch)).then(() => Promise.all([dispatch(getUser(userId)), dispatch(actions8.receivedQrCode(null))]))
|
|
4268
4313
|
);
|
|
4269
4314
|
var mapHttpPermission = (permission) => Object.entries(uiPermissionsByArea).reduce(
|
|
4270
4315
|
(accu, [area, definition]) => {
|
|
@@ -4417,7 +4462,6 @@ var getPermissionSets = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4417
4462
|
accu[permissionSet.name] = permissionSetObject;
|
|
4418
4463
|
return accu;
|
|
4419
4464
|
},
|
|
4420
|
-
// @ts-ignore
|
|
4421
4465
|
{ ...getState().users.permissionSetsById }
|
|
4422
4466
|
);
|
|
4423
4467
|
return Promise.all([dispatch(actions8.receivedPermissionSets(permissionSets)), permissionSets]);
|
|
@@ -4510,7 +4554,6 @@ var transformRoleDataToRole = (roleData, roleState = {}) => {
|
|
|
4510
4554
|
role: {
|
|
4511
4555
|
...emptyRole,
|
|
4512
4556
|
name,
|
|
4513
|
-
// @ts-ignore
|
|
4514
4557
|
description: description ? description : roleState.description,
|
|
4515
4558
|
uiPermissions: {
|
|
4516
4559
|
...emptyUiPermissions,
|
|
@@ -4553,10 +4596,7 @@ var editRole = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/editRole`,
|
|
|
4553
4596
|
});
|
|
4554
4597
|
var removeRole = (0, import_toolkit21.createAsyncThunk)(
|
|
4555
4598
|
`${sliceName8}/removeRole`,
|
|
4556
|
-
(roleId, { dispatch }) => (
|
|
4557
|
-
// @ts-ignore
|
|
4558
|
-
general_api_default.delete(`${useradmApiUrlv2}/roles/${roleId}`).then(() => Promise.all([dispatch(actions8.removedRole(roleId)), dispatch(getRoles()), dispatch(setSnackbar4(roleActions.remove.successMessage))])).catch((err) => roleActionErrorHandler(err, "remove", dispatch))
|
|
4559
|
-
)
|
|
4599
|
+
(roleId, { dispatch }) => general_api_default.delete(`${useradmApiUrlv2}/roles/${roleId}`).then(() => Promise.all([dispatch(actions8.removedRole(roleId)), dispatch(getRoles()), dispatch(setSnackbar4(roleActions.remove.successMessage))])).catch((err) => roleActionErrorHandler(err, "remove", dispatch))
|
|
4560
4600
|
);
|
|
4561
4601
|
var getGlobalSettings2 = (0, import_toolkit21.createAsyncThunk)(
|
|
4562
4602
|
`${sliceName8}/getGlobalSettings`,
|
|
@@ -4567,7 +4607,6 @@ var getGlobalSettings2 = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4567
4607
|
);
|
|
4568
4608
|
var saveGlobalSettings = (0, import_toolkit21.createAsyncThunk)(
|
|
4569
4609
|
`${sliceName8}/saveGlobalSettings`,
|
|
4570
|
-
// @ts-ignore
|
|
4571
4610
|
({ beOptimistic = false, notify = false, ...settings }, { dispatch, getState }) => {
|
|
4572
4611
|
if (!window.sessionStorage.getItem(settingsKeys.initialized) && !beOptimistic) {
|
|
4573
4612
|
return;
|
|
@@ -4613,11 +4652,9 @@ var saveUserSettings = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/sav
|
|
|
4613
4652
|
const tooltipState = getTooltipsState(getState());
|
|
4614
4653
|
const updatedSettings = {
|
|
4615
4654
|
...userSettings,
|
|
4616
|
-
// @ts-ignore
|
|
4617
4655
|
...settings,
|
|
4618
4656
|
onboarding: {
|
|
4619
4657
|
...onboardingState,
|
|
4620
|
-
// @ts-ignore
|
|
4621
4658
|
...settings.onboarding
|
|
4622
4659
|
},
|
|
4623
4660
|
tooltips: tooltipState
|
|
@@ -4661,10 +4698,7 @@ var generateToken = (0, import_toolkit21.createAsyncThunk)(
|
|
|
4661
4698
|
);
|
|
4662
4699
|
var revokeToken = (0, import_toolkit21.createAsyncThunk)(
|
|
4663
4700
|
`${sliceName8}/revokeToken`,
|
|
4664
|
-
(token, { dispatch }) => (
|
|
4665
|
-
// @ts-ignore
|
|
4666
|
-
general_api_default.delete(`${useradmApiUrlv1}/settings/tokens/${token.id}`).then(() => Promise.resolve(dispatch(getTokens())))
|
|
4667
|
-
)
|
|
4701
|
+
(token, { dispatch }) => general_api_default.delete(`${useradmApiUrlv1}/settings/tokens/${token.id}`).then(() => Promise.resolve(dispatch(getTokens())))
|
|
4668
4702
|
);
|
|
4669
4703
|
var setTooltipReadState = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/setTooltipReadState`, ({ persist, ...remainder }, { dispatch }) => {
|
|
4670
4704
|
let tasks = [dispatch(actions8.setTooltipState(remainder))];
|
|
@@ -4673,23 +4707,20 @@ var setTooltipReadState = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/
|
|
|
4673
4707
|
}
|
|
4674
4708
|
return Promise.all(tasks);
|
|
4675
4709
|
});
|
|
4676
|
-
var setAllTooltipsReadState = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/toggleHelptips`, (
|
|
4677
|
-
const updatedTips =
|
|
4710
|
+
var setAllTooltipsReadState = (0, import_toolkit21.createAsyncThunk)(`${sliceName8}/toggleHelptips`, (readState = READ_STATES.read, { dispatch }) => {
|
|
4711
|
+
const updatedTips = Object.keys(import_helptips.HELPTOOLTIPS).reduce((accu, id) => ({ ...accu, [id]: { readState } }), {});
|
|
4678
4712
|
return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
|
|
4679
4713
|
});
|
|
4680
4714
|
var submitFeedback = (0, import_toolkit21.createAsyncThunk)(
|
|
4681
4715
|
`${sliceName8}/submitFeedback`,
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4685
|
-
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
4691
|
-
});
|
|
4692
|
-
}
|
|
4716
|
+
({ satisfaction, feedback, ...meta }, { dispatch }) => general_api_default.post(`${tenantadmApiUrlv2}/contact/support`, {
|
|
4717
|
+
subject: "feedback submission",
|
|
4718
|
+
body: JSON.stringify({ feedback, satisfaction, meta })
|
|
4719
|
+
}).then(() => {
|
|
4720
|
+
const today = /* @__PURE__ */ new Date();
|
|
4721
|
+
dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
|
|
4722
|
+
setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
|
|
4723
|
+
})
|
|
4693
4724
|
);
|
|
4694
4725
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4695
4726
|
0 && (module.exports = {
|