@northern.tech/store 0.1.3 → 0.2.0

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 (188) hide show
  1. package/dist/actions.js +75 -13
  2. package/dist/actions.js.map +1 -1
  3. package/dist/actions.mjs +10 -10
  4. package/dist/api/general-api.js +64 -0
  5. package/dist/api/general-api.js.map +1 -1
  6. package/dist/api/general-api.mjs +4 -4
  7. package/dist/api/users-api.js +64 -0
  8. package/dist/api/users-api.js.map +1 -1
  9. package/dist/api/users-api.mjs +5 -5
  10. package/dist/appSlice/index.js +64 -0
  11. package/dist/appSlice/index.js.map +1 -1
  12. package/dist/appSlice/index.mjs +3 -3
  13. package/dist/appSlice/thunks.js +93 -15
  14. package/dist/appSlice/thunks.js.map +1 -1
  15. package/dist/appSlice/thunks.mjs +24 -24
  16. package/dist/auth.js +64 -0
  17. package/dist/auth.js.map +1 -1
  18. package/dist/auth.mjs +3 -3
  19. package/dist/{chunk-HVHZG2H4.mjs → chunk-2HCZYULZ.mjs} +3 -3
  20. package/dist/chunk-2HCZYULZ.mjs.map +1 -0
  21. package/dist/{chunk-R2GBNXLV.mjs → chunk-2P4VECEE.mjs} +3 -3
  22. package/dist/{chunk-HXPYJ6QN.mjs → chunk-4C6IY46N.mjs} +2 -2
  23. package/dist/{chunk-BRHSKNFC.mjs → chunk-4U4X4KAC.mjs} +4 -4
  24. package/dist/{chunk-DZBVTSIX.mjs → chunk-BWFTQHNM.mjs} +2 -2
  25. package/dist/{chunk-BJSH2G7W.mjs → chunk-EFHEROXZ.mjs} +2 -2
  26. package/dist/{chunk-6667TCAJ.mjs → chunk-EM2HUGUY.mjs} +3 -3
  27. package/dist/{chunk-IPPIKGIB.mjs → chunk-ENLZPHTQ.mjs} +8 -8
  28. package/dist/{chunk-IVSYYXTC.mjs → chunk-L4HIW3KB.mjs} +3 -3
  29. package/dist/{chunk-G7LATUT6.mjs → chunk-MJW4632R.mjs} +10 -10
  30. package/dist/{chunk-ZNST5R6O.mjs → chunk-MQIKQKSW.mjs} +61 -2
  31. package/dist/chunk-MQIKQKSW.mjs.map +1 -0
  32. package/dist/{chunk-7E7KJHY3.mjs → chunk-NCI6JV5R.mjs} +2 -2
  33. package/dist/{chunk-G3I53JGW.mjs → chunk-OGAMVFPS.mjs} +2 -1
  34. package/dist/{chunk-G3I53JGW.mjs.map → chunk-OGAMVFPS.mjs.map} +1 -1
  35. package/dist/{chunk-F37LUTBX.mjs → chunk-OWHFMKTA.mjs} +2 -2
  36. package/dist/{chunk-ZIYGEXSJ.mjs → chunk-QG4PT5WK.mjs} +3 -3
  37. package/dist/{chunk-XYVPYFSM.mjs → chunk-RWYS5MKN.mjs} +12 -12
  38. package/dist/{chunk-G32LAKW4.mjs → chunk-U6YTBIDT.mjs} +3 -3
  39. package/dist/{chunk-YNVSU3AA.mjs → chunk-UPMSYTWW.mjs} +22 -22
  40. package/dist/chunk-UPMSYTWW.mjs.map +1 -0
  41. package/dist/{chunk-TD45YTYK.mjs → chunk-WS3YYLTJ.mjs} +14 -16
  42. package/dist/chunk-WS3YYLTJ.mjs.map +1 -0
  43. package/dist/{chunk-HRWZJQMH.mjs → chunk-X65NMDPS.mjs} +3 -3
  44. package/dist/{chunk-O6O3D52B.mjs → chunk-XJNI62IP.mjs} +2 -2
  45. package/dist/{chunk-RQOE5OOT.mjs → chunk-Y47SYXII.mjs} +32 -12
  46. package/dist/chunk-Y47SYXII.mjs.map +1 -0
  47. package/dist/{chunk-N7G6QK2E.mjs → chunk-ZLRZO4EY.mjs} +10 -10
  48. package/dist/{chunk-RH6ONMG7.mjs → chunk-ZZ6VIQ3U.mjs} +3 -3
  49. package/dist/commonConstants.d.mts +18 -19
  50. package/dist/commonConstants.d.ts +18 -19
  51. package/dist/commonConstants.js +1 -0
  52. package/dist/commonConstants.js.map +1 -1
  53. package/dist/commonConstants.mjs +1 -1
  54. package/dist/commonSelectors.d.mts +42 -1
  55. package/dist/commonSelectors.d.ts +42 -1
  56. package/dist/commonSelectors.js +82 -0
  57. package/dist/commonSelectors.js.map +1 -1
  58. package/dist/commonSelectors.mjs +11 -9
  59. package/dist/constants.d.mts +3 -3
  60. package/dist/constants.d.ts +3 -3
  61. package/dist/constants.js +62 -0
  62. package/dist/constants.js.map +1 -1
  63. package/dist/constants.mjs +6 -2
  64. package/dist/deploymentsSlice/constants.js +64 -0
  65. package/dist/deploymentsSlice/constants.js.map +1 -1
  66. package/dist/deploymentsSlice/constants.mjs +2 -2
  67. package/dist/deploymentsSlice/index.js +64 -0
  68. package/dist/deploymentsSlice/index.js.map +1 -1
  69. package/dist/deploymentsSlice/index.mjs +3 -3
  70. package/dist/deploymentsSlice/selectors.js +64 -0
  71. package/dist/deploymentsSlice/selectors.js.map +1 -1
  72. package/dist/deploymentsSlice/selectors.mjs +3 -3
  73. package/dist/deploymentsSlice/thunks.js +93 -15
  74. package/dist/deploymentsSlice/thunks.js.map +1 -1
  75. package/dist/deploymentsSlice/thunks.mjs +24 -24
  76. package/dist/devicesSlice/constants.js +64 -0
  77. package/dist/devicesSlice/constants.js.map +1 -1
  78. package/dist/devicesSlice/constants.mjs +2 -2
  79. package/dist/devicesSlice/index.js +64 -0
  80. package/dist/devicesSlice/index.js.map +1 -1
  81. package/dist/devicesSlice/index.mjs +3 -3
  82. package/dist/devicesSlice/selectors.js +64 -0
  83. package/dist/devicesSlice/selectors.js.map +1 -1
  84. package/dist/devicesSlice/selectors.mjs +3 -3
  85. package/dist/devicesSlice/thunks.js +93 -15
  86. package/dist/devicesSlice/thunks.js.map +1 -1
  87. package/dist/devicesSlice/thunks.mjs +24 -24
  88. package/dist/monitorSlice/constants.js +64 -0
  89. package/dist/monitorSlice/constants.js.map +1 -1
  90. package/dist/monitorSlice/constants.mjs +2 -2
  91. package/dist/monitorSlice/index.js +64 -0
  92. package/dist/monitorSlice/index.js.map +1 -1
  93. package/dist/monitorSlice/index.mjs +3 -3
  94. package/dist/monitorSlice/thunks.js +91 -13
  95. package/dist/monitorSlice/thunks.js.map +1 -1
  96. package/dist/monitorSlice/thunks.mjs +21 -21
  97. package/dist/onboardingSlice/thunks.js +93 -15
  98. package/dist/onboardingSlice/thunks.js.map +1 -1
  99. package/dist/onboardingSlice/thunks.mjs +24 -24
  100. package/dist/organizationSlice/constants.d.mts +6 -1
  101. package/dist/organizationSlice/constants.d.ts +6 -1
  102. package/dist/organizationSlice/constants.js +60 -0
  103. package/dist/organizationSlice/constants.js.map +1 -1
  104. package/dist/organizationSlice/constants.mjs +4 -2
  105. package/dist/organizationSlice/index.d.mts +224 -246
  106. package/dist/organizationSlice/index.d.ts +224 -246
  107. package/dist/organizationSlice/index.js +75 -13
  108. package/dist/organizationSlice/index.js.map +1 -1
  109. package/dist/organizationSlice/index.mjs +3 -3
  110. package/dist/organizationSlice/selectors.js +65 -1
  111. package/dist/organizationSlice/selectors.js.map +1 -1
  112. package/dist/organizationSlice/selectors.mjs +3 -3
  113. package/dist/organizationSlice/thunks.js +93 -15
  114. package/dist/organizationSlice/thunks.js.map +1 -1
  115. package/dist/organizationSlice/thunks.mjs +24 -24
  116. package/dist/releasesSlice/index.js +64 -0
  117. package/dist/releasesSlice/index.js.map +1 -1
  118. package/dist/releasesSlice/index.mjs +3 -3
  119. package/dist/releasesSlice/selectors.js +64 -0
  120. package/dist/releasesSlice/selectors.js.map +1 -1
  121. package/dist/releasesSlice/selectors.mjs +4 -4
  122. package/dist/releasesSlice/thunks.js +91 -13
  123. package/dist/releasesSlice/thunks.js.map +1 -1
  124. package/dist/releasesSlice/thunks.mjs +21 -21
  125. package/dist/selectors.d.mts +1 -1
  126. package/dist/selectors.d.ts +1 -1
  127. package/dist/selectors.js +83 -1
  128. package/dist/selectors.js.map +1 -1
  129. package/dist/selectors.mjs +11 -9
  130. package/dist/store.d.mts +235 -135
  131. package/dist/store.d.ts +235 -135
  132. package/dist/store.js +75 -13
  133. package/dist/store.js.map +1 -1
  134. package/dist/store.mjs +13 -13
  135. package/dist/storehooks.d.mts +3 -1
  136. package/dist/storehooks.d.ts +3 -1
  137. package/dist/storehooks.js +125 -29
  138. package/dist/storehooks.js.map +1 -1
  139. package/dist/storehooks.mjs +59 -39
  140. package/dist/storehooks.mjs.map +1 -1
  141. package/dist/thunks.js +93 -15
  142. package/dist/thunks.js.map +1 -1
  143. package/dist/thunks.mjs +24 -24
  144. package/dist/usersSlice/constants.d.mts +192 -17
  145. package/dist/usersSlice/constants.d.ts +192 -17
  146. package/dist/usersSlice/constants.js +66 -0
  147. package/dist/usersSlice/constants.js.map +1 -1
  148. package/dist/usersSlice/constants.mjs +4 -2
  149. package/dist/usersSlice/index.d.mts +1628 -704
  150. package/dist/usersSlice/index.d.ts +1628 -704
  151. package/dist/usersSlice/index.js +64 -0
  152. package/dist/usersSlice/index.js.map +1 -1
  153. package/dist/usersSlice/index.mjs +3 -3
  154. package/dist/usersSlice/selectors.js +64 -0
  155. package/dist/usersSlice/selectors.js.map +1 -1
  156. package/dist/usersSlice/selectors.mjs +4 -4
  157. package/dist/usersSlice/thunks.js +93 -15
  158. package/dist/usersSlice/thunks.js.map +1 -1
  159. package/dist/usersSlice/thunks.mjs +24 -24
  160. package/dist/utils.d.mts +6 -5
  161. package/dist/utils.d.ts +6 -5
  162. package/dist/utils.js +64 -0
  163. package/dist/utils.js.map +1 -1
  164. package/dist/utils.mjs +3 -3
  165. package/package.json +1 -1
  166. package/dist/chunk-HVHZG2H4.mjs.map +0 -1
  167. package/dist/chunk-RQOE5OOT.mjs.map +0 -1
  168. package/dist/chunk-TD45YTYK.mjs.map +0 -1
  169. package/dist/chunk-YNVSU3AA.mjs.map +0 -1
  170. package/dist/chunk-ZNST5R6O.mjs.map +0 -1
  171. /package/dist/{chunk-R2GBNXLV.mjs.map → chunk-2P4VECEE.mjs.map} +0 -0
  172. /package/dist/{chunk-HXPYJ6QN.mjs.map → chunk-4C6IY46N.mjs.map} +0 -0
  173. /package/dist/{chunk-BRHSKNFC.mjs.map → chunk-4U4X4KAC.mjs.map} +0 -0
  174. /package/dist/{chunk-DZBVTSIX.mjs.map → chunk-BWFTQHNM.mjs.map} +0 -0
  175. /package/dist/{chunk-BJSH2G7W.mjs.map → chunk-EFHEROXZ.mjs.map} +0 -0
  176. /package/dist/{chunk-6667TCAJ.mjs.map → chunk-EM2HUGUY.mjs.map} +0 -0
  177. /package/dist/{chunk-IPPIKGIB.mjs.map → chunk-ENLZPHTQ.mjs.map} +0 -0
  178. /package/dist/{chunk-IVSYYXTC.mjs.map → chunk-L4HIW3KB.mjs.map} +0 -0
  179. /package/dist/{chunk-G7LATUT6.mjs.map → chunk-MJW4632R.mjs.map} +0 -0
  180. /package/dist/{chunk-7E7KJHY3.mjs.map → chunk-NCI6JV5R.mjs.map} +0 -0
  181. /package/dist/{chunk-F37LUTBX.mjs.map → chunk-OWHFMKTA.mjs.map} +0 -0
  182. /package/dist/{chunk-ZIYGEXSJ.mjs.map → chunk-QG4PT5WK.mjs.map} +0 -0
  183. /package/dist/{chunk-XYVPYFSM.mjs.map → chunk-RWYS5MKN.mjs.map} +0 -0
  184. /package/dist/{chunk-G32LAKW4.mjs.map → chunk-U6YTBIDT.mjs.map} +0 -0
  185. /package/dist/{chunk-HRWZJQMH.mjs.map → chunk-X65NMDPS.mjs.map} +0 -0
  186. /package/dist/{chunk-O6O3D52B.mjs.map → chunk-XJNI62IP.mjs.map} +0 -0
  187. /package/dist/{chunk-N7G6QK2E.mjs.map → chunk-ZLRZO4EY.mjs.map} +0 -0
  188. /package/dist/{chunk-RH6ONMG7.mjs.map → chunk-ZZ6VIQ3U.mjs.map} +0 -0
