@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/selectors.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 });
|
|
@@ -123,6 +93,7 @@ __export(selectors_exports, {
|
|
|
123
93
|
getReleaseTagsById: () => getReleaseTagsById,
|
|
124
94
|
getReleasesById: () => getReleasesById,
|
|
125
95
|
getReleasesList: () => getReleasesList,
|
|
96
|
+
getRelevantRoles: () => getRelevantRoles,
|
|
126
97
|
getRolesById: () => getRolesById,
|
|
127
98
|
getRolesList: () => getRolesList,
|
|
128
99
|
getSearchEndpoint: () => getSearchEndpoint,
|
|
@@ -166,10 +137,7 @@ var getSearchState = (state) => state.app.searchState;
|
|
|
166
137
|
var getSearchedDevices = (0, import_toolkit.createSelector)([getSearchState], ({ deviceIds }) => deviceIds);
|
|
167
138
|
var getVersionInformation = (0, import_toolkit.createSelector)(
|
|
168
139
|
[getFullVersionInformation, getFeatures],
|
|
169
|
-
(
|
|
170
|
-
var _b2 = _a, { Integration } = _b2, remainder = __objRest(_b2, ["Integration"]);
|
|
171
|
-
return isHosted && Integration !== "next" ? remainder : __spreadProps(__spreadValues({}, remainder), { Integration });
|
|
172
|
-
}
|
|
140
|
+
({ Integration, ...remainder }, { isHosted }) => isHosted && Integration !== "next" ? remainder : { ...remainder, Integration }
|
|
173
141
|
);
|
|
174
142
|
var getIsPreview = (0, import_toolkit.createSelector)([getFullVersionInformation], ({ Integration }) => (0, import_helpers.versionCompare)(Integration, "next") > -1);
|
|
175
143
|
|
|
@@ -194,7 +162,7 @@ var chartTypes = {
|
|
|
194
162
|
};
|
|
195
163
|
var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.key, attribute: "artifact_name" };
|
|
196
164
|
var defaultReportType = "distribution";
|
|
197
|
-
var defaultReports = [
|
|
165
|
+
var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
|
|
198
166
|
var PLANS = {
|
|
199
167
|
os: {
|
|
200
168
|
id: "os",
|
|
@@ -516,13 +484,14 @@ var emptyUiPermissions = Object.freeze({
|
|
|
516
484
|
deployments: [],
|
|
517
485
|
groups: Object.freeze({}),
|
|
518
486
|
releases: Object.freeze({}),
|
|
487
|
+
tenantManagement: [],
|
|
519
488
|
userManagement: []
|
|
520
489
|
});
|
|
521
490
|
var emptyRole = Object.freeze({
|
|
522
491
|
name: void 0,
|
|
523
492
|
description: "",
|
|
524
493
|
permissions: [],
|
|
525
|
-
uiPermissions: Object.freeze(
|
|
494
|
+
uiPermissions: Object.freeze({ ...emptyUiPermissions })
|
|
526
495
|
});
|
|
527
496
|
|
|
528
497
|
// src/deploymentsSlice/selectors.ts
|
|
@@ -594,6 +563,13 @@ var auditLogsApiUrl = `${apiUrl.v1}/auditlogs`;
|
|
|
594
563
|
var tenantadmApiUrlv1 = `${apiUrl.v1}/tenantadm`;
|
|
595
564
|
var tenantadmApiUrlv2 = `${apiUrl.v2}/tenantadm`;
|
|
596
565
|
var ssoIdpApiUrlv1 = `${apiUrl.v1}/useradm/sso/idp/metadata`;
|
|
566
|
+
var AUDIT_LOGS_TYPES = [
|
|
567
|
+
{ title: "Artifact", queryParameter: "object_type", value: "artifact" },
|
|
568
|
+
{ title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
|
|
569
|
+
{ title: "Device", queryParameter: "object_id", value: "device" },
|
|
570
|
+
{ title: "User", queryParameter: "object_id", value: "user" }
|
|
571
|
+
];
|
|
572
|
+
var SP_AUDIT_LOGS_TYPES = [AUDIT_LOGS_TYPES[3], { title: "Tenant", queryParameter: "object_id", value: "tenant" }];
|
|
597
573
|
var emptyWebhook = {
|
|
598
574
|
description: "",
|
|
599
575
|
enabled: true,
|
|
@@ -637,10 +613,12 @@ var permissionSetIds = {
|
|
|
637
613
|
DeployToDevices: "DeployToDevices",
|
|
638
614
|
ManageDevices: "ManageDevices",
|
|
639
615
|
ManageReleases: "ManageReleases",
|
|
616
|
+
ManageTenants: "ManageTenants",
|
|
640
617
|
ManageUsers: "ManageUsers",
|
|
641
618
|
ReadAuditLogs: "ReadAuditLogs",
|
|
642
619
|
ReadDevices: "ReadDevices",
|
|
643
620
|
ReadReleases: "ReadReleases",
|
|
621
|
+
ReadTenants: "ReadTenants",
|
|
644
622
|
ReadUsers: "ReadUsers",
|
|
645
623
|
SuperUser: "SuperUser",
|
|
646
624
|
UploadArtifacts: "UploadArtifacts"
|
|
@@ -679,6 +657,7 @@ var uiPermissionsById = {
|
|
|
679
657
|
permissionSets: {
|
|
680
658
|
groups: permissionSetIds.ManageDevices,
|
|
681
659
|
releases: permissionSetIds.ManageReleases,
|
|
660
|
+
tenantManagement: permissionSetIds.ManageTenants,
|
|
682
661
|
userManagement: permissionSetIds.ManageUsers
|
|
683
662
|
},
|
|
684
663
|
title: "Manage",
|
|
@@ -692,6 +671,7 @@ var uiPermissionsById = {
|
|
|
692
671
|
auditlog: permissionSetIds.ReadAuditLogs,
|
|
693
672
|
groups: permissionSetIds.ReadDevices,
|
|
694
673
|
releases: permissionSetIds.ReadReleases,
|
|
674
|
+
tenantManagement: permissionSetIds.ReadTenants,
|
|
695
675
|
userManagement: permissionSetIds.ReadUsers
|
|
696
676
|
},
|
|
697
677
|
title: "Read",
|
|
@@ -716,6 +696,7 @@ var uiPermissionsByArea = {
|
|
|
716
696
|
auditlog: {
|
|
717
697
|
endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
|
|
718
698
|
explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
|
|
699
|
+
key: "auditlog",
|
|
719
700
|
uiPermissions: [uiPermissionsById.read],
|
|
720
701
|
title: "System audit log"
|
|
721
702
|
},
|
|
@@ -726,6 +707,7 @@ var uiPermissionsByArea = {
|
|
|
726
707
|
{ path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
|
|
727
708
|
],
|
|
728
709
|
explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
|
|
710
|
+
key: "deployments",
|
|
729
711
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
|
|
730
712
|
title: "Deployments"
|
|
731
713
|
},
|
|
@@ -741,6 +723,7 @@ var uiPermissionsByArea = {
|
|
|
741
723
|
{ path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
|
|
742
724
|
],
|
|
743
725
|
explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
|
|
726
|
+
key: "groups",
|
|
744
727
|
scope: scopedPermissionAreas.groups.scopeType,
|
|
745
728
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
|
|
746
729
|
title: "Group Management"
|
|
@@ -760,16 +743,29 @@ var uiPermissionsByArea = {
|
|
|
760
743
|
}
|
|
761
744
|
],
|
|
762
745
|
explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
|
|
746
|
+
key: "releases",
|
|
763
747
|
scope: "ReleaseTags",
|
|
764
748
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
|
|
765
749
|
title: "Release Management"
|
|
766
750
|
},
|
|
751
|
+
tenantManagement: {
|
|
752
|
+
endpoints: [
|
|
753
|
+
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
754
|
+
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
|
|
755
|
+
{ path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
|
|
756
|
+
],
|
|
757
|
+
explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
|
|
758
|
+
key: "tenantManagement",
|
|
759
|
+
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
760
|
+
title: "Tenant Management"
|
|
761
|
+
},
|
|
767
762
|
userManagement: {
|
|
768
763
|
endpoints: [
|
|
769
764
|
{ path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
770
765
|
{ path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
|
|
771
766
|
],
|
|
772
767
|
explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
|
|
768
|
+
key: "userManagement",
|
|
773
769
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
774
770
|
title: "User Management"
|
|
775
771
|
}
|
|
@@ -782,56 +778,87 @@ var rolesById = Object.freeze({
|
|
|
782
778
|
description: "Full access",
|
|
783
779
|
permissions: [],
|
|
784
780
|
// permissions refers to the values returned from the backend
|
|
785
|
-
uiPermissions:
|
|
781
|
+
uiPermissions: {
|
|
782
|
+
...emptyUiPermissions,
|
|
786
783
|
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
787
784
|
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
788
785
|
groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },
|
|
789
786
|
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },
|
|
790
787
|
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)
|
|
791
|
-
}
|
|
788
|
+
}
|
|
792
789
|
},
|
|
793
790
|
[staticRolesByName.readOnly]: {
|
|
794
791
|
name: "Read Access",
|
|
795
792
|
value: staticRolesByName.readOnly,
|
|
796
793
|
description: "",
|
|
797
794
|
permissions: [],
|
|
798
|
-
uiPermissions:
|
|
795
|
+
uiPermissions: {
|
|
796
|
+
...emptyUiPermissions,
|
|
799
797
|
deployments: [uiPermissionsById.read.value],
|
|
800
798
|
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },
|
|
801
799
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },
|
|
802
800
|
userManagement: [uiPermissionsById.read.value]
|
|
803
|
-
}
|
|
801
|
+
}
|
|
804
802
|
},
|
|
805
803
|
[staticRolesByName.ci]: {
|
|
806
804
|
name: "Releases Manager",
|
|
807
805
|
value: staticRolesByName.ci,
|
|
808
806
|
description: "",
|
|
809
807
|
permissions: [],
|
|
810
|
-
uiPermissions:
|
|
808
|
+
uiPermissions: {
|
|
809
|
+
...emptyUiPermissions,
|
|
811
810
|
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }
|
|
812
|
-
}
|
|
811
|
+
}
|
|
813
812
|
},
|
|
814
813
|
[staticRolesByName.deploymentsManager]: {
|
|
815
814
|
name: "Deployments Manager",
|
|
816
815
|
value: staticRolesByName.deploymentsManager,
|
|
817
816
|
description: "",
|
|
818
817
|
permissions: [],
|
|
819
|
-
uiPermissions:
|
|
818
|
+
uiPermissions: {
|
|
819
|
+
...emptyUiPermissions,
|
|
820
820
|
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
821
821
|
groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },
|
|
822
822
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
823
|
-
}
|
|
823
|
+
}
|
|
824
824
|
},
|
|
825
825
|
[staticRolesByName.terminalAccess]: {
|
|
826
826
|
name: "Troubleshooting",
|
|
827
827
|
value: staticRolesByName.terminalAccess,
|
|
828
828
|
description: "Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding",
|
|
829
829
|
permissions: [],
|
|
830
|
-
uiPermissions:
|
|
830
|
+
uiPermissions: {
|
|
831
|
+
...emptyUiPermissions,
|
|
831
832
|
groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }
|
|
832
|
-
}
|
|
833
|
+
}
|
|
833
834
|
}
|
|
834
835
|
});
|
|
836
|
+
var serviceProviderRolesById = {
|
|
837
|
+
admin: {
|
|
838
|
+
name: "Admin",
|
|
839
|
+
value: staticRolesByName.admin,
|
|
840
|
+
description: "Full access",
|
|
841
|
+
permissions: [],
|
|
842
|
+
uiPermissions: {
|
|
843
|
+
...emptyUiPermissions,
|
|
844
|
+
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
845
|
+
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
|
|
846
|
+
tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
|
|
847
|
+
}
|
|
848
|
+
},
|
|
849
|
+
readOnly: {
|
|
850
|
+
name: "Read access",
|
|
851
|
+
value: staticRolesByName.admin,
|
|
852
|
+
description: "This role can see all linked organizations but cannot make any changes",
|
|
853
|
+
permissions: [],
|
|
854
|
+
uiPermissions: {
|
|
855
|
+
...emptyUiPermissions,
|
|
856
|
+
auditlog: [uiPermissionsById.read.value],
|
|
857
|
+
userManagement: [uiPermissionsById.read.value],
|
|
858
|
+
tenantManagement: [uiPermissionsById.read.value]
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
};
|
|
835
862
|
var defaultPermissionSets = {
|
|
836
863
|
[permissionSetIds.Basic]: {
|
|
837
864
|
name: permissionSetIds.Basic,
|
|
@@ -842,7 +869,9 @@ var defaultPermissionSets = {
|
|
|
842
869
|
},
|
|
843
870
|
[permissionSetIds.SuperUser]: {
|
|
844
871
|
name: permissionSetIds.SuperUser,
|
|
845
|
-
result:
|
|
872
|
+
result: {
|
|
873
|
+
...rolesById[staticRolesByName.admin].uiPermissions
|
|
874
|
+
}
|
|
846
875
|
},
|
|
847
876
|
[permissionSetIds.ManageUsers]: {
|
|
848
877
|
name: permissionSetIds.ManageUsers,
|
|
@@ -862,6 +891,18 @@ var defaultPermissionSets = {
|
|
|
862
891
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
863
892
|
}
|
|
864
893
|
},
|
|
894
|
+
[permissionSetIds.ReadTenants]: {
|
|
895
|
+
name: permissionSetIds.ReadTenants,
|
|
896
|
+
result: {
|
|
897
|
+
tenantManagement: [uiPermissionsById.read.value]
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
[permissionSetIds.ManageTenants]: {
|
|
901
|
+
name: permissionSetIds.ManageTenants,
|
|
902
|
+
result: {
|
|
903
|
+
tenantManagement: [uiPermissionsById.manage.value]
|
|
904
|
+
}
|
|
905
|
+
},
|
|
865
906
|
[permissionSetIds.ReadUsers]: {
|
|
866
907
|
name: permissionSetIds.ReadUsers,
|
|
867
908
|
result: {
|
|
@@ -913,11 +954,12 @@ var defaultPermissionSets = {
|
|
|
913
954
|
}
|
|
914
955
|
}
|
|
915
956
|
};
|
|
916
|
-
var rolesByName =
|
|
957
|
+
var rolesByName = {
|
|
958
|
+
...staticRolesByName,
|
|
917
959
|
deploymentCreation: { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
918
960
|
groupAccess: { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
919
961
|
userManagement: { action: "http", object: { type: "any", value: `${useradmApiUrlv1}/.*` } }
|
|
920
|
-
}
|
|
962
|
+
};
|
|
921
963
|
var twoFAStates = {
|
|
922
964
|
enabled: "enabled",
|
|
923
965
|
disabled: "disabled",
|
|
@@ -955,11 +997,12 @@ var deploymentStatesToSubstates = {
|
|
|
955
997
|
pending: [deploymentSubstates.pending],
|
|
956
998
|
successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]
|
|
957
999
|
};
|
|
958
|
-
var deploymentStatesToSubstatesWithSkipped =
|
|
1000
|
+
var deploymentStatesToSubstatesWithSkipped = {
|
|
1001
|
+
...deploymentStatesToSubstates,
|
|
959
1002
|
failures: [deploymentSubstates.failure],
|
|
960
1003
|
skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],
|
|
961
1004
|
successes: [deploymentSubstates.success]
|
|
962
|
-
}
|
|
1005
|
+
};
|
|
963
1006
|
var installationSubstatesMap = {
|
|
964
1007
|
download: {
|
|
965
1008
|
title: "download",
|
|
@@ -1004,8 +1047,8 @@ var DEPLOYMENT_STATES = {
|
|
|
1004
1047
|
var listDefaultsByState = {
|
|
1005
1048
|
[DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
|
|
1006
1049
|
[DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
|
|
1007
|
-
[DEPLOYMENT_STATES.scheduled]:
|
|
1008
|
-
[DEPLOYMENT_STATES.finished]:
|
|
1050
|
+
[DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },
|
|
1051
|
+
[DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },
|
|
1009
1052
|
sort: { direction: SORTING_OPTIONS.desc }
|
|
1010
1053
|
};
|
|
1011
1054
|
var DEPLOYMENT_ROUTES = {
|
|
@@ -1066,8 +1109,7 @@ var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
|
|
|
1066
1109
|
var getMappedDeploymentSelection = (0, import_toolkit2.createSelector)(
|
|
1067
1110
|
[getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
|
|
1068
1111
|
(selectionState, deploymentsState, deploymentsById) => {
|
|
1069
|
-
|
|
1070
|
-
const { selection = [] } = (_a = selectionState[deploymentsState]) != null ? _a : {};
|
|
1112
|
+
const { selection = [] } = selectionState[deploymentsState] ?? {};
|
|
1071
1113
|
return selection.reduce((accu, id) => {
|
|
1072
1114
|
if (deploymentsById[id]) {
|
|
1073
1115
|
accu.push(deploymentsById[id]);
|
|
@@ -1112,7 +1154,8 @@ var getListedDevices = (state) => state.devices.deviceList.deviceIds;
|
|
|
1112
1154
|
var getFilteringAttributes = (state) => state.devices.filteringAttributes;
|
|
1113
1155
|
var getDeviceFilters = (state) => state.devices.filters || [];
|
|
1114
1156
|
var getFilteringAttributesFromConfig = (state) => state.devices.filteringAttributesConfig.attributes;
|
|
1115
|
-
var getSortedFilteringAttributes = (0, import_toolkit3.createSelector)([getFilteringAttributes], (filteringAttributes) =>
|
|
1157
|
+
var getSortedFilteringAttributes = (0, import_toolkit3.createSelector)([getFilteringAttributes], (filteringAttributes) => ({
|
|
1158
|
+
...filteringAttributes,
|
|
1116
1159
|
identityAttributes: [...filteringAttributes.identityAttributes, "id"]
|
|
1117
1160
|
}));
|
|
1118
1161
|
var getDeviceLimit = (state) => state.devices.limit;
|
|
@@ -1140,10 +1183,7 @@ var getDeviceCountsByStatus = (0, import_toolkit3.createSelector)(
|
|
|
1140
1183
|
return accu;
|
|
1141
1184
|
}, {})
|
|
1142
1185
|
);
|
|
1143
|
-
var getDeviceById = (0, import_toolkit3.createSelector)([getDevicesById, (_, deviceId) => deviceId], (devicesById, deviceId = "") => {
|
|
1144
|
-
var _a;
|
|
1145
|
-
return (_a = devicesById[deviceId]) != null ? _a : {};
|
|
1146
|
-
});
|
|
1186
|
+
var getDeviceById = (0, import_toolkit3.createSelector)([getDevicesById, (_, deviceId) => deviceId], (devicesById, deviceId = "") => devicesById[deviceId] ?? {});
|
|
1147
1187
|
var getSelectedGroupInfo = (0, import_toolkit3.createSelector)(
|
|
1148
1188
|
[getAcceptedDevices, getGroupsById, getSelectedGroup],
|
|
1149
1189
|
({ total: acceptedDeviceTotal }, groupsById, selectedGroup) => {
|
|
@@ -1160,17 +1200,13 @@ var getLimitMaxed = (0, import_toolkit3.createSelector)(
|
|
|
1160
1200
|
[getAcceptedDevices, getDeviceLimit],
|
|
1161
1201
|
({ total: acceptedDevices = 0 }, deviceLimit) => Boolean(deviceLimit && deviceLimit <= acceptedDevices)
|
|
1162
1202
|
);
|
|
1163
|
-
var
|
|
1164
|
-
var getGroupsByIdWithoutUngrouped = (0, import_toolkit3.createSelector)([getGroupsById], (_a) => {
|
|
1165
|
-
var _c = _a, { [_b = UNGROUPED_GROUP.id]: ungrouped } = _c, groups = __objRest(_c, [__restKey(_b)]);
|
|
1166
|
-
return groups;
|
|
1167
|
-
});
|
|
1203
|
+
var getGroupsByIdWithoutUngrouped = (0, import_toolkit3.createSelector)([getGroupsById], ({ [UNGROUPED_GROUP.id]: ungrouped, ...groups }) => groups);
|
|
1168
1204
|
var getGroups = (0, import_toolkit3.createSelector)([getGroupsById], (groupsById) => {
|
|
1169
1205
|
const groupNames = Object.keys(groupsById).sort();
|
|
1170
1206
|
const groupedGroups = Object.entries(groupsById).sort((a, b) => a[0].localeCompare(b[0])).reduce(
|
|
1171
1207
|
(accu, [groupname, group]) => {
|
|
1172
1208
|
const name = groupname === UNGROUPED_GROUP.id ? UNGROUPED_GROUP.name : groupname;
|
|
1173
|
-
const groupItem =
|
|
1209
|
+
const groupItem = { ...group, groupId: name, name: groupname };
|
|
1174
1210
|
if (group.filters.length > 0) {
|
|
1175
1211
|
if (groupname !== UNGROUPED_GROUP.id) {
|
|
1176
1212
|
accu.dynamic.push(groupItem);
|
|
@@ -1184,7 +1220,7 @@ var getGroups = (0, import_toolkit3.createSelector)([getGroupsById], (groupsById
|
|
|
1184
1220
|
},
|
|
1185
1221
|
{ dynamic: [], static: [], ungrouped: [] }
|
|
1186
1222
|
);
|
|
1187
|
-
return
|
|
1223
|
+
return { groupNames, ...groupedGroups };
|
|
1188
1224
|
});
|
|
1189
1225
|
var getAttributesList = (0, import_toolkit3.createSelector)(
|
|
1190
1226
|
[getFilteringAttributes, getFilteringAttributesFromConfig],
|
|
@@ -1220,15 +1256,12 @@ var getAuditlogState = (state) => state.organization.auditlog.selectionState;
|
|
|
1220
1256
|
var getAuditLog = (state) => state.organization.auditlog.events;
|
|
1221
1257
|
var getAuditLogSelectionState = (state) => state.organization.auditlog.selectionState;
|
|
1222
1258
|
var getSsoConfig = ({ organization: { ssoConfigs = [] } }) => ssoConfigs[0];
|
|
1223
|
-
var getTenantsList = (state) => state.organization.
|
|
1259
|
+
var getTenantsList = (state) => state.organization.tenantList;
|
|
1224
1260
|
var getWebhookEvents = (state) => state.organization.webhooks.events;
|
|
1225
1261
|
var getWebhookEventTotal = (state) => state.organization.webhooks.eventTotal;
|
|
1226
1262
|
var getDeviceTwinIntegrations = (0, import_toolkit4.createSelector)(
|
|
1227
1263
|
[getExternalIntegrations],
|
|
1228
|
-
(integrations) => integrations.filter((integration) =>
|
|
1229
|
-
var _a;
|
|
1230
|
-
return integration.id && ((_a = EXTERNAL_PROVIDER[integration.provider]) == null ? void 0 : _a.deviceTwin);
|
|
1231
|
-
})
|
|
1264
|
+
(integrations) => integrations.filter((integration) => integration.id && EXTERNAL_PROVIDER[integration.provider]?.deviceTwin)
|
|
1232
1265
|
);
|
|
1233
1266
|
var getIsServiceProvider = (state) => state.organization.organization.service_provider;
|
|
1234
1267
|
var getWebhooks = (0, import_toolkit4.createSelector)(
|
|
@@ -1255,12 +1288,12 @@ var filterAliases = {
|
|
|
1255
1288
|
var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => {
|
|
1256
1289
|
return ids.slice(0, cutOffSize).reduce((accu, id) => {
|
|
1257
1290
|
if (id && byId[id]) {
|
|
1258
|
-
accu.push(
|
|
1291
|
+
accu.push({ ...defaultObject, ...byId[id] });
|
|
1259
1292
|
}
|
|
1260
1293
|
return accu;
|
|
1261
1294
|
}, []);
|
|
1262
1295
|
};
|
|
1263
|
-
var mergePermissions = (existingPermissions =
|
|
1296
|
+
var mergePermissions = (existingPermissions = { ...emptyUiPermissions }, addedPermissions) => Object.entries(existingPermissions).reduce(
|
|
1264
1297
|
(accu, [key, value]) => {
|
|
1265
1298
|
let values;
|
|
1266
1299
|
if (!accu[key]) {
|
|
@@ -1270,12 +1303,12 @@ var mergePermissions = (existingPermissions = __spreadValues({}, emptyUiPermissi
|
|
|
1270
1303
|
if (Array.isArray(value)) {
|
|
1271
1304
|
values = [...value, ...accu[key]].filter(import_helpers3.duplicateFilter);
|
|
1272
1305
|
} else {
|
|
1273
|
-
values = mergePermissions(accu[key],
|
|
1306
|
+
values = mergePermissions(accu[key], { ...value });
|
|
1274
1307
|
}
|
|
1275
1308
|
accu[key] = values;
|
|
1276
1309
|
return accu;
|
|
1277
1310
|
},
|
|
1278
|
-
|
|
1311
|
+
{ ...addedPermissions }
|
|
1279
1312
|
);
|
|
1280
1313
|
var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
|
|
1281
1314
|
(accu, roleId) => {
|
|
@@ -1284,7 +1317,7 @@ var mapUserRolesToUiPermissions = (userRoles, roles) => userRoles.reduce(
|
|
|
1284
1317
|
}
|
|
1285
1318
|
return mergePermissions(accu, roles[roleId].uiPermissions);
|
|
1286
1319
|
},
|
|
1287
|
-
|
|
1320
|
+
{ ...emptyUiPermissions }
|
|
1288
1321
|
);
|
|
1289
1322
|
var isDarkMode = (mode) => mode === DARK_MODE;
|
|
1290
1323
|
|
|
@@ -1298,15 +1331,12 @@ var getListedReleases = (state) => state.releases.releasesList.releaseIds;
|
|
|
1298
1331
|
var getUpdateTypes = (state) => state.releases.updateTypes;
|
|
1299
1332
|
var getReleaseMappingDefaults = () => ({});
|
|
1300
1333
|
var getReleasesList = (0, import_toolkit5.createSelector)([getReleasesById, getListedReleases, getReleaseMappingDefaults], listItemMapper);
|
|
1301
|
-
var getReleaseTagsById = (0, import_toolkit5.createSelector)([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) =>
|
|
1334
|
+
var getReleaseTagsById = (0, import_toolkit5.createSelector)([getReleaseTags], (releaseTags) => releaseTags.reduce((accu, key) => ({ ...accu, [key]: key }), {}));
|
|
1302
1335
|
var getHasReleases = (0, import_toolkit5.createSelector)(
|
|
1303
1336
|
[getReleaseListState, getReleasesById],
|
|
1304
1337
|
({ searchTotal, total }, byId) => !!(Object.keys(byId).length || total || searchTotal)
|
|
1305
1338
|
);
|
|
1306
|
-
var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => {
|
|
1307
|
-
var _a;
|
|
1308
|
-
return (_a = byId[id]) != null ? _a : {};
|
|
1309
|
-
});
|
|
1339
|
+
var getSelectedRelease = (0, import_toolkit5.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id] ?? {});
|
|
1310
1340
|
|
|
1311
1341
|
// src/usersSlice/selectors.ts
|
|
1312
1342
|
var import_toolkit6 = require("@reduxjs/toolkit");
|
|
@@ -1315,10 +1345,7 @@ var getTooltipsById = (state) => state.users.tooltips.byId;
|
|
|
1315
1345
|
var getGlobalSettings = (state) => state.users.globalSettings;
|
|
1316
1346
|
var getCurrentUserId = (state) => state.users.currentUser;
|
|
1317
1347
|
var getUsersById = (state) => state.users.byId;
|
|
1318
|
-
var getCurrentUser = (0, import_toolkit6.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => {
|
|
1319
|
-
var _a;
|
|
1320
|
-
return (_a = usersById[userId]) != null ? _a : {};
|
|
1321
|
-
});
|
|
1348
|
+
var getCurrentUser = (0, import_toolkit6.createSelector)([getUsersById, getCurrentUserId], (usersById, userId) => usersById[userId] ?? {});
|
|
1322
1349
|
var getUserSettings = (state) => state.users.userSettings;
|
|
1323
1350
|
var getIsDarkMode = (0, import_toolkit6.createSelector)([getUserSettings], ({ mode }) => isDarkMode(mode));
|
|
1324
1351
|
var getShowHelptips = (0, import_toolkit6.createSelector)(
|
|
@@ -1329,22 +1356,22 @@ var getTooltipsState = (0, import_toolkit6.createSelector)(
|
|
|
1329
1356
|
[getTooltipsById, getUserSettings],
|
|
1330
1357
|
(byId, { tooltips = {} }) => Object.entries(byId).reduce(
|
|
1331
1358
|
(accu, [id, value]) => {
|
|
1332
|
-
accu[id] =
|
|
1359
|
+
accu[id] = { ...accu[id], ...value };
|
|
1333
1360
|
return accu;
|
|
1334
1361
|
},
|
|
1335
|
-
|
|
1362
|
+
{ ...tooltips }
|
|
1336
1363
|
)
|
|
1337
1364
|
);
|
|
1338
1365
|
var getHas2FA = (0, import_toolkit6.createSelector)(
|
|
1339
1366
|
[getCurrentUser],
|
|
1340
1367
|
(currentUser) => currentUser.hasOwnProperty("tfa_status") && currentUser.tfa_status === twoFAStates.enabled
|
|
1341
1368
|
);
|
|
1342
|
-
var getIdAttribute = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ id_attribute =
|
|
1369
|
+
var getIdAttribute = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ id_attribute = { ...defaultIdAttribute } }) => id_attribute);
|
|
1343
1370
|
var getOfflineThresholdSettings = (0, import_toolkit6.createSelector)([getGlobalSettings], ({ offlineThreshold }) => ({
|
|
1344
|
-
interval:
|
|
1345
|
-
intervalUnit:
|
|
1371
|
+
interval: offlineThreshold?.interval || DEVICE_ONLINE_CUTOFF.interval,
|
|
1372
|
+
intervalUnit: offlineThreshold?.intervalUnit || DEVICE_ONLINE_CUTOFF.intervalName
|
|
1346
1373
|
}));
|
|
1347
|
-
var getRolesList = (0, import_toolkit6.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([id, role]) =>
|
|
1374
|
+
var getRolesList = (0, import_toolkit6.createSelector)([getRolesById], (rolesById2) => Object.entries(rolesById2).map(([id, role]) => ({ id, ...role })));
|
|
1348
1375
|
var getCurrentSession = (state) => state.users.currentSession;
|
|
1349
1376
|
|
|
1350
1377
|
// src/commonSelectors.ts
|
|
@@ -1363,8 +1390,7 @@ var getSearchEndpoint = (0, import_toolkit7.createSelector)(
|
|
|
1363
1390
|
var getUserRoles = (0, import_toolkit7.createSelector)(
|
|
1364
1391
|
[getCurrentUser, getRolesById, getIsEnterprise, getFeatures, getOrganization],
|
|
1365
1392
|
(currentUser, rolesById2, isEnterprise, { isHosted, hasMultitenancy }, { plan = PLANS.os.id }) => {
|
|
1366
|
-
|
|
1367
|
-
const isAdmin = ((_a = currentUser.roles) == null ? void 0 : _a.length) ? currentUser.roles.some((role) => role === rolesByName.admin) : !(hasMultitenancy || isEnterprise || isHosted && plan !== PLANS.os.id);
|
|
1393
|
+
const isAdmin = currentUser.roles?.length ? currentUser.roles.some((role) => role === rolesByName.admin) : !(hasMultitenancy || isEnterprise || isHosted && plan !== PLANS.os.id);
|
|
1368
1394
|
const uiPermissions = isAdmin ? mapUserRolesToUiPermissions([rolesByName.admin], rolesById2) : mapUserRolesToUiPermissions(currentUser.roles || [], rolesById2);
|
|
1369
1395
|
return { isAdmin, uiPermissions };
|
|
1370
1396
|
}
|
|
@@ -1433,10 +1459,11 @@ var getFilterAttributes = (0, import_toolkit7.createSelector)(
|
|
|
1433
1459
|
const deviceNameAttribute = { key: "name", value: "Name", scope: ATTRIBUTE_SCOPES.tags, category: ATTRIBUTE_SCOPES.tags, priority: 1 };
|
|
1434
1460
|
const deviceIdAttribute = { key: "id", value: "Device ID", scope: ATTRIBUTE_SCOPES.identity, category: ATTRIBUTE_SCOPES.identity, priority: 1 };
|
|
1435
1461
|
const checkInAttribute = { key: "check_in_time", value: "Latest activity", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
|
|
1436
|
-
const updateAttribute =
|
|
1462
|
+
const updateAttribute = { ...checkInAttribute, key: "updated_ts", value: "Last inventory update" };
|
|
1437
1463
|
const firstRequestAttribute = { key: "created_ts", value: "First request", scope: ATTRIBUTE_SCOPES.system, category: ATTRIBUTE_SCOPES.system, priority: 4 };
|
|
1438
1464
|
const attributes = [
|
|
1439
|
-
...previousFilters.map((item) =>
|
|
1465
|
+
...previousFilters.map((item) => ({
|
|
1466
|
+
...item,
|
|
1440
1467
|
value: deviceIdAttribute.key === item.key ? deviceIdAttribute.value : item.key,
|
|
1441
1468
|
category: "recently used",
|
|
1442
1469
|
priority: 0
|
|
@@ -1454,14 +1481,13 @@ var getFilterAttributes = (0, import_toolkit7.createSelector)(
|
|
|
1454
1481
|
return (0, import_helpers4.attributeDuplicateFilter)(attributes, "key");
|
|
1455
1482
|
}
|
|
1456
1483
|
);
|
|
1457
|
-
var getOnboardingState = (0, import_toolkit7.createSelector)([getOnboarding, getUserSettings], (
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
});
|
|
1484
|
+
var getOnboardingState = (0, import_toolkit7.createSelector)([getOnboarding, getUserSettings], ({ complete, progress, showTips, ...remainder }, { onboarding = {} }) => ({
|
|
1485
|
+
...remainder,
|
|
1486
|
+
...onboarding,
|
|
1487
|
+
complete: onboarding.complete || complete,
|
|
1488
|
+
progress: Object.keys(onboardingSteps).findIndex((step) => step === progress) > Object.keys(onboardingSteps).findIndex((step) => step === onboarding.progress) ? progress : onboarding.progress,
|
|
1489
|
+
showTips: !onboarding.showTips ? onboarding.showTips : showTips
|
|
1490
|
+
}));
|
|
1465
1491
|
var getDemoDeviceAddress = (0, import_toolkit7.createSelector)([getDevicesById, getOnboarding], (devicesById, { approach, demoArtifactPort }) => {
|
|
1466
1492
|
const demoDeviceAddress = `http://${(0, import_helpers4.getDemoDeviceAddress)(Object.values(devicesById), approach)}`;
|
|
1467
1493
|
return demoArtifactPort ? `${demoDeviceAddress}:${demoArtifactPort}` : demoDeviceAddress;
|
|
@@ -1482,12 +1508,11 @@ var getDeploymentRelease = (0, import_toolkit7.createSelector)(
|
|
|
1482
1508
|
var getSelectedDeploymentData = (0, import_toolkit7.createSelector)(
|
|
1483
1509
|
[getDeploymentsById, getDeploymentsSelectionState, getDevicesById, getSelectedDeploymentDeviceIds],
|
|
1484
1510
|
(deploymentsById, { selectedId }, devicesById, selectedDeviceIds) => {
|
|
1485
|
-
|
|
1486
|
-
const deployment = (_a = deploymentsById[selectedId]) != null ? _a : {};
|
|
1511
|
+
const deployment = deploymentsById[selectedId] ?? {};
|
|
1487
1512
|
const { devices = {} } = deployment;
|
|
1488
1513
|
return {
|
|
1489
1514
|
deployment,
|
|
1490
|
-
selectedDevices: selectedDeviceIds.map((deviceId) =>
|
|
1515
|
+
selectedDevices: selectedDeviceIds.map((deviceId) => ({ ...devicesById[deviceId], ...devices[deviceId] }))
|
|
1491
1516
|
};
|
|
1492
1517
|
}
|
|
1493
1518
|
);
|
|
@@ -1502,8 +1527,7 @@ var getAvailableIssueOptionsByType = (0, import_toolkit7.createSelector)(
|
|
|
1502
1527
|
}, {})
|
|
1503
1528
|
);
|
|
1504
1529
|
var getGroupNames = (0, import_toolkit7.createSelector)([getGroupsById, getUserRoles, (_, options = {}) => options], (groupsById, { uiPermissions }, { staticOnly }) => {
|
|
1505
|
-
|
|
1506
|
-
const _b2 = groupsById, { [_a = UNGROUPED_GROUP.id]: ungrouped } = _b2, groups = __objRest(_b2, [__restKey(_a)]);
|
|
1530
|
+
const { [UNGROUPED_GROUP.id]: ungrouped, ...groups } = groupsById;
|
|
1507
1531
|
if (staticOnly) {
|
|
1508
1532
|
return Object.keys(uiPermissions.groups).sort();
|
|
1509
1533
|
}
|
|
@@ -1537,100 +1561,24 @@ var getAuditlogDevice = (0, import_toolkit7.createSelector)([getAuditLogEntry, g
|
|
|
1537
1561
|
if (auditlogEvent) {
|
|
1538
1562
|
const { object = {} } = auditlogEvent;
|
|
1539
1563
|
const { device = {}, id, type } = object;
|
|
1540
|
-
auditlogDevice = type === "device" ?
|
|
1564
|
+
auditlogDevice = type === "device" ? { id, ...device } : auditlogDevice;
|
|
1541
1565
|
}
|
|
1542
|
-
return
|
|
1566
|
+
return { ...auditlogDevice, ...devicesById[auditlogDevice.id] };
|
|
1543
1567
|
});
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
getDeploymentRelease,
|
|
1560
|
-
getDeploymentsById,
|
|
1561
|
-
getDeploymentsByStatus,
|
|
1562
|
-
getDeploymentsSelectionState,
|
|
1563
|
-
getDeviceById,
|
|
1564
|
-
getDeviceConfigDeployment,
|
|
1565
|
-
getDeviceCountsByStatus,
|
|
1566
|
-
getDeviceFilters,
|
|
1567
|
-
getDeviceIdentityAttributes,
|
|
1568
|
-
getDeviceLimit,
|
|
1569
|
-
getDeviceListState,
|
|
1570
|
-
getDeviceReports,
|
|
1571
|
-
getDeviceReportsForUser,
|
|
1572
|
-
getDeviceTwinIntegrations,
|
|
1573
|
-
getDeviceTypes,
|
|
1574
|
-
getDevicesById,
|
|
1575
|
-
getDevicesByStatus,
|
|
1576
|
-
getDocsVersion,
|
|
1577
|
-
getExternalIntegrations,
|
|
1578
|
-
getFeatures,
|
|
1579
|
-
getFilterAttributes,
|
|
1580
|
-
getFilteringAttributes,
|
|
1581
|
-
getFullVersionInformation,
|
|
1582
|
-
getGlobalSettings,
|
|
1583
|
-
getGroupNames,
|
|
1584
|
-
getGroups,
|
|
1585
|
-
getGroupsById,
|
|
1586
|
-
getGroupsByIdWithoutUngrouped,
|
|
1587
|
-
getHas2FA,
|
|
1588
|
-
getHasReleases,
|
|
1589
|
-
getIdAttribute,
|
|
1590
|
-
getIsDarkMode,
|
|
1591
|
-
getIsEnterprise,
|
|
1592
|
-
getIsPreview,
|
|
1593
|
-
getIsServiceProvider,
|
|
1594
|
-
getIssueCountsByType,
|
|
1595
|
-
getLimitMaxed,
|
|
1596
|
-
getListedDevices,
|
|
1597
|
-
getMappedDeploymentSelection,
|
|
1598
|
-
getMappedDevicesList,
|
|
1599
|
-
getOfflineThresholdSettings,
|
|
1600
|
-
getOnboarding,
|
|
1601
|
-
getOnboardingState,
|
|
1602
|
-
getOrganization,
|
|
1603
|
-
getRecentDeployments,
|
|
1604
|
-
getReleaseListState,
|
|
1605
|
-
getReleaseTags,
|
|
1606
|
-
getReleaseTagsById,
|
|
1607
|
-
getReleasesById,
|
|
1608
|
-
getReleasesList,
|
|
1609
|
-
getRolesById,
|
|
1610
|
-
getRolesList,
|
|
1611
|
-
getSearchEndpoint,
|
|
1612
|
-
getSearchState,
|
|
1613
|
-
getSearchedDevices,
|
|
1614
|
-
getSelectedDeploymentData,
|
|
1615
|
-
getSelectedDeploymentDeviceIds,
|
|
1616
|
-
getSelectedGroup,
|
|
1617
|
-
getSelectedGroupInfo,
|
|
1618
|
-
getSelectedRelease,
|
|
1619
|
-
getShowHelptips,
|
|
1620
|
-
getSortedFilteringAttributes,
|
|
1621
|
-
getSsoConfig,
|
|
1622
|
-
getTenantCapabilities,
|
|
1623
|
-
getTenantsList,
|
|
1624
|
-
getTooltipsById,
|
|
1625
|
-
getTooltipsState,
|
|
1626
|
-
getUpdateTypes,
|
|
1627
|
-
getUserCapabilities,
|
|
1628
|
-
getUserRoles,
|
|
1629
|
-
getUserSettings,
|
|
1630
|
-
getVersionInformation,
|
|
1631
|
-
getWebhookEventInfo,
|
|
1632
|
-
getWebhookEventTotal,
|
|
1633
|
-
getWebhookEvents,
|
|
1634
|
-
getWebhooks
|
|
1568
|
+
var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, getRolesList], ({ service_provider }, roles) => {
|
|
1569
|
+
if (service_provider) {
|
|
1570
|
+
return roles.reduce((accu, role) => {
|
|
1571
|
+
if (rolesById[role.id]) {
|
|
1572
|
+
return accu;
|
|
1573
|
+
}
|
|
1574
|
+
accu.push(role);
|
|
1575
|
+
return accu;
|
|
1576
|
+
}, Object.values(serviceProviderRolesById));
|
|
1577
|
+
}
|
|
1578
|
+
return Object.keys(rolesById).reverse().reduce((accu, key) => {
|
|
1579
|
+
const index = accu.findIndex(({ id }) => id === key);
|
|
1580
|
+
accu = [accu[index], ...accu.filter((item, itemIndex) => index !== itemIndex)];
|
|
1581
|
+
return accu;
|
|
1582
|
+
}, roles);
|
|
1635
1583
|
});
|
|
1636
1584
|
//# sourceMappingURL=selectors.js.map
|