@northern.tech/store 0.5.2 → 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 (216) hide show
  1. package/dist/actions.cjs +47 -0
  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 +1 -0
  22. package/dist/appSlice/index.cjs.map +1 -1
  23. package/dist/appSlice/index.js +3 -3
  24. package/dist/appSlice/mocks.cjs +1 -0
  25. package/dist/appSlice/mocks.cjs.map +1 -1
  26. package/dist/appSlice/mocks.js +3 -3
  27. package/dist/appSlice/thunks.cjs +76 -20
  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-R6KRH2IY.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-UE5N5VO3.js → chunk-CEEXZF5E.js} +3 -3
  41. package/dist/{chunk-UGSLGUS6.js → chunk-CWZKWW74.js} +2 -2
  42. package/dist/{chunk-3P3IE42O.js → chunk-DE25YP6N.js} +62 -54
  43. package/dist/chunk-DE25YP6N.js.map +1 -0
  44. package/dist/{chunk-QYLGIR4W.js → chunk-DXJ2WS3N.js} +3 -2
  45. package/dist/chunk-DXJ2WS3N.js.map +1 -0
  46. package/dist/{chunk-H5FAPMJJ.js → chunk-DYN7AU7R.js} +9 -9
  47. package/dist/{chunk-JXQUFKID.js → chunk-GRVTVLIZ.js} +7 -2
  48. package/dist/chunk-GRVTVLIZ.js.map +1 -0
  49. package/dist/{chunk-KC7SKI3U.js → chunk-HLTP624H.js} +8 -5
  50. package/dist/{chunk-KC7SKI3U.js.map → chunk-HLTP624H.js.map} +1 -1
  51. package/dist/{chunk-F26IKSML.js → chunk-I6JE3OLT.js} +8 -8
  52. package/dist/{chunk-ABJLRDCO.js → chunk-IY76MO6R.js} +2 -2
  53. package/dist/{chunk-V3QEONX7.js → chunk-J74LNK6P.js} +11 -11
  54. package/dist/{chunk-QKPV5RRN.js → chunk-JOK26PI7.js} +51 -18
  55. package/dist/chunk-JOK26PI7.js.map +1 -0
  56. package/dist/{chunk-KJNNEDRV.js → chunk-JZXNRDO2.js} +2 -2
  57. package/dist/{chunk-MSOXMRF7.js → chunk-KGSJ7CSA.js} +12 -3
  58. package/dist/{chunk-MSOXMRF7.js.map → chunk-KGSJ7CSA.js.map} +1 -1
  59. package/dist/{chunk-OOICURFL.js → chunk-KJJ47UIO.js} +48 -2
  60. package/dist/chunk-KJJ47UIO.js.map +1 -0
  61. package/dist/{chunk-7C4SQBEE.js → chunk-MRXTMI6O.js} +1 -1
  62. package/dist/chunk-MRXTMI6O.js.map +1 -0
  63. package/dist/{chunk-HFOTAPIJ.js → chunk-PY6ID7TL.js} +2 -1
  64. package/dist/chunk-PY6ID7TL.js.map +1 -0
  65. package/dist/{chunk-SCZLNFB5.js → chunk-VCTZ25Q5.js} +9 -9
  66. package/dist/{chunk-YY6SKZDF.js → chunk-W37ETKI6.js} +3 -12
  67. package/dist/chunk-W37ETKI6.js.map +1 -0
  68. package/dist/{chunk-QHK7GGV4.js → chunk-ZZ3YDCYZ.js} +3 -3
  69. package/dist/commonConstants.cjs.map +1 -1
  70. package/dist/commonConstants.d.cts +6 -5
  71. package/dist/commonConstants.d.ts +6 -5
  72. package/dist/commonConstants.js +2 -2
  73. package/dist/commonSelectors.cjs +8 -18
  74. package/dist/commonSelectors.cjs.map +1 -1
  75. package/dist/commonSelectors.js +9 -9
  76. package/dist/constants.cjs +1 -0
  77. package/dist/constants.cjs.map +1 -1
  78. package/dist/constants.d.cts +1 -1
  79. package/dist/constants.d.ts +1 -1
  80. package/dist/constants.js +2 -2
  81. package/dist/deploymentsSlice/constants.js +2 -2
  82. package/dist/deploymentsSlice/index.cjs.map +1 -1
  83. package/dist/deploymentsSlice/index.d.cts +2 -2
  84. package/dist/deploymentsSlice/index.d.ts +2 -2
  85. package/dist/deploymentsSlice/index.js +3 -3
  86. package/dist/deploymentsSlice/mocks.cjs.map +1 -1
  87. package/dist/deploymentsSlice/mocks.js +3 -3
  88. package/dist/deploymentsSlice/selectors.cjs +6 -0
  89. package/dist/deploymentsSlice/selectors.cjs.map +1 -1
  90. package/dist/deploymentsSlice/selectors.d.cts +22 -1
  91. package/dist/deploymentsSlice/selectors.d.ts +22 -1
  92. package/dist/deploymentsSlice/selectors.js +5 -3
  93. package/dist/deploymentsSlice/thunks.cjs +78 -20
  94. package/dist/deploymentsSlice/thunks.cjs.map +1 -1
  95. package/dist/deploymentsSlice/thunks.d.cts +14 -1
  96. package/dist/deploymentsSlice/thunks.d.ts +14 -1
  97. package/dist/deploymentsSlice/thunks.js +27 -25
  98. package/dist/devicesSlice/constants.js +2 -2
  99. package/dist/devicesSlice/index.js +3 -3
  100. package/dist/devicesSlice/mocks.js +3 -3
  101. package/dist/devicesSlice/selectors.cjs.map +1 -1
  102. package/dist/devicesSlice/selectors.js +3 -3
  103. package/dist/devicesSlice/thunks.cjs +76 -20
  104. package/dist/devicesSlice/thunks.cjs.map +1 -1
  105. package/dist/devicesSlice/thunks.js +25 -25
  106. package/dist/liststatehook.cjs +6 -3
  107. package/dist/liststatehook.cjs.map +1 -1
  108. package/dist/liststatehook.d.cts +4 -2
  109. package/dist/liststatehook.d.ts +4 -2
  110. package/dist/liststatehook.js +3 -3
  111. package/dist/locationutils.cjs +6 -3
  112. package/dist/locationutils.cjs.map +1 -1
  113. package/dist/locationutils.d.cts +3 -1
  114. package/dist/locationutils.d.ts +3 -1
  115. package/dist/locationutils.js +3 -3
  116. package/dist/monitorSlice/index.js +3 -3
  117. package/dist/monitorSlice/mocks.js +3 -3
  118. package/dist/monitorSlice/thunks.cjs +56 -9
  119. package/dist/monitorSlice/thunks.cjs.map +1 -1
  120. package/dist/monitorSlice/thunks.js +21 -21
  121. package/dist/onboardingSlice/thunks.cjs +76 -20
  122. package/dist/onboardingSlice/thunks.cjs.map +1 -1
  123. package/dist/onboardingSlice/thunks.js +25 -25
  124. package/dist/organizationSlice/constants.js +2 -2
  125. package/dist/organizationSlice/index.js +3 -3
  126. package/dist/organizationSlice/mocks.js +3 -3
  127. package/dist/organizationSlice/selectors.cjs +0 -20
  128. package/dist/organizationSlice/selectors.cjs.map +1 -1
  129. package/dist/organizationSlice/selectors.d.cts +1 -155
  130. package/dist/organizationSlice/selectors.d.ts +1 -155
  131. package/dist/organizationSlice/selectors.js +3 -5
  132. package/dist/organizationSlice/thunks.cjs +99 -43
  133. package/dist/organizationSlice/thunks.cjs.map +1 -1
  134. package/dist/organizationSlice/thunks.d.cts +5 -5
  135. package/dist/organizationSlice/thunks.d.ts +5 -5
  136. package/dist/organizationSlice/thunks.js +25 -25
  137. package/dist/releasesSlice/index.cjs +46 -0
  138. package/dist/releasesSlice/index.cjs.map +1 -1
  139. package/dist/releasesSlice/index.d.cts +51 -3
  140. package/dist/releasesSlice/index.d.ts +51 -3
  141. package/dist/releasesSlice/index.js +3 -3
  142. package/dist/releasesSlice/mocks.cjs +46 -0
  143. package/dist/releasesSlice/mocks.cjs.map +1 -1
  144. package/dist/releasesSlice/mocks.d.cts +13 -0
  145. package/dist/releasesSlice/mocks.d.ts +13 -0
  146. package/dist/releasesSlice/mocks.js +3 -3
  147. package/dist/releasesSlice/selectors.cjs +13 -0
  148. package/dist/releasesSlice/selectors.cjs.map +1 -1
  149. package/dist/releasesSlice/selectors.d.cts +186 -1
  150. package/dist/releasesSlice/selectors.d.ts +186 -1
  151. package/dist/releasesSlice/selectors.js +12 -4
  152. package/dist/releasesSlice/thunks.cjs +99 -17
  153. package/dist/releasesSlice/thunks.cjs.map +1 -1
  154. package/dist/releasesSlice/thunks.d.cts +68 -3
  155. package/dist/releasesSlice/thunks.d.ts +68 -3
  156. package/dist/releasesSlice/thunks.js +26 -22
  157. package/dist/selectors.cjs +19 -20
  158. package/dist/selectors.cjs.map +1 -1
  159. package/dist/selectors.d.cts +5 -3
  160. package/dist/selectors.d.ts +5 -3
  161. package/dist/selectors.js +19 -11
  162. package/dist/sockethook.cjs.map +1 -1
  163. package/dist/sockethook.js +2 -2
  164. package/dist/store.cjs +47 -0
  165. package/dist/store.cjs.map +1 -1
  166. package/dist/store.d.cts +11 -110
  167. package/dist/store.d.ts +11 -110
  168. package/dist/store.js +12 -12
  169. package/dist/storehooks.cjs +142 -54
  170. package/dist/storehooks.cjs.map +1 -1
  171. package/dist/storehooks.js +26 -25
  172. package/dist/storehooks.js.map +1 -1
  173. package/dist/thunks.cjs +146 -53
  174. package/dist/thunks.cjs.map +1 -1
  175. package/dist/thunks.d.cts +3 -3
  176. package/dist/thunks.d.ts +3 -3
  177. package/dist/thunks.js +33 -27
  178. package/dist/useDeploymentDevice.cjs +76 -20
  179. package/dist/useDeploymentDevice.cjs.map +1 -1
  180. package/dist/useDeploymentDevice.js +25 -25
  181. package/dist/usersSlice/constants.js +2 -2
  182. package/dist/usersSlice/index.js +3 -3
  183. package/dist/usersSlice/mocks.js +3 -3
  184. package/dist/usersSlice/selectors.cjs.map +1 -1
  185. package/dist/usersSlice/selectors.js +4 -4
  186. package/dist/usersSlice/thunks.cjs +78 -22
  187. package/dist/usersSlice/thunks.cjs.map +1 -1
  188. package/dist/usersSlice/thunks.d.cts +18 -10
  189. package/dist/usersSlice/thunks.d.ts +18 -10
  190. package/dist/usersSlice/thunks.js +27 -27
  191. package/dist/utils.cjs.map +1 -1
  192. package/dist/utils.js +3 -3
  193. package/package.json +5 -5
  194. package/dist/chunk-3P3IE42O.js.map +0 -1
  195. package/dist/chunk-7C4SQBEE.js.map +0 -1
  196. package/dist/chunk-HFOTAPIJ.js.map +0 -1
  197. package/dist/chunk-JXQUFKID.js.map +0 -1
  198. package/dist/chunk-OOICURFL.js.map +0 -1
  199. package/dist/chunk-QKPV5RRN.js.map +0 -1
  200. package/dist/chunk-QYLGIR4W.js.map +0 -1
  201. package/dist/chunk-RS37Y2PQ.js.map +0 -1
  202. package/dist/chunk-VUFRP6P3.js.map +0 -1
  203. package/dist/chunk-YY6SKZDF.js.map +0 -1
  204. /package/dist/{chunk-MZNANSS2.js.map → chunk-4DOSYAJY.js.map} +0 -0
  205. /package/dist/{chunk-R6KRH2IY.js.map → chunk-4UJXT6RF.js.map} +0 -0
  206. /package/dist/{chunk-ZJW3QIPM.js.map → chunk-66NK2ZV2.js.map} +0 -0
  207. /package/dist/{chunk-PGFVHKP5.js.map → chunk-AVCIWAZB.js.map} +0 -0
  208. /package/dist/{chunk-UE5N5VO3.js.map → chunk-CEEXZF5E.js.map} +0 -0
  209. /package/dist/{chunk-UGSLGUS6.js.map → chunk-CWZKWW74.js.map} +0 -0
  210. /package/dist/{chunk-H5FAPMJJ.js.map → chunk-DYN7AU7R.js.map} +0 -0
  211. /package/dist/{chunk-F26IKSML.js.map → chunk-I6JE3OLT.js.map} +0 -0
  212. /package/dist/{chunk-ABJLRDCO.js.map → chunk-IY76MO6R.js.map} +0 -0
  213. /package/dist/{chunk-V3QEONX7.js.map → chunk-J74LNK6P.js.map} +0 -0
  214. /package/dist/{chunk-KJNNEDRV.js.map → chunk-JZXNRDO2.js.map} +0 -0
  215. /package/dist/{chunk-SCZLNFB5.js.map → chunk-VCTZ25Q5.js.map} +0 -0
  216. /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,
