@northern.tech/store 0.1.3 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions.js +251 -135
- package/dist/actions.js.map +1 -1
- package/dist/actions.mjs +13 -13
- package/dist/api/general-api.js +102 -51
- package/dist/api/general-api.js.map +1 -1
- package/dist/api/general-api.mjs +6 -6
- package/dist/api/users-api.js +104 -66
- package/dist/api/users-api.js.map +1 -1
- package/dist/api/users-api.mjs +7 -7
- package/dist/appSlice/constants.js +1 -39
- package/dist/appSlice/constants.js.map +1 -1
- package/dist/appSlice/constants.mjs +2 -2
- package/dist/appSlice/index.js +111 -64
- package/dist/appSlice/index.js.map +1 -1
- package/dist/appSlice/index.mjs +5 -5
- package/dist/appSlice/selectors.js +1 -43
- package/dist/appSlice/selectors.js.map +1 -1
- package/dist/appSlice/selectors.mjs +2 -2
- package/dist/appSlice/thunks.js +649 -552
- package/dist/appSlice/thunks.js.map +1 -1
- package/dist/appSlice/thunks.mjs +28 -28
- package/dist/auth.js +99 -51
- package/dist/auth.js.map +1 -1
- package/dist/auth.mjs +5 -5
- package/dist/{chunk-C2YZYTJ6.mjs → chunk-2Z3RFYW4.mjs} +2 -11
- package/dist/{chunk-C2YZYTJ6.mjs.map → chunk-2Z3RFYW4.mjs.map} +1 -1
- package/dist/{chunk-F37LUTBX.mjs → chunk-3ORTTLIB.mjs} +19 -16
- package/dist/{chunk-F37LUTBX.mjs.map → chunk-3ORTTLIB.mjs.map} +1 -1
- package/dist/{chunk-7E7KJHY3.mjs → chunk-4SDUITD4.mjs} +6 -12
- package/dist/{chunk-7E7KJHY3.mjs.map → chunk-4SDUITD4.mjs.map} +1 -1
- package/dist/{chunk-BOSBROA3.mjs → chunk-5VNQCCAQ.mjs} +2 -7
- package/dist/{chunk-BOSBROA3.mjs.map → chunk-5VNQCCAQ.mjs.map} +1 -1
- package/dist/{chunk-R2GBNXLV.mjs → chunk-65YIOCCD.mjs} +6 -11
- package/dist/{chunk-R2GBNXLV.mjs.map → chunk-65YIOCCD.mjs.map} +1 -1
- package/dist/{chunk-ZIYGEXSJ.mjs → chunk-6CSGHZ3E.mjs} +9 -21
- package/dist/{chunk-ZIYGEXSJ.mjs.map → chunk-6CSGHZ3E.mjs.map} +1 -1
- package/dist/{chunk-HRWZJQMH.mjs → chunk-AZRVRNXT.mjs} +40 -30
- package/dist/{chunk-HRWZJQMH.mjs.map → chunk-AZRVRNXT.mjs.map} +1 -1
- package/dist/{chunk-M4U5R7A4.mjs → chunk-B42NUKMZ.mjs} +2 -6
- package/dist/{chunk-M4U5R7A4.mjs.map → chunk-B42NUKMZ.mjs.map} +1 -1
- package/dist/{chunk-DZBVTSIX.mjs → chunk-CHUCIHMY.mjs} +3 -4
- package/dist/{chunk-DZBVTSIX.mjs.map → chunk-CHUCIHMY.mjs.map} +1 -1
- package/dist/{chunk-YNVSU3AA.mjs → chunk-DIZJVB6M.mjs} +307 -292
- package/dist/chunk-DIZJVB6M.mjs.map +1 -0
- package/dist/chunk-H5UCKQWK.mjs +41 -0
- package/dist/{chunk-IPPIKGIB.mjs.map → chunk-H5UCKQWK.mjs.map} +1 -1
- package/dist/{chunk-ZNST5R6O.mjs → chunk-IFWKT27G.mjs} +92 -29
- package/dist/chunk-IFWKT27G.mjs.map +1 -0
- package/dist/{chunk-6667TCAJ.mjs → chunk-JA27QXVB.mjs} +37 -28
- package/dist/{chunk-6667TCAJ.mjs.map → chunk-JA27QXVB.mjs.map} +1 -1
- package/dist/{chunk-HVHZG2H4.mjs → chunk-K2NZL5V4.mjs} +4 -7
- package/dist/chunk-K2NZL5V4.mjs.map +1 -0
- package/dist/{chunk-RQOE5OOT.mjs → chunk-KJAZNKV2.mjs} +66 -55
- package/dist/chunk-KJAZNKV2.mjs.map +1 -0
- package/dist/{chunk-G32LAKW4.mjs → chunk-KPPU6OWF.mjs} +27 -39
- package/dist/{chunk-G32LAKW4.mjs.map → chunk-KPPU6OWF.mjs.map} +1 -1
- package/dist/{chunk-BJSH2G7W.mjs → chunk-KZSTW27Q.mjs} +30 -18
- package/dist/{chunk-BJSH2G7W.mjs.map → chunk-KZSTW27Q.mjs.map} +1 -1
- package/dist/chunk-LZOMFHX3.mjs +38 -0
- package/dist/{chunk-XYVPYFSM.mjs → chunk-NJNSCJEY.mjs} +22 -26
- package/dist/{chunk-XYVPYFSM.mjs.map → chunk-NJNSCJEY.mjs.map} +1 -1
- package/dist/{chunk-N7G6QK2E.mjs → chunk-O6TYYKSD.mjs} +62 -60
- package/dist/chunk-O6TYYKSD.mjs.map +1 -0
- package/dist/{chunk-G3I53JGW.mjs → chunk-QQBUNZHA.mjs} +3 -6
- package/dist/{chunk-G3I53JGW.mjs.map → chunk-QQBUNZHA.mjs.map} +1 -1
- package/dist/{chunk-TD45YTYK.mjs → chunk-R7LXL3KJ.mjs} +22 -23
- package/dist/chunk-R7LXL3KJ.mjs.map +1 -0
- package/dist/{chunk-G7LATUT6.mjs → chunk-WCUGLHYM.mjs} +16 -20
- package/dist/{chunk-G7LATUT6.mjs.map → chunk-WCUGLHYM.mjs.map} +1 -1
- package/dist/chunk-WYHJFSMQ.mjs +25 -0
- package/dist/{chunk-IVSYYXTC.mjs.map → chunk-WYHJFSMQ.mjs.map} +1 -1
- package/dist/{chunk-O6O3D52B.mjs → chunk-XC5UXEIB.mjs} +4 -11
- package/dist/{chunk-O6O3D52B.mjs.map → chunk-XC5UXEIB.mjs.map} +1 -1
- package/dist/{chunk-BRHSKNFC.mjs → chunk-XD7INCM4.mjs} +11 -17
- package/dist/{chunk-BRHSKNFC.mjs.map → chunk-XD7INCM4.mjs.map} +1 -1
- package/dist/{chunk-RH6ONMG7.mjs → chunk-ZE7R2XXE.mjs} +10 -12
- package/dist/{chunk-RH6ONMG7.mjs.map → chunk-ZE7R2XXE.mjs.map} +1 -1
- package/dist/{chunk-HXPYJ6QN.mjs → chunk-ZK4W5T53.mjs} +7 -11
- package/dist/{chunk-HXPYJ6QN.mjs.map → chunk-ZK4W5T53.mjs.map} +1 -1
- package/dist/commonConstants.d.mts +18 -19
- package/dist/commonConstants.d.ts +18 -19
- package/dist/commonConstants.js +2 -35
- package/dist/commonConstants.js.map +1 -1
- package/dist/commonConstants.mjs +2 -2
- package/dist/commonSelectors.d.mts +42 -1
- package/dist/commonSelectors.d.ts +42 -1
- package/dist/commonSelectors.js +149 -129
- package/dist/commonSelectors.js.map +1 -1
- package/dist/commonSelectors.mjs +14 -12
- package/dist/constants.d.mts +3 -3
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +92 -147
- package/dist/constants.js.map +1 -1
- package/dist/constants.mjs +18 -14
- package/dist/deploymentsSlice/constants.js +94 -55
- package/dist/deploymentsSlice/constants.js.map +1 -1
- package/dist/deploymentsSlice/constants.mjs +4 -4
- package/dist/deploymentsSlice/index.js +128 -75
- package/dist/deploymentsSlice/index.js.map +1 -1
- package/dist/deploymentsSlice/index.mjs +5 -5
- package/dist/deploymentsSlice/selectors.js +95 -48
- package/dist/deploymentsSlice/selectors.js.map +1 -1
- package/dist/deploymentsSlice/selectors.mjs +5 -5
- package/dist/deploymentsSlice/thunks.js +649 -561
- package/dist/deploymentsSlice/thunks.js.map +1 -1
- package/dist/deploymentsSlice/thunks.mjs +28 -28
- package/dist/devicesSlice/constants.js +94 -54
- package/dist/devicesSlice/constants.js.map +1 -1
- package/dist/devicesSlice/constants.mjs +4 -4
- package/dist/devicesSlice/index.js +131 -77
- package/dist/devicesSlice/index.js.map +1 -1
- package/dist/devicesSlice/index.mjs +5 -5
- package/dist/devicesSlice/selectors.js +100 -85
- package/dist/devicesSlice/selectors.js.map +1 -1
- package/dist/devicesSlice/selectors.mjs +5 -5
- package/dist/devicesSlice/thunks.js +649 -597
- package/dist/devicesSlice/thunks.js.map +1 -1
- package/dist/devicesSlice/thunks.mjs +28 -28
- package/dist/monitorSlice/constants.js +94 -41
- package/dist/monitorSlice/constants.js.map +1 -1
- package/dist/monitorSlice/constants.mjs +4 -4
- package/dist/monitorSlice/index.js +101 -48
- package/dist/monitorSlice/index.js.map +1 -1
- package/dist/monitorSlice/index.mjs +5 -5
- package/dist/monitorSlice/selectors.js +0 -4
- package/dist/monitorSlice/selectors.mjs +1 -1
- package/dist/monitorSlice/thunks.js +333 -238
- package/dist/monitorSlice/thunks.js.map +1 -1
- package/dist/monitorSlice/thunks.mjs +25 -25
- package/dist/onboardingSlice/constants.js +0 -5
- package/dist/onboardingSlice/constants.mjs +1 -1
- package/dist/onboardingSlice/index.js +1 -22
- package/dist/onboardingSlice/index.js.map +1 -1
- package/dist/onboardingSlice/index.mjs +2 -2
- package/dist/onboardingSlice/selectors.js +0 -4
- package/dist/onboardingSlice/selectors.mjs +1 -1
- package/dist/onboardingSlice/thunks.js +649 -555
- package/dist/onboardingSlice/thunks.js.map +1 -1
- package/dist/onboardingSlice/thunks.mjs +28 -28
- package/dist/organizationSlice/constants.d.mts +6 -1
- package/dist/organizationSlice/constants.d.ts +6 -1
- package/dist/organizationSlice/constants.js +89 -51
- package/dist/organizationSlice/constants.js.map +1 -1
- package/dist/organizationSlice/constants.mjs +6 -4
- package/dist/organizationSlice/index.d.mts +224 -246
- package/dist/organizationSlice/index.d.ts +224 -246
- package/dist/organizationSlice/index.js +113 -59
- package/dist/organizationSlice/index.js.map +1 -1
- package/dist/organizationSlice/index.mjs +5 -5
- package/dist/organizationSlice/selectors.js +96 -58
- package/dist/organizationSlice/selectors.js.map +1 -1
- package/dist/organizationSlice/selectors.mjs +5 -5
- package/dist/organizationSlice/thunks.js +649 -580
- package/dist/organizationSlice/thunks.js.map +1 -1
- package/dist/organizationSlice/thunks.mjs +28 -28
- package/dist/releasesSlice/constants.js +0 -7
- package/dist/releasesSlice/constants.mjs +1 -1
- package/dist/releasesSlice/index.js +98 -60
- package/dist/releasesSlice/index.js.map +1 -1
- package/dist/releasesSlice/index.mjs +5 -5
- package/dist/releasesSlice/selectors.js +97 -53
- package/dist/releasesSlice/selectors.js.map +1 -1
- package/dist/releasesSlice/selectors.mjs +6 -6
- package/dist/releasesSlice/thunks.js +377 -287
- package/dist/releasesSlice/thunks.js.map +1 -1
- package/dist/releasesSlice/thunks.mjs +25 -25
- package/dist/selectors.d.mts +1 -1
- package/dist/selectors.d.ts +1 -1
- package/dist/selectors.js +150 -202
- package/dist/selectors.js.map +1 -1
- package/dist/selectors.mjs +45 -43
- package/dist/store.d.mts +235 -135
- package/dist/store.d.ts +235 -135
- package/dist/store.js +262 -157
- package/dist/store.js.map +1 -1
- package/dist/store.mjs +16 -16
- package/dist/storehooks.d.mts +3 -1
- package/dist/storehooks.d.ts +3 -1
- package/dist/storehooks.js +686 -569
- package/dist/storehooks.js.map +1 -1
- package/dist/storehooks.mjs +71 -54
- package/dist/storehooks.mjs.map +1 -1
- package/dist/thunks.js +649 -710
- package/dist/thunks.js.map +1 -1
- package/dist/thunks.mjs +28 -28
- package/dist/usersSlice/constants.d.mts +192 -17
- package/dist/usersSlice/constants.d.ts +192 -17
- package/dist/usersSlice/constants.js +97 -61
- package/dist/usersSlice/constants.js.map +1 -1
- package/dist/usersSlice/constants.mjs +6 -4
- package/dist/usersSlice/index.d.mts +1628 -704
- package/dist/usersSlice/index.d.ts +1628 -704
- package/dist/usersSlice/index.js +122 -67
- package/dist/usersSlice/index.js.map +1 -1
- package/dist/usersSlice/index.mjs +5 -5
- package/dist/usersSlice/selectors.js +101 -62
- package/dist/usersSlice/selectors.js.map +1 -1
- package/dist/usersSlice/selectors.mjs +6 -6
- package/dist/usersSlice/thunks.js +649 -584
- package/dist/usersSlice/thunks.js.map +1 -1
- package/dist/usersSlice/thunks.mjs +28 -28
- package/dist/utils.d.mts +6 -5
- package/dist/utils.d.ts +6 -5
- package/dist/utils.js +117 -89
- package/dist/utils.js.map +1 -1
- package/dist/utils.mjs +5 -5
- package/package.json +66 -1
- package/dist/chunk-HVHZG2H4.mjs.map +0 -1
- package/dist/chunk-IPPIKGIB.mjs +0 -35
- package/dist/chunk-IVSYYXTC.mjs +0 -36
- package/dist/chunk-N7G6QK2E.mjs.map +0 -1
- package/dist/chunk-RQOE5OOT.mjs.map +0 -1
- package/dist/chunk-TD45YTYK.mjs.map +0 -1
- package/dist/chunk-XWBD7VOK.mjs +0 -93
- package/dist/chunk-YNVSU3AA.mjs.map +0 -1
- package/dist/chunk-ZNST5R6O.mjs.map +0 -1
- /package/dist/{chunk-XWBD7VOK.mjs.map → chunk-LZOMFHX3.mjs.map} +0 -0
package/dist/commonSelectors.js
CHANGED
|
@@ -1,40 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __defProp = Object.defineProperty;
|
|
4
|
-
var __defProps = Object.defineProperties;
|
|
5
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
7
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
9
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
10
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
12
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
-
var __spreadValues = (a, b) => {
|
|
14
|
-
for (var prop in b || (b = {}))
|
|
15
|
-
if (__hasOwnProp.call(b, prop))
|
|
16
|
-
__defNormalProp(a, prop, b[prop]);
|
|
17
|
-
if (__getOwnPropSymbols)
|
|
18
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
19
|
-
if (__propIsEnum.call(b, prop))
|
|
20
|
-
__defNormalProp(a, prop, b[prop]);
|
|
21
|
-
}
|
|
22
|
-
return a;
|
|
23
|
-
};
|
|
24
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
25
|
-
var __restKey = (key) => typeof key === "symbol" ? key : key + "";
|
|
26
|
-
var __objRest = (source, exclude) => {
|
|
27
|
-
var target = {};
|
|
28
|
-
for (var prop in source)
|
|
29
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
30
|
-
target[prop] = source[prop];
|
|
31
|
-
if (source != null && __getOwnPropSymbols)
|
|
32
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
33
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
34
|
-
target[prop] = source[prop];
|
|
35
|
-
}
|
|
36
|
-
return target;
|
|
37
|
-
};
|
|
38
8
|
var __export = (target, all) => {
|
|
39
9
|
for (var name in all)
|
|
40
10
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -72,6 +42,7 @@ __export(commonSelectors_exports, {
|
|
|
72
42
|
getIsEnterprise: () => getIsEnterprise,
|
|
73
43
|
getMappedDevicesList: () => getMappedDevicesList,
|
|
74
44
|
getOnboardingState: () => getOnboardingState,
|
|
45
|
+
getRelevantRoles: () => getRelevantRoles,
|
|
75
46
|
getSearchEndpoint: () => getSearchEndpoint,
|
|
76
47
|
getSelectedDeploymentData: () => getSelectedDeploymentData,
|
|
77
48
|
getTenantCapabilities: () => getTenantCapabilities,
|
|
@@ -99,7 +70,7 @@ var chartTypes = {
|
|
|
99
70
|
};
|
|
100
71
|
var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.key, attribute: "artifact_name" };
|
|
101
72
|
var defaultReportType = "distribution";
|
|
102
|
-
var defaultReports = [
|
|
73
|
+
var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
|
|
103
74
|
var PLANS = {
|
|
104
75
|
os: {
|
|
105
76
|
id: "os",
|
|
@@ -226,10 +197,7 @@ var getSearchState = (state) => state.app.searchState;
|
|
|
226
197
|
var getSearchedDevices = (0, import_toolkit.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
|
|
227
198
|
var getVersionInformation = (0, import_toolkit.createSelector)(
|
|
228
199
|
[getFullVersionInformation, getFeatures],
|
|
229
|
-
(
|
|
230
|
-
var _b2 = _a, { Integration } = _b2, remainder = __objRest(_b2, ["Integration"]);
|
|
231
|
-
return isHosted && Integration !== "next" ? remainder : __spreadProps(__spreadValues({}, remainder), { Integration });
|
|
232
|
-
}
|
|
200
|
+
({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : { ...remainder, Integration }
|
|
233
201
|
);
|
|
234
202
|
var getIsPreview = (0, import_toolkit.createSelector)([getFullVersionInformation], ({ Integration }) => (0, import_helpers.versionCompare)(Integration, "next") > -1);
|
|
235
203
|
|
|
@@ -442,13 +410,14 @@ var emptyUiPermissions = Object.freeze({
|
|
|
442
410
|
deployments: [],
|
|
443
411
|
groups: Object.freeze({}),
|
|
444
412
|
releases: Object.freeze({}),
|
|
413
|
+
tenantManagement: [],
|
|
445
414
|
userManagement: []
|
|
446
415
|
});
|
|
447
416
|
var emptyRole = Object.freeze({
|
|
448
417
|
name: void 0,
|
|
449
418
|
description: "",
|
|
450
419
|
permissions: [],
|
|
451
|
-
uiPermissions: Object.freeze(
|
|
420
|
+
uiPermissions: Object.freeze({ ...emptyUiPermissions })
|
|
452
421
|
});
|
|
453
422
|
|
|
454
423
|
// src/deploymentsSlice/selectors.ts
|
|
@@ -520,6 +489,13 @@ var auditLogsApiUrl = `${apiUrl.v1}/auditlogs`;
|
|
|
520
489
|
var tenantadmApiUrlv1 = `${apiUrl.v1}/tenantadm`;
|
|
521
490
|
var tenantadmApiUrlv2 = `${apiUrl.v2}/tenantadm`;
|
|
522
491
|
var ssoIdpApiUrlv1 = `${apiUrl.v1}/useradm/sso/idp/metadata`;
|
|
492
|
+
var AUDIT_LOGS_TYPES = [
|
|
493
|
+
{ title: "Artifact", queryParameter: "object_type", value: "artifact" },
|
|
494
|
+
{ title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
|
|
495
|
+
{ title: "Device", queryParameter: "object_id", value: "device" },
|
|
496
|
+
{ title: "User", queryParameter: "object_id", value: "user" }
|
|
497
|
+
];
|
|
498
|
+
var SP_AUDIT_LOGS_TYPES = [AUDIT_LOGS_TYPES[3], { title: "Tenant", queryParameter: "object_id", value: "tenant" }];
|
|
523
499
|
var emptyWebhook = {
|
|
524
500
|
description: "",
|
|
525
501
|
enabled: true,
|
|
@@ -563,10 +539,12 @@ var permissionSetIds = {
|
|
|
563
539
|
DeployToDevices: "DeployToDevices",
|
|
564
540
|
ManageDevices: "ManageDevices",
|
|
565
541
|
ManageReleases: "ManageReleases",
|
|
542
|
+
ManageTenants: "ManageTenants",
|
|
566
543
|
ManageUsers: "ManageUsers",
|
|
567
544
|
ReadAuditLogs: "ReadAuditLogs",
|
|
568
545
|
ReadDevices: "ReadDevices",
|
|
569
546
|
ReadReleases: "ReadReleases",
|
|
547
|
+
ReadTenants: "ReadTenants",
|
|
570
548
|
ReadUsers: "ReadUsers",
|
|
571
549
|
SuperUser: "SuperUser",
|
|
572
550
|
UploadArtifacts: "UploadArtifacts"
|
|
@@ -605,6 +583,7 @@ var uiPermissionsById = {
|
|
|
605
583
|
permissionSets: {
|
|
606
584
|
groups: permissionSetIds.ManageDevices,
|
|
607
585
|
releases: permissionSetIds.ManageReleases,
|
|
586
|
+
tenantManagement: permissionSetIds.ManageTenants,
|
|
608
587
|
userManagement: permissionSetIds.ManageUsers
|
|
609
588
|
},
|
|
610
589
|
title: "Manage",
|
|
@@ -618,6 +597,7 @@ var uiPermissionsById = {
|
|
|
618
597
|
auditlog: permissionSetIds.ReadAuditLogs,
|
|
619
598
|
groups: permissionSetIds.ReadDevices,
|
|
620
599
|
releases: permissionSetIds.ReadReleases,
|
|
600
|
+
tenantManagement: permissionSetIds.ReadTenants,
|
|
621
601
|
userManagement: permissionSetIds.ReadUsers
|
|
622
602
|
},
|
|
623
603
|
title: "Read",
|
|
@@ -642,6 +622,7 @@ var uiPermissionsByArea = {
|
|
|
642
622
|
auditlog: {
|
|
643
623
|
endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
|
|
644
624
|
explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
|
|
625
|
+
key: "auditlog",
|
|
645
626
|
uiPermissions: [uiPermissionsById.read],
|
|
646
627
|
title: "System audit log"
|
|
647
628
|
},
|
|
@@ -652,6 +633,7 @@ var uiPermissionsByArea = {
|
|
|
652
633
|
{ path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
|
|
653
634
|
],
|
|
654
635
|
explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
|
|
636
|
+
key: "deployments",
|
|
655
637
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
|
|
656
638
|
title: "Deployments"
|
|
657
639
|
},
|
|
@@ -667,6 +649,7 @@ var uiPermissionsByArea = {
|
|
|
667
649
|
{ path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
|
|
668
650
|
],
|
|
669
651
|
explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
|
|
652
|
+
key: "groups",
|
|
670
653
|
scope: scopedPermissionAreas.groups.scopeType,
|
|
671
654
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
|
|
672
655
|
title: "Group Management"
|
|
@@ -686,16 +669,29 @@ var uiPermissionsByArea = {
|
|
|
686
669
|
}
|
|
687
670
|
],
|
|
688
671
|
explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
|
|
672
|
+
key: "releases",
|
|
689
673
|
scope: "ReleaseTags",
|
|
690
674
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
|
|
691
675
|
title: "Release Management"
|
|
692
676
|
},
|
|
677
|
+
tenantManagement: {
|
|
678
|
+
endpoints: [
|
|
679
|
+
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
680
|
+
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
|
|
681
|
+
{ path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
|
|
682
|
+
],
|
|
683
|
+
explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
|
|
684
|
+
key: "tenantManagement",
|
|
685
|
+
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
686
|
+
title: "Tenant Management"
|
|
687
|
+
},
|
|
693
688
|
userManagement: {
|
|
694
689
|
endpoints: [
|
|
695
690
|
{ path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
696
691
|
{ path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
|
|
697
692
|
],
|
|
698
693
|
explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
|
|
694
|
+
key: "userManagement",
|
|
699
695
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
700
696
|
title: "User Management"
|
|
701
697
|
}
|
|
@@ -708,56 +704,87 @@ var rolesById = Object.freeze({
|
|
|
708
704
|
description: "Full access",
|
|
709
705
|
permissions: [],
|
|
710
706
|
// permissions refers to the values returned from the backend
|
|
711
|
-
uiPermissions:
|
|
707
|
+
uiPermissions: {
|
|
708
|
+
...emptyUiPermissions,
|
|
712
709
|
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
713
710
|
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
714
711
|
groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },
|
|
715
712
|
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },
|
|
716
713
|
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)
|
|
717
|
-
}
|
|
714
|
+
}
|
|
718
715
|
},
|
|
719
716
|
[staticRolesByName.readOnly]: {
|
|
720
717
|
name: "Read Access",
|
|
721
718
|
value: staticRolesByName.readOnly,
|
|
722
719
|
description: "",
|
|
723
720
|
permissions: [],
|
|
724
|
-
uiPermissions:
|
|
721
|
+
uiPermissions: {
|
|
722
|
+
...emptyUiPermissions,
|
|
725
723
|
deployments: [uiPermissionsById.read.value],
|
|
726
724
|
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },
|
|
727
725
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },
|
|
728
726
|
userManagement: [uiPermissionsById.read.value]
|
|
729
|
-
}
|
|
727
|
+
}
|
|
730
728
|
},
|
|
731
729
|
[staticRolesByName.ci]: {
|
|
732
730
|
name: "Releases Manager",
|
|
733
731
|
value: staticRolesByName.ci,
|
|
734
732
|
description: "",
|
|
735
733
|
permissions: [],
|
|
736
|
-
uiPermissions:
|
|
734
|
+
uiPermissions: {
|
|
735
|
+
...emptyUiPermissions,
|
|
737
736
|
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }
|
|
738
|
-
}
|
|
737
|
+
}
|
|
739
738
|
},
|
|
740
739
|
[staticRolesByName.deploymentsManager]: {
|
|
741
740
|
name: "Deployments Manager",
|
|
742
741
|
value: staticRolesByName.deploymentsManager,
|
|
743
742
|
description: "",
|
|
744
743
|
permissions: [],
|
|
745
|
-
uiPermissions:
|
|
744
|
+
uiPermissions: {
|
|
745
|
+
...emptyUiPermissions,
|
|
746
746
|
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
747
747
|
groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },
|
|
748
748
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
749
|
-
}
|
|
749
|
+
}
|
|
750
750
|
},
|
|
751
751
|
[staticRolesByName.terminalAccess]: {
|
|
752
752
|
name: "Troubleshooting",
|
|
753
753
|
value: staticRolesByName.terminalAccess,
|
|
754
754
|
description: "Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding",
|
|
755
755
|
permissions: [],
|
|
756
|
-
uiPermissions:
|
|
756
|
+
uiPermissions: {
|
|
757
|
+
...emptyUiPermissions,
|
|
757
758
|
groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }
|
|
758
|
-
}
|
|
759
|
+
}
|
|
759
760
|
}
|
|
760
761
|
});
|
|
762
|
+
var serviceProviderRolesById = {
|
|
763
|
+
admin: {
|
|
764
|
+
name: "Admin",
|
|
765
|
+
value: staticRolesByName.admin,
|
|
766
|
+
description: "Full access",
|
|
767
|
+
permissions: [],
|
|
768
|
+
uiPermissions: {
|
|
769
|
+
...emptyUiPermissions,
|
|
770
|
+
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
771
|
+
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
|
|
772
|
+
tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
|
|
773
|
+
}
|
|
774
|
+
},
|
|
775
|
+
readOnly: {
|
|
776
|
+
name: "Read access",
|
|
777
|
+
value: staticRolesByName.admin,
|
|
778
|
+
description: "This role can see all linked organizations but cannot make any changes",
|
|
779
|
+
permissions: [],
|
|
780
|
+
uiPermissions: {
|
|
781
|
+
...emptyUiPermissions,
|
|
782
|
+
auditlog: [uiPermissionsById.read.value],
|
|
783
|
+
userManagement: [uiPermissionsById.read.value],
|
|
784
|
+
tenantManagement: [uiPermissionsById.read.value]
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
};
|
|
761
788
|
var defaultPermissionSets = {
|
|
762
789
|
[permissionSetIds.Basic]: {
|
|
763
790
|
name: permissionSetIds.Basic,
|
|
@@ -768,7 +795,9 @@ var defaultPermissionSets = {
|
|
|
768
795
|
},
|
|
769
796
|
[permissionSetIds.SuperUser]: {
|
|
770
797
|
name: permissionSetIds.SuperUser,
|
|
771
|
-
result:
|
|
798
|
+
result: {
|
|
799
|
+
...rolesById[staticRolesByName.admin].uiPermissions
|
|
800
|
+
}
|
|
772
801
|
},
|
|
773
802
|
[permissionSetIds.ManageUsers]: {
|
|
774
803
|
name: permissionSetIds.ManageUsers,
|
|
@@ -788,6 +817,18 @@ var defaultPermissionSets = {
|
|
|
788
817
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
789
818
|
}
|
|
790
819
|
},
|
|
820
|
+
[permissionSetIds.ReadTenants]: {
|
|
821
|
+
name: permissionSetIds.ReadTenants,
|
|
822
|
+
result: {
|
|
823
|
+
tenantManagement: [uiPermissionsById.read.value]
|
|
824
|
+
}
|
|
825
|
+
},
|
|
826
|
+
[permissionSetIds.ManageTenants]: {
|
|
827
|
+
name: permissionSetIds.ManageTenants,
|
|
828
|
+
result: {
|
|
829
|
+
tenantManagement: [uiPermissionsById.manage.value]
|
|
830
|
+
}
|
|
831
|
+
},
|
|
791
832
|
[permissionSetIds.ReadUsers]: {
|
|
792
833
|
name: permissionSetIds.ReadUsers,
|
|
793
834
|
result: {
|
|
@@ -839,11 +880,12 @@ var defaultPermissionSets = {
|
|
|
839
880
|
}
|
|
840
881
|
}
|
|
841
882
|
};
|
|
842
|
-
var rolesByName =
|
|
883
|
+
var rolesByName = {
|
|
884
|
+
...staticRolesByName,
|
|
843
885
|
deploymentCreation: { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
844
886
|
groupAccess: { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
845
887
|
userManagement: { action: "http", object: { type: "any", value: `${useradmApiUrlv1}/.*` } }
|
|
846
|
-
}
|
|
888
|
+
};
|
|
847
889
|
var twoFAStates = {
|
|
848
890
|
enabled: "enabled",
|
|
849
891
|
disabled: "disabled",
|
|
@@ -881,11 +923,12 @@ var deploymentStatesToSubstates = {
|
|
|
881
923
|
pending: [deploymentSubstates.pending],
|
|
882
924
|
successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]
|
|
883
925
|
};
|
|
884
|
-
var deploymentStatesToSubstatesWithSkipped =
|
|
926
|
+
var deploymentStatesToSubstatesWithSkipped = {
|
|
927
|
+
...deploymentStatesToSubstates,
|
|
885
928
|
failures: [deploymentSubstates.failure],
|
|
886
929
|
skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],
|
|
887
930
|
successes: [deploymentSubstates.success]
|
|
888
|
-
}
|
|
931
|
+
};
|
|
889
932
|
var installationSubstatesMap = {
|
|
890
933
|
download: {
|
|
891
934
|
title: "download",
|
|
@@ -930,8 +973,8 @@ var DEPLOYMENT_STATES = {
|
|
|
930
973
|
var listDefaultsByState = {
|
|
931
974
|
[DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
|
|
932
975
|
[DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
|
|
933
|
-
[DEPLOYMENT_STATES.scheduled]:
|
|
934
|
-
[DEPLOYMENT_STATES.finished]:
|
|
976
|
+
[DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },
|
|
977
|
+
[DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },
|
|
935
978
|
sort: { direction: SORTING_OPTIONS.desc }
|
|
936
979
|
};
|
|
937
980
|
var DEPLOYMENT_ROUTES = {
|
|
@@ -992,8 +1035,7 @@ var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
|
|
|
992
1035
|
var getMappedDeploymentSelection = (0, import_toolkit2.createSelector)(
|
|
993
1036
|
[getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
|
|
994
1037
|
(selectionState, deploymentsState, deploymentsById) => {
|
|
995
|
-
|
|
996
|
-
const { selection = [] } = (_a = selectionState[deploymentsState]) != null ? _a : {};
|
|
1038
|
+
const { selection = [] } = selectionState[deploymentsState] ?? {};
|
|
997
1039
|
return selection.reduce((accu, id) => {
|
|
998
1040
|
if (deploymentsById[id]) {
|
|
999
1041
|
accu.push(deploymentsById[id]);
|
|
@@ -1035,7 +1077,8 @@ var getSelectedGroup = (state) => state.devices.groups.selectedGroup;
|
|
|
1035
1077
|
var getListedDevices = (state) => state.devices.deviceList.deviceIds;
|
|
1036
1078
|
var getFilteringAttributes = (state) => state.devices.filteringAttributes;
|
|
1037
1079
|
var getFilteringAttributesFromConfig = (state) => state.devices.filteringAttributesConfig.attributes;
|
|
1038
|
-
var getSortedFilteringAttributes = (0, import_toolkit3.createSelector)([getFilteringAttributes], (filteringAttributes) =>
|
|
1080
|
+
var getSortedFilteringAttributes = (0, import_toolkit3.createSelector)([getFilteringAttributes], (filteringAttributes) => ({
|
|
1081
|
+
...filteringAttributes,
|
|
1039
1082
|
identityAttributes: [...filteringAttributes.identityAttributes, "id"]
|
|
1040
1083
|
}));
|
|
1041
1084
|
var getDeviceLimit = (state) => state.devices.limit;
|
|
@@ -1063,10 +1106,7 @@ var getDeviceCountsByStatus = (0, import_toolkit3.createSelector)(
|
|
|
1063
1106
|
return accu;
|
|
1064
1107
|
}, {})
|
|
1065
1108
|
);
|
|
1066
|
-
var getDeviceById = (0, import_toolkit3.createSelector)([getDevicesById, (_, deviceId) => deviceId], (devicesById, deviceId = "") => {
|
|
1067
|
-
var _a;
|
|
1068
|
-
return (_a = devicesById[deviceId]) != null ? _a : {};
|
|
1069
|
-
});
|
|
1109
|
+
var getDeviceById = (0, import_toolkit3.createSelector)([getDevicesById, (_, deviceId) => deviceId], (devicesById, deviceId = "") => devicesById[deviceId] ?? {});
|
|
1070
1110
|
var getSelectedGroupInfo = (0, import_toolkit3.createSelector)(
|
|
1071
1111
|
[getAcceptedDevices, getGroupsById, getSelectedGroup],
|
|
1072
1112
|
({ total: acceptedDeviceTotal }, groupsById, selectedGroup) => {
|
|
@@ -1083,17 +1123,13 @@ var getLimitMaxed = (0, import_toolkit3.createSelector)(
|
|
|
1083
1123
|
[getAcceptedDevices, getDeviceLimit],
|
|
1084
1124
|
({ total: acceptedDevices = 0 }, deviceLimit) => Boolean(deviceLimit && deviceLimit <= acceptedDevices)
|
|
1085
1125
|
);
|
|
1086
|
-
var
|
|
1087
|
-
var getGroupsByIdWithoutUngrouped = (0, import_toolkit3.createSelector)([getGroupsById], (_a) => {
|
|
1088
|
-
var _c = _a, { [_b = UNGROUPED_GROUP.id]: ungrouped } = _c, groups = __objRest(_c, [__restKey(_b)]);
|
|
1089
|
-
return groups;
|
|
1090
|
-
});
|
|
1126
|
+
var getGroupsByIdWithoutUngrouped = (0, import_toolkit3.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
|
|
1091
1127
|
var getGroups = (0, import_toolkit3.createSelector)([getGroupsById], (groupsById) => {
|
|
1092
1128
|
const groupNames = Object.keys(groupsById).sort();
|
|
1093
1129
|
const groupedGroups = Object.entries(groupsById).sort((a, b) => a[0].localeCompare(b[0])).reduce(
|
|
1094
1130
|
(accu, [groupname, group]) => {
|
|
1095
1131
|
const name = groupname === UNGROUPED_GROUP.id ? UNGROUPED_GROUP.name : groupname;
|
|
1096
|
-
const groupItem =
|
|
1132
|
+
const groupItem = { ...group, groupId: name, name: groupname };
|
|
1097
1133
|
if (group.filters.length > 0) {
|
|
1098
1134
|
if (groupname !== UNGROUPED_GROUP.id) {
|
|
1099
1135
|
accu.dynamic.push(groupItem);
|
|
@@ -1107,7 +1143,7 @@ var getGroups = (0, import_toolkit3.createSelector)([getGroupsById], (groupsById
|
|
|
1107
1143
|
},
|
|
1108
1144
|
{ dynamic: [], static: [], ungrouped: [] }
|
|
1109
1145
|
);
|
|
1110
|
-
return
|
|
1146
|
+
return { groupNames, ...groupedGroups };
|
|
1111
1147
|
});
|
|
1112
1148
|
var getAttributesList = (0, import_toolkit3.createSelector)(
|
|
1113
1149
|
[getFilteringAttributes, getFilteringAttributesFromConfig],
|
|
@@ -1145,10 +1181,7 @@ var getWebhookEvents = (state) => state.organization.webhooks.events;
|
|
|
1145
1181
|
var getWebhookEventTotal = (state) => state.organization.webhooks.eventTotal;
|
|
1146
1182
|
var getDeviceTwinIntegrations = (0, import_toolkit4.createSelector)(
|
|
1147
1183
|
[getExternalIntegrations],
|
|
1148
|
-
(integrations) => integrations.filter((integration) =>
|
|
1149
|
-
var _a;
|
|
1150
|
-
return integration.id && ((_a = EXTERNAL_PROVIDER[integration.provider]) == null ? void 0 : _a.deviceTwin);
|
|
1151
|
-
})
|
|
1184
|
+
(integrations) => integrations.filter((integration) => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)
|
|
1152
1185
|
);
|
|
1153
1186
|
var getIsServiceProvider = (state) => state.organization.organization.service_provider;
|
|
1154
1187
|
var getWebhooks = (0, import_toolkit4.createSelector)(
|
|
@@ -1175,12 +1208,12 @@ var filterAliases = {
|
|
|
1175
1208
|
var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => {
|
|
1176
1209
|
return ids.slice(0, cutOffSize).reduce((accu, id) => {
|
|
1177
1210
|
if (id && byId[id]) {
|
|
1178
|
-
accu.push(
|
|
1211
|
+
accu.push({ ...defaultObject, ...byId[id] });
|
|
1179
1212
|
}
|
|
1180
1213
|
return accu;
|
|
1181
1214
|
}, []);
|
|
1182
1215
|
};
|
|
1183
|
-
var mergePermissions = (existingPermissions =
|
|
1216
|
+
var mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
|
|
1184
1217
|
(accu, [key, value]) => {
|
|
1185
1218
|
let values;
|
|
1186
1219
|
if (!accu[key]) {
|
|
@@ -1190,12 +1223,12 @@ var mergePermissions = (existingPermissions = __spreadValues({}, emptyUiPermissi
|
|
|
1190
1223
|
if (Array.isArray(value)) {
|
|
1191
1224
|
values = [...value, ...accu[key]].filter(import_helpers3.duplicateFilter);
|
|
1192
1225
|
} else {
|
|
1193
|
-
values = mergePermissions(accu[key],
|
|
1226
|
+
values = mergePermissions(accu[key], { ...value });
|
|
1194
1227
|
}
|
|
1195
1228
|
accu[key] = values;
|
|
1196
1229
|
return accu;
|
|
1197
1230
|
},
|
|
1198
|
-
|
|
1231
|
+
{ ...addedPermissions }
|
|
1199
1232
|
);
|
|
1200
1233
|
var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
|
|
1201
1234
|
(accu, roleId) => {
|
|
@@ -1204,7 +1237,7 @@ var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
|
|
|
1204
1237
|
}
|
|
1205
1238
|
return mergePermissions(accu, roles[roleId].uiPermissions);
|
|
1206
1239
|
},
|
|
1207
|
-
|
|
1240
|
+
{ ...emptyUiPermissions }
|
|
1208
1241
|
);
|
|
1209
1242
|
var isDarkMode = (mode) => mode === DARK_MODE;
|
|
1210
1243
|
|
|
@@ -1217,15 +1250,12 @@ var getReleaseListState = (state) => state.releases.releasesList;
|
|
|
1217
1250
|
var getListedReleases = (state) => state.releases.releasesList.releaseIds;
|
|
1218
1251
|
var getReleaseMappingDefaults = () => ({});
|
|
1219
1252
|
var getReleasesList = (0, import_toolkit5.createSelector)([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper);
|
|
1220
|
-
var getReleaseTagsById = (0, import_toolkit5.createSelector)([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) =>
|
|
1253
|
+
var getReleaseTagsById = (0, import_toolkit5.createSelector)([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) => ({ ...accu, [key]: key }), {}));
|
|
1221
1254
|
var getHasReleases = (0, import_toolkit5.createSelector)(
|
|
1222
1255
|
[getReleaseListState, getReleasesById],
|
|
1223
1256
|
({ searchTotal, total }, byId) => !!(Object.keys(byId).length || total || searchTotal)
|
|
1224
1257
|
);
|
|
1225
|
-
var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => {
|
|
1226
|
-
var _a;
|
|
1227
|
-
return (_a = byId[id]) != null ? _a : {};
|
|
1228
|
-
});
|
|
1258
|
+
var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id] ?? {});
|
|
1229
1259
|
|
|
1230
1260
|
// src/usersSlice/selectors.ts
|
|
1231
1261
|
var import_toolkit6 = require("@reduxjs/toolkit");
|
|
@@ -1234,10 +1264,7 @@ var getTooltipsById = (state) => state.users.tooltips.byId;
|
|
|
1234
1264
|
var getGlobalSettings = (state) => state.users.globalSettings;
|
|
1235
1265
|
var getCurrentUserId = (state) => state.users.currentUser;
|
|
1236
1266
|
var getUsersById = (state) => state.users.byId;
|
|
1237
|
-
var getCurrentUser = (0, import_toolkit6.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => {
|
|
1238
|
-
var _a;
|
|
1239
|
-
return (_a = usersById[userId]) != null ? _a : {};
|
|
1240
|
-
});
|
|
1267
|
+
var getCurrentUser = (0, import_toolkit6.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => usersById[userId] ?? {});
|
|
1241
1268
|
var getUserSettings = (state) => state.users.userSettings;
|
|
1242
1269
|
var getIsDarkMode = (0, import_toolkit6.createSelector)([getUserSettings], ({ mode }) => isDarkMode(mode));
|
|
1243
1270
|
var getShowHelptips = (0, import_toolkit6.createSelector)(
|
|
@@ -1248,22 +1275,22 @@ var getTooltipsState = (0, import_toolkit6.createSelector)(
|
|
|
1248
1275
|
[getTooltipsById, getUserSettings],
|
|
1249
1276
|
(byId, { tooltips = {} }) => Object.entries(byId).reduce(
|
|
1250
1277
|
(accu, [id, value]) => {
|
|
1251
|
-
accu[id] =
|
|
1278
|
+
accu[id] = { ...accu[id], ...value };
|
|
1252
1279
|
return accu;
|
|
1253
1280
|
},
|
|
1254
|
-
|
|
1281
|
+
{ ...tooltips }
|
|
1255
1282
|
)
|
|
1256
1283
|
);
|
|
1257
1284
|
var getHas2FA = (0, import_toolkit6.createSelector)(
|
|
1258
1285
|
[getCurrentUser],
|
|
1259
1286
|
(currentUser) => currentUser.hasOwnProperty("tfa_status") && currentUser.tfa_status === twoFAStates.enabled
|
|
1260
1287
|
);
|
|
1261
|
-
var getIdAttribute = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ id_attribute =
|
|
1288
|
+
var getIdAttribute = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ id_attribute = { ...defaultIdAttribute } }) => id_attribute);
|
|
1262
1289
|
var getOfflineThresholdSettings = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ offlineThreshold }) => ({
|
|
1263
|
-
interval:
|
|
1264
|
-
intervalUnit:
|
|
1290
|
+
interval: offlineThreshold?.interval || DEVICE_ONLINE_CUTOFF.interval,
|
|
1291
|
+
intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName
|
|
1265
1292
|
}));
|
|
1266
|
-
var getRolesList = (0, import_toolkit6.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([id, role]) =>
|
|
1293
|
+
var getRolesList = (0, import_toolkit6.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([id, role]) => ({ id, ...role })));
|
|
1267
1294
|
|
|
1268
1295
|
// src/commonSelectors.ts
|
|
1269
1296
|
var getIsEnterprise = (0, import_toolkit7.createSelector)(
|
|
@@ -1281,8 +1308,7 @@ var getSearchEndpoint = (0, import_toolkit7.createSelector)(
|
|
|
1281
1308
|
var getUserRoles = (0, import_toolkit7.createSelector)(
|
|
1282
1309
|
[getCurrentUser, getRolesById, getIsEnterprise, getFeatures, getOrganization],
|
|
1283
1310
|
(currentUser, rolesById2, isEnterprise, { isHosted, hasMultitenancy }, { plan = PLANS.os.id }) => {
|
|
1284
|
-
|
|
1285
|
-
const isAdmin = ((_a = currentUser.roles) == null ? void 0 : _a.length) ? currentUser.roles.some((role) => role === rolesByName.admin) : !(hasMultitenancy || isEnterprise || isHosted && plan !== PLANS.os.id);
|
|
1311
|
+
const isAdmin = currentUser.roles?.length ? currentUser.roles.some((role) => role === rolesByName.admin) : !(hasMultitenancy || isEnterprise || isHosted && plan !== PLANS.os.id);
|
|
1286
1312
|
const uiPermissions = isAdmin ? mapUserRolesToUiPermissions([rolesByName.admin], rolesById2) : mapUserRolesToUiPermissions(currentUser.roles || [], rolesById2);
|
|
1287
1313
|
return { isAdmin, uiPermissions };
|
|
1288
1314
|
}
|
|
@@ -1351,10 +1377,11 @@ var getFilterAttributes = (0, import_toolkit7.createSelector)(
|
|
|
1351
1377
|
const deviceNameAttribute = { key: "name", value: "Name", scope: ATTRIBUTE_SCOPES.tags, category: ATTRIBUTE_SCOPES.tags, priority: 1 };
|
|
1352
1378
|
const deviceIdAttribute = { key: "id", value: "Device ID", scope: ATTRIBUTE_SCOPES.identity, category: ATTRIBUTE_SCOPES.identity, priority: 1 };
|
|
1353
1379
|
const checkInAttribute = { key: "check_in_time", value: "Latest activity", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
|
|
1354
|
-
const updateAttribute =
|
|
1380
|
+
const updateAttribute = { ...checkInAttribute, key: "updated_ts", value: "Last inventory update" };
|
|
1355
1381
|
const firstRequestAttribute = { key: "created_ts", value: "First request", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
|
|
1356
1382
|
const attributes = [
|
|
1357
|
-
...previousFilters.map((item) =>
|
|
1383
|
+
...previousFilters.map((item) => ({
|
|
1384
|
+
...item,
|
|
1358
1385
|
value: deviceIdAttribute.key === item.key ? deviceIdAttribute.value : item.key,
|
|
1359
1386
|
category: "recently used",
|
|
1360
1387
|
priority: 0
|
|
@@ -1372,14 +1399,13 @@ var getFilterAttributes = (0, import_toolkit7.createSelector)(
|
|
|
1372
1399
|
return (0, import_helpers4.attributeDuplicateFilter)(attributes, "key");
|
|
1373
1400
|
}
|
|
1374
1401
|
);
|
|
1375
|
-
var getOnboardingState = (0, import_toolkit7.createSelector)([getOnboarding, getUserSettings], (
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
});
|
|
1402
|
+
var getOnboardingState = (0, import_toolkit7.createSelector)([getOnboarding, getUserSettings], ({ complete, progress, showTips, ...remainder }, { onboarding = {} }) => ({
|
|
1403
|
+
...remainder,
|
|
1404
|
+
...onboarding,
|
|
1405
|
+
complete: onboarding.complete || complete,
|
|
1406
|
+
progress: Object.keys(onboardingSteps).findIndex((step) => step === progress) > Object.keys(onboardingSteps).findIndex((step) => step === onboarding.progress) ? progress : onboarding.progress,
|
|
1407
|
+
showTips: !onboarding.showTips ? onboarding.showTips : showTips
|
|
1408
|
+
}));
|
|
1383
1409
|
var getDemoDeviceAddress = (0, import_toolkit7.createSelector)([getDevicesById, getOnboarding], (devicesById, { approach, demoArtifactPort }) => {
|
|
1384
1410
|
const demoDeviceAddress = `http://${(0, import_helpers4.getDemoDeviceAddress)(Object.values(devicesById), approach)}`;
|
|
1385
1411
|
return demoArtifactPort ? `${demoDeviceAddress}:${demoArtifactPort}` : demoDeviceAddress;
|
|
@@ -1400,12 +1426,11 @@ var getDeploymentRelease = (0, import_toolkit7.createSelector)(
|
|
|
1400
1426
|
var getSelectedDeploymentData = (0, import_toolkit7.createSelector)(
|
|
1401
1427
|
[getDeploymentsById, getDeploymentsSelectionState, getDevicesById, getSelectedDeploymentDeviceIds],
|
|
1402
1428
|
(deploymentsById, { selectedId }, devicesById, selectedDeviceIds) => {
|
|
1403
|
-
|
|
1404
|
-
const deployment = (_a = deploymentsById[selectedId]) != null ? _a : {};
|
|
1429
|
+
const deployment = deploymentsById[selectedId] ?? {};
|
|
1405
1430
|
const { devices = {} } = deployment;
|
|
1406
1431
|
return {
|
|
1407
1432
|
deployment,
|
|
1408
|
-
selectedDevices: selectedDeviceIds.map((deviceId) =>
|
|
1433
|
+
selectedDevices: selectedDeviceIds.map((deviceId) => ({ ...devicesById[deviceId], ...devices[deviceId] }))
|
|
1409
1434
|
};
|
|
1410
1435
|
}
|
|
1411
1436
|
);
|
|
@@ -1420,8 +1445,7 @@ var getAvailableIssueOptionsByType = (0, import_toolkit7.createSelector)(
|
|
|
1420
1445
|
}, {})
|
|
1421
1446
|
);
|
|
1422
1447
|
var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserRoles, (_, options = {}) => options], (groupsById, { uiPermissions }, { staticOnly }) => {
|
|
1423
|
-
|
|
1424
|
-
const _b2 = groupsById, { [_a = UNGROUPED_GROUP.id]: ungrouped } = _b2, groups = __objRest(_b2, [__restKey(_a)]);
|
|
1448
|
+
const { [UNGROUPED_GROUP.id]: ungrouped, ...groups } = groupsById;
|
|
1425
1449
|
if (staticOnly) {
|
|
1426
1450
|
return Object.keys(uiPermissions.groups).sort();
|
|
1427
1451
|
}
|
|
@@ -1455,28 +1479,24 @@ var getAuditlogDevice = (0, import_toolkit7.createSelector)([getAuditLogEntry, g
|
|
|
1455
1479
|
if (auditlogEvent) {
|
|
1456
1480
|
const { object = {} } = auditlogEvent;
|
|
1457
1481
|
const { device = {}, id, type } = object;
|
|
1458
|
-
auditlogDevice = type === "device" ?
|
|
1482
|
+
auditlogDevice = type === "device" ? { id, ...device } : auditlogDevice;
|
|
1459
1483
|
}
|
|
1460
|
-
return
|
|
1484
|
+
return { ...auditlogDevice, ...devicesById[auditlogDevice.id] };
|
|
1461
1485
|
});
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
getSelectedDeploymentData,
|
|
1478
|
-
getTenantCapabilities,
|
|
1479
|
-
getUserCapabilities,
|
|
1480
|
-
getUserRoles
|
|
1486
|
+
var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, getRolesList], ({ service_provider }, roles) => {
|
|
1487
|
+
if (service_provider) {
|
|
1488
|
+
return roles.reduce((accu, role) => {
|
|
1489
|
+
if (rolesById[role.id]) {
|
|
1490
|
+
return accu;
|
|
1491
|
+
}
|
|
1492
|
+
accu.push(role);
|
|
1493
|
+
return accu;
|
|
1494
|
+
}, Object.values(serviceProviderRolesById));
|
|
1495
|
+
}
|
|
1496
|
+
return Object.keys(rolesById).reverse().reduce((accu, key) => {
|
|
1497
|
+
const index = accu.findIndex(({ id }) => id === key);
|
|
1498
|
+
accu = [accu[index], ...accu.filter((item, itemIndex) => index !== itemIndex)];
|
|
1499
|
+
return accu;
|
|
1500
|
+
}, roles);
|
|
1481
1501
|
});
|
|
1482
1502
|
//# sourceMappingURL=commonSelectors.js.map
|