@@ -4,35 +4,35 @@ import {
4
4
  getDeviceMonitorConfig,
5
5
  getIssueCountsByType,
6
6
  getLatestDeviceAlerts
7
- } from "../chunk-G7LATUT6.mjs";
8
- import "../chunk-R2GBNXLV.mjs";
7
+ } from "../chunk-MJW4632R.mjs";
8
+ import "../chunk-2P4VECEE.mjs";
9
9
  import "../chunk-V32GTKOS.mjs";
10
- import "../chunk-RQOE5OOT.mjs";
11
- import "../chunk-BRHSKNFC.mjs";
12
- import "../chunk-HVHZG2H4.mjs";
13
- import "../chunk-O6O3D52B.mjs";
10
+ import "../chunk-Y47SYXII.mjs";
11
+ import "../chunk-4U4X4KAC.mjs";
12
+ import "../chunk-2HCZYULZ.mjs";
13
+ import "../chunk-XJNI62IP.mjs";
14
14
  import "../chunk-H2PQQMRY.mjs";
15
15
  import "../chunk-QBKCUIWO.mjs";
16
- import "../chunk-DZBVTSIX.mjs";
17
- import "../chunk-ZIYGEXSJ.mjs";
16
+ import "../chunk-BWFTQHNM.mjs";
17
+ import "../chunk-QG4PT5WK.mjs";
18
18
  import "../chunk-C2YZYTJ6.mjs";