@@ -1475,6 +1477,23 @@ var initialState7 = {
1475
1477
  }
1476
1478
  */
1477
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
+ },
1478
1497
  releasesList: {
1479
1498
  ...import_constants5.DEVICE_LIST_DEFAULTS,
1480
1499
  searchedIds: [],
@@ -1493,6 +1512,7 @@ var initialState7 = {
1493
1512
  },
1494
1513
  tags: [],
1495
1514
  updateTypes: [],
1515
+ selectedJob: null,
1496
1516
  /*
1497
1517
  * Return single release with corresponding Artifacts
1498
1518
  */
@@ -1525,6 +1545,34 @@ var releaseSlice = (0, import_toolkit7.createSlice)({
1525
1545
  },
1526
1546
  setReleaseListState: (state, action) => {
1527
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;
1528
1576
  }
1529
1577
  }
1530
1578
  });
@@ -1721,7 +1769,7 @@ var cleanUp = () => {
1721
1769
 
1722
1770
  // src/api/general-api.ts
1723
1771
  var unauthorizedRedirect = (error) => {
1724
- 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")) {
1725
1773
  cleanUp();
1726
1774
  window.location.replace("/ui/");
1727
1775
  }
@@ -1781,6 +1829,10 @@ var getDeploymentsById = (state) => state.deployments.byId;
1781
1829
  var getDeploymentsByStatus = (state) => state.deployments.byStatus;
1782
1830
  var getSelectedDeploymentDeviceIds = (state) => state.deployments.selectedDeviceIds;
1783
1831
  var getDeploymentsSelectionState = (state) => state.deployments.selectionState;
1832
+ var getDeploymentById = (0, import_toolkit10.createSelector)(
1833
+ [getDeploymentsById, (_, deploymentId) => deploymentId],
1834
+ (deploymentsById, deploymentId = "") => deploymentsById[deploymentId]
1835
+ );
1784
1836
  var getMappedDeploymentSelection = (0, import_toolkit10.createSelector)(
1785
1837
  [getDeploymentsSelectionState, (_, deploymentsState) => deploymentsState, getDeploymentsById],
1786
1838
  (selectionState, deploymentsState, deploymentsById) => {
@@ -1930,8 +1982,6 @@ var getOnboarding = (state) => state.onboarding;
1930
1982
 
1931
1983
  // src/organizationSlice/selectors.ts
1932
1984
  var import_toolkit12 = require("@reduxjs/toolkit");
1933
- var import_dayjs = __toESM(require("dayjs"), 1);
1934
- var import_relativeTime = __toESM(require("dayjs/plugin/relativeTime.js"), 1);
1935
1985
  var getOrganization = (state) => state.organization.organization;
1936
1986
  var getExternalIntegrations = (state) => state.organization.externalDeviceIntegrations;
1937
1987
  var getAuditlogState = (state) => state.organization.auditlog.selectionState;
@@ -1960,12 +2010,6 @@ var getAuditLogEntry = (0, import_toolkit12.createSelector)([getAuditLog, getAud
1960
2010
  const [eventAction, eventTime] = atob(selectedId).split("|");
1961
2011
  return events.find((item) => item.action === eventAction && item.time === eventTime);
1962
2012
  });
1963
- import_dayjs.default.extend(import_relativeTime.default);
1964
- var newPricingIntroduction = (0, import_dayjs.default)("2025-06-03T00:00");
1965
- var getHasCurrentPricing = (0, import_toolkit12.createSelector)(
1966
- [getOrganization],
1967
- ({ id }) => !!id && (0, import_dayjs.default)(parseInt(id.substring(0, 8), 16) * 1e3) >= newPricingIntroduction
1968
- );
1969
2013
 
1970
2014
  // src/releasesSlice/selectors.ts
1971
2015
  var import_toolkit13 = require("@reduxjs/toolkit");
@@ -2116,6 +2160,10 @@ var getHasReleases = (0, import_toolkit13.createSelector)(
2116
2160
  );
2117
2161
  var getSelectedRelease = (0, import_toolkit13.createSelector)([getReleasesById, getSelectedReleaseId], (byId, id) => byId[id || ""] ?? {});
2118
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 || ""]);
2119
2167
 
2120
2168
  // src/usersSlice/selectors.ts
2121
2169
  var import_toolkit14 = require("@reduxjs/toolkit");
@@ -2925,6 +2973,15 @@ var saveDeltaDeploymentsConfig = createAppAsyncThunk(
2925
2973
  });
