@northern.tech/store 0.3.2 → 0.3.4

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 (251) hide show
  1. package/dist/BillingProfile-ChP2_Sqw.d.cts +45 -0
  2. package/dist/BillingProfile-ChP2_Sqw.d.ts +45 -0
  3. package/dist/actions.cjs +22 -23
  4. package/dist/actions.cjs.map +1 -1
  5. package/dist/actions.js +12 -12
  6. package/dist/api/general-api.cjs.map +1 -1
  7. package/dist/api/general-api.js +5 -5
  8. package/dist/api/types/Tenant.ts +17 -12
  9. package/dist/api/users-api.cjs.map +1 -1
  10. package/dist/api/users-api.js +6 -6
  11. package/dist/appSlice/constants.cjs +18 -10
  12. package/dist/appSlice/constants.cjs.map +1 -1
  13. package/dist/appSlice/constants.d.cts +41 -84
  14. package/dist/appSlice/constants.d.ts +41 -84
  15. package/dist/appSlice/constants.js +1 -1
  16. package/dist/appSlice/index.cjs +1 -3
  17. package/dist/appSlice/index.cjs.map +1 -1
  18. package/dist/appSlice/index.js +4 -4
  19. package/dist/appSlice/thunks.cjs +153 -120
  20. package/dist/appSlice/thunks.cjs.map +1 -1
  21. package/dist/appSlice/thunks.js +28 -27
  22. package/dist/auth.cjs.map +1 -1
  23. package/dist/auth.js +4 -4
  24. package/dist/{chunk-NI4SZOCF.js → chunk-4RWZR3BN.js} +23 -25
  25. package/dist/{chunk-NI4SZOCF.js.map → chunk-4RWZR3BN.js.map} +1 -1
  26. package/dist/{chunk-YGBFDXXA.js → chunk-7YZCUAXZ.js} +2 -2
  27. package/dist/{chunk-7PVGDMNM.js → chunk-AFICTIVU.js} +3 -5
  28. package/dist/{chunk-7PVGDMNM.js.map → chunk-AFICTIVU.js.map} +1 -1
  29. package/dist/{chunk-YT73QWCN.js → chunk-AUBJUUP3.js} +3 -3
  30. package/dist/{chunk-UEP36GCI.js → chunk-AVX7VVOK.js} +3 -3
  31. package/dist/{chunk-4B3IMP4I.js → chunk-BSN2TOQC.js} +1 -1
  32. package/dist/{chunk-4B3IMP4I.js.map → chunk-BSN2TOQC.js.map} +1 -1
  33. package/dist/{chunk-VOCOFE4I.js → chunk-DCEKU6UV.js} +2 -2
  34. package/dist/{chunk-E5LEU5PF.js → chunk-DGQKXSRI.js} +3 -3
  35. package/dist/{chunk-74OJIKXF.js → chunk-EQLHIPPR.js} +182 -142
  36. package/dist/chunk-EQLHIPPR.js.map +1 -0
  37. package/dist/{chunk-MDC7Y3EX.js → chunk-EYCORLYU.js} +44 -40
  38. package/dist/chunk-EYCORLYU.js.map +1 -0
  39. package/dist/{chunk-KAQJH2YL.js → chunk-FQDSV3NK.js} +13 -5
  40. package/dist/chunk-FQDSV3NK.js.map +1 -0
  41. package/dist/{chunk-XTRPX7JZ.js → chunk-FRSA2YB5.js} +3 -3
  42. package/dist/chunk-FRSA2YB5.js.map +1 -0
  43. package/dist/{chunk-ANB5BM5J.js → chunk-FVCYB5OP.js} +37 -32
  44. package/dist/chunk-FVCYB5OP.js.map +1 -0
  45. package/dist/{chunk-AMGWP7A4.js → chunk-GAI4VYRZ.js} +2 -2
  46. package/dist/{chunk-YETZPQFR.js → chunk-GWJIY56H.js} +19 -20
  47. package/dist/chunk-GWJIY56H.js.map +1 -0
  48. package/dist/{chunk-Q6M5TTDQ.js → chunk-JO33IORF.js} +2 -2
  49. package/dist/chunk-JO33IORF.js.map +1 -0
  50. package/dist/chunk-K4MMUDYT.js +391 -0
  51. package/dist/chunk-K4MMUDYT.js.map +1 -0
  52. package/dist/{chunk-XXHONFSQ.js → chunk-L3SY3J5M.js} +4 -4
  53. package/dist/{chunk-XXHONFSQ.js.map → chunk-L3SY3J5M.js.map} +1 -1
  54. package/dist/{chunk-JAROCU6M.js → chunk-NCSKCF2S.js} +3 -3
  55. package/dist/{chunk-CYV6632F.js → chunk-NOQR3TE7.js} +2 -2
  56. package/dist/{chunk-A6CT6GTI.js → chunk-OEP2D6QL.js} +18 -12
  57. package/dist/chunk-OEP2D6QL.js.map +1 -0
  58. package/dist/{chunk-2RJIDREZ.js → chunk-PAIB5V27.js} +32 -23
  59. package/dist/chunk-PAIB5V27.js.map +1 -0
  60. package/dist/{chunk-FGKMJS3B.js → chunk-RX32WLVJ.js} +2 -4
  61. package/dist/chunk-RX32WLVJ.js.map +1 -0
  62. package/dist/{chunk-YTQUNAZP.js → chunk-X3GZILYD.js} +3 -3
  63. package/dist/{chunk-25AKG5HH.js → chunk-Y575RZHR.js} +19 -11
  64. package/dist/chunk-Y575RZHR.js.map +1 -0
  65. package/dist/{chunk-RX55KAKX.js → chunk-ZWOAFHAR.js} +2 -2
  66. package/dist/{chunk-NNADGHSL.js → chunk-ZZMFXRQK.js} +14 -14
  67. package/dist/commonConstants.cjs.map +1 -1
  68. package/dist/commonConstants.d.cts +1 -1
  69. package/dist/commonConstants.d.ts +1 -1
  70. package/dist/commonConstants.js +1 -1
  71. package/dist/commonSelectors.cjs +47 -29
  72. package/dist/commonSelectors.cjs.map +1 -1
  73. package/dist/commonSelectors.d.cts +55 -46
  74. package/dist/commonSelectors.d.ts +55 -46
  75. package/dist/commonSelectors.js +11 -11
  76. package/dist/constants.cjs +35 -19
  77. package/dist/constants.cjs.map +1 -1
  78. package/dist/constants.d.cts +3 -3
  79. package/dist/constants.d.ts +3 -3
  80. package/dist/constants.js +7 -3
  81. package/dist/deploymentdevicehook.cjs +159 -125
  82. package/dist/deploymentdevicehook.cjs.map +1 -1
  83. package/dist/deploymentdevicehook.d.cts +1 -1
  84. package/dist/deploymentdevicehook.d.ts +1 -1
  85. package/dist/deploymentdevicehook.js +34 -31
  86. package/dist/deploymentdevicehook.js.map +1 -1
  87. package/dist/deploymentsSlice/constants.cjs +8 -8
  88. package/dist/deploymentsSlice/constants.cjs.map +1 -1
  89. package/dist/deploymentsSlice/constants.js +3 -3
  90. package/dist/deploymentsSlice/index.cjs +8 -8
  91. package/dist/deploymentsSlice/index.cjs.map +1 -1
  92. package/dist/deploymentsSlice/index.js +4 -4
  93. package/dist/deploymentsSlice/selectors.cjs +8 -8
  94. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  95. package/dist/deploymentsSlice/selectors.js +4 -4
  96. package/dist/deploymentsSlice/thunks.cjs +153 -120
  97. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  98. package/dist/deploymentsSlice/thunks.js +28 -27
  99. package/dist/devicesSlice/constants.cjs +11 -8
  100. package/dist/devicesSlice/constants.cjs.map +1 -1
  101. package/dist/devicesSlice/constants.d.cts +2 -1
  102. package/dist/devicesSlice/constants.d.ts +2 -1
  103. package/dist/devicesSlice/constants.js +5 -3
  104. package/dist/devicesSlice/index.cjs +8 -8
  105. package/dist/devicesSlice/index.cjs.map +1 -1
  106. package/dist/devicesSlice/index.js +4 -4
  107. package/dist/devicesSlice/selectors.cjs +9 -9
  108. package/dist/devicesSlice/selectors.cjs.map +1 -1
  109. package/dist/devicesSlice/selectors.js +4 -4
  110. package/dist/devicesSlice/thunks.cjs +155 -120
  111. package/dist/devicesSlice/thunks.cjs.map +1 -1
  112. package/dist/devicesSlice/thunks.d.cts +12 -2
  113. package/dist/devicesSlice/thunks.d.ts +12 -2
  114. package/dist/devicesSlice/thunks.js +30 -27
  115. package/dist/flag-eu-5477R2P4.svg +130 -0
  116. package/dist/flag-us-HNQAF66I.svg +63 -0
  117. package/dist/liststatehook.cjs +971 -0
  118. package/dist/liststatehook.cjs.map +1 -0
  119. package/dist/liststatehook.d.cts +246 -0
  120. package/dist/liststatehook.d.ts +246 -0
  121. package/dist/liststatehook.js +88 -0
  122. package/dist/liststatehook.js.map +1 -0
  123. package/dist/locationutils.cjs +942 -0
  124. package/dist/locationutils.cjs.map +1 -0
  125. package/dist/locationutils.d.cts +113 -0
  126. package/dist/locationutils.d.ts +113 -0
  127. package/dist/locationutils.js +46 -0
  128. package/dist/locationutils.js.map +1 -0
  129. package/dist/monitorSlice/constants.cjs +8 -8
  130. package/dist/monitorSlice/constants.cjs.map +1 -1
  131. package/dist/monitorSlice/constants.js +3 -3
  132. package/dist/monitorSlice/index.cjs +8 -8
  133. package/dist/monitorSlice/index.cjs.map +1 -1
  134. package/dist/monitorSlice/index.js +4 -4
  135. package/dist/monitorSlice/thunks.cjs +74 -62
  136. package/dist/monitorSlice/thunks.cjs.map +1 -1
  137. package/dist/monitorSlice/thunks.js +24 -24
  138. package/dist/onboardingSlice/index.cjs +1 -3
  139. package/dist/onboardingSlice/index.cjs.map +1 -1
  140. package/dist/onboardingSlice/index.js +1 -1
  141. package/dist/onboardingSlice/thunks.cjs +157 -124
  142. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  143. package/dist/onboardingSlice/thunks.d.cts +2 -34
  144. package/dist/onboardingSlice/thunks.d.ts +2 -34
  145. package/dist/onboardingSlice/thunks.js +28 -29
  146. package/dist/organizationSlice/constants.cjs +22 -17
  147. package/dist/organizationSlice/constants.cjs.map +1 -1
  148. package/dist/organizationSlice/constants.d.cts +33 -1
  149. package/dist/organizationSlice/constants.d.ts +33 -1
  150. package/dist/organizationSlice/constants.js +5 -3
  151. package/dist/organizationSlice/index.cjs +18 -15
  152. package/dist/organizationSlice/index.cjs.map +1 -1
  153. package/dist/organizationSlice/index.d.cts +27 -1012
  154. package/dist/organizationSlice/index.d.ts +27 -1012
  155. package/dist/organizationSlice/index.js +4 -4
  156. package/dist/organizationSlice/selectors.cjs.map +1 -1
  157. package/dist/organizationSlice/selectors.d.cts +10 -1
  158. package/dist/organizationSlice/selectors.d.ts +10 -1
  159. package/dist/organizationSlice/selectors.js +4 -4
  160. package/dist/organizationSlice/thunks.cjs +1619 -1559
  161. package/dist/organizationSlice/thunks.cjs.map +1 -1
  162. package/dist/organizationSlice/thunks.d.cts +62 -37
  163. package/dist/organizationSlice/thunks.d.ts +62 -37
  164. package/dist/organizationSlice/thunks.js +28 -27
  165. package/dist/organizationSlice/types.cjs +19 -0
  166. package/dist/organizationSlice/types.cjs.map +1 -0
  167. package/dist/organizationSlice/types.d.cts +5 -0
  168. package/dist/organizationSlice/types.d.ts +5 -0
  169. package/dist/organizationSlice/types.js +1 -0
  170. package/dist/organizationSlice/types.js.map +1 -0
  171. package/dist/releasesSlice/index.cjs.map +1 -1
  172. package/dist/releasesSlice/index.js +4 -4
  173. package/dist/releasesSlice/selectors.cjs +17 -8
  174. package/dist/releasesSlice/selectors.cjs.map +1 -1
  175. package/dist/releasesSlice/selectors.js +5 -5
  176. package/dist/releasesSlice/thunks.cjs +123 -94
  177. package/dist/releasesSlice/thunks.cjs.map +1 -1
  178. package/dist/releasesSlice/thunks.d.cts +1 -4
  179. package/dist/releasesSlice/thunks.d.ts +1 -4
  180. package/dist/releasesSlice/thunks.js +25 -24
  181. package/dist/selectors.cjs +53 -29
  182. package/dist/selectors.cjs.map +1 -1
  183. package/dist/selectors.d.cts +10 -1
  184. package/dist/selectors.d.ts +10 -1
  185. package/dist/selectors.js +49 -43
  186. package/dist/sockethook.cjs +529 -0
  187. package/dist/sockethook.cjs.map +1 -0
  188. package/dist/sockethook.d.cts +10 -0
  189. package/dist/sockethook.d.ts +10 -0
  190. package/dist/sockethook.js +141 -0
  191. package/dist/sockethook.js.map +1 -0
  192. package/dist/store.cjs +38 -29
  193. package/dist/store.cjs.map +1 -1
  194. package/dist/store.d.cts +13 -231
  195. package/dist/store.d.ts +13 -231
  196. package/dist/store.js +18 -16
  197. package/dist/storehooks.cjs +273 -198
  198. package/dist/storehooks.cjs.map +1 -1
  199. package/dist/storehooks.js +38 -37
  200. package/dist/storehooks.js.map +1 -1
  201. package/dist/thunks.cjs +259 -184
  202. package/dist/thunks.cjs.map +1 -1
  203. package/dist/thunks.d.cts +6 -2
  204. package/dist/thunks.d.ts +6 -2
  205. package/dist/thunks.js +30 -29
  206. package/dist/types-DBj17FZO.d.cts +135 -0
  207. package/dist/types-DnfZa6xd.d.ts +135 -0
  208. package/dist/usersSlice/constants.cjs +10 -10
  209. package/dist/usersSlice/constants.cjs.map +1 -1
  210. package/dist/usersSlice/constants.d.cts +6 -6
  211. package/dist/usersSlice/constants.d.ts +6 -6
  212. package/dist/usersSlice/constants.js +3 -3
  213. package/dist/usersSlice/index.cjs +10 -10
  214. package/dist/usersSlice/index.cjs.map +1 -1
  215. package/dist/usersSlice/index.js +4 -4
  216. package/dist/usersSlice/selectors.cjs +35 -13
  217. package/dist/usersSlice/selectors.cjs.map +1 -1
  218. package/dist/usersSlice/selectors.d.cts +44 -1
  219. package/dist/usersSlice/selectors.d.ts +44 -1
  220. package/dist/usersSlice/selectors.js +13 -7
  221. package/dist/usersSlice/thunks.cjs +151 -120
  222. package/dist/usersSlice/thunks.cjs.map +1 -1
  223. package/dist/usersSlice/thunks.d.cts +10 -9
  224. package/dist/usersSlice/thunks.d.ts +10 -9
  225. package/dist/usersSlice/thunks.js +28 -27
  226. package/dist/utils.cjs +23 -24
  227. package/dist/utils.cjs.map +1 -1
  228. package/dist/utils.js +4 -4
  229. package/package.json +7 -6
  230. package/dist/chunk-25AKG5HH.js.map +0 -1
  231. package/dist/chunk-2RJIDREZ.js.map +0 -1
  232. package/dist/chunk-74OJIKXF.js.map +0 -1
  233. package/dist/chunk-A6CT6GTI.js.map +0 -1
  234. package/dist/chunk-ANB5BM5J.js.map +0 -1
  235. package/dist/chunk-FGKMJS3B.js.map +0 -1
  236. package/dist/chunk-KAQJH2YL.js.map +0 -1
  237. package/dist/chunk-MDC7Y3EX.js.map +0 -1
  238. package/dist/chunk-Q6M5TTDQ.js.map +0 -1
  239. package/dist/chunk-XTRPX7JZ.js.map +0 -1
  240. package/dist/chunk-YETZPQFR.js.map +0 -1
  241. /package/dist/{chunk-YGBFDXXA.js.map → chunk-7YZCUAXZ.js.map} +0 -0
  242. /package/dist/{chunk-YT73QWCN.js.map → chunk-AUBJUUP3.js.map} +0 -0
  243. /package/dist/{chunk-UEP36GCI.js.map → chunk-AVX7VVOK.js.map} +0 -0
  244. /package/dist/{chunk-VOCOFE4I.js.map → chunk-DCEKU6UV.js.map} +0 -0
  245. /package/dist/{chunk-E5LEU5PF.js.map → chunk-DGQKXSRI.js.map} +0 -0
  246. /package/dist/{chunk-AMGWP7A4.js.map → chunk-GAI4VYRZ.js.map} +0 -0
  247. /package/dist/{chunk-JAROCU6M.js.map → chunk-NCSKCF2S.js.map} +0 -0
  248. /package/dist/{chunk-CYV6632F.js.map → chunk-NOQR3TE7.js.map} +0 -0
  249. /package/dist/{chunk-YTQUNAZP.js.map → chunk-X3GZILYD.js.map} +0 -0
  250. /package/dist/{chunk-RX55KAKX.js.map → chunk-ZWOAFHAR.js.map} +0 -0
  251. /package/dist/{chunk-NNADGHSL.js.map → chunk-ZZMFXRQK.js.map} +0 -0
