@northern.tech/store 0.5.1 → 0.5.3

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 (218) hide show
  1. package/dist/actions.cjs +53 -3
  2. package/dist/actions.cjs.map +1 -1
  3. package/dist/actions.d.cts +6 -2
  4. package/dist/actions.d.ts +6 -2
  5. package/dist/actions.js +10 -10
  6. package/dist/api/general-api.cjs +1 -1
  7. package/dist/api/general-api.cjs.map +1 -1
  8. package/dist/api/general-api.d.cts +8 -8
  9. package/dist/api/general-api.d.ts +8 -8
  10. package/dist/api/general-api.js +4 -4
  11. package/dist/api/users-api.cjs +1 -1
  12. package/dist/api/users-api.cjs.map +1 -1
  13. package/dist/api/users-api.d.cts +1 -1
  14. package/dist/api/users-api.d.ts +1 -1
  15. package/dist/api/users-api.js +5 -5
  16. package/dist/appSlice/constants.cjs +1 -0
  17. package/dist/appSlice/constants.cjs.map +1 -1
  18. package/dist/appSlice/constants.d.cts +5 -0
  19. package/dist/appSlice/constants.d.ts +5 -0
  20. package/dist/appSlice/constants.js +1 -1
  21. package/dist/appSlice/index.cjs +7 -3
  22. package/dist/appSlice/index.cjs.map +1 -1
  23. package/dist/appSlice/index.js +3 -3
  24. package/dist/appSlice/mocks.cjs +7 -3
  25. package/dist/appSlice/mocks.cjs.map +1 -1
  26. package/dist/appSlice/mocks.js +3 -3
  27. package/dist/appSlice/thunks.cjs +82 -23
  28. package/dist/appSlice/thunks.cjs.map +1 -1
  29. package/dist/appSlice/thunks.js +25 -25
  30. package/dist/auth.cjs.map +1 -1
  31. package/dist/auth.js +3 -3
  32. package/dist/{chunk-MZNANSS2.js → chunk-4DOSYAJY.js} +2 -2
  33. package/dist/{chunk-4E7ZSEFL.js → chunk-4UJXT6RF.js} +3 -3
  34. package/dist/{chunk-VUFRP6P3.js → chunk-5HYHE4HO.js} +2 -2
  35. package/dist/chunk-5HYHE4HO.js.map +1 -0
  36. package/dist/{chunk-ZJW3QIPM.js → chunk-66NK2ZV2.js} +2 -2
  37. package/dist/{chunk-PGFVHKP5.js → chunk-AVCIWAZB.js} +2 -2
  38. package/dist/{chunk-RS37Y2PQ.js → chunk-BNSSPYCA.js} +4 -4
  39. package/dist/chunk-BNSSPYCA.js.map +1 -0
  40. package/dist/{chunk-QEKN5R7E.js → chunk-CEEXZF5E.js} +4 -4
  41. package/dist/chunk-CEEXZF5E.js.map +1 -0
  42. package/dist/{chunk-UGSLGUS6.js → chunk-CWZKWW74.js} +2 -2
  43. package/dist/{chunk-FQW72QFK.js → chunk-DE25YP6N.js} +62 -54
  44. package/dist/chunk-DE25YP6N.js.map +1 -0
  45. package/dist/{chunk-6KGTHJKC.js → chunk-DXJ2WS3N.js} +9 -5
  46. package/dist/chunk-DXJ2WS3N.js.map +1 -0
  47. package/dist/{chunk-ZIUUV35J.js → chunk-DYN7AU7R.js} +9 -9
  48. package/dist/{chunk-JXQUFKID.js → chunk-GRVTVLIZ.js} +7 -2
  49. package/dist/chunk-GRVTVLIZ.js.map +1 -0
  50. package/dist/{chunk-KC7SKI3U.js → chunk-HLTP624H.js} +8 -5
  51. package/dist/{chunk-KC7SKI3U.js.map → chunk-HLTP624H.js.map} +1 -1
  52. package/dist/{chunk-7PRZYHDP.js → chunk-I6JE3OLT.js} +8 -8
  53. package/dist/{chunk-ABJLRDCO.js → chunk-IY76MO6R.js} +2 -2
  54. package/dist/{chunk-MPYYSFPL.js → chunk-J74LNK6P.js} +11 -11
  55. package/dist/{chunk-YWHRAPDQ.js → chunk-JOK26PI7.js} +51 -18
  56. package/dist/chunk-JOK26PI7.js.map +1 -0
  57. package/dist/{chunk-KJNNEDRV.js → chunk-JZXNRDO2.js} +2 -2
  58. package/dist/{chunk-6XVREXI4.js → chunk-KGSJ7CSA.js} +12 -3
  59. package/dist/{chunk-6XVREXI4.js.map → chunk-KGSJ7CSA.js.map} +1 -1
  60. package/dist/{chunk-OOICURFL.js → chunk-KJJ47UIO.js} +48 -2
  61. package/dist/chunk-KJJ47UIO.js.map +1 -0
  62. package/dist/{chunk-7C4SQBEE.js → chunk-MRXTMI6O.js} +1 -1
  63. package/dist/chunk-MRXTMI6O.js.map +1 -0
  64. package/dist/{chunk-HFOTAPIJ.js → chunk-PY6ID7TL.js} +2 -1
  65. package/dist/chunk-PY6ID7TL.js.map +1 -0
  66. package/dist/{chunk-NQIP7VFB.js → chunk-VCTZ25Q5.js} +9 -9
  67. package/dist/{chunk-YY6SKZDF.js → chunk-W37ETKI6.js} +3 -12
  68. package/dist/chunk-W37ETKI6.js.map +1 -0
  69. package/dist/{chunk-QHK7GGV4.js → chunk-ZZ3YDCYZ.js} +3 -3
  70. package/dist/commonConstants.cjs.map +1 -1
  71. package/dist/commonConstants.d.cts +6 -5
  72. package/dist/commonConstants.d.ts +6 -5
  73. package/dist/commonConstants.js +2 -2
  74. package/dist/commonSelectors.cjs +8 -18
  75. package/dist/commonSelectors.cjs.map +1 -1
  76. package/dist/commonSelectors.js +9 -9
  77. package/dist/constants.cjs +1 -0
  78. package/dist/constants.cjs.map +1 -1
  79. package/dist/constants.d.cts +1 -1
  80. package/dist/constants.d.ts +1 -1
  81. package/dist/constants.js +2 -2
  82. package/dist/deploymentsSlice/constants.js +2 -2
  83. package/dist/deploymentsSlice/index.cjs.map +1 -1
  84. package/dist/deploymentsSlice/index.d.cts +2 -2
  85. package/dist/deploymentsSlice/index.d.ts +2 -2
  86. package/dist/deploymentsSlice/index.js +3 -3
  87. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  88. package/dist/deploymentsSlice/mocks.js +3 -3
  89. package/dist/deploymentsSlice/selectors.cjs +6 -0
  90. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  91. package/dist/deploymentsSlice/selectors.d.cts +22 -1
  92. package/dist/deploymentsSlice/selectors.d.ts +22 -1
  93. package/dist/deploymentsSlice/selectors.js +5 -3
  94. package/dist/deploymentsSlice/thunks.cjs +84 -23
  95. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  96. package/dist/deploymentsSlice/thunks.d.cts +14 -1
  97. package/dist/deploymentsSlice/thunks.d.ts +14 -1
  98. package/dist/deploymentsSlice/thunks.js +27 -25
  99. package/dist/devicesSlice/constants.js +2 -2
  100. package/dist/devicesSlice/index.js +3 -3
  101. package/dist/devicesSlice/mocks.js +3 -3
  102. package/dist/devicesSlice/selectors.cjs.map +1 -1
  103. package/dist/devicesSlice/selectors.js +3 -3
  104. package/dist/devicesSlice/thunks.cjs +82 -23
  105. package/dist/devicesSlice/thunks.cjs.map +1 -1
  106. package/dist/devicesSlice/thunks.js +25 -25
  107. package/dist/liststatehook.cjs +6 -3
  108. package/dist/liststatehook.cjs.map +1 -1
  109. package/dist/liststatehook.d.cts +4 -2
  110. package/dist/liststatehook.d.ts +4 -2
  111. package/dist/liststatehook.js +3 -3
  112. package/dist/locationutils.cjs +6 -3
  113. package/dist/locationutils.cjs.map +1 -1
  114. package/dist/locationutils.d.cts +3 -1
  115. package/dist/locationutils.d.ts +3 -1
  116. package/dist/locationutils.js +3 -3
  117. package/dist/monitorSlice/index.js +3 -3
  118. package/dist/monitorSlice/mocks.js +3 -3
  119. package/dist/monitorSlice/thunks.cjs +62 -12
  120. package/dist/monitorSlice/thunks.cjs.map +1 -1
  121. package/dist/monitorSlice/thunks.js +21 -21
  122. package/dist/onboardingSlice/thunks.cjs +82 -23
  123. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  124. package/dist/onboardingSlice/thunks.js +25 -25
  125. package/dist/organizationSlice/constants.js +2 -2
  126. package/dist/organizationSlice/index.js +3 -3
  127. package/dist/organizationSlice/mocks.js +3 -3
  128. package/dist/organizationSlice/selectors.cjs +0 -20
  129. package/dist/organizationSlice/selectors.cjs.map +1 -1
  130. package/dist/organizationSlice/selectors.d.cts +1 -155
  131. package/dist/organizationSlice/selectors.d.ts +1 -155
  132. package/dist/organizationSlice/selectors.js +3 -5
  133. package/dist/organizationSlice/thunks.cjs +105 -46
  134. package/dist/organizationSlice/thunks.cjs.map +1 -1
  135. package/dist/organizationSlice/thunks.d.cts +5 -5
  136. package/dist/organizationSlice/thunks.d.ts +5 -5
  137. package/dist/organizationSlice/thunks.js +25 -25
  138. package/dist/releasesSlice/index.cjs +46 -0
  139. package/dist/releasesSlice/index.cjs.map +1 -1
  140. package/dist/releasesSlice/index.d.cts +51 -3
  141. package/dist/releasesSlice/index.d.ts +51 -3
  142. package/dist/releasesSlice/index.js +3 -3
  143. package/dist/releasesSlice/mocks.cjs +46 -0
  144. package/dist/releasesSlice/mocks.cjs.map +1 -1
  145. package/dist/releasesSlice/mocks.d.cts +13 -0
  146. package/dist/releasesSlice/mocks.d.ts +13 -0
  147. package/dist/releasesSlice/mocks.js +3 -3
  148. package/dist/releasesSlice/selectors.cjs +13 -0
  149. package/dist/releasesSlice/selectors.cjs.map +1 -1
  150. package/dist/releasesSlice/selectors.d.cts +186 -1
  151. package/dist/releasesSlice/selectors.d.ts +186 -1
  152. package/dist/releasesSlice/selectors.js +12 -4
  153. package/dist/releasesSlice/thunks.cjs +105 -20
  154. package/dist/releasesSlice/thunks.cjs.map +1 -1
  155. package/dist/releasesSlice/thunks.d.cts +68 -3
  156. package/dist/releasesSlice/thunks.d.ts +68 -3
  157. package/dist/releasesSlice/thunks.js +26 -22
  158. package/dist/selectors.cjs +19 -20
  159. package/dist/selectors.cjs.map +1 -1
  160. package/dist/selectors.d.cts +5 -3
  161. package/dist/selectors.d.ts +5 -3
  162. package/dist/selectors.js +19 -11
  163. package/dist/sockethook.cjs.map +1 -1
  164. package/dist/sockethook.js +2 -2
  165. package/dist/store.cjs +53 -3
  166. package/dist/store.cjs.map +1 -1
  167. package/dist/store.d.cts +11 -110
  168. package/dist/store.d.ts +11 -110
  169. package/dist/store.js +12 -12
  170. package/dist/storehooks.cjs +149 -60
  171. package/dist/storehooks.cjs.map +1 -1
  172. package/dist/storehooks.js +27 -28
  173. package/dist/storehooks.js.map +1 -1
  174. package/dist/thunks.cjs +152 -56
  175. package/dist/thunks.cjs.map +1 -1
  176. package/dist/thunks.d.cts +3 -3
  177. package/dist/thunks.d.ts +3 -3
  178. package/dist/thunks.js +33 -27
  179. package/dist/useDeploymentDevice.cjs +82 -23
  180. package/dist/useDeploymentDevice.cjs.map +1 -1
  181. package/dist/useDeploymentDevice.js +25 -25
  182. package/dist/usersSlice/constants.js +2 -2
  183. package/dist/usersSlice/index.js +3 -3
  184. package/dist/usersSlice/mocks.js +3 -3
  185. package/dist/usersSlice/selectors.cjs.map +1 -1
  186. package/dist/usersSlice/selectors.js +4 -4
  187. package/dist/usersSlice/thunks.cjs +84 -25
  188. package/dist/usersSlice/thunks.cjs.map +1 -1
  189. package/dist/usersSlice/thunks.d.cts +18 -10
  190. package/dist/usersSlice/thunks.d.ts +18 -10
  191. package/dist/usersSlice/thunks.js +27 -27
  192. package/dist/utils.cjs +1 -1
  193. package/dist/utils.cjs.map +1 -1
  194. package/dist/utils.js +3 -3
  195. package/package.json +5 -5
  196. package/dist/chunk-6KGTHJKC.js.map +0 -1
  197. package/dist/chunk-7C4SQBEE.js.map +0 -1
  198. package/dist/chunk-FQW72QFK.js.map +0 -1
  199. package/dist/chunk-HFOTAPIJ.js.map +0 -1
  200. package/dist/chunk-JXQUFKID.js.map +0 -1
  201. package/dist/chunk-OOICURFL.js.map +0 -1
  202. package/dist/chunk-QEKN5R7E.js.map +0 -1
  203. package/dist/chunk-RS37Y2PQ.js.map +0 -1
  204. package/dist/chunk-VUFRP6P3.js.map +0 -1
  205. package/dist/chunk-YWHRAPDQ.js.map +0 -1
  206. package/dist/chunk-YY6SKZDF.js.map +0 -1
  207. /package/dist/{chunk-MZNANSS2.js.map → chunk-4DOSYAJY.js.map} +0 -0
  208. /package/dist/{chunk-4E7ZSEFL.js.map → chunk-4UJXT6RF.js.map} +0 -0
  209. /package/dist/{chunk-ZJW3QIPM.js.map → chunk-66NK2ZV2.js.map} +0 -0
  210. /package/dist/{chunk-PGFVHKP5.js.map → chunk-AVCIWAZB.js.map} +0 -0
  211. /package/dist/{chunk-UGSLGUS6.js.map → chunk-CWZKWW74.js.map} +0 -0
  212. /package/dist/{chunk-ZIUUV35J.js.map → chunk-DYN7AU7R.js.map} +0 -0
  213. /package/dist/{chunk-7PRZYHDP.js.map → chunk-I6JE3OLT.js.map} +0 -0
  214. /package/dist/{chunk-ABJLRDCO.js.map → chunk-IY76MO6R.js.map} +0 -0
  215. /package/dist/{chunk-MPYYSFPL.js.map → chunk-J74LNK6P.js.map} +0 -0
  216. /package/dist/{chunk-KJNNEDRV.js.map → chunk-JZXNRDO2.js.map} +0 -0
  217. /package/dist/{chunk-NQIP7VFB.js.map → chunk-VCTZ25Q5.js.map} +0 -0
  218. /package/dist/{chunk-QHK7GGV4.js.map → chunk-ZZ3YDCYZ.js.map} +0 -0
