@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/store.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 });
|
|
@@ -86,7 +56,7 @@ var chartTypes = {
|
|
|
86
56
|
};
|
|
87
57
|
var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.key, attribute: "artifact_name" };
|
|
88
58
|
var defaultReportType = "distribution";
|
|
89
|
-
var defaultReports = [
|
|
59
|
+
var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
|
|
90
60
|
var PLANS = {
|
|
91
61
|
os: {
|
|
92
62
|
id: "os",
|
|
@@ -405,13 +375,14 @@ var emptyUiPermissions = Object.freeze({
|
|
|
405
375
|
deployments: [],
|
|
406
376
|
groups: Object.freeze({}),
|
|
407
377
|
releases: Object.freeze({}),
|
|
378
|
+
tenantManagement: [],
|
|
408
379
|
userManagement: []
|
|
409
380
|
});
|
|
410
381
|
var emptyRole = Object.freeze({
|
|
411
382
|
name: void 0,
|
|
412
383
|
description: "",
|
|
413
384
|
permissions: [],
|
|
414
|
-
uiPermissions: Object.freeze(
|
|
385
|
+
uiPermissions: Object.freeze({ ...emptyUiPermissions })
|
|
415
386
|
});
|
|
416
387
|
|
|
417
388
|
// src/deploymentsSlice/constants.ts
|
|
@@ -440,11 +411,12 @@ var deploymentStatesToSubstates = {
|
|
|
440
411
|
pending: [deploymentSubstates.pending],
|
|
441
412
|
successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]
|
|
442
413
|
};
|
|
443
|
-
var deploymentStatesToSubstatesWithSkipped =
|
|
414
|
+
var deploymentStatesToSubstatesWithSkipped = {
|
|
415
|
+
...deploymentStatesToSubstates,
|
|
444
416
|
failures: [deploymentSubstates.failure],
|
|
445
417
|
skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],
|
|
446
418
|
successes: [deploymentSubstates.success]
|
|
447
|
-
}
|
|
419
|
+
};
|
|
448
420
|
var installationSubstatesMap = {
|
|
449
421
|
download: {
|
|
450
422
|
title: "download",
|
|
@@ -489,8 +461,8 @@ var DEPLOYMENT_STATES = {
|
|
|
489
461
|
var listDefaultsByState = {
|
|
490
462
|
[DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
|
|
491
463
|
[DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
|
|
492
|
-
[DEPLOYMENT_STATES.scheduled]:
|
|
493
|
-
[DEPLOYMENT_STATES.finished]:
|
|
464
|
+
[DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },
|
|
465
|
+
[DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },
|
|
494
466
|
sort: { direction: SORTING_OPTIONS.desc }
|
|
495
467
|
};
|
|
496
468
|
var DEFAULT_PENDING_INPROGRESS_COUNT = 10;
|
|
@@ -617,6 +589,13 @@ var auditLogsApiUrl = `${apiUrl.v1}/auditlogs`;
|
|
|
617
589
|
var tenantadmApiUrlv1 = `${apiUrl.v1}/tenantadm`;
|
|
618
590
|
var tenantadmApiUrlv2 = `${apiUrl.v2}/tenantadm`;
|
|
619
591
|
var ssoIdpApiUrlv1 = `${apiUrl.v1}/useradm/sso/idp/metadata`;
|
|
592
|
+
var AUDIT_LOGS_TYPES = [
|
|
593
|
+
{ title: "Artifact", queryParameter: "object_type", value: "artifact" },
|
|
594
|
+
{ title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
|
|
595
|
+
{ title: "Device", queryParameter: "object_id", value: "device" },
|
|
596
|
+
{ title: "User", queryParameter: "object_id", value: "user" }
|
|
597
|
+
];
|
|
598
|
+
var SP_AUDIT_LOGS_TYPES = [AUDIT_LOGS_TYPES[3], { title: "Tenant", queryParameter: "object_id", value: "tenant" }];
|
|
620
599
|
var emptyWebhook = {
|
|
621
600
|
description: "",
|
|
622
601
|
enabled: true,
|
|
@@ -664,10 +643,12 @@ var permissionSetIds = {
|
|
|
664
643
|
DeployToDevices: "DeployToDevices",
|
|
665
644
|
ManageDevices: "ManageDevices",
|
|
666
645
|
ManageReleases: "ManageReleases",
|
|
646
|
+
ManageTenants: "ManageTenants",
|
|
667
647
|
ManageUsers: "ManageUsers",
|
|
668
648
|
ReadAuditLogs: "ReadAuditLogs",
|
|
669
649
|
ReadDevices: "ReadDevices",
|
|
670
650
|
ReadReleases: "ReadReleases",
|
|
651
|
+
ReadTenants: "ReadTenants",
|
|
671
652
|
ReadUsers: "ReadUsers",
|
|
672
653
|
SuperUser: "SuperUser",
|
|
673
654
|
UploadArtifacts: "UploadArtifacts"
|
|
@@ -706,6 +687,7 @@ var uiPermissionsById = {
|
|
|
706
687
|
permissionSets: {
|
|
707
688
|
groups: permissionSetIds.ManageDevices,
|
|
708
689
|
releases: permissionSetIds.ManageReleases,
|
|
690
|
+
tenantManagement: permissionSetIds.ManageTenants,
|
|
709
691
|
userManagement: permissionSetIds.ManageUsers
|
|
710
692
|
},
|
|
711
693
|
title: "Manage",
|
|
@@ -719,6 +701,7 @@ var uiPermissionsById = {
|
|
|
719
701
|
auditlog: permissionSetIds.ReadAuditLogs,
|
|
720
702
|
groups: permissionSetIds.ReadDevices,
|
|
721
703
|
releases: permissionSetIds.ReadReleases,
|
|
704
|
+
tenantManagement: permissionSetIds.ReadTenants,
|
|
722
705
|
userManagement: permissionSetIds.ReadUsers
|
|
723
706
|
},
|
|
724
707
|
title: "Read",
|
|
@@ -743,6 +726,7 @@ var uiPermissionsByArea = {
|
|
|
743
726
|
auditlog: {
|
|
744
727
|
endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
|
|
745
728
|
explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
|
|
729
|
+
key: "auditlog",
|
|
746
730
|
uiPermissions: [uiPermissionsById.read],
|
|
747
731
|
title: "System audit log"
|
|
748
732
|
},
|
|
@@ -753,6 +737,7 @@ var uiPermissionsByArea = {
|
|
|
753
737
|
{ path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
|
|
754
738
|
],
|
|
755
739
|
explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
|
|
740
|
+
key: "deployments",
|
|
756
741
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
|
|
757
742
|
title: "Deployments"
|
|
758
743
|
},
|
|
@@ -768,6 +753,7 @@ var uiPermissionsByArea = {
|
|
|
768
753
|
{ path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
|
|
769
754
|
],
|
|
770
755
|
explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
|
|
756
|
+
key: "groups",
|
|
771
757
|
scope: scopedPermissionAreas.groups.scopeType,
|
|
772
758
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
|
|
773
759
|
title: "Group Management"
|
|
@@ -787,16 +773,29 @@ var uiPermissionsByArea = {
|
|
|
787
773
|
}
|
|
788
774
|
],
|
|
789
775
|
explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
|
|
776
|
+
key: "releases",
|
|
790
777
|
scope: "ReleaseTags",
|
|
791
778
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
|
|
792
779
|
title: "Release Management"
|
|
793
780
|
},
|
|
781
|
+
tenantManagement: {
|
|
782
|
+
endpoints: [
|
|
783
|
+
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
784
|
+
{ path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
|
|
785
|
+
{ path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
|
|
786
|
+
],
|
|
787
|
+
explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
|
|
788
|
+
key: "tenantManagement",
|
|
789
|
+
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
790
|
+
title: "Tenant Management"
|
|
791
|
+
},
|
|
794
792
|
userManagement: {
|
|
795
793
|
endpoints: [
|
|
796
794
|
{ path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
|
|
797
795
|
{ path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
|
|
798
796
|
],
|
|
799
797
|
explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
|
|
798
|
+
key: "userManagement",
|
|
800
799
|
uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
|
|
801
800
|
title: "User Management"
|
|
802
801
|
}
|
|
@@ -809,56 +808,87 @@ var rolesById = Object.freeze({
|
|
|
809
808
|
description: "Full access",
|
|
810
809
|
permissions: [],
|
|
811
810
|
// permissions refers to the values returned from the backend
|
|
812
|
-
uiPermissions:
|
|
811
|
+
uiPermissions: {
|
|
812
|
+
...emptyUiPermissions,
|
|
813
813
|
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
814
814
|
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
815
815
|
groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },
|
|
816
816
|
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },
|
|
817
817
|
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)
|
|
818
|
-
}
|
|
818
|
+
}
|
|
819
819
|
},
|
|
820
820
|
[staticRolesByName.readOnly]: {
|
|
821
821
|
name: "Read Access",
|
|
822
822
|
value: staticRolesByName.readOnly,
|
|
823
823
|
description: "",
|
|
824
824
|
permissions: [],
|
|
825
|
-
uiPermissions:
|
|
825
|
+
uiPermissions: {
|
|
826
|
+
...emptyUiPermissions,
|
|
826
827
|
deployments: [uiPermissionsById.read.value],
|
|
827
828
|
groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },
|
|
828
829
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },
|
|
829
830
|
userManagement: [uiPermissionsById.read.value]
|
|
830
|
-
}
|
|
831
|
+
}
|
|
831
832
|
},
|
|
832
833
|
[staticRolesByName.ci]: {
|
|
833
834
|
name: "Releases Manager",
|
|
834
835
|
value: staticRolesByName.ci,
|
|
835
836
|
description: "",
|
|
836
837
|
permissions: [],
|
|
837
|
-
uiPermissions:
|
|
838
|
+
uiPermissions: {
|
|
839
|
+
...emptyUiPermissions,
|
|
838
840
|
releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }
|
|
839
|
-
}
|
|
841
|
+
}
|
|
840
842
|
},
|
|
841
843
|
[staticRolesByName.deploymentsManager]: {
|
|
842
844
|
name: "Deployments Manager",
|
|
843
845
|
value: staticRolesByName.deploymentsManager,
|
|
844
846
|
description: "",
|
|
845
847
|
permissions: [],
|
|
846
|
-
uiPermissions:
|
|
848
|
+
uiPermissions: {
|
|
849
|
+
...emptyUiPermissions,
|
|
847
850
|
deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
|
|
848
851
|
groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },
|
|
849
852
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
850
|
-
}
|
|
853
|
+
}
|
|
851
854
|
},
|
|
852
855
|
[staticRolesByName.terminalAccess]: {
|
|
853
856
|
name: "Troubleshooting",
|
|
854
857
|
value: staticRolesByName.terminalAccess,
|
|
855
858
|
description: "Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding",
|
|
856
859
|
permissions: [],
|
|
857
|
-
uiPermissions:
|
|
860
|
+
uiPermissions: {
|
|
861
|
+
...emptyUiPermissions,
|
|
858
862
|
groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }
|
|
859
|
-
}
|
|
863
|
+
}
|
|
860
864
|
}
|
|
861
865
|
});
|
|
866
|
+
var serviceProviderRolesById = {
|
|
867
|
+
admin: {
|
|
868
|
+
name: "Admin",
|
|
869
|
+
value: staticRolesByName.admin,
|
|
870
|
+
description: "Full access",
|
|
871
|
+
permissions: [],
|
|
872
|
+
uiPermissions: {
|
|
873
|
+
...emptyUiPermissions,
|
|
874
|
+
auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
|
|
875
|
+
userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
|
|
876
|
+
tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
|
|
877
|
+
}
|
|
878
|
+
},
|
|
879
|
+
readOnly: {
|
|
880
|
+
name: "Read access",
|
|
881
|
+
value: staticRolesByName.admin,
|
|
882
|
+
description: "This role can see all linked organizations but cannot make any changes",
|
|
883
|
+
permissions: [],
|
|
884
|
+
uiPermissions: {
|
|
885
|
+
...emptyUiPermissions,
|
|
886
|
+
auditlog: [uiPermissionsById.read.value],
|
|
887
|
+
userManagement: [uiPermissionsById.read.value],
|
|
888
|
+
tenantManagement: [uiPermissionsById.read.value]
|
|
889
|
+
}
|
|
890
|
+
}
|
|
891
|
+
};
|
|
862
892
|
var defaultPermissionSets = {
|
|
863
893
|
[permissionSetIds.Basic]: {
|
|
864
894
|
name: permissionSetIds.Basic,
|
|
@@ -869,7 +899,9 @@ var defaultPermissionSets = {
|
|
|
869
899
|
},
|
|
870
900
|
[permissionSetIds.SuperUser]: {
|
|
871
901
|
name: permissionSetIds.SuperUser,
|
|
872
|
-
result:
|
|
902
|
+
result: {
|
|
903
|
+
...rolesById[staticRolesByName.admin].uiPermissions
|
|
904
|
+
}
|
|
873
905
|
},
|
|
874
906
|
[permissionSetIds.ManageUsers]: {
|
|
875
907
|
name: permissionSetIds.ManageUsers,
|
|
@@ -889,6 +921,18 @@ var defaultPermissionSets = {
|
|
|
889
921
|
releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
|
|
890
922
|
}
|
|
891
923
|
},
|
|
924
|
+
[permissionSetIds.ReadTenants]: {
|
|
925
|
+
name: permissionSetIds.ReadTenants,
|
|
926
|
+
result: {
|
|
927
|
+
tenantManagement: [uiPermissionsById.read.value]
|
|
928
|
+
}
|
|
929
|
+
},
|
|
930
|
+
[permissionSetIds.ManageTenants]: {
|
|
931
|
+
name: permissionSetIds.ManageTenants,
|
|
932
|
+
result: {
|
|
933
|
+
tenantManagement: [uiPermissionsById.manage.value]
|
|
934
|
+
}
|
|
935
|
+
},
|
|
892
936
|
[permissionSetIds.ReadUsers]: {
|
|
893
937
|
name: permissionSetIds.ReadUsers,
|
|
894
938
|
result: {
|
|
@@ -941,11 +985,12 @@ var defaultPermissionSets = {
|
|
|
941
985
|
}
|
|
942
986
|
};
|
|
943
987
|
var USER_LOGOUT = "USER_LOGOUT";
|
|
944
|
-
var rolesByName =
|
|
988
|
+
var rolesByName = {
|
|
989
|
+
...staticRolesByName,
|
|
945
990
|
deploymentCreation: { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
946
991
|
groupAccess: { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: void 0 } },
|
|
947
992
|
userManagement: { action: "http", object: { type: "any", value: `${useradmApiUrlv1}/.*` } }
|
|
948
|
-
}
|
|
993
|
+
};
|
|
949
994
|
var settingsKeys = { initialized: "settings-initialized" };
|
|
950
995
|
var READ_STATES = {
|
|
951
996
|
read: "read",
|
|
@@ -1028,7 +1073,10 @@ var appSlice = (0, import_toolkit.createSlice)({
|
|
|
1028
1073
|
initialState,
|
|
1029
1074
|
reducers: {
|
|
1030
1075
|
setFeatures: (state, action) => {
|
|
1031
|
-
state.features =
|
|
1076
|
+
state.features = {
|
|
1077
|
+
...state.features,
|
|
1078
|
+
...action.payload
|
|
1079
|
+
};
|
|
1032
1080
|
},
|
|
1033
1081
|
setSnackbar: (state, { payload }) => {
|
|
1034
1082
|
let { message, autoHideDuration, action, children, onClick, onClose } = payload;
|
|
@@ -1053,7 +1101,10 @@ var appSlice = (0, import_toolkit.createSlice)({
|
|
|
1053
1101
|
state.hostedAnnouncement = action.payload;
|
|
1054
1102
|
},
|
|
1055
1103
|
setSearchState: (state, action) => {
|
|
1056
|
-
state.searchState =
|
|
1104
|
+
state.searchState = {
|
|
1105
|
+
...state.searchState,
|
|
1106
|
+
...action.payload
|
|
1107
|
+
};
|
|
1057
1108
|
},
|
|
1058
1109
|
setOfflineThreshold: (state, action) => {
|
|
1059
1110
|
state.offlineThreshold = action.payload;
|
|
@@ -1064,20 +1115,23 @@ var appSlice = (0, import_toolkit.createSlice)({
|
|
|
1064
1115
|
},
|
|
1065
1116
|
uploadProgress: (state, action) => {
|
|
1066
1117
|
const { id, progress } = action.payload;
|
|
1067
|
-
state.uploadsById[id] =
|
|
1118
|
+
state.uploadsById[id] = {
|
|
1119
|
+
...state.uploadsById[id],
|
|
1068
1120
|
progress
|
|
1069
|
-
}
|
|
1121
|
+
};
|
|
1070
1122
|
},
|
|
1071
1123
|
cleanUpUpload: (state, action) => {
|
|
1072
|
-
|
|
1073
|
-
const _b = state.uploadsById, { [_a = action.payload]: current } = _b, remainder = __objRest(_b, [__restKey(_a)]);
|
|
1124
|
+
const { [action.payload]: current, ...remainder } = state.uploadsById;
|
|
1074
1125
|
state.uploadsById = remainder;
|
|
1075
1126
|
},
|
|
1076
1127
|
setVersionInformation: (state, action) => {
|
|
1077
|
-
state.versionInformation =
|
|
1128
|
+
state.versionInformation = {
|
|
1129
|
+
...state.versionInformation,
|
|
1130
|
+
...action.payload
|
|
1131
|
+
};
|
|
1078
1132
|
},
|
|
1079
1133
|
setEnvironmentData: (state, action) => {
|
|
1080
|
-
return
|
|
1134
|
+
return { ...state, ...action.payload };
|
|
1081
1135
|
}
|
|
1082
1136
|
}
|
|
1083
1137
|
});
|
|
@@ -1109,7 +1163,7 @@ var initialState2 = {
|
|
|
1109
1163
|
sourceWindow: -1
|
|
1110
1164
|
},
|
|
1111
1165
|
binaryDeltaLimits: {
|
|
1112
|
-
timeout:
|
|
1166
|
+
timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },
|
|
1113
1167
|
sourceWindow: limitDefault,
|
|
1114
1168
|
inputWindow: limitDefault,
|
|
1115
1169
|
duplicatesWindow: limitDefault,
|
|
@@ -1119,10 +1173,10 @@ var initialState2 = {
|
|
|
1119
1173
|
deploymentDeviceLimit: 5e3,
|
|
1120
1174
|
selectedDeviceIds: [],
|
|
1121
1175
|
selectionState: {
|
|
1122
|
-
finished:
|
|
1123
|
-
inprogress:
|
|
1124
|
-
pending:
|
|
1125
|
-
scheduled:
|
|
1176
|
+
finished: { ...DEVICE_LIST_DEFAULTS, endDate: void 0, search: "", selection: [], startDate: void 0, total: 0, type: "" },
|
|
1177
|
+
inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
1178
|
+
pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
|
|
1179
|
+
scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },
|
|
1126
1180
|
general: {
|
|
1127
1181
|
state: DEPLOYMENT_ROUTES.active.key,
|
|
1128
1182
|
showCreationDialog: false,
|
|
@@ -1138,40 +1192,55 @@ var deploymentsSlice = (0, import_toolkit2.createSlice)({
|
|
|
1138
1192
|
initialState: initialState2,
|
|
1139
1193
|
reducers: {
|
|
1140
1194
|
createdDeployment: (state, action) => {
|
|
1141
|
-
state.byId[action.payload.id] =
|
|
1195
|
+
state.byId[action.payload.id] = {
|
|
1196
|
+
...deploymentPrototype,
|
|
1197
|
+
...action.payload
|
|
1198
|
+
};
|
|
1142
1199
|
state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;
|
|
1143
1200
|
state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];
|
|
1144
1201
|
state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection], state.selectionState[DEPLOYMENT_STATES.pending].total = state.selectionState[DEPLOYMENT_STATES.pending].total + 1;
|
|
1145
1202
|
},
|
|
1146
1203
|
removedDeployment: (state, action) => {
|
|
1147
|
-
|
|
1148
|
-
const _b = state.byId, { [_a = action.payload]: removedDeployment } = _b, remainder = __objRest(_b, [__restKey(_a)]);
|
|
1204
|
+
const { [action.payload]: removedDeployment, ...remainder } = state.byId;
|
|
1149
1205
|
state.byId = remainder;
|
|
1150
1206
|
},
|
|
1151
1207
|
receivedDeployment: (state, action) => {
|
|
1152
|
-
state.byId[action.payload.id] =
|
|
1208
|
+
state.byId[action.payload.id] = {
|
|
1209
|
+
...state.byId[action.payload.id] || {},
|
|
1210
|
+
...action.payload
|
|
1211
|
+
};
|
|
1153
1212
|
},
|
|
1154
1213
|
receivedDeploymentDeviceLog: (state, action) => {
|
|
1155
1214
|
const { id, deviceId, log } = action.payload;
|
|
1156
|
-
const deployment =
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1215
|
+
const deployment = {
|
|
1216
|
+
...deploymentPrototype,
|
|
1217
|
+
...state.byId[id]
|
|
1218
|
+
};
|
|
1219
|
+
state.byId[id] = {
|
|
1220
|
+
...deployment,
|
|
1221
|
+
devices: {
|
|
1222
|
+
...deployment.devices,
|
|
1223
|
+
[deviceId]: {
|
|
1224
|
+
...deployment.devices[deviceId],
|
|
1160
1225
|
log
|
|
1161
|
-
}
|
|
1162
|
-
}
|
|
1163
|
-
}
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
};
|
|
1164
1229
|
},
|
|
1165
1230
|
receivedDeploymentDevices: (state, action) => {
|
|
1166
1231
|
const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;
|
|
1167
|
-
state.byId[id] =
|
|
1232
|
+
state.byId[id] = {
|
|
1233
|
+
...state.byId[id],
|
|
1168
1234
|
devices,
|
|
1169
1235
|
totalDeviceCount
|
|
1170
|
-
}
|
|
1236
|
+
};
|
|
1171
1237
|
state.selectedDeviceIds = selectedDeviceIds;
|
|
1172
1238
|
},
|
|
1173
1239
|
receivedDeployments: (state, action) => {
|
|
1174
|
-
state.byId =
|
|
1240
|
+
state.byId = {
|
|
1241
|
+
...state.byId,
|
|
1242
|
+
...action.payload
|
|
1243
|
+
};
|
|
1175
1244
|
},
|
|
1176
1245
|
receivedDeploymentsForStatus: (state, action) => {
|
|
1177
1246
|
const { status, deploymentIds, total } = action.payload;
|
|
@@ -1213,9 +1282,9 @@ var initialState3 = {
|
|
|
1213
1282
|
[DEVICE_STATES.preauth]: { deviceIds: [], total: 0 },
|
|
1214
1283
|
[DEVICE_STATES.rejected]: { deviceIds: [], total: 0 }
|
|
1215
1284
|
},
|
|
1216
|
-
deviceList:
|
|
1217
|
-
deviceIds: []
|
|
1218
|
-
|
|
1285
|
+
deviceList: {
|
|
1286
|
+
deviceIds: [],
|
|
1287
|
+
...DEVICE_LIST_DEFAULTS,
|
|
1219
1288
|
selectedAttributes: [],
|
|
1220
1289
|
selectedIssues: [],
|
|
1221
1290
|
selection: [],
|
|
@@ -1226,7 +1295,7 @@ var initialState3 = {
|
|
|
1226
1295
|
},
|
|
1227
1296
|
state: DEVICE_STATES.accepted,
|
|
1228
1297
|
total: 0
|
|
1229
|
-
}
|
|
1298
|
+
},
|
|
1230
1299
|
filters: [
|
|
1231
1300
|
// { key: 'device_type', value: 'raspberry', operator: '$eq', scope: 'inventory' }
|
|
1232
1301
|
],
|
|
@@ -1261,49 +1330,59 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1261
1330
|
},
|
|
1262
1331
|
addToGroup: (state, action) => {
|
|
1263
1332
|
const { group, deviceIds } = action.payload;
|
|
1264
|
-
const maybeExistingGroup =
|
|
1333
|
+
const maybeExistingGroup = {
|
|
1265
1334
|
filters: [],
|
|
1266
|
-
deviceIds: []
|
|
1267
|
-
|
|
1268
|
-
|
|
1335
|
+
deviceIds: [],
|
|
1336
|
+
...state.groups.byId[group]
|
|
1337
|
+
};
|
|
1338
|
+
state.groups.byId[group] = {
|
|
1339
|
+
...maybeExistingGroup,
|
|
1269
1340
|
deviceIds: [...maybeExistingGroup.deviceIds, ...deviceIds].filter(import_helpers.duplicateFilter),
|
|
1270
1341
|
total: (maybeExistingGroup.total || 0) + 1
|
|
1271
|
-
}
|
|
1342
|
+
};
|
|
1272
1343
|
},
|
|
1273
1344
|
removeFromGroup: (state, action) => {
|
|
1274
1345
|
const { group, deviceIds: removedIds } = action.payload;
|
|
1275
|
-
const
|
|
1276
|
-
const changedGroup =
|
|
1346
|
+
const { deviceIds = [], total = 0, ...maybeExistingGroup } = state.groups.byId[group] || {};
|
|
1347
|
+
const changedGroup = {
|
|
1348
|
+
...maybeExistingGroup,
|
|
1277
1349
|
deviceIds: deviceIds.filter((id) => !removedIds.includes(id)),
|
|
1278
1350
|
total: Math.max(total - removedIds.length, 0)
|
|
1279
|
-
}
|
|
1351
|
+
};
|
|
1280
1352
|
if (changedGroup.total || changedGroup.deviceIds.length) {
|
|
1281
1353
|
state.groups.byId[group] = changedGroup;
|
|
1282
1354
|
return;
|
|
1283
1355
|
} else if (state.groups.selectedGroup === group) {
|
|
1284
1356
|
state.groups.selectedGroup = void 0;
|
|
1285
1357
|
}
|
|
1286
|
-
const
|
|
1358
|
+
const { [group]: removal, ...remainingById } = state.groups.byId;
|
|
1287
1359
|
state.groups.byId = remainingById;
|
|
1288
1360
|
},
|
|
1289
1361
|
addGroup: (state, action) => {
|
|
1290
1362
|
const { groupName, group } = action.payload;
|
|
1291
|
-
state.groups.byId[groupName] =
|
|
1363
|
+
state.groups.byId[groupName] = {
|
|
1364
|
+
...state.groups.byId[groupName],
|
|
1365
|
+
...group
|
|
1366
|
+
};
|
|
1292
1367
|
},
|
|
1293
1368
|
selectGroup: (state, { payload: group }) => {
|
|
1294
1369
|
state.deviceList.deviceIds = state.groups.byId[group] && state.groups.byId[group].deviceIds.length > 0 ? state.groups.byId[group].deviceIds : [];
|
|
1295
1370
|
state.groups.selectedGroup = group;
|
|
1296
1371
|
},
|
|
1297
1372
|
removeGroup: (state, action) => {
|
|
1298
|
-
|
|
1299
|
-
const _b = state.groups.byId, { [_a = action.payload]: removal } = _b, remainingById = __objRest(_b, [__restKey(_a)]);
|
|
1373
|
+
const { [action.payload]: removal, ...remainingById } = state.groups.byId;
|
|
1300
1374
|
state.groups.byId = remainingById;
|
|
1301
1375
|
state.groups.selectedGroup = state.groups.selectedGroup === action.payload ? void 0 : state.groups.selectedGroup;
|
|
1302
1376
|
},
|
|
1303
1377
|
setDeviceListState: (state, action) => {
|
|
1304
|
-
state.deviceList =
|
|
1305
|
-
|
|
1306
|
-
|
|
1378
|
+
state.deviceList = {
|
|
1379
|
+
...state.deviceList,
|
|
1380
|
+
...action.payload,
|
|
1381
|
+
sort: {
|
|
1382
|
+
...state.deviceList.sort,
|
|
1383
|
+
...action.payload.sort
|
|
1384
|
+
}
|
|
1385
|
+
};
|
|
1307
1386
|
},
|
|
1308
1387
|
setFilterAttributes: (state, action) => {
|
|
1309
1388
|
state.filteringAttributes = action.payload;
|
|
@@ -1312,7 +1391,10 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1312
1391
|
state.filteringAttributesConfig = action.payload;
|
|
1313
1392
|
},
|
|
1314
1393
|
receivedDevices: (state, action) => {
|
|
1315
|
-
state.byId =
|
|
1394
|
+
state.byId = {
|
|
1395
|
+
...state.byId,
|
|
1396
|
+
...action.payload
|
|
1397
|
+
};
|
|
1316
1398
|
},
|
|
1317
1399
|
setDeviceFilters: (state, action) => {
|
|
1318
1400
|
if ((0, import_helpers.deepCompare)(action.payload, state.filters)) {
|
|
@@ -1343,7 +1425,10 @@ var devicesSlice = (0, import_toolkit3.createSlice)({
|
|
|
1343
1425
|
state.limit = action.payload;
|
|
1344
1426
|
},
|
|
1345
1427
|
receivedDevice: (state, action) => {
|
|
1346
|
-
state.byId[action.payload.id] =
|
|
1428
|
+
state.byId[action.payload.id] = {
|
|
1429
|
+
...state.byId[action.payload.id],
|
|
1430
|
+
...action.payload
|
|
1431
|
+
};
|
|
1347
1432
|
},
|
|
1348
1433
|
maybeUpdateDevicesByStatus: (state, action) => {
|
|
1349
1434
|
const { deviceId, authId } = action.payload;
|
|
@@ -1364,15 +1449,17 @@ var import_toolkit4 = require("@reduxjs/toolkit");
|
|
|
1364
1449
|
var sliceName4 = "monitor";
|
|
1365
1450
|
var initialState4 = {
|
|
1366
1451
|
alerts: {
|
|
1367
|
-
alertList:
|
|
1452
|
+
alertList: { ...DEVICE_LIST_DEFAULTS, total: 0 },
|
|
1368
1453
|
byDeviceId: {}
|
|
1369
1454
|
},
|
|
1370
1455
|
issueCounts: {
|
|
1371
|
-
byType: Object.values(DEVICE_ISSUE_OPTIONS).reduce((accu, { key }) =>
|
|
1456
|
+
byType: Object.values(DEVICE_ISSUE_OPTIONS).reduce((accu, { key }) => ({ ...accu, [key]: { filtered: 0, total: 0 } }), {})
|
|
1372
1457
|
},
|
|
1373
1458
|
settings: {
|
|
1374
1459
|
global: {
|
|
1375
|
-
channels:
|
|
1460
|
+
channels: {
|
|
1461
|
+
...Object.keys(alertChannels).reduce((accu, item) => ({ ...accu, [item]: { enabled: true } }), {})
|
|
1462
|
+
}
|
|
1376
1463
|
}
|
|
1377
1464
|
}
|
|
1378
1465
|
};
|
|
@@ -1390,14 +1477,14 @@ var monitorSlice = (0, import_toolkit4.createSlice)({
|
|
|
1390
1477
|
},
|
|
1391
1478
|
receiveLatestDeviceAlerts: (state, action) => {
|
|
1392
1479
|
const { deviceId, alerts } = action.payload;
|
|
1393
|
-
state.alerts.byDeviceId[deviceId] =
|
|
1480
|
+
state.alerts.byDeviceId[deviceId] = { ...state.alerts.byDeviceId[deviceId], latest: alerts };
|
|
1394
1481
|
},
|
|
1395
1482
|
receiveDeviceIssueCounts: (state, action) => {
|
|
1396
1483
|
const { issueType, counts } = action.payload;
|
|
1397
1484
|
state.issueCounts.byType[issueType] = counts;
|
|
1398
1485
|
},
|
|
1399
1486
|
setAlertListState: (state, action) => {
|
|
1400
|
-
state.alerts.alertList =
|
|
1487
|
+
state.alerts.alertList = { ...state.alerts.alertList, ...action.payload };
|
|
1401
1488
|
}
|
|
1402
1489
|
}
|
|
1403
1490
|
});
|
|
@@ -1421,7 +1508,7 @@ var onboardingSlice = (0, import_toolkit5.createSlice)({
|
|
|
1421
1508
|
initialState: initialState5,
|
|
1422
1509
|
reducers: {
|
|
1423
1510
|
setOnboardingState: (state, action) => {
|
|
1424
|
-
return
|
|
1511
|
+
return { ...state, ...action.payload };
|
|
1425
1512
|
},
|
|
1426
1513
|
setDemoArtifactPort: (state, action) => {
|
|
1427
1514
|
state.demoArtifactPort = action.payload;
|
|
@@ -1459,21 +1546,23 @@ var initialState6 = {
|
|
|
1459
1546
|
brand: ""
|
|
1460
1547
|
},
|
|
1461
1548
|
intentId: null,
|
|
1549
|
+
tenantList: {
|
|
1550
|
+
...TENANT_LIST_DEFAULT,
|
|
1551
|
+
total: 0,
|
|
1552
|
+
tenants: [],
|
|
1553
|
+
selectedTenant: null,
|
|
1554
|
+
sort: {
|
|
1555
|
+
direction: SORTING_OPTIONS.desc,
|
|
1556
|
+
key: "name"
|
|
1557
|
+
}
|
|
1558
|
+
},
|
|
1462
1559
|
organization: {
|
|
1463
|
-
tenantList: __spreadProps(__spreadValues({}, TENANT_LIST_DEFAULT), {
|
|
1464
|
-
total: 0,
|
|
1465
|
-
tenants: [],
|
|
1466
|
-
selectedTenant: null,
|
|
1467
|
-
sort: {
|
|
1468
|
-
direction: SORTING_OPTIONS.desc,
|
|
1469
|
-
key: "name"
|
|
1470
|
-
}
|
|
1471
|
-
})
|
|
1472
1560
|
// id, name, status, tenant_token, plan
|
|
1473
1561
|
},
|
|
1474
1562
|
auditlog: {
|
|
1475
1563
|
events: [],
|
|
1476
|
-
selectionState:
|
|
1564
|
+
selectionState: {
|
|
1565
|
+
...DEVICE_LIST_DEFAULTS,
|
|
1477
1566
|
detail: void 0,
|
|
1478
1567
|
endDate: void 0,
|
|
1479
1568
|
selectedIssue: void 0,
|
|
@@ -1482,7 +1571,7 @@ var initialState6 = {
|
|
|
1482
1571
|
total: 0,
|
|
1483
1572
|
type: void 0,
|
|
1484
1573
|
user: void 0
|
|
1485
|
-
}
|
|
1574
|
+
}
|
|
1486
1575
|
},
|
|
1487
1576
|
externalDeviceIntegrations: [
|
|
1488
1577
|
// { <connection_string|x509|...>, id, provider }
|
|
@@ -1505,7 +1594,10 @@ var organizationSlice = (0, import_toolkit6.createSlice)({
|
|
|
1505
1594
|
state.auditlog.selectionState.total = total;
|
|
1506
1595
|
},
|
|
1507
1596
|
setAuditLogState: (state, action) => {
|
|
1508
|
-
state.auditlog.selectionState =
|
|
1597
|
+
state.auditlog.selectionState = {
|
|
1598
|
+
...state.auditlog.selectionState,
|
|
1599
|
+
...action.payload
|
|
1600
|
+
};
|
|
1509
1601
|
},
|
|
1510
1602
|
receiveCurrentCard: (state, action) => {
|
|
1511
1603
|
state.card = action.payload;
|
|
@@ -1514,12 +1606,10 @@ var organizationSlice = (0, import_toolkit6.createSlice)({
|
|
|
1514
1606
|
state.intentId = action.payload;
|
|
1515
1607
|
},
|
|
1516
1608
|
setOrganization: (state, action) => {
|
|
1517
|
-
state.organization =
|
|
1518
|
-
tenantList: __spreadValues(__spreadValues({}, state.organization.tenantList), action.payload.tenantList)
|
|
1519
|
-
});
|
|
1609
|
+
state.organization = { ...state.organization, ...action.payload };
|
|
1520
1610
|
},
|
|
1521
1611
|
setTenantListState: (state, action) => {
|
|
1522
|
-
state.
|
|
1612
|
+
state.tenantList = action.payload;
|
|
1523
1613
|
},
|
|
1524
1614
|
receiveExternalDeviceIntegrations: (state, action) => {
|
|
1525
1615
|
state.externalDeviceIntegrations = action.payload;
|
|
@@ -1579,7 +1669,8 @@ var initialState7 = {
|
|
|
1579
1669
|
}
|
|
1580
1670
|
*/
|
|
1581
1671
|
},
|
|
1582
|
-
releasesList:
|
|
1672
|
+
releasesList: {
|
|
1673
|
+
...DEVICE_LIST_DEFAULTS,
|
|
1583
1674
|
searchedIds: [],
|
|
1584
1675
|
releaseIds: [],
|
|
1585
1676
|
selection: [],
|
|
@@ -1593,7 +1684,7 @@ var initialState7 = {
|
|
|
1593
1684
|
selectedTags: [],
|
|
1594
1685
|
total: 0,
|
|
1595
1686
|
type: ""
|
|
1596
|
-
}
|
|
1687
|
+
},
|
|
1597
1688
|
tags: [],
|
|
1598
1689
|
updateTypes: [],
|
|
1599
1690
|
/*
|
|
@@ -1619,8 +1710,7 @@ var releaseSlice = (0, import_toolkit7.createSlice)({
|
|
|
1619
1710
|
state.updateTypes = action.payload;
|
|
1620
1711
|
},
|
|
1621
1712
|
removeRelease: (state, action) => {
|
|
1622
|
-
|
|
1623
|
-
const _b = state.byId, { [_a = action.payload]: toBeRemoved } = _b, byId = __objRest(_b, [__restKey(_a)]);
|
|
1713
|
+
const { [action.payload]: toBeRemoved, ...byId } = state.byId;
|
|
1624
1714
|
state.byId = byId;
|
|
1625
1715
|
state.selectedRelease = action.payload === state.selectedRelease ? null : state.selectedRelease;
|
|
1626
1716
|
},
|
|
@@ -1653,8 +1743,12 @@ var initialState8 = {
|
|
|
1653
1743
|
previousPhases: [],
|
|
1654
1744
|
retries: 0
|
|
1655
1745
|
},
|
|
1656
|
-
permissionSetsById:
|
|
1657
|
-
|
|
1746
|
+
permissionSetsById: {
|
|
1747
|
+
...defaultPermissionSets
|
|
1748
|
+
},
|
|
1749
|
+
rolesById: {
|
|
1750
|
+
...rolesById
|
|
1751
|
+
},
|
|
1658
1752
|
settingsInitialized: false,
|
|
1659
1753
|
showConnectDeviceDialog: false,
|
|
1660
1754
|
showFeedbackDialog: false,
|
|
@@ -1694,13 +1788,15 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1694
1788
|
state.byId[0] = action.payload;
|
|
1695
1789
|
},
|
|
1696
1790
|
removedUser: (state, action) => {
|
|
1697
|
-
|
|
1698
|
-
const _b = state.byId, { [_a = action.payload]: removedUser } = _b, byId = __objRest(_b, [__restKey(_a)]);
|
|
1791
|
+
const { [action.payload]: removedUser, ...byId } = state.byId;
|
|
1699
1792
|
state.byId = byId;
|
|
1700
1793
|
state.currentUser = state.currentUser === action.payload ? null : state.currentUser;
|
|
1701
1794
|
},
|
|
1702
1795
|
updatedUser: (state, action) => {
|
|
1703
|
-
state.byId[action.payload.id] =
|
|
1796
|
+
state.byId[action.payload.id] = {
|
|
1797
|
+
...state.byId[action.payload.id],
|
|
1798
|
+
...action.payload
|
|
1799
|
+
};
|
|
1704
1800
|
},
|
|
1705
1801
|
receivedPermissionSets: (state, action) => {
|
|
1706
1802
|
state.permissionSetsById = action.payload;
|
|
@@ -1709,11 +1805,13 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1709
1805
|
state.rolesById = action.payload;
|
|
1710
1806
|
},
|
|
1711
1807
|
createdRole: (state, action) => {
|
|
1712
|
-
state.rolesById[action.payload.name] =
|
|
1808
|
+
state.rolesById[action.payload.name] = {
|
|
1809
|
+
...state.rolesById[action.payload.name],
|
|
1810
|
+
...action.payload
|
|
1811
|
+
};
|
|
1713
1812
|
},
|
|
1714
1813
|
removedRole: (state, action) => {
|
|
1715
|
-
|
|
1716
|
-
const _b = state.rolesById, { [_a = action.payload]: toBeRemoved } = _b, rolesById2 = __objRest(_b, [__restKey(_a)]);
|
|
1814
|
+
const { [action.payload]: toBeRemoved, ...rolesById2 } = state.rolesById;
|
|
1717
1815
|
state.rolesById = rolesById2;
|
|
1718
1816
|
},
|
|
1719
1817
|
setCustomColumns: (state, action) => {
|
|
@@ -1721,18 +1819,27 @@ var usersSlice = (0, import_toolkit8.createSlice)({
|
|
|
1721
1819
|
},
|
|
1722
1820
|
setGlobalSettings: (state, action) => {
|
|
1723
1821
|
state.settingsInitialized = true;
|
|
1724
|
-
state.globalSettings =
|
|
1822
|
+
state.globalSettings = {
|
|
1823
|
+
...state.globalSettings,
|
|
1824
|
+
...action.payload
|
|
1825
|
+
};
|
|
1725
1826
|
},
|
|
1726
1827
|
setUserSettings: (state, action) => {
|
|
1727
1828
|
state.userSettingsInitialized = true;
|
|
1728
|
-
state.userSettings =
|
|
1829
|
+
state.userSettings = {
|
|
1830
|
+
...state.userSettings,
|
|
1831
|
+
...action.payload
|
|
1832
|
+
};
|
|
1729
1833
|
},
|
|
1730
1834
|
setTooltipState: (state, action) => {
|
|
1731
1835
|
const { id, readState = READ_STATES.read } = action.payload;
|
|
1732
1836
|
state.tooltips.byId[id].readState = readState;
|
|
1733
1837
|
},
|
|
1734
1838
|
setTooltipsState: (state, action) => {
|
|
1735
|
-
state.tooltips.byId =
|
|
1839
|
+
state.tooltips.byId = {
|
|
1840
|
+
...state.tooltips.byId,
|
|
1841
|
+
...action.payload
|
|
1842
|
+
};
|
|
1736
1843
|
},
|
|
1737
1844
|
setShowFeedbackDialog: (state, action) => {
|
|
1738
1845
|
state.showFeedbackDialog = action.payload;
|
|
@@ -1749,7 +1856,16 @@ var actions8 = usersSlice.actions;
|
|
|
1749
1856
|
var usersSlice_default = usersSlice.reducer;
|
|
1750
1857
|
|
|
1751
1858
|
// src/actions.ts
|
|
1752
|
-
var actions_default =
|
|
1859
|
+
var actions_default = {
|
|
1860
|
+
...actions,
|
|
1861
|
+
...actions2,
|
|
1862
|
+
...actions3,
|
|
1863
|
+
...actions4,
|
|
1864
|
+
...actions5,
|
|
1865
|
+
...actions6,
|
|
1866
|
+
...actions7,
|
|
1867
|
+
...actions8
|
|
1868
|
+
};
|
|
1753
1869
|
|
|
1754
1870
|
// src/auth.ts
|
|
1755
1871
|
var import_universal_cookie = __toESM(require("universal-cookie"));
|
|
@@ -1757,18 +1873,17 @@ var cookies = new import_universal_cookie.default();
|
|
|
1757
1873
|
var emptySession = Object.freeze({ token: "", exiresAt: void 0 });
|
|
1758
1874
|
var tokenCache = "";
|
|
1759
1875
|
var getSessionInfo = () => {
|
|
1760
|
-
|
|
1761
|
-
let sessionInfo = __spreadValues({}, emptySession);
|
|
1876
|
+
let sessionInfo = { ...emptySession };
|
|
1762
1877
|
try {
|
|
1763
|
-
sessionInfo = JSON.parse(
|
|
1764
|
-
} catch
|
|
1878
|
+
sessionInfo = JSON.parse(window.localStorage.getItem("JWT") ?? "");
|
|
1879
|
+
} catch {
|
|
1765
1880
|
}
|
|
1766
1881
|
if (sessionInfo.expiresAt && new Date(sessionInfo.expiresAt) < /* @__PURE__ */ new Date()) {
|
|
1767
1882
|
cleanUp();
|
|
1768
|
-
return
|
|
1883
|
+
return { ...emptySession };
|
|
1769
1884
|
}
|
|
1770
1885
|
if (!sessionInfo.token) {
|
|
1771
|
-
let jwtTokenFromCookie =
|
|
1886
|
+
let jwtTokenFromCookie = cookies.get("JWT", { doNotParse: true }) ?? "";
|
|
1772
1887
|
if (jwtTokenFromCookie) {
|
|
1773
1888
|
setSessionInfo({ token: jwtTokenFromCookie, undefined: void 0 });
|
|
1774
1889
|
sessionInfo.token = jwtTokenFromCookie;
|
|
@@ -1798,14 +1913,11 @@ var import_helpers2 = require("@northern.tech/utils/helpers");
|
|
|
1798
1913
|
var filterAliases = {
|
|
1799
1914
|
$nexists: { alias: DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
|
|
1800
1915
|
};
|
|
1801
|
-
var extractErrorMessage = (err, fallback = "") =>
|
|
1802
|
-
var _a, _b, _c, _d, _e;
|
|
1803
|
-
return ((_c = (_b = (_a = err.response) == null ? void 0 : _a.data) == null ? void 0 : _b.error) == null ? void 0 : _c.message) || ((_e = (_d = err.response) == null ? void 0 : _d.data) == null ? void 0 : _e.error) || err.error || err.message || fallback;
|
|
1804
|
-
};
|
|
1916
|
+
var extractErrorMessage = (err, fallback = "") => err.response?.data?.error?.message || err.response?.data?.error || err.error || err.message || fallback;
|
|
1805
1917
|
var preformatWithRequestID = (res, failMsg) => {
|
|
1806
1918
|
if (failMsg.length > 100) failMsg = `${failMsg.substring(0, 220)}...`;
|
|
1807
1919
|
try {
|
|
1808
|
-
if (
|
|
1920
|
+
if (res?.data && Object.keys(res.data).includes("request_id")) {
|
|
1809
1921
|
let shortRequestUUID = res.data["request_id"].substring(0, 8);
|
|
1810
1922
|
return `${failMsg} [Request ID: ${shortRequestUUID}]`;
|
|
1811
1923
|
}
|
|
@@ -1847,8 +1959,9 @@ var sessionReducer = (state, action) => {
|
|
|
1847
1959
|
return rootReducer(state, action);
|
|
1848
1960
|
};
|
|
1849
1961
|
var getConfiguredStore = (options = {}) => {
|
|
1850
|
-
const
|
|
1851
|
-
return (0, import_toolkit9.configureStore)(
|
|
1962
|
+
const { preloadedState = {}, ...config } = options;
|
|
1963
|
+
return (0, import_toolkit9.configureStore)({
|
|
1964
|
+
...config,
|
|
1852
1965
|
preloadedState,
|
|
1853
1966
|
reducer: sessionReducer,
|
|
1854
1967
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware({
|
|
@@ -1861,17 +1974,9 @@ var getConfiguredStore = (options = {}) => {
|
|
|
1861
1974
|
ignoredPaths: ["app.uploadsById", "app.snackbar", "organization.externalDeviceIntegrations"]
|
|
1862
1975
|
}
|
|
1863
1976
|
})
|
|
1864
|
-
})
|
|
1977
|
+
});
|
|
1865
1978
|
};
|
|
1866
1979
|
var store = getConfiguredStore({
|
|
1867
1980
|
preloadedState: {}
|
|
1868
1981
|
});
|
|
1869
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
1870
|
-
0 && (module.exports = {
|
|
1871
|
-
commonErrorFallback,
|
|
1872
|
-
commonErrorHandler,
|
|
1873
|
-
getConfiguredStore,
|
|
1874
|
-
sessionReducer,
|
|
1875
|
-
store
|
|
1876
|
-
});
|
|
1877
1982
|
//# sourceMappingURL=store.js.map
|