@@ -1,6 +1,10 @@
1
1
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
2
2
  import * as redux_thunk from 'redux-thunk';
3
3
  import * as redux from 'redux';
4
+ import { AvailablePlans } from '../appSlice/constants.cjs';
5
+ import { B as BillingProfile } from '../BillingProfile-ChP2_Sqw.cjs';
6
+ import '@mui/material/OverridableComponent';
7
+ import '@mui/material';
4
8
 
5
9
  declare const cancelRequest: _reduxjs_toolkit.AsyncThunk<{
6
10
  payload: any;
@@ -85,7 +89,29 @@ declare const cancelUpgrade: _reduxjs_toolkit.AsyncThunk</*elided*/ any, void, {
85
89
  fulfilledMeta?: unknown;
86
90
  rejectedMeta?: unknown;
87
91
  }>;
88
- declare const completeUpgrade: _reduxjs_toolkit.AsyncThunk<_reduxjs_toolkit.PayloadAction<unknown, string, {
92
+ interface completeUpgradePayload {
93
+ billing_profile: BillingProfile;
94
+ plan: AvailablePlans;
95
+ tenantId: string;
96
+ }
97
+ declare const completeUpgrade: _reduxjs_toolkit.AsyncThunk<[_reduxjs_toolkit.PayloadAction<unknown, string, {
98
+ arg: void;
99
+ requestId: string;
100
+ requestStatus: "rejected";
101
+ aborted: boolean;
102
+ condition: boolean;
103
+ } & ({
104
+ rejectedWithValue: true;
105
+ } | ({
106
+ rejectedWithValue: false;
107
+ } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<{
108
+ payload: any;
109
+ type: "devices/setDeviceLimit";
110
+ }, string, {
111
+ arg: void;
112
+ requestId: string;
113
+ requestStatus: "fulfilled";
114
+ }, never>, _reduxjs_toolkit.PayloadAction<unknown, string, {
89
115
  arg: void;
90
116
  requestId: string;
91
117
  requestStatus: "rejected";
@@ -102,7 +128,7 @@ declare const completeUpgrade: _reduxjs_toolkit.AsyncThunk<_reduxjs_toolkit.Payl
102
128
  arg: void;
103
129
  requestId: string;
104
130
  requestStatus: "fulfilled";
105
- }, never>, void, {
131
+ }, never>], completeUpgradePayload, {
106
132
  state?: unknown;
107
133
  dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
108
134
  extra?: unknown;
@@ -143,24 +169,10 @@ declare const setAuditlogsState: _reduxjs_toolkit.AsyncThunk<never[], void, {
143
169
  rejectedMeta?: unknown;
144
170
  }>;
145
171
  declare const tenantDataDivergedMessage = "The system detected there is a change in your plan or purchased add-ons. Please log out and log in again";
146
- declare const addTenant: _reduxjs_toolkit.AsyncThunk<[_reduxjs_toolkit.PayloadAction<unknown, string, {
147
- arg: void;
148
- requestId: string;
149
- requestStatus: "rejected";
150
- aborted: boolean;
151
- condition: boolean;
152
- } & ({
153
- rejectedWithValue: true;
154
- } | ({
155
- rejectedWithValue: false;
156
- } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<void, string, {
157
- arg: void;
158
- requestId: string;
159
- requestStatus: "fulfilled";
160
- }, never>, {
172
+ declare const addTenant: _reduxjs_toolkit.AsyncThunk<[{
161
173
  payload: any;
162
174
  type: "app/setSnackbar";
163
- }], void, {
175
+ }, unknown], void, {
164
176
  state?: unknown;
165
177
  dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
166
178
  extra?: unknown;
@@ -194,24 +206,11 @@ declare const setTenantsListState: _reduxjs_toolkit.AsyncThunk<{
194
206
  rejectedMeta?: unknown;
195
207
  }>;
196
208
  interface editTenantBody {
209
+ id: string;
197
210
  name: string;
198
211
  newLimit: number;
199
- id: string;
200
212
  }
201
- declare const editTenantDeviceLimit: _reduxjs_toolkit.AsyncThunk<{
202
- payload: any;
203
- type: "app/setSnackbar";
204
- }[], editTenantBody, {
205
- state?: unknown;
206
- dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
207
- extra?: unknown;
208
- rejectValue?: unknown;
209
- serializedErrorType?: unknown;
210
- pendingMeta?: unknown;
211
- fulfilledMeta?: unknown;
212
- rejectedMeta?: unknown;
213
- }>;
214
- declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
213
+ declare const editTenantDeviceLimit: _reduxjs_toolkit.AsyncThunk<[{
215
214
  payload: any;
216
215
  type: "app/setSnackbar";
217
216
  }, _reduxjs_toolkit.PayloadAction<unknown, string, {
@@ -224,11 +223,27 @@ declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
224
223
  rejectedWithValue: true;
225
224
  } | ({
226
225
  rejectedWithValue: false;
227
- } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<void, string, {
226
+ } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<{
227
+ payload: any;
228
+ type: "organization/setOrganization";
229
+ }[], string, {
228
230
  arg: void;
229
231
  requestId: string;
230
232
  requestStatus: "fulfilled";
231
- }, never>, _reduxjs_toolkit.PayloadAction<unknown, string, {
233
+ }, never>, unknown], editTenantBody, {
234
+ state?: unknown;
235
+ dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
236
+ extra?: unknown;
237
+ rejectValue?: unknown;
238
+ serializedErrorType?: unknown;
239
+ pendingMeta?: unknown;
240
+ fulfilledMeta?: unknown;
241
+ rejectedMeta?: unknown;
242
+ }>;
243
+ declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
244
+ payload: any;
245
+ type: "app/setSnackbar";
246
+ }, _reduxjs_toolkit.PayloadAction<unknown, string, {
232
247
  arg: void;
233
248
  requestId: string;
234
249
  requestStatus: "rejected";
@@ -245,7 +260,7 @@ declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
245
260
  arg: void;
246
261
  requestId: string;
247
262
  requestStatus: "fulfilled";
248
- }, never>], {
263
+ }, never>, unknown], {
249
264
  id: string;
250
265
  }, {
251
266
  state?: unknown;
@@ -283,10 +298,20 @@ declare const sendSupportMessage: _reduxjs_toolkit.AsyncThunk<{
283
298
  fulfilledMeta?: unknown;
284
299
  rejectedMeta?: unknown;
285
300
  }>;
301
+ interface requestPlanChangePayload {
302
+ content: {
303
+ current_addons: string;
304
+ current_plan: string;
305
+ requested_addons: string;
306
+ requested_plan: string;
307
+ user_message: string;
308
+ };
309
+ tenantId: string;
310
+ }
286
311
  declare const requestPlanChange: _reduxjs_toolkit.AsyncThunk<{
287
312
  payload: any;
288
313
  type: "app/setSnackbar";
289
- }, void, {
314
+ }, requestPlanChangePayload, {
290
315
  state?: unknown;
291
316
  dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
292
317
  extra?: unknown;
@@ -1,6 +1,10 @@
1
1
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
2
2
  import * as redux_thunk from 'redux-thunk';
3
3
  import * as redux from 'redux';
4
+ import { AvailablePlans } from '../appSlice/constants.js';
5
+ import { B as BillingProfile } from '../BillingProfile-ChP2_Sqw.js';
6
+ import '@mui/material/OverridableComponent';
7
+ import '@mui/material';
4
8
 
5
9
  declare const cancelRequest: _reduxjs_toolkit.AsyncThunk<{
6
10
  payload: any;
@@ -85,7 +89,29 @@ declare const cancelUpgrade: _reduxjs_toolkit.AsyncThunk</*elided*/ any, void, {
85
89
  fulfilledMeta?: unknown;
86
90
  rejectedMeta?: unknown;
87
91
  }>;
88
- declare const completeUpgrade: _reduxjs_toolkit.AsyncThunk<_reduxjs_toolkit.PayloadAction<unknown, string, {
92
+ interface completeUpgradePayload {
93
+ billing_profile: BillingProfile;
94
+ plan: AvailablePlans;
95
+ tenantId: string;
96
+ }
97
+ declare const completeUpgrade: _reduxjs_toolkit.AsyncThunk<[_reduxjs_toolkit.PayloadAction<unknown, string, {
98
+ arg: void;
99
+ requestId: string;
100
+ requestStatus: "rejected";
101
+ aborted: boolean;
102
+ condition: boolean;
103
+ } & ({
104
+ rejectedWithValue: true;
105
+ } | ({
106
+ rejectedWithValue: false;
107
+ } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<{
108
+ payload: any;
109
+ type: "devices/setDeviceLimit";
110
+ }, string, {
111
+ arg: void;
112
+ requestId: string;
113
+ requestStatus: "fulfilled";
114
+ }, never>, _reduxjs_toolkit.PayloadAction<unknown, string, {
89
115
  arg: void;
90
116
  requestId: string;
91
117
  requestStatus: "rejected";
@@ -102,7 +128,7 @@ declare const completeUpgrade: _reduxjs_toolkit.AsyncThunk<_reduxjs_toolkit.Payl
102
128
  arg: void;
103
129
  requestId: string;
104
130
  requestStatus: "fulfilled";
105
- }, never>, void, {
131
+ }, never>], completeUpgradePayload, {
106
132
  state?: unknown;
107
133
  dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
108
134
  extra?: unknown;
@@ -143,24 +169,10 @@ declare const setAuditlogsState: _reduxjs_toolkit.AsyncThunk<never[], void, {
143
169
  rejectedMeta?: unknown;
144
170
  }>;
145
171
  declare const tenantDataDivergedMessage = "The system detected there is a change in your plan or purchased add-ons. Please log out and log in again";
146
- declare const addTenant: _reduxjs_toolkit.AsyncThunk<[_reduxjs_toolkit.PayloadAction<unknown, string, {
147
- arg: void;
148
- requestId: string;
149
- requestStatus: "rejected";
150
- aborted: boolean;
151
- condition: boolean;
152
- } & ({
153
- rejectedWithValue: true;
154
- } | ({
155
- rejectedWithValue: false;
156
- } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<void, string, {
157
- arg: void;
158
- requestId: string;
159
- requestStatus: "fulfilled";
160
- }, never>, {
172
+ declare const addTenant: _reduxjs_toolkit.AsyncThunk<[{
161
173
  payload: any;
162
174
  type: "app/setSnackbar";
163
- }], void, {
175
+ }, unknown], void, {
164
176
  state?: unknown;
165
177
  dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
166
178
  extra?: unknown;
@@ -194,24 +206,11 @@ declare const setTenantsListState: _reduxjs_toolkit.AsyncThunk<{
194
206
  rejectedMeta?: unknown;
195
207
  }>;
196
208
  interface editTenantBody {
209
+ id: string;
197
210
  name: string;
198
211
  newLimit: number;
199
- id: string;
200
212
  }
201
- declare const editTenantDeviceLimit: _reduxjs_toolkit.AsyncThunk<{
202
- payload: any;
203
- type: "app/setSnackbar";
204
- }[], editTenantBody, {
205
- state?: unknown;
206
- dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
207
- extra?: unknown;
208
- rejectValue?: unknown;
209
- serializedErrorType?: unknown;
210
- pendingMeta?: unknown;
211
- fulfilledMeta?: unknown;
212
- rejectedMeta?: unknown;
213
- }>;
214
- declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
213
+ declare const editTenantDeviceLimit: _reduxjs_toolkit.AsyncThunk<[{
215
214
  payload: any;
216
215
  type: "app/setSnackbar";
217
216
  }, _reduxjs_toolkit.PayloadAction<unknown, string, {
@@ -224,11 +223,27 @@ declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
224
223
  rejectedWithValue: true;
225
224
  } | ({
226
225
  rejectedWithValue: false;
227
- } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<void, string, {
226
+ } & {})), _reduxjs_toolkit.SerializedError> | _reduxjs_toolkit.PayloadAction<{
227
+ payload: any;
228
+ type: "organization/setOrganization";
229
+ }[], string, {
228
230
  arg: void;
229
231
  requestId: string;
230
232
  requestStatus: "fulfilled";
231
- }, never>, _reduxjs_toolkit.PayloadAction<unknown, string, {
233
+ }, never>, unknown], editTenantBody, {
234
+ state?: unknown;
235
+ dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
236
+ extra?: unknown;
237
+ rejectValue?: unknown;
238
+ serializedErrorType?: unknown;
239
+ pendingMeta?: unknown;
240
+ fulfilledMeta?: unknown;
241
+ rejectedMeta?: unknown;
242
+ }>;
243
+ declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
244
+ payload: any;
245
+ type: "app/setSnackbar";
246
+ }, _reduxjs_toolkit.PayloadAction<unknown, string, {
232
247
  arg: void;
233
248
  requestId: string;
234
249
  requestStatus: "rejected";
@@ -245,7 +260,7 @@ declare const removeTenant: _reduxjs_toolkit.AsyncThunk<[{
245
260
  arg: void;
246
261
  requestId: string;
247
262
  requestStatus: "fulfilled";
248
- }, never>], {
263
+ }, never>, unknown], {
249
264
  id: string;
250
265
  }, {
251
266
  state?: unknown;
@@ -283,10 +298,20 @@ declare const sendSupportMessage: _reduxjs_toolkit.AsyncThunk<{
283
298
  fulfilledMeta?: unknown;
284
299
  rejectedMeta?: unknown;
285
300
  }>;
301
+ interface requestPlanChangePayload {
302
+ content: {
303
+ current_addons: string;
304
+ current_plan: string;
305
+ requested_addons: string;
306
+ requested_plan: string;
307
+ user_message: string;
308
+ };
309
+ tenantId: string;
310
+ }
286
311
  declare const requestPlanChange: _reduxjs_toolkit.AsyncThunk<{
287
312
  payload: any;
288
313
  type: "app/setSnackbar";
289
- }, void, {
314
+ }, requestPlanChangePayload, {
290
315
  state?: unknown;
291
316
  dispatch?: redux_thunk.ThunkDispatch<unknown, unknown, redux.UnknownAction>;
292
317
  extra?: unknown;
@@ -31,38 +31,39 @@ import {
31
31
  startUpgrade,
32
32
  storeSsoConfig,
33
33
  tenantDataDivergedMessage
34
- } from "../chunk-74OJIKXF.js";
35
- import "../chunk-MDC7Y3EX.js";
36
- import "../chunk-NI4SZOCF.js";
37
- import "../chunk-JAROCU6M.js";
38
- import "../chunk-YT73QWCN.js";
34
+ } from "../chunk-EQLHIPPR.js";
35
+ import "../chunk-EYCORLYU.js";
36
+ import "../chunk-4RWZR3BN.js";
37
+ import "../chunk-NCSKCF2S.js";
38
+ import "../chunk-AUBJUUP3.js";
39
39
  import "../chunk-NMAXZ3ZY.js";
40
- import "../chunk-ANB5BM5J.js";
41
- import "../chunk-KAQJH2YL.js";
42
- import "../chunk-VOCOFE4I.js";
43
- import "../chunk-RX55KAKX.js";
44
- import "../chunk-JIS4PA3R.js";
45
- import "../chunk-Q6M5TTDQ.js";
46
- import "../chunk-XXHONFSQ.js";
40
+ import "../chunk-PAIB5V27.js";
41
+ import "../chunk-ZZMFXRQK.js";
42
+ import "../chunk-DGQKXSRI.js";
43
+ import "../chunk-7YZCUAXZ.js";
44
+ import "../chunk-FRSA2YB5.js";
45
+ import "../chunk-NOQR3TE7.js";
46
+ import "../chunk-AVX7VVOK.js";
47
+ import "../chunk-RX32WLVJ.js";
48
+ import "../chunk-X3GZILYD.js";
49
+ import "../chunk-AFICTIVU.js";
50
+ import "../chunk-GAI4VYRZ.js";
51
+ import "../chunk-FVCYB5OP.js";
52
+ import "../chunk-ZWOAFHAR.js";
53
+ import "../chunk-FQDSV3NK.js";
54
+ import "../chunk-JO33IORF.js";
55
+ import "../chunk-DCEKU6UV.js";
47
56
  import "../chunk-YO22XLHI.js";
48
- import "../chunk-YETZPQFR.js";
57
+ import "../chunk-JIS4PA3R.js";
49
58
  import "../chunk-LIJIIRON.js";
50
- import "../chunk-2RJIDREZ.js";
51
- import "../chunk-NNADGHSL.js";
52
- import "../chunk-YGBFDXXA.js";
53
- import "../chunk-CYV6632F.js";
54
- import "../chunk-E5LEU5PF.js";
55
- import "../chunk-FGKMJS3B.js";
56
- import "../chunk-XTRPX7JZ.js";
57
- import "../chunk-YTQUNAZP.js";
58
- import "../chunk-UEP36GCI.js";
59
- import "../chunk-7PVGDMNM.js";
60
- import "../chunk-AMGWP7A4.js";
61
- import "../chunk-A6CT6GTI.js";
59
+ import "../chunk-L3SY3J5M.js";
60
+ import "../chunk-GWJIY56H.js";
61
+ import "../chunk-K4MMUDYT.js";
62
+ import "../chunk-OEP2D6QL.js";
62
63
  import "../chunk-CK6YE6AN.js";
63
64
  import "../chunk-MRCFLG45.js";
64
- import "../chunk-25AKG5HH.js";
65
- import "../chunk-4B3IMP4I.js";
65
+ import "../chunk-Y575RZHR.js";
66
+ import "../chunk-BSN2TOQC.js";
66
67
  export {
67
68
  addTenant,
68
69
  cancelRequest,
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // src/organizationSlice/types.ts
17
+ var types_exports = {};
18
+ module.exports = __toCommonJS(types_exports);
19
+ //# sourceMappingURL=types.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/organizationSlice/types.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 { AvailableAddon } from '@northern.tech/store/appSlice/constants';\n\nimport { ApiQuota } from '../api/types/ApiQuota';\nimport { Tenant } from '../api/types/Tenant';\n\n//TODO: improve types\ninterface Card {\n brand: string;\n expiration: {\n month: number;\n year: number;\n };\n last4: string;\n}\n\ninterface SortOptions {\n direction: 'asc' | 'desc';\n key?: string;\n}\n\ninterface AuditLogSelectionState {\n detail?: string;\n endDate?: string;\n selectedIssue?: string;\n sort: SortOptions;\n startDate?: string;\n total: number;\n type?: string;\n user?: string;\n}\n\ninterface AuditLog {\n events: Array<any>;\n selectionState: AuditLogSelectionState;\n}\n\ninterface ExternalDeviceIntegration {\n connection_string: string;\n id: string;\n provider: string;\n}\n\ninterface Webhook {\n events: Array<any>;\n eventsTotal: number;\n}\n\ninterface TenantList {\n selectedTenant: Tenant | null;\n sort: SortOptions;\n tenants: Tenant[];\n total: number;\n}\n\nexport interface OrganizationState {\n auditlog: AuditLog;\n card: Card;\n externalDeviceIntegrations: ExternalDeviceIntegration[];\n intentId: string | null;\n organization: Organization;\n ssoConfigs: any[];\n tenantList: TenantList;\n webhooks: Webhook;\n}\n\ninterface ApiLimits {\n devices: {\n bursts: any[];\n quota: ApiQuota;\n };\n management: {\n bursts: any[];\n quota: ApiQuota;\n };\n}\n\nexport interface Addon {\n enabled: boolean;\n name: AvailableAddon;\n}\n\nexport interface Organization extends Tenant {\n addons: Addon[];\n api_limits: ApiLimits;\n created_at: string;\n id: string;\n name: string;\n status: 'active' | 'inactive';\n tenant_token: string;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -0,0 +1,5 @@
1
+ import '../appSlice/constants.cjs';
2
+ export { A as Addon, O as Organization, a as OrganizationState } from '../types-DBj17FZO.cjs';
3
+ import '@mui/material/OverridableComponent';
4
+ import '@mui/material';
5
+ import '../BillingProfile-ChP2_Sqw.cjs';
@@ -0,0 +1,5 @@
1
+ import '../appSlice/constants.js';
2
+ export { A as Addon, O as Organization, a as OrganizationState } from '../types-DnfZa6xd.js';
3
+ import '@mui/material/OverridableComponent';
4
+ import '@mui/material';
5
+ import '../BillingProfile-ChP2_Sqw.js';
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/releasesSlice/index.ts","../../src/commonConstants.tsx"],"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, SORTING_OPTIONS } from '@northern.tech/store/constants';\nimport { createSlice } from '@reduxjs/toolkit';\n\nexport const sliceName = 'releases';\n\nexport const initialState = {\n /*\n * Return list of saved artifacts objects\n */\n /*\n * return list of artifacts where duplicate names are collated with device compatibility lists combined\n */\n // artifacts: AppStore.getCollatedArtifacts(AppStore.getArtifactsRepo()),\n artifacts: [],\n /*\n * Return list of saved release objects\n */\n byId: {\n /*\n [releaseName]: {\n artifacts: [\n {\n id: '',\n name: '',\n description: '',\n device_types_compatible: [],\n ...\n updates: [{\n files: [\n { size: 123, name: '' }\n ],\n type_info: { type: '' }\n }],\n url: '' // optional\n }\n ],\n modified: ''\n device_types_compatible,\n name: '',\n tags: ['something'],\n notes: ''\n }\n */\n },\n releasesList: {\n ...DEVICE_LIST_DEFAULTS,\n searchedIds: [],\n releaseIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n tags: [],\n updateTypes: [],\n /*\n * Return single release with corresponding Artifacts\n */\n selectedRelease: null\n};\n\nexport const releaseSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveRelease: (state, action) => {\n const { name } = action.payload;\n state.byId[name] = action.payload;\n },\n receiveReleases: (state, action) => {\n state.byId = action.payload;\n },\n receiveReleaseTags: (state, action) => {\n state.tags = action.payload;\n },\n receiveReleaseTypes: (state, action) => {\n state.updateTypes = action.payload;\n },\n removeRelease: (state, action) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...byId } = state.byId;\n state.byId = byId;\n state.selectedRelease = action.payload === state.selectedRelease ? null : state.selectedRelease;\n },\n selectedRelease: (state, action) => {\n state.selectedRelease = action.payload;\n },\n setReleaseListState: (state, action) => {\n state.releasesList = action.payload;\n }\n }\n});\n\nexport const actions = releaseSlice.actions;\nexport default releaseSlice.reducer;\n","// 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.\n// @ts-nocheck\nimport React from 'react';\n\nimport { mdiAws as AWS, mdiMicrosoftAzure as Azure } from '@mdi/js';\n\nexport const DEVICE_LIST_DEFAULTS = {\n page: 1,\n perPage: 20\n};\n\nexport const timeUnits = {\n days: 'days',\n minutes: 'minutes',\n hours: 'hours'\n};\n\nexport const ALL_DEVICES = 'All devices';\nexport const UNGROUPED_GROUP = { id: '*|=ungrouped=|*', name: 'Unassigned' };\n\nexport const DEVICE_LIST_MAXIMUM_LENGTH = 50;\n\nexport const DEVICE_FILTERING_OPTIONS = {\n $eq: { key: '$eq', title: 'equals', shortform: '=' },\n $ne: { key: '$ne', title: 'not equal', shortform: '!=' },\n $gt: {\n key: '$gt',\n title: '>',\n shortform: '>',\n help: 'The \"greater than\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $gte: {\n title: '>=',\n shortform: '>=',\n help: 'The \"greater than or equal\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $lt: {\n key: '$lt',\n title: '<',\n shortform: '<',\n help: 'The \"lesser than\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $lte: {\n title: '<=',\n shortform: '<=',\n help: 'The \"lesser than or equal\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $ltne: {\n key: '$ltne',\n title: '$ltne',\n shortform: 'ltne',\n help: 'The \"lesser than or does not exist\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $in: {\n key: '$in',\n title: 'in',\n shortform: 'in',\n help: 'The \"in\" operator accepts a list of comma-separated values. It matches if the selected field is equal to one of the specified values.'\n },\n $nin: {\n key: '$nin',\n title: 'not in',\n shortform: 'not in',\n help: `The \"not in\" operator accepts a list of comma-separated values. It matches if the selected field's value is not equal to any of the specified options.`\n },\n $exists: {\n key: '$exists',\n title: 'exists',\n shortform: 'exists',\n value: true,\n help: `The \"exists\" operator matches if the selected field's value has a value. No value needs to be provided for this operator.`\n },\n $nexists: {\n key: '$nexists',\n title: `doesn't exist`,\n shortform: `doesn't exist`,\n value: true,\n help: `The \"doesn't exist\" operator matches if the selected field's value has no value. No value needs to be provided for this operator.`\n },\n $regex: {\n key: '$regex',\n title: `matches regular expression`,\n shortform: `matches`,\n help: `The \"regular expression\" operator matches the selected field's value with a Perl compatible regular expression (PCRE), automatically anchored by ^. If the regular expression is not valid, the filter will produce no results. If you need to specify options and flags, you can provide the full regex in the format of /regex/flags, for example.`\n }\n};\n\nexport const DEVICE_ISSUE_OPTIONS = {\n issues: {\n isCategory: true,\n key: 'issues',\n title: 'Devices with issues',\n filterRule: {}\n },\n offline: {\n issueCategory: 'issues',\n key: 'offline',\n needsFullFiltering: true,\n needsMonitor: false,\n needsReporting: false,\n filterRule: {\n scope: 'system',\n key: 'check_in_time',\n operator: DEVICE_FILTERING_OPTIONS.$ltne.key,\n value: ({ offlineThreshold }) => offlineThreshold\n },\n title: 'Offline devices'\n },\n failedLastUpdate: {\n issueCategory: 'issues',\n key: 'failedLastUpdate',\n needsFullFiltering: false,\n needsMonitor: false,\n needsReporting: true,\n filterRule: { scope: 'monitor', key: 'failed_last_update', operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },\n title: 'Deployment failed'\n },\n monitoring: {\n issueCategory: 'issues',\n key: 'monitoring',\n needsFullFiltering: false,\n needsMonitor: true,\n needsReporting: false,\n filterRule: { scope: 'monitor', key: 'alerts', operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },\n title: 'Monitoring alert'\n },\n authRequests: {\n key: 'authRequests',\n needsFullFiltering: false,\n needsMonitor: false,\n needsReporting: true,\n filterRule: { scope: 'monitor', key: 'auth_requests', operator: DEVICE_FILTERING_OPTIONS.$gt.key, value: 1 },\n title: 'Devices with new authentication requests'\n },\n gatewayDevices: {\n key: 'gatewayDevices',\n needsFullFiltering: false,\n needsMonitor: false,\n needsReporting: true,\n filterRule: { scope: 'inventory', key: 'mender_is_gateway', operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: 'true' },\n title: 'Gateway devices'\n }\n};\nconst oneSecond = 1000;\nexport const TIMEOUTS = {\n debounceDefault: 700,\n debounceShort: 300,\n halfASecond: 0.5 * oneSecond,\n oneSecond,\n twoSeconds: 2 * oneSecond,\n threeSeconds: 3 * oneSecond,\n fiveSeconds: 5 * oneSecond,\n refreshDefault: 10 * oneSecond,\n refreshLong: 60 * oneSecond\n};\n\nexport const SORTING_OPTIONS = {\n asc: 'asc',\n desc: 'desc'\n};\n\nexport const DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };\n\nexport const ATTRIBUTE_SCOPES = {\n inventory: 'inventory',\n identity: 'identity',\n monitor: 'monitor',\n system: 'system',\n tags: 'tags'\n};\n\nexport const defaultIdAttribute = Object.freeze({ attribute: 'id', scope: ATTRIBUTE_SCOPES.identity });\n\nconst credentialTypes = {\n aws: 'aws',\n http: 'http',\n sas: 'sas',\n x509: 'x509'\n};\nexport const EXTERNAL_PROVIDER = {\n 'iot-core': {\n credentialsType: credentialTypes.aws,\n icon: AWS,\n title: 'AWS IoT Core',\n twinTitle: 'Device Shadow',\n provider: 'iot-core',\n enabled: true,\n deviceTwin: true,\n configHint: <>For help finding your AWS IoT Core connection string, check the AWS IoT documentation.</>\n },\n 'iot-hub': {\n credentialsType: credentialTypes.sas,\n icon: Azure,\n title: 'Azure IoT Hub',\n twinTitle: 'Device Twin',\n provider: 'iot-hub',\n enabled: true,\n deviceTwin: true,\n configHint: (\n <span>\n For help finding your Azure IoT Hub connection string, look under &apos;Shared access policies&apos; in the Microsoft Azure UI as described{' '}\n {\n <a\n href=\"https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n here\n </a>\n }\n .\n </span>\n )\n },\n webhook: {\n credentialsType: credentialTypes.http,\n deviceTwin: false,\n // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.\n enabled: false,\n provider: 'webhook'\n }\n};\nexport const MAX_PAGE_SIZE = 500;\n\nexport const ALL_RELEASES = 'All releases';\n\nexport type UiPermissionsDefinition = Readonly<{\n auditlog: string[];\n deployments?: string[]; // deployments are so far only covered indirectly through releases + device group permissions\n groups: Record<string, string[]>;\n releases: Record<string, string[]>;\n tenantManagement: string[];\n userManagement: string[];\n}>;\n\nexport type UiRoleDefinition = {\n name: string;\n description: string;\n editable?: boolean;\n isCustom?: boolean;\n permissions?: object[];\n uiPermissions: UiPermissionsDefinition;\n};\n\nexport const emptyUiPermissions: UiPermissionsDefinition = Object.freeze({\n auditlog: [],\n deployments: [],\n groups: Object.freeze({}),\n releases: Object.freeze({}),\n tenantManagement: [],\n userManagement: []\n});\n\nexport const emptyRole: UiRoleDefinition = Object.freeze({\n name: undefined,\n description: '',\n permissions: [],\n uiPermissions: Object.freeze({ ...emptyUiPermissions })\n});\n"],"mappings":"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","names":["AWS","Azure"]}
1
+ {"version":3,"sources":["../../src/releasesSlice/index.ts","../../src/commonConstants.tsx"],"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, SORTING_OPTIONS } from '@northern.tech/store/constants';\nimport { createSlice } from '@reduxjs/toolkit';\n\nexport const sliceName = 'releases';\n\nexport const initialState = {\n /*\n * Return list of saved artifacts objects\n */\n /*\n * return list of artifacts where duplicate names are collated with device compatibility lists combined\n */\n // artifacts: AppStore.getCollatedArtifacts(AppStore.getArtifactsRepo()),\n artifacts: [],\n /*\n * Return list of saved release objects\n */\n byId: {\n /*\n [releaseName]: {\n artifacts: [\n {\n id: '',\n name: '',\n description: '',\n device_types_compatible: [],\n ...\n updates: [{\n files: [\n { size: 123, name: '' }\n ],\n type_info: { type: '' }\n }],\n url: '' // optional\n }\n ],\n modified: ''\n device_types_compatible,\n name: '',\n tags: ['something'],\n notes: ''\n }\n */\n },\n releasesList: {\n ...DEVICE_LIST_DEFAULTS,\n searchedIds: [],\n releaseIds: [],\n selection: [],\n sort: {\n direction: SORTING_OPTIONS.desc,\n key: 'modified'\n },\n isLoading: undefined,\n searchTerm: '',\n searchTotal: 0,\n selectedTags: [],\n total: 0,\n type: ''\n },\n tags: [],\n updateTypes: [],\n /*\n * Return single release with corresponding Artifacts\n */\n selectedRelease: null\n};\n\nexport const releaseSlice = createSlice({\n name: sliceName,\n initialState,\n reducers: {\n receiveRelease: (state, action) => {\n const { name } = action.payload;\n state.byId[name] = action.payload;\n },\n receiveReleases: (state, action) => {\n state.byId = action.payload;\n },\n receiveReleaseTags: (state, action) => {\n state.tags = action.payload;\n },\n receiveReleaseTypes: (state, action) => {\n state.updateTypes = action.payload;\n },\n removeRelease: (state, action) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { [action.payload]: toBeRemoved, ...byId } = state.byId;\n state.byId = byId;\n state.selectedRelease = action.payload === state.selectedRelease ? null : state.selectedRelease;\n },\n selectedRelease: (state, action) => {\n state.selectedRelease = action.payload;\n },\n setReleaseListState: (state, action) => {\n state.releasesList = action.payload;\n }\n }\n});\n\nexport const actions = releaseSlice.actions;\nexport default releaseSlice.reducer;\n","// 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.\n// @ts-nocheck\nimport React from 'react';\n\nimport { mdiAws as AWS, mdiMicrosoftAzure as Azure } from '@mdi/js';\n\nexport const DEVICE_LIST_DEFAULTS = {\n page: 1,\n perPage: 20\n};\n\nexport const timeUnits = {\n days: 'days',\n minutes: 'minutes',\n hours: 'hours'\n};\n\nexport const ALL_DEVICES = 'All devices';\nexport const UNGROUPED_GROUP = { id: '*|=ungrouped=|*', name: 'Unassigned' };\n\nexport const DEVICE_LIST_MAXIMUM_LENGTH = 50;\n\nexport const DEVICE_FILTERING_OPTIONS = {\n $eq: { key: '$eq', title: 'equals', shortform: '=' },\n $ne: { key: '$ne', title: 'not equal', shortform: '!=' },\n $gt: {\n key: '$gt',\n title: '>',\n shortform: '>',\n help: 'The \"greater than\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $gte: {\n title: '>=',\n shortform: '>=',\n help: 'The \"greater than or equal\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $lt: {\n key: '$lt',\n title: '<',\n shortform: '<',\n help: 'The \"lesser than\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $lte: {\n title: '<=',\n shortform: '<=',\n help: 'The \"lesser than or equal\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $ltne: {\n key: '$ltne',\n title: '$ltne',\n shortform: 'ltne',\n help: 'The \"lesser than or does not exist\" operator can work both on numbers and strings. In the latter case, the operator applies the lexicographical order to the value strings.'\n },\n $in: {\n key: '$in',\n title: 'in',\n shortform: 'in',\n help: 'The \"in\" operator accepts a list of comma-separated values. It matches if the selected field is equal to one of the specified values.'\n },\n $nin: {\n key: '$nin',\n title: 'not in',\n shortform: 'not in',\n help: `The \"not in\" operator accepts a list of comma-separated values. It matches if the selected field's value is not equal to any of the specified options.`\n },\n $exists: {\n key: '$exists',\n title: 'exists',\n shortform: 'exists',\n value: true,\n help: `The \"exists\" operator matches if the selected field's value has a value. No value needs to be provided for this operator.`\n },\n $nexists: {\n key: '$nexists',\n title: `doesn't exist`,\n shortform: `doesn't exist`,\n value: true,\n help: `The \"doesn't exist\" operator matches if the selected field's value has no value. No value needs to be provided for this operator.`\n },\n $regex: {\n key: '$regex',\n title: `matches regular expression`,\n shortform: `matches`,\n help: `The \"regular expression\" operator matches the selected field's value with a Perl compatible regular expression (PCRE), automatically anchored by ^. If the regular expression is not valid, the filter will produce no results. If you need to specify options and flags, you can provide the full regex in the format of /regex/flags, for example.`\n }\n};\n\nexport const DEVICE_ISSUE_OPTIONS = {\n issues: {\n isCategory: true,\n key: 'issues',\n title: 'Devices with issues',\n filterRule: {}\n },\n offline: {\n issueCategory: 'issues',\n key: 'offline',\n needsFullFiltering: true,\n needsMonitor: false,\n needsReporting: false,\n filterRule: {\n scope: 'system',\n key: 'check_in_time',\n operator: DEVICE_FILTERING_OPTIONS.$ltne.key,\n value: ({ offlineThreshold }) => offlineThreshold\n },\n title: 'Offline devices'\n },\n failedLastUpdate: {\n issueCategory: 'issues',\n key: 'failedLastUpdate',\n needsFullFiltering: false,\n needsMonitor: false,\n needsReporting: true,\n filterRule: { scope: 'monitor', key: 'failed_last_update', operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },\n title: 'Deployment failed'\n },\n monitoring: {\n issueCategory: 'issues',\n key: 'monitoring',\n needsFullFiltering: false,\n needsMonitor: true,\n needsReporting: false,\n filterRule: { scope: 'monitor', key: 'alerts', operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: true },\n title: 'Monitoring alert'\n },\n authRequests: {\n key: 'authRequests',\n needsFullFiltering: false,\n needsMonitor: false,\n needsReporting: true,\n filterRule: { scope: 'monitor', key: 'auth_requests', operator: DEVICE_FILTERING_OPTIONS.$gt.key, value: 1 },\n title: 'Devices with new authentication requests'\n },\n gatewayDevices: {\n key: 'gatewayDevices',\n needsFullFiltering: false,\n needsMonitor: false,\n needsReporting: true,\n filterRule: { scope: 'inventory', key: 'mender_is_gateway', operator: DEVICE_FILTERING_OPTIONS.$eq.key, value: 'true' },\n title: 'Gateway devices'\n }\n};\nconst oneSecond = 1000;\nexport const TIMEOUTS = {\n debounceDefault: 700,\n debounceShort: 300,\n halfASecond: 0.5 * oneSecond,\n oneSecond,\n twoSeconds: 2 * oneSecond,\n threeSeconds: 3 * oneSecond,\n fiveSeconds: 5 * oneSecond,\n refreshDefault: 10 * oneSecond,\n refreshLong: 60 * oneSecond\n};\n\nexport const SORTING_OPTIONS = {\n asc: 'asc',\n desc: 'desc'\n};\n\nexport const DEVICE_ONLINE_CUTOFF = { interval: 1, intervalName: timeUnits.days };\n\nexport const ATTRIBUTE_SCOPES = {\n inventory: 'inventory',\n identity: 'identity',\n monitor: 'monitor',\n system: 'system',\n tags: 'tags'\n};\n\nexport const defaultIdAttribute = Object.freeze({ attribute: 'id', scope: ATTRIBUTE_SCOPES.identity });\n\nconst credentialTypes = {\n aws: 'aws',\n http: 'http',\n sas: 'sas',\n x509: 'x509'\n};\nexport const EXTERNAL_PROVIDER = {\n 'iot-core': {\n credentialsType: credentialTypes.aws,\n icon: AWS,\n title: 'AWS IoT Core',\n twinTitle: 'Device Shadow',\n provider: 'iot-core',\n enabled: true,\n deviceTwin: true,\n configHint: <>For help finding your AWS IoT Core connection string, check the AWS IoT documentation.</>\n },\n 'iot-hub': {\n credentialsType: credentialTypes.sas,\n icon: Azure,\n title: 'Azure IoT Hub',\n twinTitle: 'Device Twin',\n provider: 'iot-hub',\n enabled: true,\n deviceTwin: true,\n configHint: (\n <span>\n For help finding your Azure IoT Hub connection string, look under &apos;Shared access policies&apos; in the Microsoft Azure UI as described{' '}\n {\n <a\n href=\"https://devblogs.microsoft.com/iotdev/understand-different-connection-strings-in-azure-iot-hub/#iothubconn\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n here\n </a>\n }\n .\n </span>\n )\n },\n webhook: {\n credentialsType: credentialTypes.http,\n deviceTwin: false,\n // disable the webhook provider here, since it is treated different than other integrations, with a custom configuration & management view, etc.\n enabled: false,\n provider: 'webhook'\n }\n};\nexport const MAX_PAGE_SIZE = 500;\n\nexport const ALL_RELEASES = 'All releases';\n\nexport type UiPermissionsDefinition = Readonly<{\n auditlog: string[];\n deployments?: string[]; // deployments are so far only covered indirectly through releases + device group permissions\n groups: Record<string, string[]>;\n releases: Record<string, string[]>;\n tenantManagement: string[];\n userManagement: string[];\n}>;\n\nexport type UiRoleDefinition = {\n description: string;\n editable?: boolean;\n isCustom?: boolean;\n name: string;\n permissions?: object[];\n uiPermissions: UiPermissionsDefinition;\n};\n\nexport const emptyUiPermissions: UiPermissionsDefinition = Object.freeze({\n auditlog: [],\n deployments: [],\n groups: Object.freeze({}),\n releases: Object.freeze({}),\n tenantManagement: [],\n userManagement: []\n});\n\nexport const emptyRole: UiRoleDefinition = Object.freeze({\n name: undefined,\n description: '',\n permissions: [],\n uiPermissions: Object.freeze({ ...emptyUiPermissions })\n});\n"],"mappings":"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","names":["AWS","Azure"]}
@@ -4,12 +4,12 @@ import {
4
4
  releaseSlice,
5
5
  releasesSlice_default,
6
6
  sliceName
7
- } from "../chunk-CYV6632F.js";
8
- import "../chunk-A6CT6GTI.js";
7
+ } from "../chunk-NOQR3TE7.js";
8
+ import "../chunk-OEP2D6QL.js";
9
9
  import "../chunk-CK6YE6AN.js";
10
10
  import "../chunk-MRCFLG45.js";
11
- import "../chunk-25AKG5HH.js";
12
- import "../chunk-4B3IMP4I.js";
11
+ import "../chunk-Y575RZHR.js";
12
+ import "../chunk-BSN2TOQC.js";
13
13
  export {
14
14
  actions,
15
15
  releasesSlice_default as default,
@@ -248,17 +248,26 @@ var emptyRole = Object.freeze({
248
248
  });
249
249
 
250
250
  // src/utils.ts
251
+ var filterProcessors = {
252
+ [DEVICE_FILTERING_OPTIONS.$gt.key]: (val) => Number(val) || val,
253
+ [DEVICE_FILTERING_OPTIONS.$gte.key]: (val) => Number(val) || val,
254
+ [DEVICE_FILTERING_OPTIONS.$lt.key]: (val) => Number(val) || val,
255
+ [DEVICE_FILTERING_OPTIONS.$lte.key]: (val) => Number(val) || val,
256
+ [DEVICE_FILTERING_OPTIONS.$ltne.key]: (val) => Number(val) || val,
257
+ [DEVICE_FILTERING_OPTIONS.$in.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
258
+ [DEVICE_FILTERING_OPTIONS.$nin.key]: (val) => ("" + val).split(",").map((i) => i.trim()),
259
+ [DEVICE_FILTERING_OPTIONS.$exists.key]: import_helpers.yes,
260
+ [DEVICE_FILTERING_OPTIONS.$nexists.key]: () => false
261
+ };
251
262
  var filterAliases = {
252
263
  $nexists: { alias: DEVICE_FILTERING_OPTIONS.$exists.key, value: false }
253
264
  };
254
- var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => {
255
- return ids.slice(0, cutOffSize).reduce((accu, id) => {
256
- if (id && byId[id]) {
257
- accu.push({ ...defaultObject, ...byId[id] });
258
- }
259
- return accu;
260
- }, []);
261
- };
265
+ var listItemMapper = (byId, ids, { defaultObject = {}, cutOffSize = DEVICE_LIST_MAXIMUM_LENGTH }) => ids.slice(0, cutOffSize).reduce((accu, id) => {
266
+ if (id && byId[id]) {
267
+ accu.push({ ...defaultObject, ...byId[id] });
268
+ }
269
+ return accu;
270
+ }, []);
262
271
 
263
272
  // src/releasesSlice/selectors.ts
264
273
  var import_toolkit = require("@reduxjs/toolkit");