@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
@@ -0,0 +1,41 @@
1
+ import {
2
+ actions
3
+ } from "./chunk-3ORTTLIB.mjs";
4
+ import {
5
+ actions as actions6
6
+ } from "./chunk-R7LXL3KJ.mjs";
7
+ import {
8
+ actions as actions8
9
+ } from "./chunk-KZSTW27Q.mjs";
10
+ import {
11
+ actions as actions7
12
+ } from "./chunk-4SDUITD4.mjs";
13
+ import {
14
+ actions as actions4
15
+ } from "./chunk-ZE7R2XXE.mjs";
16
+ import {
17
+ actions as actions3
18
+ } from "./chunk-AZRVRNXT.mjs";
19
+ import {
20
+ actions as actions5
21
+ } from "./chunk-B42NUKMZ.mjs";
22
+ import {
23
+ actions as actions2
24
+ } from "./chunk-JA27QXVB.mjs";
25
+
26
+ // src/actions.ts
27
+ var actions_default = {
28
+ ...actions,
29
+ ...actions2,
30
+ ...actions3,
31
+ ...actions4,
32
+ ...actions5,
33
+ ...actions6,
34
+ ...actions7,
35
+ ...actions8
36
+ };
37
+
38
+ export {
39
+ actions_default
40
+ };
41
+ //# sourceMappingURL=chunk-H5UCKQWK.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/actions.ts"],"sourcesContent":["// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { actions as appActions } from './appSlice';\nimport { actions as deploymentActions } from './deploymentsSlice';\nimport { actions as devicesActions } from './devicesSlice';\nimport { actions as monitorActions } from './monitorSlice';\nimport { actions as onboardingActions } from './onboardingSlice';\nimport { actions as organizationActions } from './organizationSlice';\nimport { actions as releaseActions } from './releasesSlice';\nimport { actions as userActions } from './usersSlice';\n\nexport default {\n ...appActions,\n ...deploymentActions,\n ...devicesActions,\n ...monitorActions,\n ...onboardingActions,\n ...organizationActions,\n ...releaseActions,\n ...userActions\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAO,kBAAQ,4HACV,UACAA,WACAA,WACAA,WACAA,WACAA,WACAA,WACAA;","names":["actions"]}
1
+ {"version":3,"sources":["../src/actions.ts"],"sourcesContent":["// Copyright 2024 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { actions as appActions } from './appSlice';\nimport { actions as deploymentActions } from './deploymentsSlice';\nimport { actions as devicesActions } from './devicesSlice';\nimport { actions as monitorActions } from './monitorSlice';\nimport { actions as onboardingActions } from './onboardingSlice';\nimport { actions as organizationActions } from './organizationSlice';\nimport { actions as releaseActions } from './releasesSlice';\nimport { actions as userActions } from './usersSlice';\n\nexport default {\n ...appActions,\n ...deploymentActions,\n ...devicesActions,\n ...monitorActions,\n ...onboardingActions,\n ...organizationActions,\n ...releaseActions,\n ...userActions\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAO,kBAAQ;AAAA,EACb,GAAG;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AAAA,EACH,GAAGA;AACL;","names":["actions"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  apiUrl
3
- } from "./chunk-BOSBROA3.mjs";
3
+ } from "./chunk-5VNQCCAQ.mjs";
4
4
  import {
5
5
  ALL_DEVICES,
6
6
  ALL_RELEASES,
@@ -9,11 +9,7 @@ import {
9
9
  EXTERNAL_PROVIDER,
10
10
  SORTING_OPTIONS,
11
11
  emptyUiPermissions
12
- } from "./chunk-G3I53JGW.mjs";
13
- import {
14
- __spreadProps,
15
- __spreadValues
16
- } from "./chunk-XWBD7VOK.mjs";
12
+ } from "./chunk-QQBUNZHA.mjs";
17
13
 
18
14
  // src/devicesSlice/constants.ts
19
15
  var emptyFilter = { key: null, value: "", operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: "inventory" };
@@ -96,6 +92,7 @@ var AUDIT_LOGS_TYPES = [
96
92
  { title: "Device", queryParameter: "object_id", value: "device" },
97
93
  { title: "User", queryParameter: "object_id", value: "user" }
98
94
  ];
95
+ var SP_AUDIT_LOGS_TYPES = [AUDIT_LOGS_TYPES[3], { title: "Tenant", queryParameter: "object_id", value: "tenant" }];
99
96
  var emptyWebhook = {
100
97
  description: "",
101
98
  enabled: true,
@@ -139,10 +136,12 @@ var permissionSetIds = {
139
136
  DeployToDevices: "DeployToDevices",
140
137
  ManageDevices: "ManageDevices",
141
138
  ManageReleases: "ManageReleases",
139
+ ManageTenants: "ManageTenants",
142
140
  ManageUsers: "ManageUsers",
143
141
  ReadAuditLogs: "ReadAuditLogs",
144
142
  ReadDevices: "ReadDevices",
145
143
  ReadReleases: "ReadReleases",
144
+ ReadTenants: "ReadTenants",
146
145
  ReadUsers: "ReadUsers",
147
146
  SuperUser: "SuperUser",
148
147
  UploadArtifacts: "UploadArtifacts"
@@ -181,6 +180,7 @@ var uiPermissionsById = {
181
180
  permissionSets: {
182
181
  groups: permissionSetIds.ManageDevices,
183
182
  releases: permissionSetIds.ManageReleases,
183
+ tenantManagement: permissionSetIds.ManageTenants,
184
184
  userManagement: permissionSetIds.ManageUsers
185
185
  },
186
186
  title: "Manage",
@@ -194,6 +194,7 @@ var uiPermissionsById = {
194
194
  auditlog: permissionSetIds.ReadAuditLogs,
195
195
  groups: permissionSetIds.ReadDevices,
196
196
  releases: permissionSetIds.ReadReleases,
197
+ tenantManagement: permissionSetIds.ReadTenants,
197
198
  userManagement: permissionSetIds.ReadUsers
198
199
  },
199
200
  title: "Read",
@@ -218,6 +219,7 @@ var uiPermissionsByArea = {
218
219
  auditlog: {
219
220
  endpoints: [{ path: /\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],
220
221
  explanation: "Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.",
222
+ key: "auditlog",
221
223
  uiPermissions: [uiPermissionsById.read],
222
224
  title: "System audit log"
223
225
  },
@@ -228,6 +230,7 @@ var uiPermissionsByArea = {
228
230
  { path: /\/(deployments\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }
229
231
  ],
230
232
  explanation: "Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.",
233
+ key: "deployments",
231
234
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],
232
235
  title: "Deployments"
233
236
  },
@@ -243,6 +246,7 @@ var uiPermissionsByArea = {
243
246
  { path: /\/(deviceconnect\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }
244
247
  ],
245
248
  explanation: "Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.",
249
+ key: "groups",
246
250
  scope: scopedPermissionAreas.groups.scopeType,
247
251
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],
248
252
  title: "Group Management"
@@ -262,27 +266,37 @@ var uiPermissionsByArea = {
262
266
  }
263
267
  ],
264
268
  explanation: "Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.",
269
+ key: "releases",
265
270
  scope: "ReleaseTags",
266
271
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],
267
272
  title: "Release Management"
268
273
  },
274
+ tenantManagement: {
275
+ endpoints: [
276
+ { path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
277
+ { path: /\/(tenantadm\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },
278
+ { path: /\/(users\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }
279
+ ],
280
+ explanation: "Tenant management permissions allow listing, creating and modifying child tenants",
281
+ key: "tenantManagement",
282
+ uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
283
+ title: "Tenant Management"
284
+ },
269
285
  userManagement: {
270
286
  endpoints: [
271
287
  { path: /\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },
272
288
  { path: /\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }
273
289
  ],
274
290
  explanation: "User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions",
291
+ key: "userManagement",
275
292
  uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],
276
293
  title: "User Management"
277
294
  }
278
295
  };
279
296
  var permissionMapper = (permission) => permission.value;
280
- var itemUiPermissionsReducer = (accu, { item, uiPermissions }) => item ? __spreadProps(__spreadValues({}, accu), { [item]: uiPermissions }) : accu;
297
+ var itemUiPermissionsReducer = (accu, { item, uiPermissions }) => item ? { ...accu, [item]: uiPermissions } : accu;
281
298
  var checkSinglePermission = (permission, requiredPermission) => requiredPermission === permission || uiPermissionsById[permission].permissionLevel > uiPermissionsById[requiredPermission].permissionLevel;
282
- var checkPermissionsObject = (permissions, requiredPermission, scopedAccess, superAccess) => {
283
- var _a, _b;
284
- return ((_a = permissions[superAccess]) == null ? void 0 : _a.some((permission) => checkSinglePermission(permission, requiredPermission))) || ((_b = permissions[scopedAccess]) == null ? void 0 : _b.some((permission) => checkSinglePermission(permission, requiredPermission)));
285
- };
299
+ var checkPermissionsObject = (permissions, requiredPermission, scopedAccess, superAccess) => permissions[superAccess]?.some((permission) => checkSinglePermission(permission, requiredPermission)) || permissions[scopedAccess]?.some((permission) => checkSinglePermission(permission, requiredPermission));
286
300
  var rolesById = Object.freeze({
287
301
  [staticRolesByName.admin]: {
288
302
  name: "Admin",
@@ -290,56 +304,87 @@ var rolesById = Object.freeze({
290
304
  description: "Full access",
291
305
  permissions: [],
292
306
  // permissions refers to the values returned from the backend
293
- uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
307
+ uiPermissions: {
308
+ ...emptyUiPermissions,
294
309
  auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
295
310
  deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
296
311
  groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },
297
312
  releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },
298
313
  userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)
299
- })
314
+ }
300
315
  },
301
316
  [staticRolesByName.readOnly]: {
302
317
  name: "Read Access",
303
318
  value: staticRolesByName.readOnly,
304
319
  description: "",
305
320
  permissions: [],
306
- uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
321
+ uiPermissions: {
322
+ ...emptyUiPermissions,
307
323
  deployments: [uiPermissionsById.read.value],
308
324
  groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },
309
325
  releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },
310
326
  userManagement: [uiPermissionsById.read.value]
311
- })
327
+ }
312
328
  },
