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