19
- import "../chunk-XYVPYFSM.mjs";
20
- import "../chunk-IPPIKGIB.mjs";
21
- import "../chunk-BJSH2G7W.mjs";
22
- import "../chunk-TD45YTYK.mjs";
23
- import "../chunk-7E7KJHY3.mjs";
24
- import "../chunk-RH6ONMG7.mjs";
19
+ import "../chunk-RWYS5MKN.mjs";
20
+ import "../chunk-ENLZPHTQ.mjs";
21
+ import "../chunk-EFHEROXZ.mjs";
22
+ import "../chunk-WS3YYLTJ.mjs";
23
+ import "../chunk-NCI6JV5R.mjs";
24
+ import "../chunk-ZZ6VIQ3U.mjs";
25
25
  import "../chunk-M4U5R7A4.mjs";
26
- import "../chunk-6667TCAJ.mjs";
27
- import "../chunk-HRWZJQMH.mjs";
28
- import "../chunk-F37LUTBX.mjs";
29
- import "../chunk-HXPYJ6QN.mjs";
30
- import "../chunk-G32LAKW4.mjs";
31
- import "../chunk-ZNST5R6O.mjs";
26
+ import "../chunk-EM2HUGUY.mjs";
27
+ import "../chunk-X65NMDPS.mjs";
28
+ import "../chunk-OWHFMKTA.mjs";
29
+ import "../chunk-4C6IY46N.mjs";
30
+ import "../chunk-U6YTBIDT.mjs";
31
+ import "../chunk-MQIKQKSW.mjs";
32
32
  import "../chunk-G4FGNSV3.mjs";
