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