@@ -73,7 +73,7 @@ __export(thunks_exports, {
73
73
  module.exports = __toCommonJS(thunks_exports);
74
74
  var import_MenderTypes2 = require("@northern.tech/types/MenderTypes");
75
75
  var import_helpers11 = require("@northern.tech/utils/helpers");
76
- var import_dayjs2 = __toESM(require("dayjs"), 1);
76
+ var import_dayjs = __toESM(require("dayjs"), 1);
77
77
  var import_utc = __toESM(require("dayjs/plugin/utc.js"), 1);
78
78
  var import_jwt_decode = require("jwt-decode");
79
79
  var import_md52 = __toESM(require("md5"), 1);
@@ -99,6 +99,7 @@ var emptyChartSelection = { software: "", group: "", chartType: chartTypes.bar.k
99
99
  var defaultReportType = "distribution";
100
100
  var defaultReports = [{ ...emptyChartSelection, group: null, attribute: "artifact_name", type: defaultReportType }];
101
101
  var locations = {
102
+ cn: { key: "cn", title: "China", location: "cn.hosted.mender.io" },
102
103
  eu: { key: "eu", title: "EU", location: "eu.hosted.mender.io" },
103
104
  us: { key: "us", title: "US", location: "hosted.mender.io" }
104
105
  };
@@ -918,6 +919,7 @@ var initialState2 = {
918
919
  },
919
920
  // return boolean rather than organization details
920
921
  features: {
922
+ hasAiEnabled: false,
921
923
  hasAuditlogs: false,
922
924
  hasDeltaProgress: false,
923
925
  hasMultitenancy: false,
@@ -926,7 +928,6 @@ var initialState2 = {
926
928
  hasFeedbackEnabled: false,
927
929
  hasMonitor: false,
928
930
  hasReporting: false,
929
- isDemoMode: false,
930
931
  isHosted: true,
931
932
  isEnterprise: false
932
933
  },
@@ -977,8 +978,12 @@ var appSlice = (0, import_toolkit2.createSlice)({
977
978
  };
978
979
  },
979
980
  setSnackbar: (state, { payload }) => {
980
- if (typeof payload === "string") {
981
- state.snackbar.message = payload;
981
+ if (typeof payload === "string" || payload instanceof String) {
982
+ state.snackbar = {
983
+ ...initialState2.snackbar,
984
+ message: payload,
985
+ open: !!payload
986
+ };
982
987
  return;
983
988
  }
984
989
  const { message, autoHideDuration, action, preventClickToCopy = false } = payload;
@@ -1472,6 +1477,23 @@ var initialState7 = {
1472
1477
  }
1473
1478
  */
1474
1479
  },
1480
+ deltaJobs: {
1481
+ /*
1482
+ [jobId]: {
1483
+ id: '',
1484
+ ...
1485
+ }
1486
+ */
1487
+ },
1488
+ deltaJobsList: {
1489
+ ...import_constants5.DEVICE_LIST_DEFAULTS,
1490
+ jobIds: [],
1491
+ total: 0,
1492
+ sort: {
1493
+ direction: import_constants5.SORTING_OPTIONS.desc,
1494
+ key: "started"
1495
+ }
1496
+ },
1475
1497
  releasesList: {
1476
1498
  ...import_constants5.DEVICE_LIST_DEFAULTS,
1477
1499
  searchedIds: [],
@@ -1490,6 +1512,7 @@ var initialState7 = {
1490
1512
  },
1491
1513
  tags: [],
1492
1514
  updateTypes: [],
1515
+ selectedJob: null,
1493
1516
  /*
1494
1517
  * Return single release with corresponding Artifacts
1495
1518
  */
@@ -1522,6 +1545,34 @@ var releaseSlice = (0, import_toolkit7.createSlice)({
1522
1545
  },
1523
1546
  setReleaseListState: (state, action) => {
1524
1547
  state.releasesList = action.payload;
1548
+ },
1549
+ receivedDeltaJobs: (state, action) => {
1550
+ const { jobs, total } = action.payload;
1551
+ state.deltaJobs = jobs.reduce(
1552
+ (accu, job) => {
1553
+ accu[job.id] = {
1554
+ ...accu[job.id],
1555
+ ...job
1556
+ };
1557
+ return accu;
1558
+ },
1559
+ { ...state.deltaJobs }
1560
+ );
1561
+ state.deltaJobsList.jobIds = jobs.map((job) => job.id);
1562
+ state.deltaJobsList.total = total;
1563
+ },
1564
+ receivedDeltaJobDetails: (state, action) => {
1565
+ const job = action.payload;
1566
+ state.deltaJobs[job.id] = {
1567
+ ...state.deltaJobs[job.id],
1568
+ ...job
1569
+ };
1570
+ },
1571
+ setDeltaJobsListState: (state, action) => {
1572
+ state.deltaJobsList = { ...state.deltaJobsList, ...action.payload };
1573
+ },
1574
+ setSelectedJob: (state, action) => {
1575
+ state.selectedJob = action.payload;
1525
1576
  }
1526
1577
  }
1527
1578
  });
@@ -1718,7 +1769,7 @@ var cleanUp = () => {
1718
1769
 
1719
1770
  // src/api/general-api.ts
1720
1771
  var unauthorizedRedirect = (error) => {
1721
- if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken()) {
1772
+ if (!(0, import_axios.isCancel)(error) && error.response?.status === 401 && getToken() && !window.location.pathname.endsWith("/subscription")) {
1722
1773
  cleanUp();
1723
1774
  window.location.replace("/ui/");
1724
1775
  }
@@ -1778,6 +1829,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
1778
1829
  var getDeploymentsByStatus = (state) => state.deployments.byStatus;
1779
1830
  var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
1780
1831
  var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
1832
+ var getDeploymentById = (0, import_toolkit10.createSelector)(
1833
+ [getDeploymentsById, (_, deploymentId) => deploymentId],
1834
+ (deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
1835
+ );
1781
1836
  var getMappedDeploymentSelection = (0, import_toolkit10.createSelector)(
1782
1837
  [getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
1783
1838
  (selectionState, deploymentsState, deploymentsById) => {
@@ -1927,8 +1982,6 @@ var getOnboarding = (state) => state.onboarding;
1927
1982
 
1928
1983
  // src/organizationSlice/selectors.ts
1929
1984
  var import_toolkit12 = require("@reduxjs/toolkit");
1930
- var import_dayjs = __toESM(require("dayjs"), 1);
1931
- var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1);
1932
1985
  var getOrganization = (state) => state.organization.organization;
1933
1986
  var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
1934
1987
  var getAuditlogState = (state) => state.organization.auditlog.selectionState;
@@ -1957,12 +2010,6 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
1957
2010
  const [eventAction, eventTime] = atob(selectedId).split("|");
1958
2011
  return events.find((item) => item.action === eventAction && item.time === eventTime);
1959
2012
  });
1960
- import_dayjs.default.extend(import_relativeTime.default);
1961
- var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
1962
- var getHasCurrentPricing = (0, import_toolkit12.createSelector)(
1963
- [getOrganization],
1964
- ({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
1965
- );
1966
2013
 
1967
2014
  // src/releasesSlice/selectors.ts
1968
2015
  var import_toolkit13 = require("@reduxjs/toolkit");
@@ -2113,6 +2160,10 @@ var getHasReleases = (0, import_toolkit13.createSelector)(
2113
2160
  );
2114
2161
  var getSelectedRelease = (0, import_toolkit13.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
2115
2162
  var getSelectedReleases = (0, import_toolkit13.createSelector)([getReleaseListState, getReleasesList], ({ selection }, releases) => selection.map((index) => releases[index]));
2163
+ var getDeltaJobsById = (state) => state.releases.deltaJobs;
2164
+ var getDeltaJobById = (0, import_toolkit13.createSelector)([getDeltaJobsById, (_, jobId) => jobId], (byId, jobId) => byId[jobId]);
2165
+ var getSelectedJobId = (state) => state.releases.selectedJob;
2166
+ var getSelectedJob = (0, import_toolkit13.createSelector)([getDeltaJobsById, getSelectedJobId], (byId, jobId) => byId[jobId || ""]);
2116
2167
 
2117
2168
  // src/usersSlice/selectors.ts
2118
2169
  var import_toolkit14 = require("@reduxjs/toolkit");
@@ -2922,6 +2973,15 @@ var saveDeltaDeploymentsConfig = createAppAsyncThunk(
2922
2973
  });
2923
2974
  }
2924
2975
  );
2976
+ var generateDeploymentLogAnalysis = createAppAsyncThunk(
2977
+ `${sliceName3}/generateDeploymentLogAnalysis`,
2978
+ ({ deploymentId, deviceId }, { dispatch, rejectWithValue }) => general_api_default.get(`${import_constants5.apiRoot}/v1alpha1/deployments/deployments/${deploymentId}/devices/${deviceId}/log/explain`).then(({ data: result }) => Promise.resolve(result)).catch((err) => {
2979
+ if (err.response.status === 429) {
2980
+ return rejectWithValue(err.response);
2981
+ }
2982
+ commonErrorHandler(err, "There was an error analysing the deployment log:", dispatch);
2983
+ })
2984
+ );
2925
2985
 
2926
2986
  // src/devicesSlice/thunks.tsx
2927
2987
  var import_react_router_dom = require("react-router-dom");
@@ -3001,15 +3061,15 @@ var removeDevicesFromGroup = createAppAsyncThunk(
3001
3061
  )
3002
3062
  );
3003
3063
  var getGroupNotification = (newGroup, selectedGroup) => {
3004
- const successMessage2 = "The group was updated successfully";
3064
+ const successMessage = "The group was updated successfully";
3005
3065
  if (newGroup === selectedGroup) {
3006
- return { message: successMessage2, autoHideDuration: TIMEOUTS.fiveSeconds };
3066
+ return { message: successMessage, autoHideDuration: TIMEOUTS.fiveSeconds };
3007
3067
  }
3008
3068
  return {
3009
3069
  action: "",
3010
3070
  autoHideDuration: TIMEOUTS.fiveSeconds,
3011
3071
  message: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
3012
- successMessage2,
3072
+ successMessage,
3013
3073
  " - ",
3014
3074
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_router_dom.Link, { to: `/devices?inventory=group:eq:${newGroup}`, children: "click here" }),
3015
3075
  " to see it."
@@ -3541,9 +3601,10 @@ var getDeviceConnect = createAppAsyncThunk(
3541
3601
  var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
3542
3602
  var triggerDeviceUpdate = createAppAsyncThunk(
3543
3603
  `${sliceName4}/triggerDeviceUpdate`,
3544
- ({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
3545
- () => new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds))
3546
- )
3604
+ ({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).catch((err) => commonErrorHandler(err, `The request couldn\u2019t be sent.`, dispatch)).then(() => {
3605
+ dispatch(setSnackbar3("Request has been sent."));
3606
+ return new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds));
3607
+ })
3547
3608
  );
3548
3609
  var getSessionDetails = createAppAsyncThunk(
3549
3610
  `${sliceName4}/getSessionDetails`,
@@ -4530,21 +4591,20 @@ var setAllTooltipsReadState = createAppAsyncThunk(
4530
4591
  return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
4531
4592
  }
4532
4593
  );
4533
- var submitFeedback = createAppAsyncThunk(
4594
+ var submitUserFeedback = createAppAsyncThunk(
4534
4595
  `${sliceName8}/submitFeedback`,
4535
- ({ satisfaction, feedback, ...meta }, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/contact/support`, {
4536
- subject: "feedback submission",
4537
- body: JSON.stringify({ feedback, satisfaction, meta })
4538
- }).then(() => {
4539
- const today = /* @__PURE__ */ new Date();
4540
- dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
4541
- setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
4596
+ ({ formId, feedback }, { dispatch }) => general_api_default.post(`${import_constants5.useradmApiUrlv2}/support/feedback/${formId}`, feedback).then(() => {
4597
+ if (formId === "product") {
4598
+ const today = /* @__PURE__ */ new Date();
4599
+ dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
4600
+ setTimeout(() => dispatch(actions8.setShowFeedbackDialog(false)), TIMEOUTS.threeSeconds);
4601
+ }
4542
4602
  })
4543
4603
  );
4544
4604
 
4545
4605
  // src/organizationSlice/thunks.ts
4546
4606
  var cookies4 = new import_universal_cookie4.default();
4547
- import_dayjs2.default.extend(import_utc.default);
4607
+ import_dayjs.default.extend(import_utc.default);
4548
4608
  var { setAnnouncement: setAnnouncement2, setSnackbar: setSnackbar5 } = actions_default;
4549
4609
  var { page: defaultPage4, perPage: defaultPerPage4 } = import_constants5.DEVICE_LIST_DEFAULTS;
4550
4610
  var cancelRequest = createAppAsyncThunk(`${sliceName}/cancelRequest`, (reason, { dispatch, getState }) => {
@@ -4571,10 +4631,12 @@ var createOrganizationTrial = createAppAsyncThunk(`${sliceName}/createOrganizati
4571
4631
  const targetLocation = getTargetLocation(key);
4572
4632
  const target = `${targetLocation}${import_constants5.tenantadmApiUrlv2}/tenants/trial`;
4573
4633
  return general_api_default.postUnauthorized(target, data).catch((err) => {
4574
- if (err.response.status >= 400 && err.response.status < 500) {
4634
+ if (err.response?.status >= 400 && err.response?.status < 500) {
4575
4635
  dispatch(setSnackbar5({ message: err.response.data.error, autoHideDuration: TIMEOUTS.fiveSeconds }));
4576
- return Promise.reject(err);
4636
+ } else {
4637
+ dispatch(setSnackbar5({ message: "There was an error creating your account", autoHideDuration: TIMEOUTS.fiveSeconds }));
4577
4638
  }
4639
+ return Promise.reject(err);
4578
4640
  }).then(({ headers }) => {
4579
4641
  cookies4.remove("oauth");
4580
4642
  cookies4.remove("externalID");
@@ -4756,32 +4818,29 @@ var getUserOrganization = createAppAsyncThunk(
4756
4818
  );
4757
4819
  var getUserBilling = createAppAsyncThunk(
4758
4820
  `${sliceName}/getUserBilling`,
4759
- (_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/profile`).then((res) => dispatch(actions.setBillingProfile(res.data)))
4821
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/profile`).catch((err) => commonErrorHandler(err, "There was an error getting your billing profile:", dispatch, commonErrorFallback)).then((res) => dispatch(actions.setBillingProfile(res.data)))
4760
4822
  );
4761
- var getUserSubscription = createAppAsyncThunk(`${sliceName}/getUserSubscription`, (_, { dispatch }) => {
4762
- const tasks = [dispatch(getBillingPreview({ preview_mode: import_MenderTypes2.PreviewRequest.preview_mode.NEXT })).unwrap(), dispatch(getCurrentSubscription()).unwrap()];
4763
- Promise.all(tasks).then(([currentPreview, currentSubscription]) => dispatch(actions.setSubscription({ ...currentPreview, ...currentSubscription })));
4823
+ var getUserSubscription = createAppAsyncThunk(`${sliceName}/getUserSubscription`, async (_, { dispatch }) => {
4824
+ const currentSubscription = await dispatch(getCurrentSubscription()).unwrap();
4825
+ const currentPreview = await dispatch(getBillingPreview({ preview_mode: import_MenderTypes2.PreviewRequest.preview_mode.NEXT })).unwrap();
4826
+ return dispatch(actions.setSubscription({ ...currentPreview, ...currentSubscription }));
4764
4827
  });
4765
4828
  var getBillingPreview = createAppAsyncThunk(
4766
4829
  `${sliceName}/getBillingPreview`,
4767
- (order) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).then(
4768
- ({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data
4769
- )
4830
+ (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).catch((err) => commonErrorHandler(err, "There was an error getting your billing information:", dispatch, commonErrorFallback)).then(({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data)
4770
4831
  );
4771
4832
  var getCurrentSubscription = createAppAsyncThunk(
4772
4833
  `${sliceName}/getCurrentSubscription`,
4773
- () => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`).then((res) => res.data)
4834
+ (_, { dispatch }) => general_api_default.get(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`).then((res) => res.data).catch((err) => {
4835
+ if (err.response && err.response.status === 404) {
4836
+ throw new Error("Request failed with status code 404");
4837
+ }
4838
+ return commonErrorHandler(err, "There was an error retrieving your current subscription", dispatch, commonErrorFallback);
4839
+ })
4774
4840
  );
4775
- var successMessage = (planId) => `Thank you! You have successfully subscribed to the ${PLANS[planId].name} plan. You can view and edit your billing details on the Organization and billing page.`;
4776
4841
  var requestPlanUpgrade = createAppAsyncThunk(
4777
4842
  `${sliceName}/requestPlanUpgrade`,
4778
- (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(
4779
- () => Promise.all([
4780
- dispatch(setSnackbar5(successMessage(order.plan))),
4781
- setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds),
4782
- dispatch(getUserOrganization())
4783
- ])
4784
- )
4843
+ (order, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription`, order).catch((err) => commonErrorHandler(err, "There was an error sending your request", dispatch, commonErrorFallback)).then(() => Promise.all([setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds), dispatch(getUserOrganization())]))
4785
4844
  );
4786
4845
  var sendSupportMessage = createAppAsyncThunk(
4787
4846
  `${sliceName}/sendSupportMessage`,