33
33
  import "../chunk-IU4OXOPA.mjs";
34
34
  import "../chunk-BOSBROA3.mjs";
35
- import "../chunk-G3I53JGW.mjs";
35
+ import "../chunk-OGAMVFPS.mjs";
36
36
  import "../chunk-XWBD7VOK.mjs";
37
37
  export {
38
38
  changeNotificationSetting,
@@ -793,6 +793,7 @@ var emptyUiPermissions = Object.freeze({
793
793
  deployments: [],
794
794
  groups: Object.freeze({}),
795
795
  releases: Object.freeze({}),
796
+ tenantManagement: [],
796
797
  userManagement: []
797
798
  });
798
799
  var emptyRole = Object.freeze({
@@ -1040,6 +1041,13 @@ var SSO_TYPES = {
1040
1041
  configDetails: [{ key: "startURL", label: "Start Url", getValue: getOidcStartUrl }]
1041
1042
  }
1042
1043
  };
1044
+ var AUDIT_LOGS_TYPES = [
1045
+ { title: "Artifact", queryParameter: "object_type", value: "artifact" },
1046
+ { title: "Deployment", queryParameter: "object_deployment_name", value: "deployment" },
1047
+ { title: "Device", queryParameter: "object_id", value: "device" },
1048
+ { title: "User", queryParameter: "object_id", value: "user" }
1049
+ ];
1050
+ var SP_AUDIT_LOGS_TYPES = [AUDIT_LOGS_TYPES[3], { title: "Tenant", queryParameter: "object_id", value: "tenant" }];
1043
1051
  var emptyWebhook = {
1044
1052
  description: "",
1045
1053
  enabled: true,
@@ -1088,10 +1096,12 @@ var permissionSetIds = {
1088
1096
  DeployToDevices: "DeployToDevices",
1089
1097
  ManageDevices: "ManageDevices",
1090
1098
  ManageReleases: "ManageReleases",
1099
+ ManageTenants: "ManageTenants",
1091
1100
  ManageUsers: "ManageUsers",
1092
1101
  ReadAuditLogs: "ReadAuditLogs",
1093
1102
  ReadDevices: "ReadDevices",
1094
1103
  ReadReleases: "ReadReleases",
1104
+ ReadTenants: "ReadTenants",
1095
1105
  ReadUsers: "ReadUsers",
1096
1106
  SuperUser: "SuperUser",
1097
1107
  UploadArtifacts: "UploadArtifacts"
@@ -1130,6 +1140,7 @@ var uiPermissionsById = {
1130
1140
  permissionSets: {
1131
1141
  groups: permissionSetIds.ManageDevices,
1132
1142
  releases: permissionSetIds.ManageReleases,
1143
+ tenantManagement: permissionSetIds.ManageTenants,
1133
1144
  userManagement: permissionSetIds.ManageUsers
1134
1145
  },
1135
1146
  title: "Manage",
@@ -1143,6 +1154,7 @@ var uiPermissionsById = {
1143
1154
  auditlog: permissionSetIds.ReadAuditLogs,
1144
1155
  groups: permissionSetIds.ReadDevices,
1145
1156
  releases: permissionSetIds.ReadReleases,
1157
+ tenantManagement: permissionSetIds.ReadTenants,
1146
1158
  userManagement: permissionSetIds.ReadUsers
1147
1159
  },
1148
1160
  title: "Read",
@@ -1167,6 +1179,7 @@ var uiPermissionsByArea = {
1167
1179
  auditlog: {
1168
1180
  endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
1169
1181
  explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
1182
+ key: "auditlog",
1170
1183
  uiPermissions: [uiPermissionsById.read],
1171
1184
  title: "System audit log"
1172
1185
  },
@@ -1177,6 +1190,7 @@ var uiPermissionsByArea = {
1177
1190
  { path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
1178
1191
  ],
1179
1192
  explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
1193
+ key: "deployments",
1180
1194
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
1181
1195
  title: "Deployments"
1182
1196
  },
@@ -1192,6 +1206,7 @@ var uiPermissionsByArea = {
1192
1206
  { path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
1193
1207
  ],
1194
1208
  explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
1209
+ key: "groups",
1195
1210
  scope: scopedPermissionAreas.groups.scopeType,
1196
1211
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
1197
1212
  title: "Group Management"
@@ -1211,16 +1226,29 @@ var uiPermissionsByArea = {
1211
1226
  }
1212
1227
  ],
1213
1228
  explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
1229
+ key: "releases",
1214
1230
  scope: "ReleaseTags",
1215
1231
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
1216
1232
  title: "Release Management"
1217
1233
  },
1234
+ tenantManagement: {
1235
+ endpoints: [
1236
+ { path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
1237
+ { path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
1238
+ { path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
1239
+ ],
1240
+ explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
1241
+ key: "tenantManagement",
1242
+ uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
1243
+ title: "Tenant Management"
1244
+ },
1218
1245
  userManagement: {
1219
1246
  endpoints: [
1220
1247
  { path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
1221
1248
  { path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
1222
1249
  ],
1223
1250
  explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
1251
+ key: "userManagement",
1224
1252
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
1225
1253
  title: "User Management"
1226
1254
  }
@@ -1284,6 +1312,30 @@ var rolesById = Object.freeze({
1284
1312
  })
1285
1313
  }
1286
1314
  });
1315
+ var serviceProviderRolesById = {
1316
+ admin: {
1317
+ name: "Admin",
1318
+ value: staticRolesByName.admin,
1319
+ description: "Full access",
1320
+ permissions: [],
1321
+ uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
1322
+ auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
1323
+ userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
1324
+ tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
1325
+ })
1326
+ },
1327
+ readOnly: {
1328
+ name: "Read access",
1329
+ value: staticRolesByName.admin,
1330
+ description: "This role can see all linked organizations but cannot make any changes",
1331
+ permissions: [],
1332
+ uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
1333
+ auditlog: [uiPermissionsById.read.value],
1334
+ userManagement: [uiPermissionsById.read.value],
1335
+ tenantManagement: [uiPermissionsById.read.value]
1336
+ })
1337
+ }
1338
+ };
1287
1339
  var defaultPermissionSets = {
1288
1340
  [permissionSetIds.Basic]: {
1289
1341
  name: permissionSetIds.Basic,
@@ -1314,6 +1366,18 @@ var defaultPermissionSets = {
1314
1366
  releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
1315
1367
  }
1316
1368
  },
1369
+ [permissionSetIds.ReadTenants]: {
1370
+ name: permissionSetIds.ReadTenants,
1371
+ result: {
1372
+ tenantManagement: [uiPermissionsById.read.value]
1373
+ }
1374
+ },
1375
+ [permissionSetIds.ManageTenants]: {
1376
+ name: permissionSetIds.ManageTenants,
1377
+ result: {
1378
+ tenantManagement: [uiPermissionsById.manage.value]
1379
+ }
1380
+ },
1317
1381
  [permissionSetIds.ReadUsers]: {
1318
1382
  name: permissionSetIds.ReadUsers,
1319
1383
  result: {
@@ -1570,7 +1634,7 @@ var getExternalIntegrations = (state) => state.organization.externalDeviceIntegr
1570
1634
  var getAuditlogState = (state) => state.organization.auditlog.selectionState;
1571
1635
  var getAuditLog = (state) => state.organization.auditlog.events;
1572
1636
  var getAuditLogSelectionState = (state) => state.organization.auditlog.selectionState;
1573
- var getTenantsList = (state) => state.organization.organization.tenantList;
1637
+ var getTenantsList = (state) => state.organization.tenantList;
1574
1638
  var getWebhookEvents = (state) => state.organization.webhooks.events;
1575
1639
  var getWebhookEventTotal = (state) => state.organization.webhooks.eventTotal;
1576
1640
  var getDeviceTwinIntegrations = (0, import_toolkit4.createSelector)(
@@ -1979,6 +2043,22 @@ var getAuditlogDevice = (0, import_toolkit7.createSelector)([getAuditLogEntry, g
1979
2043
  }
1980
2044
  return __spreadValues(__spreadValues({}, auditlogDevice), devicesById[auditlogDevice.id]);
1981
2045
  });
2046
+ var getRelevantRoles = (0, import_toolkit7.createSelector)([getOrganization, getRolesList], ({ service_provider }, roles) => {
2047
+ if (service_provider) {
2048
+ return roles.reduce((accu, role) => {
2049
+ if (rolesById[role.id]) {
2050
+ return accu;
2051
+ }
2052
+ accu.push(role);
2053
+ return accu;
2054
+ }, Object.values(serviceProviderRolesById));
2055
+ }
2056
+ return Object.keys(rolesById).reverse().reduce((accu, key) => {
2057
+ const index = accu.findIndex(({ id }) => id === key);
2058
+ accu = [accu[index], ...accu.filter((item, itemIndex) => index !== itemIndex)];
2059
+ return accu;
2060
+ }, roles);
2061
+ });
1982
2062
 
1983
2063
  // src/api/general-api.ts
1984
2064
  var import_axios = __toESM(require("axios"));
@@ -2675,16 +2755,16 @@ var initialState6 = {
2675
2755
  brand: ""
2676
2756
  },
2677
2757
  intentId: null,
2758
+ tenantList: __spreadProps(__spreadValues({}, TENANT_LIST_DEFAULT), {
2759
+ total: 0,
2760
+ tenants: [],
2761
+ selectedTenant: null,
2762
+ sort: {
2763
+ direction: SORTING_OPTIONS.desc,
2764
+ key: "name"
2765
+ }
2766
+ }),
2678
2767
  organization: {
2679
- tenantList: __spreadProps(__spreadValues({}, TENANT_LIST_DEFAULT), {
2680
- total: 0,
2681
- tenants: [],
2682
- selectedTenant: null,
2683
- sort: {
2684
- direction: SORTING_OPTIONS.desc,
2685
- key: "name"
2686
- }
2687
- })
2688
2768
  // id, name, status, tenant_token, plan
2689
2769
  },
2690
2770
  auditlog: {
@@ -2730,12 +2810,10 @@ var organizationSlice = (0, import_toolkit14.createSlice)({
2730
2810
  state.intentId = action.payload;
2731
2811
  },
2732
2812
  setOrganization: (state, action) => {
2733
- state.organization = __spreadProps(__spreadValues(__spreadValues({}, state.organization), action.payload), {
2734
- tenantList: __spreadValues(__spreadValues({}, state.organization.tenantList), action.payload.tenantList)
2735
- });
2813
+ state.organization = __spreadValues(__spreadValues({}, state.organization), action.payload);
2736
2814
  },
2737
2815
  setTenantListState: (state, action) => {
2738
- state.organization.tenantList = action.payload;
2816
+ state.tenantList = action.payload;
2739
2817
  },
2740
2818
  receiveExternalDeviceIntegrations: (state, action) => {
2741
2819
  state.externalDeviceIntegrations = action.payload;
@@ -4458,7 +4536,7 @@ var tenantListRetrieval = (config) => __async(void 0, null, function* () {
4458
4536
  const params = new URLSearchParams({ page, per_page: perPage }).toString();
4459
4537
  const tenantList = yield general_api_default.get(`${tenantadmApiUrlv2}/tenants?${params}`);
4460
4538
  const totalCount = tenantList.headers[headerNames.total] || TENANT_LIST_DEFAULT.perPage;
4461
- return [tenantList.data, totalCount];
4539
+ return [tenantList.data, Number(totalCount)];
4462
4540
  });
4463
4541
  var getTenants = (0, import_toolkit21.createAsyncThunk)(`${sliceName6}/getTenants`, (_0, _1) => __async(void 0, [_0, _1], function* (_, { dispatch, getState }) {
4464
4542
  const currentState = getTenantsList(getState());