313
329
  [staticRolesByName.ci]: {
314
330
  name: "Releases Manager",
315
331
  value: staticRolesByName.ci,
316
332
  description: "",
317
333
  permissions: [],
318
- uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
334
+ uiPermissions: {
335
+ ...emptyUiPermissions,
319
336
  releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }
320
- })
337
+ }
321
338
  },
322
339
  [staticRolesByName.deploymentsManager]: {
323
340
  name: "Deployments Manager",
324
341
  value: staticRolesByName.deploymentsManager,
325
342
  description: "",
326
343
  permissions: [],
327
- uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
344
+ uiPermissions: {
345
+ ...emptyUiPermissions,
328
346
  deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),
329
347
  groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },
330
348
  releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
331
- })
349
+ }
332
350
  },
333
351
  [staticRolesByName.terminalAccess]: {
334
352
  name: "Troubleshooting",
335
353
  value: staticRolesByName.terminalAccess,
336
354
  description: "Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding",
337
355
  permissions: [],
338
- uiPermissions: __spreadProps(__spreadValues({}, emptyUiPermissions), {
356
+ uiPermissions: {
357
+ ...emptyUiPermissions,
339
358
  groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }
340
- })
359
+ }
341
360
  }
342
361
  });
362
+ var serviceProviderRolesById = {
363
+ admin: {
364
+ name: "Admin",
365
+ value: staticRolesByName.admin,
366
+ description: "Full access",
367
+ permissions: [],
368
+ uiPermissions: {
369
+ ...emptyUiPermissions,
370
+ auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),
371
+ userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),
372
+ tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)
373
+ }
374
+ },
375
+ readOnly: {
376
+ name: "Read access",
377
+ value: staticRolesByName.admin,
378
+ description: "This role can see all linked organizations but cannot make any changes",
379
+ permissions: [],
380
+ uiPermissions: {
381
+ ...emptyUiPermissions,
382
+ auditlog: [uiPermissionsById.read.value],
383
+ userManagement: [uiPermissionsById.read.value],
384
+ tenantManagement: [uiPermissionsById.read.value]
385
+ }
386
+ }
387
+ };
343
388
  var defaultPermissionSets = {
344
389
  [permissionSetIds.Basic]: {
345
390
  name: permissionSetIds.Basic,
@@ -350,7 +395,9 @@ var defaultPermissionSets = {
350
395
  },
351
396
  [permissionSetIds.SuperUser]: {
352
397
  name: permissionSetIds.SuperUser,
353
- result: __spreadValues({}, rolesById[staticRolesByName.admin].uiPermissions)
398
+ result: {
399
+ ...rolesById[staticRolesByName.admin].uiPermissions
400
+ }
354
401
  },
355
402
  [permissionSetIds.ManageUsers]: {
356
403
  name: permissionSetIds.ManageUsers,
@@ -370,6 +417,18 @@ var defaultPermissionSets = {
370
417
  releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }
371
418
  }
372
419
  },
420
+ [permissionSetIds.ReadTenants]: {
421
+ name: permissionSetIds.ReadTenants,
422
+ result: {
423
+ tenantManagement: [uiPermissionsById.read.value]
424
+ }
425
+ },
426
+ [permissionSetIds.ManageTenants]: {
427
+ name: permissionSetIds.ManageTenants,
428
+ result: {
429
+ tenantManagement: [uiPermissionsById.manage.value]
430
+ }
431
+ },
373
432
  [permissionSetIds.ReadUsers]: {
374
433
  name: permissionSetIds.ReadUsers,
375
434
  result: {
@@ -423,11 +482,12 @@ var defaultPermissionSets = {
423
482
  };
424
483
  var USER_LOGOUT = "USER_LOGOUT";
425
484
  var OWN_USER_ID = "me";
426
- var rolesByName = __spreadProps(__spreadValues({}, staticRolesByName), {
485
+ var rolesByName = {
486
+ ...staticRolesByName,
427
487
  deploymentCreation: { action: "CREATE_DEPLOYMENT", object: { type: "DEVICE_GROUP", value: void 0 } },
428
488
  groupAccess: { action: "VIEW_DEVICE", object: { type: "DEVICE_GROUP", value: void 0 } },
429
489
  userManagement: { action: "http", object: { type: "any", value: `${useradmApiUrlv1}/.*` } }
430
- });
490
+ };
431
491
  var twoFAStates = {
432
492
  enabled: "enabled",
433
493
  disabled: "disabled",
@@ -466,11 +526,12 @@ var deploymentStatesToSubstates = {
466
526
  pending: [deploymentSubstates.pending],
467
527
  successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]
468
528
  };
469
- var deploymentStatesToSubstatesWithSkipped = __spreadProps(__spreadValues({}, deploymentStatesToSubstates), {
529
+ var deploymentStatesToSubstatesWithSkipped = {
530
+ ...deploymentStatesToSubstates,
470
531
  failures: [deploymentSubstates.failure],
471
532
  skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],
472
533
  successes: [deploymentSubstates.success]
473
- });
534
+ };
474
535
  var installationSubstatesMap = {
475
536
  download: {
476
537
  title: "download",
@@ -515,8 +576,8 @@ var DEPLOYMENT_STATES = {
515
576
  var listDefaultsByState = {
516
577
  [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },
517
578
  [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },
518
- [DEPLOYMENT_STATES.scheduled]: __spreadValues({}, DEVICE_LIST_DEFAULTS),
519
- [DEPLOYMENT_STATES.finished]: __spreadValues({}, DEVICE_LIST_DEFAULTS),
579
+ [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },
580
+ [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },
520
581
  sort: { direction: SORTING_OPTIONS.desc }
521
582
  };
522
583
  var DEFAULT_PENDING_INPROGRESS_COUNT = 10;
@@ -636,6 +697,7 @@ export {
636
697
  getOidcStartUrl,
637
698
  SSO_TYPES,
638
699
  AUDIT_LOGS_TYPES,
700
+ SP_AUDIT_LOGS_TYPES,
639
701
  emptyWebhook,
640
702
  TENANT_LIST_DEFAULT,
641
703
  useradmApiUrlv1,
@@ -647,6 +709,7 @@ export {
647
709
  itemUiPermissionsReducer,
648
710
  checkPermissionsObject,
649
711
  rolesById,
712
+ serviceProviderRolesById,
650
713
  defaultPermissionSets,
651
714
  USER_LOGOUT,
652
715
  OWN_USER_ID,
@@ -655,4 +718,4 @@ export {
655
718
  settingsKeys,
656
719
  READ_STATES
657
720
  };
658
- //# sourceMappingURL=chunk-ZNST5R6O.mjs.map
721
+ //# sourceMappingURL=chunk-IFWKT27G.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/devicesSlice/constants.ts","../src/monitorSlice/constants.ts","../src/organizationSlice/constants.ts","../src/usersSlice/constants.ts","../src/deploymentsSlice/constants.ts"],"sourcesContent":["// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { DEVICE_FILTERING_OPTIONS, apiUrl } from '@northern.tech/store/constants';\n\nexport const emptyFilter = { key: null, value: '', operator: DEVICE_FILTERING_OPTIONS.$eq.key, scope: 'inventory' };\n\nexport const deviceAuthV2 = `${apiUrl.v2}/devauth`;\nexport const deviceConnect = `${apiUrl.v1}/deviceconnect`;\nexport const inventoryApiUrl = `${apiUrl.v1}/inventory`;\nexport const inventoryApiUrlV2 = `${apiUrl.v2}/inventory`;\nexport const deviceConfig = `${apiUrl.v1}/deviceconfig/configurations/device`;\nexport const reportingApiUrl = `${apiUrl.v1}/reporting`;\nexport const iotManagerBaseURL = `${apiUrl.v1}/iot-manager`;\n\n// see https://github.com/mendersoftware/go-lib-micro/tree/master/ws\n// for the description of proto_header and the consts\n// *Note*: this needs to be aligned with mender-connect and deviceconnect.\nexport const DEVICE_MESSAGE_PROTOCOLS = {\n Shell: 1\n};\nexport const DEVICE_MESSAGE_TYPES = {\n Delay: 'delay',\n New: 'new',\n Ping: 'ping',\n Pong: 'pong',\n Resize: 'resize',\n Shell: 'shell',\n Stop: 'stop'\n};\n\n// we can't include the dismiss state with the rest since this would include dismissed devices in several queries\nexport const DEVICE_DISMISSAL_STATE = 'dismiss';\nexport const ALL_DEVICE_STATES = 'any';\nexport const DEVICE_STATES = {\n accepted: 'accepted',\n pending: 'pending',\n preauth: 'preauthorized',\n rejected: 'rejected'\n};\nexport const DEVICE_CONNECT_STATES = {\n connected: 'connected',\n disconnected: 'disconnected',\n unknown: 'unknown'\n};\n\nexport const geoAttributes = ['geo-lat', 'geo-lon'].map(attribute => ({ attribute, scope: 'inventory' }));\n","// Copyright 2021 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\nimport { apiUrl } from '@northern.tech/store/constants';\n\n// limitations under the License.\nexport const alertChannels = { email: 'email' };\nexport const monitorApiUrlv1 = `${apiUrl.v1}/devicemonitor`;\n","// Copyright 2020 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport { Integration } from '@northern.tech/store/api/types/MenderTypes';\nimport { EXTERNAL_PROVIDER, apiUrl, useradmApiUrl } from '@northern.tech/store/constants';\n\nexport const auditLogsApiUrl = `${apiUrl.v1}/auditlogs`;\nexport const tenantadmApiUrlv1 = `${apiUrl.v1}/tenantadm`;\nexport const tenantadmApiUrlv2 = `${apiUrl.v2}/tenantadm`;\nexport const ssoIdpApiUrlv1 = `${apiUrl.v1}/useradm/sso/idp/metadata`;\n\nexport const XML_METADATA_FORMAT = 'xml';\nexport const JSON_METADATA_FORMAT = 'json';\n\nexport const getSamlStartUrl = id => `${window.location.origin}${useradmApiUrl}/auth/sso/${id}/login`;\nexport const getOidcStartUrl = id => `${window.location.origin}${useradmApiUrl}/oidc/${id}/start`;\n\nexport const SSO_TYPES = {\n saml: {\n id: 'saml',\n type: 'saml',\n title: 'SAML',\n metadataFormat: XML_METADATA_FORMAT,\n editorLanguage: XML_METADATA_FORMAT,\n contentType: 'application/samlmetadata+xml',\n getStartUrl: getSamlStartUrl,\n configDetails: [\n { key: 'entityID', label: 'Entity ID', getValue: id => `${window.location.origin}${useradmApiUrl}/sso/sp/metadata/${id}` },\n { key: 'acs', label: 'ACS URL', getValue: id => `${window.location.origin}${useradmApiUrl}/auth/sso/${id}/acs` },\n { key: 'startURL', label: 'Start URL', getValue: getSamlStartUrl }\n ]\n },\n oidc: {\n id: 'oidc',\n type: 'oidc',\n title: 'OpenID Connect',\n metadataFormat: JSON_METADATA_FORMAT,\n editorLanguage: JSON_METADATA_FORMAT,\n contentType: 'application/json',\n getStartUrl: getOidcStartUrl,\n configDetails: [{ key: 'startURL', label: 'Start Url', getValue: getOidcStartUrl }]\n }\n};\n\nexport const AUDIT_LOGS_TYPES = [\n { title: 'Artifact', queryParameter: 'object_type', value: 'artifact' },\n { title: 'Deployment', queryParameter: 'object_deployment_name', value: 'deployment' },\n { title: 'Device', queryParameter: 'object_id', value: 'device' },\n { title: 'User', queryParameter: 'object_id', value: 'user' }\n];\nexport const SP_AUDIT_LOGS_TYPES = [AUDIT_LOGS_TYPES[3], { title: 'Tenant', queryParameter: 'object_id', value: 'tenant' }];\n\nexport interface Webhook extends Integration {\n provider: Integration.provider.WEBHOOK;\n scopes?: string[];\n}\n\nexport const emptyWebhook: Webhook = {\n description: '',\n enabled: true,\n credentials: {\n type: EXTERNAL_PROVIDER.webhook.credentialsType,\n [EXTERNAL_PROVIDER.webhook.credentialsType]: {\n secret: '',\n url: ''\n }\n }\n};\nexport const TENANT_LIST_DEFAULT = {\n page: 1,\n perPage: 20\n};\n","'use strict';\n\n// Copyright 2015 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { ALL_DEVICES, ALL_RELEASES, apiUrl, emptyUiPermissions } from '@northern.tech/store/constants';\n\nexport const useradmApiUrlv1 = `${apiUrl.v1}/useradm`;\nexport const useradmApiUrlv2 = `${apiUrl.v2}/useradm`;\nexport { useradmApiUrlv1 as useradmApiUrl };\n\nexport type UiPermission = {\n explanations: object;\n permissionSets: Record<string, string>;\n permissionLevel: number;\n title: string;\n value: string;\n verbs: string[];\n};\n\ntype ExcessiveAccessConfig = {\n selector: string;\n warning: string;\n};\n\ntype EndpointDefinition = {\n path: RegExp;\n types: string[];\n uiPermissions: UiPermission[];\n};\n\nexport type PermissionsArea = {\n endpoints: EndpointDefinition[];\n explanation: string;\n uiPermissions: UiPermission[];\n title: string;\n key: string;\n scope?: string;\n filter?: (object) => string[];\n placeholder?: string;\n excessiveAccessConfig?: ExcessiveAccessConfig;\n};\n\nconst staticRolesByName = {\n admin: 'RBAC_ROLE_PERMIT_ALL',\n readOnly: 'RBAC_ROLE_OBSERVER',\n ci: 'RBAC_ROLE_CI',\n deploymentsManager: 'RBAC_ROLE_DEPLOYMENTS_MANAGER',\n terminalAccess: 'RBAC_ROLE_REMOTE_TERMINAL'\n};\n\nexport const PermissionTypes = {\n Any: 'any',\n Get: 'GET',\n Post: 'POST',\n Put: 'PUT',\n Delete: 'DELETE',\n Patch: 'PATCH',\n DeviceGroup: 'DEVICE_GROUP',\n DeviceId: 'DEVICE_ID'\n};\n\nconst permissionSetIds = {\n Basic: 'Basic',\n ConfigureDevices: 'ConfigureDevices',\n ConnectToDevices: 'ConnectToDevices',\n DeployToDevices: 'DeployToDevices',\n ManageDevices: 'ManageDevices',\n ManageReleases: 'ManageReleases',\n ManageTenants: 'ManageTenants',\n ManageUsers: 'ManageUsers',\n ReadAuditLogs: 'ReadAuditLogs',\n ReadDevices: 'ReadDevices',\n ReadReleases: 'ReadReleases',\n ReadTenants: 'ReadTenants',\n ReadUsers: 'ReadUsers',\n SuperUser: 'SuperUser',\n UploadArtifacts: 'UploadArtifacts'\n};\n\nexport const uiPermissionsById = {\n configure: {\n explanations: { groups: `'Configure' allows the user to use mender-configure features and apply configurations.` },\n permissionLevel: 2,\n permissionSets: { groups: permissionSetIds.ConfigureDevices },\n title: 'Configure',\n value: 'configure',\n verbs: [PermissionTypes.Get, PermissionTypes.Put, PermissionTypes.Post]\n },\n connect: {\n explanations: { groups: `'Connect' allows the user to use mender-connect features and Troubleshoot add-ons.` },\n permissionLevel: 2,\n permissionSets: { groups: permissionSetIds.ConnectToDevices },\n title: 'Connect',\n value: 'connect',\n verbs: [PermissionTypes.Get, PermissionTypes.Put]\n },\n deploy: {\n explanations: { groups: `'Deploy' allows the user to deploy software or configuration updates to devices.` },\n permissionLevel: 2,\n permissionSets: { deployments: permissionSetIds.DeployToDevices, groups: permissionSetIds.DeployToDevices },\n title: 'Deploy',\n value: 'deploy',\n verbs: [PermissionTypes.Post]\n },\n manage: {\n explanations: {\n groups: `'Manage' allows the user to edit device name, notes, and manage authentication status. For 'All devices' it also allows the user to edit and create device groups.`,\n releases: `'Manage' allows the user to upload new artifacts, edit release descriptions and remove artifacts.`\n },\n permissionLevel: 2,\n permissionSets: {\n groups: permissionSetIds.ManageDevices,\n releases: permissionSetIds.ManageReleases,\n tenantManagement: permissionSetIds.ManageTenants,\n userManagement: permissionSetIds.ManageUsers\n },\n title: 'Manage',\n value: 'manage',\n verbs: [PermissionTypes.Post, PermissionTypes.Put, PermissionTypes.Patch]\n },\n read: {\n explanations: { groups: `'Read' allows the user to view devices.` },\n permissionLevel: 1,\n permissionSets: {\n auditlog: permissionSetIds.ReadAuditLogs,\n groups: permissionSetIds.ReadDevices,\n releases: permissionSetIds.ReadReleases,\n tenantManagement: permissionSetIds.ReadTenants,\n userManagement: permissionSetIds.ReadUsers\n },\n title: 'Read',\n value: 'read',\n verbs: [PermissionTypes.Get, PermissionTypes.Post]\n },\n upload: {\n explanations: { groups: `'Upload' allows the user to upload new Artifacts.` },\n unscopedOnly: { releases: true },\n permissionLevel: 1,\n permissionSets: { releases: permissionSetIds.UploadArtifacts },\n title: 'Upload',\n value: 'upload',\n verbs: [PermissionTypes.Post, PermissionTypes.Put, PermissionTypes.Patch]\n }\n};\n\n/**\n * _uiPermissions_ represent the possible permissions/ rights that can be given for the area\n * _endpoints_ represent the possible endpoints this definition might be affecting in the UI and what\n * functionality might be affected\n *\n */\nexport const scopedPermissionAreas = {\n groups: { key: 'groups', excessiveAccessSelector: ALL_DEVICES, scopeType: 'DeviceGroups' },\n releases: { key: 'releases', excessiveAccessSelector: ALL_RELEASES, scopeType: 'Releases' }\n};\n\nexport const uiPermissionsByArea = {\n auditlog: {\n endpoints: [{ path: /\\/(auditlog)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] }],\n explanation:\n 'Granting access to the audit log will allow tracing changes to devices, releases and user accounts, as well as providing information about deployments.',\n key: 'auditlog',\n uiPermissions: [uiPermissionsById.read],\n title: 'System audit log'\n },\n deployments: {\n endpoints: [\n { path: /\\/(deployments\\/deployments)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.deploy] },\n { path: /\\/(deployments\\/deployments)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },\n { path: /\\/(deployments\\/config)/i, types: [PermissionTypes.Get, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] }\n ],\n explanation: 'Providing deploy permissions will allow deployments to be created using the releases and devices a user has access to.',\n key: 'deployments',\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.deploy],\n title: 'Deployments'\n },\n groups: {\n endpoints: [\n {\n path: /\\/(devauth|inventory|deviceconfig|devicemonitor|deviceconnect\\/devices)/i,\n types: [PermissionTypes.Get],\n uiPermissions: [uiPermissionsById.read]\n },\n { path: /\\/(devauth|inventory)/i, types: [PermissionTypes.Put, PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] },\n { path: /\\/(deviceconfig)/i, types: [PermissionTypes.Get, PermissionTypes.Put, PermissionTypes.Post], uiPermissions: [uiPermissionsById.configure] },\n { path: /\\/(deviceconnect\\/devices)/i, types: [PermissionTypes.Get, PermissionTypes.Post], uiPermissions: [uiPermissionsById.connect] }\n ],\n explanation: 'Device group management permissions control the degree to which devices in a group can be accessed and moved to other groups.',\n key: 'groups',\n scope: scopedPermissionAreas.groups.scopeType,\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.deploy, uiPermissionsById.configure, uiPermissionsById.connect],\n title: 'Group Management'\n },\n releases: {\n endpoints: [\n { path: /\\/(deployments\\/artifacts|deployments\\/deployments\\/releases)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },\n {\n path: /\\/(deployments\\/artifacts|deployments\\/deployments\\/releases)/i,\n types: [PermissionTypes.Post, PermissionTypes.Put],\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.upload]\n },\n {\n path: /\\/(deployments\\/artifacts|deployments\\/deployments\\/releases)/i,\n types: [PermissionTypes.Delete],\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage]\n }\n ],\n explanation: 'Release permissions can be granted to allow artifact & release modifications, as well as the creation of new releases.',\n key: 'releases',\n scope: 'ReleaseTags',\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage, uiPermissionsById.upload],\n title: 'Release Management'\n },\n tenantManagement: {\n endpoints: [\n { path: /\\/(tenantadm\\/tenants)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },\n { path: /\\/(tenantadm\\/tenants)/i, types: [PermissionTypes.Post, PermissionTypes.Put], uiPermissions: [uiPermissionsById.manage] },\n { path: /\\/(users\\/exists)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.manage] }\n ],\n explanation: 'Tenant management permissions allow listing, creating and modifying child tenants',\n key: 'tenantManagement',\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],\n title: 'Tenant Management'\n },\n userManagement: {\n endpoints: [\n { path: /\\/(useradm)/i, types: [PermissionTypes.Get], uiPermissions: [uiPermissionsById.read] },\n { path: /\\/(useradm)/i, types: [PermissionTypes.Post], uiPermissions: [uiPermissionsById.manage] }\n ],\n explanation:\n 'User management permissions should be granted carefully, as these allow privilege increases for any users managed by a user with user management permissions',\n key: 'userManagement',\n uiPermissions: [uiPermissionsById.read, uiPermissionsById.manage],\n title: 'User Management'\n }\n};\n\nconst permissionMapper = permission => permission.value;\nexport const itemUiPermissionsReducer = (accu, { item, uiPermissions }) => (item ? { ...accu, [item]: uiPermissions } : accu);\n\nconst checkSinglePermission = (permission, requiredPermission) =>\n requiredPermission === permission || uiPermissionsById[permission].permissionLevel > uiPermissionsById[requiredPermission].permissionLevel;\n\nexport const checkPermissionsObject = (permissions, requiredPermission, scopedAccess, superAccess) =>\n permissions[superAccess]?.some(permission => checkSinglePermission(permission, requiredPermission)) ||\n permissions[scopedAccess]?.some(permission => checkSinglePermission(permission, requiredPermission));\n\nexport const rolesById = Object.freeze({\n [staticRolesByName.admin]: {\n name: 'Admin',\n value: staticRolesByName.admin,\n description: 'Full access',\n permissions: [], // permissions refers to the values returned from the backend\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),\n deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),\n groups: { [ALL_DEVICES]: uiPermissionsByArea.groups.uiPermissions.map(permissionMapper) },\n releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) },\n userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper)\n }\n },\n [staticRolesByName.readOnly]: {\n name: 'Read Access',\n value: staticRolesByName.readOnly,\n description: '',\n permissions: [],\n uiPermissions: {\n ...emptyUiPermissions,\n deployments: [uiPermissionsById.read.value],\n groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] },\n releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] },\n userManagement: [uiPermissionsById.read.value]\n }\n },\n [staticRolesByName.ci]: {\n name: 'Releases Manager',\n value: staticRolesByName.ci,\n description: '',\n permissions: [],\n uiPermissions: {\n ...emptyUiPermissions,\n releases: { [ALL_RELEASES]: uiPermissionsByArea.releases.uiPermissions.map(permissionMapper) }\n }\n },\n [staticRolesByName.deploymentsManager]: {\n name: 'Deployments Manager',\n value: staticRolesByName.deploymentsManager,\n description: '',\n permissions: [],\n uiPermissions: {\n ...emptyUiPermissions,\n deployments: uiPermissionsByArea.deployments.uiPermissions.map(permissionMapper),\n groups: { [ALL_DEVICES]: [uiPermissionsById.deploy.value, uiPermissionsById.read.value] },\n releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }\n }\n },\n [staticRolesByName.terminalAccess]: {\n name: 'Troubleshooting',\n value: staticRolesByName.terminalAccess,\n description: 'Access to the troubleshooting features: Remote Terminal, File Transfer, Port Forwarding',\n permissions: [],\n uiPermissions: {\n ...emptyUiPermissions,\n groups: { [ALL_DEVICES]: [uiPermissionsById.connect.value] }\n }\n }\n});\n\nexport const serviceProviderRolesById = {\n admin: {\n name: 'Admin',\n value: staticRolesByName.admin,\n description: 'Full access',\n permissions: [],\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: uiPermissionsByArea.auditlog.uiPermissions.map(permissionMapper),\n userManagement: uiPermissionsByArea.userManagement.uiPermissions.map(permissionMapper),\n tenantManagement: uiPermissionsByArea.tenantManagement.uiPermissions.map(permissionMapper)\n }\n },\n readOnly: {\n name: 'Read access',\n value: staticRolesByName.admin,\n description: 'This role can see all linked organizations but cannot make any changes',\n permissions: [],\n uiPermissions: {\n ...emptyUiPermissions,\n auditlog: [uiPermissionsById.read.value],\n userManagement: [uiPermissionsById.read.value],\n tenantManagement: [uiPermissionsById.read.value]\n }\n }\n};\n\nexport const defaultPermissionSets = {\n [permissionSetIds.Basic]: {\n name: permissionSetIds.Basic,\n result: {\n // this is needed to prevent the detailed permissions of the basic permission set from being interpreted as allowing read & management access to user endpoints\n userManagement: [uiPermissionsById.read.value]\n }\n },\n [permissionSetIds.SuperUser]: {\n name: permissionSetIds.SuperUser,\n result: {\n ...rolesById[staticRolesByName.admin].uiPermissions\n }\n },\n [permissionSetIds.ManageUsers]: {\n name: permissionSetIds.ManageUsers,\n result: {\n userManagement: [uiPermissionsById.manage.value]\n }\n },\n [permissionSetIds.ReadAuditLogs]: {\n name: permissionSetIds.ReadAuditLogs,\n result: {\n auditlog: [uiPermissionsById.read.value]\n }\n },\n [permissionSetIds.ReadReleases]: {\n name: permissionSetIds.ReadReleases,\n result: {\n releases: { [ALL_RELEASES]: [uiPermissionsById.read.value] }\n }\n },\n [permissionSetIds.ReadTenants]: {\n name: permissionSetIds.ReadTenants,\n result: {\n tenantManagement: [uiPermissionsById.read.value]\n }\n },\n [permissionSetIds.ManageTenants]: {\n name: permissionSetIds.ManageTenants,\n result: {\n tenantManagement: [uiPermissionsById.manage.value]\n }\n },\n [permissionSetIds.ReadUsers]: {\n name: permissionSetIds.ReadUsers,\n result: {\n userManagement: [uiPermissionsById.read.value]\n }\n },\n [permissionSetIds.UploadArtifacts]: {\n name: permissionSetIds.UploadArtifacts,\n result: {\n releases: { [ALL_RELEASES]: [uiPermissionsById.upload.value] }\n }\n },\n [permissionSetIds.ManageReleases]: {\n name: permissionSetIds.ManageReleases,\n result: {\n releases: { [ALL_RELEASES]: [uiPermissionsById.manage.value] }\n }\n },\n [permissionSetIds.ConfigureDevices]: {\n name: permissionSetIds.ConfigureDevices,\n result: {\n deployments: [uiPermissionsById.read.value, uiPermissionsById.deploy.value],\n groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.configure.value] }\n }\n },\n [permissionSetIds.ConnectToDevices]: {\n name: permissionSetIds.ConnectToDevices,\n result: {\n groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.connect.value] }\n }\n },\n [permissionSetIds.DeployToDevices]: {\n name: permissionSetIds.DeployToDevices,\n result: {\n deployments: [uiPermissionsById.deploy.value, uiPermissionsById.manage.value, uiPermissionsById.read.value],\n groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.deploy.value] }\n }\n },\n [permissionSetIds.ManageDevices]: {\n name: permissionSetIds.ManageDevices,\n result: {\n groups: { [ALL_DEVICES]: [uiPermissionsById.read.value, uiPermissionsById.manage.value] }\n }\n },\n [permissionSetIds.ReadDevices]: {\n name: permissionSetIds.ReadDevices,\n result: {\n groups: { [ALL_DEVICES]: [uiPermissionsById.read.value] }\n }\n }\n};\n\nexport const USER_LOGOUT = 'USER_LOGOUT';\n\nexport const OWN_USER_ID = 'me';\n\nexport const rolesByName = {\n ...staticRolesByName,\n deploymentCreation: { action: 'CREATE_DEPLOYMENT', object: { type: 'DEVICE_GROUP', value: undefined } },\n groupAccess: { action: 'VIEW_DEVICE', object: { type: 'DEVICE_GROUP', value: undefined } },\n userManagement: { action: 'http', object: { type: 'any', value: `${useradmApiUrlv1}/.*` } }\n};\nexport const twoFAStates = {\n enabled: 'enabled',\n disabled: 'disabled',\n unverified: 'unverified'\n};\nexport const settingsKeys = { initialized: 'settings-initialized' };\n\nexport const READ_STATES = {\n read: 'read',\n seen: 'seen',\n unread: 'unread'\n};\n","// Copyright 2019 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\nimport { DEVICE_LIST_DEFAULTS, SORTING_OPTIONS, apiUrl } from '@northern.tech/store/constants';\n\nconst alreadyInstalled = 'already-installed';\n\nexport const deploymentsApiUrl = `${apiUrl.v1}/deployments`;\nexport const deploymentsApiUrlV2 = `${apiUrl.v2}/deployments`;\n\nexport const deploymentSubstates = {\n aborted: 'aborted',\n alreadyInstalled,\n decommissioned: 'decommissioned',\n downloading: 'downloading',\n failure: 'failure',\n installing: 'installing',\n noartifact: 'noartifact',\n pause_before_committing: 'pause_before_committing',\n pause_before_installing: 'pause_before_installing',\n pause_before_rebooting: 'pause_before_rebooting',\n pending: 'pending',\n rebooting: 'rebooting',\n success: 'success'\n};\n\nexport const deploymentStatesToSubstates = {\n failures: [deploymentSubstates.failure, deploymentSubstates.aborted, deploymentSubstates.decommissioned],\n inprogress: [deploymentSubstates.downloading, deploymentSubstates.installing, deploymentSubstates.rebooting],\n paused: [deploymentSubstates.pause_before_installing, deploymentSubstates.pause_before_rebooting, deploymentSubstates.pause_before_committing],\n pending: [deploymentSubstates.pending],\n successes: [deploymentSubstates.success, deploymentSubstates.alreadyInstalled, deploymentSubstates.noartifact]\n};\n\nexport const deploymentStatesToSubstatesWithSkipped = {\n ...deploymentStatesToSubstates,\n failures: [deploymentSubstates.failure],\n skipped: [deploymentSubstates.aborted, deploymentSubstates.noartifact, deploymentSubstates.alreadyInstalled, deploymentSubstates.decommissioned],\n successes: [deploymentSubstates.success]\n};\nexport const installationSubstatesMap = {\n download: {\n title: 'download',\n done: 'downloaded',\n successIndicators: [deploymentSubstates.installing, deploymentSubstates.rebooting, ...deploymentStatesToSubstates.paused, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactInstall_Enter'\n },\n install: {\n title: 'install',\n done: 'installed',\n successIndicators: [\n deploymentSubstates.rebooting,\n deploymentSubstates.pause_before_rebooting,\n deploymentSubstates.pause_before_committing,\n deploymentSubstates.success\n ],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactReboot_Enter'\n },\n reboot: {\n title: 'reboot',\n done: 'rebooted',\n successIndicators: [deploymentSubstates.pause_before_committing, deploymentSubstates.success],\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: 'ArtifactCommit_Enter'\n },\n commit: {\n title: 'commit',\n done: 'committed',\n successIndicators: deploymentStatesToSubstates.successes,\n failureIndicators: deploymentStatesToSubstates.failures,\n pauseConfigurationIndicator: undefined\n }\n};\n\nexport const DEPLOYMENT_STATES = {\n finished: 'finished',\n inprogress: 'inprogress',\n pending: 'pending',\n scheduled: 'scheduled'\n};\n\nexport const listDefaultsByState = {\n [DEPLOYMENT_STATES.inprogress]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.pending]: { page: 1, perPage: 10 },\n [DEPLOYMENT_STATES.scheduled]: { ...DEVICE_LIST_DEFAULTS },\n [DEPLOYMENT_STATES.finished]: { ...DEVICE_LIST_DEFAULTS },\n sort: { direction: SORTING_OPTIONS.desc }\n};\n\nexport const DEFAULT_PENDING_INPROGRESS_COUNT = 10;\nexport const DEPLOYMENT_ROUTES = {\n active: {\n key: 'active',\n route: '/deployments/active',\n states: [DEPLOYMENT_STATES.pending, DEPLOYMENT_STATES.inprogress],\n title: 'Active'\n },\n finished: {\n key: 'finished',\n route: '/deployments/finished',\n states: [DEPLOYMENT_STATES.finished],\n title: 'Finished'\n },\n scheduled: {\n key: 'scheduled',\n route: '/deployments/scheduled',\n states: [DEPLOYMENT_STATES.scheduled],\n title: 'Scheduled'\n }\n};\nexport const DEPLOYMENT_TYPES = {\n software: 'software',\n configuration: 'configuration'\n};\nexport const defaultStats = {\n [deploymentSubstates.aborted]: 0,\n [deploymentSubstates.alreadyInstalled]: 0,\n [deploymentSubstates.decommissioned]: 0,\n [deploymentSubstates.downloading]: 0,\n [deploymentSubstates.failure]: 0,\n [deploymentSubstates.installing]: 0,\n [deploymentSubstates.noartifact]: 0,\n [deploymentSubstates.pause_before_committing]: 0,\n [deploymentSubstates.pause_before_installing]: 0,\n [deploymentSubstates.pause_before_rebooting]: 0,\n [deploymentSubstates.pending]: 0,\n [deploymentSubstates.rebooting]: 0,\n [deploymentSubstates.success]: 0\n};\nexport const deploymentDisplayStates = {\n finished: 'Finished',\n scheduled: 'Scheduled',\n skipped: 'Skipped',\n paused: 'Paused',\n pending: 'Pending',\n inprogress: 'In Progress',\n success: 'Success',\n successes: 'Success',\n failure: 'Fail',\n failures: 'Fail'\n};\n\nexport const deploymentPrototype = {\n devices: {},\n name: undefined,\n statistics: { status: {} }\n};\n\nexport const pauseMap = {\n [deploymentSubstates.pause_before_installing]: {\n title: installationSubstatesMap.download.done,\n followUp: installationSubstatesMap.download.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_rebooting]: {\n title: installationSubstatesMap.install.done,\n followUp: installationSubstatesMap.install.pauseConfigurationIndicator\n },\n [deploymentSubstates.pause_before_committing]: {\n title: installationSubstatesMap.reboot.done,\n followUp: installationSubstatesMap.reboot.pauseConfigurationIndicator\n }\n};\nexport const limitDefault = { min: 5, max: 100, default: 10 };\n"],"mappings":"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","names":[]}
@@ -4,16 +4,10 @@ import {
4
4
  DEPLOYMENT_STATES,
5
5
  deploymentPrototype,
6
6
  limitDefault
7
- } from "./chunk-ZNST5R6O.mjs";
7
+ } from "./chunk-IFWKT27G.mjs";
8
8
  import {
9
9
  DEVICE_LIST_DEFAULTS
10
- } from "./chunk-G3I53JGW.mjs";
11
- import {
12
- __objRest,
13
- __restKey,
14
- __spreadProps,
15
- __spreadValues
16
- } from "./chunk-XWBD7VOK.mjs";
10
+ } from "./chunk-QQBUNZHA.mjs";
17
11
 
18
12
  // src/deploymentsSlice/index.ts
19
13
  import { createSlice } from "@reduxjs/toolkit";
@@ -40,7 +34,7 @@ var initialState = {
40
34
  sourceWindow: -1
41
35
  },
42
36
  binaryDeltaLimits: {
43
- timeout: __spreadProps(__spreadValues({}, limitDefault), { default: 60, max: 3600, min: 60 }),
37
+ timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },
44
38
  sourceWindow: limitDefault,
45
39
  inputWindow: limitDefault,
46
40
  duplicatesWindow: limitDefault,
@@ -50,10 +44,10 @@ var initialState = {
50
44
  deploymentDeviceLimit: 5e3,
51
45
  selectedDeviceIds: [],
52
46
  selectionState: {
53
- finished: __spreadProps(__spreadValues({}, DEVICE_LIST_DEFAULTS), { endDate: void 0, search: "", selection: [], startDate: void 0, total: 0, type: "" }),
54
- inprogress: __spreadProps(__spreadValues({}, DEVICE_LIST_DEFAULTS), { perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] }),
55
- pending: __spreadProps(__spreadValues({}, DEVICE_LIST_DEFAULTS), { perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] }),
56
- scheduled: __spreadProps(__spreadValues({}, DEVICE_LIST_DEFAULTS), { selection: [] }),
47
+ finished: { ...DEVICE_LIST_DEFAULTS, endDate: void 0, search: "", selection: [], startDate: void 0, total: 0, type: "" },
48
+ inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
49
+ pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },
50
+ scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },
57
51
  general: {
58
52
  state: DEPLOYMENT_ROUTES.active.key,
59
53
  showCreationDialog: false,
@@ -69,40 +63,55 @@ var deploymentsSlice = createSlice({
69
63
  initialState,
70
64
  reducers: {
71
65
  createdDeployment: (state, action) => {
72
- state.byId[action.payload.id] = __spreadValues(__spreadValues({}, deploymentPrototype), action.payload);
66
+ state.byId[action.payload.id] = {
67
+ ...deploymentPrototype,
68
+ ...action.payload
69
+ };
73
70
  state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;
74
71
  state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];
75
72
  state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection], state.selectionState[DEPLOYMENT_STATES.pending].total = state.selectionState[DEPLOYMENT_STATES.pending].total + 1;
76
73
  },
77
74
  removedDeployment: (state, action) => {
78
- var _a;
79
- const _b = state.byId, { [_a = action.payload]: removedDeployment } = _b, remainder = __objRest(_b, [__restKey(_a)]);
75
+ const { [action.payload]: removedDeployment, ...remainder } = state.byId;
80
76
  state.byId = remainder;
81
77
  },
82
78
  receivedDeployment: (state, action) => {
83
- state.byId[action.payload.id] = __spreadValues(__spreadValues({}, state.byId[action.payload.id] || {}), action.payload);
79
+ state.byId[action.payload.id] = {
80
+ ...state.byId[action.payload.id] || {},
81
+ ...action.payload
82
+ };
84
83
  },
85
84
  receivedDeploymentDeviceLog: (state, action) => {
86
85
  const { id, deviceId, log } = action.payload;
87
- const deployment = __spreadValues(__spreadValues({}, deploymentPrototype), state.byId[id]);
88
- state.byId[id] = __spreadProps(__spreadValues({}, deployment), {
89
- devices: __spreadProps(__spreadValues({}, deployment.devices), {
90
- [deviceId]: __spreadProps(__spreadValues({}, deployment.devices[deviceId]), {
86
+ const deployment = {
87
+ ...deploymentPrototype,
88
+ ...state.byId[id]
89
+ };
90
+ state.byId[id] = {
91
+ ...deployment,
92
+ devices: {
93
+ ...deployment.devices,
94
+ [deviceId]: {
95
+ ...deployment.devices[deviceId],
91
96
  log
92
- })
93
- })
94
- });
97
+ }
98
+ }
99
+ };
95
100
  },
96
101
  receivedDeploymentDevices: (state, action) => {
97
102
  const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;
98
- state.byId[id] = __spreadProps(__spreadValues({}, state.byId[id]), {
103
+ state.byId[id] = {
104
+ ...state.byId[id],
99
105
  devices,
100
106
  totalDeviceCount
101
- });
107
+ };
102
108
  state.selectedDeviceIds = selectedDeviceIds;
103
109
  },
104
110
  receivedDeployments: (state, action) => {
105
- state.byId = __spreadValues(__spreadValues({}, state.byId), action.payload);
111
+ state.byId = {
112
+ ...state.byId,
113
+ ...action.payload
114
+ };
106
115
  },
107
116
  receivedDeploymentsForStatus: (state, action) => {
108
117
  const { status, deploymentIds, total } = action.payload;
@@ -132,4 +141,4 @@ export {
132
141
  actions,
133
142
  deploymentsSlice_default
134
143
  };
135
- //# sourceMappingURL=chunk-6667TCAJ.mjs.map
144
+ //# sourceMappingURL=chunk-JA27QXVB.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/deploymentsSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport { DEVICE_LIST_DEFAULTS } from '@northern.tech/store/constants';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEFAULT_PENDING_INPROGRESS_COUNT, DEPLOYMENT_ROUTES, DEPLOYMENT_STATES, deploymentPrototype, limitDefault } from './constants';\n\nexport const sliceName = 'deployments';\n\nexport const initialState = {\n byId: {\n // [id]: { statistics: { status: {}, total_size }, devices: { [deploymentId]: { id, log } }, totalDeviceCount }\n },\n byStatus: {\n finished: { deploymentIds: [], total: 0 },\n inprogress: { deploymentIds: [], total: 0 },\n pending: { deploymentIds: [], total: 0 },\n scheduled: { deploymentIds: [], total: 0 }\n },\n config: {\n binaryDelta: {\n timeout: -1,\n duplicatesWindow: -1,\n compressionLevel: -1,\n disableChecksum: false,\n disableDecompression: false,\n inputWindow: -1,\n instructionBuffer: -1,\n sourceWindow: -1\n },\n binaryDeltaLimits: {\n timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },\n sourceWindow: limitDefault,\n inputWindow: limitDefault,\n duplicatesWindow: limitDefault,\n instructionBuffer: limitDefault\n }\n },\n deploymentDeviceLimit: 5000,\n selectedDeviceIds: [],\n selectionState: {\n finished: { ...DEVICE_LIST_DEFAULTS, endDate: undefined, search: '', selection: [], startDate: undefined, total: 0, type: '' },\n inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },\n general: {\n state: DEPLOYMENT_ROUTES.active.key,\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null // DeploymentConstants.DEPLOYMENT_TYPES.configuration|DeploymentConstants.DEPLOYMENT_TYPES.software\n },\n selectedId: undefined\n }\n};\n\nexport const deploymentsSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n createdDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...deploymentPrototype,\n ...action.payload\n };\n state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;\n state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];\n (state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection]),\n (state.selectionState[DEPLOYMENT_STATES.pending].total = state.selectionState[DEPLOYMENT_STATES.pending].total + 1);\n },\n removedDeployment: (state, action) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedDeployment, ...remainder } = state.byId;\n state.byId = remainder;\n },\n receivedDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...(state.byId[action.payload.id] || {}),\n ...action.payload\n };\n },\n receivedDeploymentDeviceLog: (state, action) => {\n const { id, deviceId, log } = action.payload;\n const deployment = {\n ...deploymentPrototype,\n ...state.byId[id]\n };\n state.byId[id] = {\n ...deployment,\n devices: {\n ...deployment.devices,\n [deviceId]: {\n ...deployment.devices[deviceId],\n log\n }\n }\n };\n },\n receivedDeploymentDevices: (state, action) => {\n const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;\n state.byId[id] = {\n ...state.byId[id],\n devices,\n totalDeviceCount\n };\n state.selectedDeviceIds = selectedDeviceIds;\n },\n receivedDeployments: (state, action) => {\n state.byId = {\n ...state.byId,\n ...action.payload\n };\n },\n receivedDeploymentsForStatus: (state, action) => {\n const { status, deploymentIds, total } = action.payload;\n state.byStatus[status].deploymentIds = deploymentIds;\n state.byStatus[status].total = total;\n },\n selectDeploymentsForStatus: (state, action) => {\n const { status, deploymentIds, total } = action.payload;\n state.selectionState[status].selection = deploymentIds;\n state.selectionState[status].total = total;\n },\n setDeploymentsState: (state, action) => {\n state.selectionState = action.payload;\n },\n setDeploymentsConfig: (state, action) => {\n state.config = action.payload;\n }\n }\n});\n\nexport const actions = deploymentsSlice.actions;\nexport default deploymentsSlice.reducer;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/deploymentsSlice/index.ts"],"sourcesContent":["// Copyright 2023 Northern.tech AS\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n// @ts-nocheck\nimport { DEVICE_LIST_DEFAULTS } from '@northern.tech/store/constants';\nimport { createSlice } from '@reduxjs/toolkit';\n\nimport { DEFAULT_PENDING_INPROGRESS_COUNT, DEPLOYMENT_ROUTES, DEPLOYMENT_STATES, deploymentPrototype, limitDefault } from './constants';\n\nexport const sliceName = 'deployments';\n\nexport const initialState = {\n byId: {\n // [id]: { statistics: { status: {}, total_size }, devices: { [deploymentId]: { id, log } }, totalDeviceCount }\n },\n byStatus: {\n finished: { deploymentIds: [], total: 0 },\n inprogress: { deploymentIds: [], total: 0 },\n pending: { deploymentIds: [], total: 0 },\n scheduled: { deploymentIds: [], total: 0 }\n },\n config: {\n binaryDelta: {\n timeout: -1,\n duplicatesWindow: -1,\n compressionLevel: -1,\n disableChecksum: false,\n disableDecompression: false,\n inputWindow: -1,\n instructionBuffer: -1,\n sourceWindow: -1\n },\n binaryDeltaLimits: {\n timeout: { ...limitDefault, default: 60, max: 3600, min: 60 },\n sourceWindow: limitDefault,\n inputWindow: limitDefault,\n duplicatesWindow: limitDefault,\n instructionBuffer: limitDefault\n }\n },\n deploymentDeviceLimit: 5000,\n selectedDeviceIds: [],\n selectionState: {\n finished: { ...DEVICE_LIST_DEFAULTS, endDate: undefined, search: '', selection: [], startDate: undefined, total: 0, type: '' },\n inprogress: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n pending: { ...DEVICE_LIST_DEFAULTS, perPage: DEFAULT_PENDING_INPROGRESS_COUNT, selection: [] },\n scheduled: { ...DEVICE_LIST_DEFAULTS, selection: [] },\n general: {\n state: DEPLOYMENT_ROUTES.active.key,\n showCreationDialog: false,\n showReportDialog: false,\n reportType: null // DeploymentConstants.DEPLOYMENT_TYPES.configuration|DeploymentConstants.DEPLOYMENT_TYPES.software\n },\n selectedId: undefined\n }\n};\n\nexport const deploymentsSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n createdDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...deploymentPrototype,\n ...action.payload\n };\n state.byStatus[DEPLOYMENT_STATES.pending].total = state.byStatus[DEPLOYMENT_STATES.pending].total + 1;\n state.byStatus[DEPLOYMENT_STATES.pending].deploymentIds = [...state.byStatus.pending.deploymentIds, action.payload.id];\n (state.selectionState[DEPLOYMENT_STATES.pending].selection = [action.payload.id, ...state.selectionState[DEPLOYMENT_STATES.pending].selection]),\n (state.selectionState[DEPLOYMENT_STATES.pending].total = state.selectionState[DEPLOYMENT_STATES.pending].total + 1);\n },\n removedDeployment: (state, action) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: removedDeployment, ...remainder } = state.byId;\n state.byId = remainder;\n },\n receivedDeployment: (state, action) => {\n state.byId[action.payload.id] = {\n ...(state.byId[action.payload.id] || {}),\n ...action.payload\n };\n },\n receivedDeploymentDeviceLog: (state, action) => {\n const { id, deviceId, log } = action.payload;\n const deployment = {\n ...deploymentPrototype,\n ...state.byId[id]\n };\n state.byId[id] = {\n ...deployment,\n devices: {\n ...deployment.devices,\n [deviceId]: {\n ...deployment.devices[deviceId],\n log\n }\n }\n };\n },\n receivedDeploymentDevices: (state, action) => {\n const { id, devices, selectedDeviceIds, totalDeviceCount } = action.payload;\n state.byId[id] = {\n ...state.byId[id],\n devices,\n totalDeviceCount\n };\n state.selectedDeviceIds = selectedDeviceIds;\n },\n receivedDeployments: (state, action) => {\n state.byId = {\n ...state.byId,\n ...action.payload\n };\n },\n receivedDeploymentsForStatus: (state, action) => {\n const { status, deploymentIds, total } = action.payload;\n state.byStatus[status].deploymentIds = deploymentIds;\n state.byStatus[status].total = total;\n },\n selectDeploymentsForStatus: (state, action) => {\n const { status, deploymentIds, total } = action.payload;\n state.selectionState[status].selection = deploymentIds;\n state.selectionState[status].total = total;\n },\n setDeploymentsState: (state, action) => {\n state.selectionState = action.payload;\n },\n setDeploymentsConfig: (state, action) => {\n state.config = action.payload;\n }\n }\n});\n\nexport const actions = deploymentsSlice.actions;\nexport default deploymentsSlice.reducer;\n"],"mappings":"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","names":[]}