2926
2974
  }
2927
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
+ );
2928
2985
 
2929
2986
  // src/devicesSlice/thunks.tsx
2930
2987
  var import_react_router_dom = require("react-router-dom");
@@ -3004,15 +3061,15 @@ var removeDevicesFromGroup = createAppAsyncThunk(
3004
3061
  )
3005
3062
  );
3006
3063
  var getGroupNotification = (newGroup, selectedGroup) => {
3007
- const successMessage2 = "The group was updated successfully";
3064
+ const successMessage = "The group was updated successfully";
3008
3065
  if (newGroup === selectedGroup) {
3009
- return { message: successMessage2, autoHideDuration: TIMEOUTS.fiveSeconds };
3066
+ return { message: successMessage, autoHideDuration: TIMEOUTS.fiveSeconds };
3010
3067
  }
3011
3068
  return {
3012
3069
  action: "",
3013
3070
  autoHideDuration: TIMEOUTS.fiveSeconds,
3014
3071
  message: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_jsx_runtime2.Fragment, { children: [
3015
- successMessage2,
3072
+ successMessage,
3016
3073
  " - ",
3017
3074
  /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_router_dom.Link, { to: `/devices?inventory=group:eq:${newGroup}`, children: "click here" }),
3018
3075
  " to see it."
@@ -3544,9 +3601,10 @@ var getDeviceConnect = createAppAsyncThunk(
3544
3601
  var updateTypeMap = { deploymentUpdate: "check-update", inventoryUpdate: "send-inventory" };
3545
3602
  var triggerDeviceUpdate = createAppAsyncThunk(
3546
3603
  `${sliceName4}/triggerDeviceUpdate`,
3547
- ({ id, type }, { dispatch }) => general_api_default.post(`${import_constants5.deviceConnect}/devices/${id}/${updateTypeMap[type] ?? updateTypeMap.deploymentUpdate}`).then(
3548
- () => new Promise((resolve) => setTimeout(() => resolve(dispatch(getDeviceById2(id))), TIMEOUTS.threeSeconds))
3549
- )
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
+ })
3550
3608
  );
3551
3609
  var getSessionDetails = createAppAsyncThunk(
3552
3610
  `${sliceName4}/getSessionDetails`,
@@ -4533,21 +4591,20 @@ var setAllTooltipsReadState = createAppAsyncThunk(
4533
4591
  return Promise.resolve(dispatch(actions8.setTooltipsState(updatedTips))).then(() => dispatch(saveUserSettings()));
4534
4592
  }
4535
4593
  );
4536
- var submitFeedback = createAppAsyncThunk(
4594
+ var submitUserFeedback = createAppAsyncThunk(
4537
4595
  `${sliceName8}/submitFeedback`,
4538
- ({ satisfaction, feedback, ...meta }, { dispatch }) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/contact/support`, {
4539
- subject: "feedback submission",
4540
- body: JSON.stringify({ feedback, satisfaction, meta })
4541
- }).then(() => {
4542
- const today = /* @__PURE__ */ new Date();
4543
- dispatch(saveUserSettings({ feedbackCollectedAt: today.toISOString().split("T")[0] }));
4544
- 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
+ }
4545
4602
  })
4546
4603
  );
4547
4604
 
4548
4605
  // src/organizationSlice/thunks.ts
4549
4606
  var cookies4 = new import_universal_cookie4.default();
4550
- import_dayjs2.default.extend(import_utc.default);
4607
+ import_dayjs.default.extend(import_utc.default);
4551
4608
  var { setAnnouncement: setAnnouncement2, setSnackbar: setSnackbar5 } = actions_default;
4552
4609
  var { page: defaultPage4, perPage: defaultPerPage4 } = import_constants5.DEVICE_LIST_DEFAULTS;
4553
4610
  var cancelRequest = createAppAsyncThunk(`${sliceName}/cancelRequest`, (reason, { dispatch, getState }) => {
@@ -4574,10 +4631,12 @@ var createOrganizationTrial = createAppAsyncThunk(`${sliceName}/createOrganizati
4574
4631
  const targetLocation = getTargetLocation(key);
4575
4632
  const target = `${targetLocation}${import_constants5.tenantadmApiUrlv2}/tenants/trial`;
4576
4633
  return general_api_default.postUnauthorized(target, data).catch((err) => {
4577
- if (err.response.status >= 400 && err.response.status < 500) {
4634
+ if (err.response?.status >= 400 && err.response?.status < 500) {
4578
4635
  dispatch(setSnackbar5({ message: err.response.data.error, autoHideDuration: TIMEOUTS.fiveSeconds }));
4579
- return Promise.reject(err);
4636
+ } else {
4637
+ dispatch(setSnackbar5({ message: "There was an error creating your account", autoHideDuration: TIMEOUTS.fiveSeconds }));
4580
4638
  }
4639
+ return Promise.reject(err);
4581
4640
  }).then(({ headers }) => {
4582
4641
  cookies4.remove("oauth");
4583
4642
  cookies4.remove("externalID");
@@ -4759,32 +4818,29 @@ var getUserOrganization = createAppAsyncThunk(
4759
4818
  );
4760
4819
  var getUserBilling = createAppAsyncThunk(
4761
4820
  `${sliceName}/getUserBilling`,
4762
- (_, { 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)))
4763
4822
  );
4764
- var getUserSubscription = createAppAsyncThunk(`${sliceName}/getUserSubscription`, (_, { dispatch }) => {
4765
- const tasks = [dispatch(getBillingPreview({ preview_mode: import_MenderTypes2.PreviewRequest.preview_mode.NEXT })).unwrap(), dispatch(getCurrentSubscription()).unwrap()];
4766
- 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 }));
4767
4827
  });
4768
4828
  var getBillingPreview = createAppAsyncThunk(
4769
4829
  `${sliceName}/getBillingPreview`,
4770
- (order) => general_api_default.post(`${import_constants5.tenantadmApiUrlv2}/billing/subscription/invoices/preview`, order).then(
4771
- ({ data }) => order.preview_mode === "recurring" ? { ...parseSubscriptionPreview(data.lines), total: data.total } : data
4772
- )
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)
4773
4831
  );
4774
4832
  var getCurrentSubscription = createAppAsyncThunk(
4775
4833
  `${sliceName}/getCurrentSubscription`,
4776
- () => 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
+ })
4777
4840
  );
4778
- 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.`;
4779
4841
  var requestPlanUpgrade = createAppAsyncThunk(
4780
4842
  `${sliceName}/requestPlanUpgrade`,
4781
- (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(
4782
- () => Promise.all([
4783
- dispatch(setSnackbar5(successMessage(order.plan))),
4784
- setTimeout(() => dispatch(getDeviceLimit2()), TIMEOUTS.threeSeconds),
4785
- dispatch(getUserOrganization())
4786
- ])
4787
- )
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())]))
4788
4844
  );
4789
4845
  var sendSupportMessage = createAppAsyncThunk(
4790
4846
  `${sliceName}/sendSupportMessage`,