@solidxai/core-ui 0.1.13-beta.0 → 0.1.13-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/adapters/auth/sessionInvalidation.d.ts +3 -0
  2. package/dist/adapters/auth/sessionInvalidation.d.ts.map +1 -0
  3. package/dist/adapters/auth/sessionInvalidation.js +70 -0
  4. package/dist/adapters/auth/sessionInvalidation.js.map +1 -0
  5. package/dist/adapters/auth/sessionInvalidation.ts +22 -0
  6. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  7. package/dist/adapters/auth/signOut.js +0 -2
  8. package/dist/adapters/auth/signOut.js.map +1 -1
  9. package/dist/adapters/auth/signOut.ts +0 -2
  10. package/dist/components/core/card/CardGrid.d.ts +1 -1
  11. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  12. package/dist/components/core/card/CardGrid.js +2 -2
  13. package/dist/components/core/card/CardGrid.js.map +1 -1
  14. package/dist/components/core/card/CardGrid.tsx +2 -0
  15. package/dist/components/core/card/CardItem.d.ts +1 -0
  16. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  17. package/dist/components/core/card/CardItem.js +2 -2
  18. package/dist/components/core/card/CardItem.js.map +1 -1
  19. package/dist/components/core/card/CardItem.tsx +11 -0
  20. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  21. package/dist/components/core/card/SolidCardView.js +82 -30
  22. package/dist/components/core/card/SolidCardView.js.map +1 -1
  23. package/dist/components/core/card/SolidCardView.tsx +68 -7
  24. package/dist/components/core/chatter/SolidMessageComposer.d.ts.map +1 -1
  25. package/dist/components/core/chatter/SolidMessageComposer.js +4 -14
  26. package/dist/components/core/chatter/SolidMessageComposer.js.map +1 -1
  27. package/dist/components/core/chatter/SolidMessageComposer.tsx +4 -15
  28. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  29. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +2 -1
  30. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  31. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +3 -1
  32. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  33. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +2 -1
  34. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  35. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +2 -1
  36. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +32 -2
  37. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  38. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +1 -1
  39. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  40. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +3 -1
  41. package/dist/components/core/common/SolidGlobalSearchElement.js +1 -1
  42. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  43. package/dist/components/core/common/SolidGlobalSearchElement.tsx +1 -1
  44. package/dist/components/core/common/globalSearchPersistence.d.ts +7 -0
  45. package/dist/components/core/common/globalSearchPersistence.d.ts.map +1 -0
  46. package/dist/components/core/common/globalSearchPersistence.js +89 -0
  47. package/dist/components/core/common/globalSearchPersistence.js.map +1 -0
  48. package/dist/components/core/common/globalSearchPersistence.ts +88 -0
  49. package/dist/components/core/form/SolidFormFooter.js +1 -1
  50. package/dist/components/core/form/SolidFormFooter.js.map +1 -1
  51. package/dist/components/core/form/SolidFormFooter.tsx +1 -1
  52. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  53. package/dist/components/core/form/fields/SolidMediaMultipleField.js +6 -8
  54. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  55. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +36 -55
  56. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  57. package/dist/components/core/kanban/SolidKanbanView.js +2 -2
  58. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  59. package/dist/components/core/kanban/SolidKanbanView.tsx +3 -2
  60. package/dist/components/core/list/SolidListView.d.ts +0 -6
  61. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  62. package/dist/components/core/list/SolidListView.js +1 -89
  63. package/dist/components/core/list/SolidListView.js.map +1 -1
  64. package/dist/components/core/list/SolidListView.tsx +5 -95
  65. package/dist/components/core/model/CreateModel.css +1 -0
  66. package/dist/components/core/module/CreateModule.css +1 -0
  67. package/dist/components/core/module/CreateModule.js +1 -1
  68. package/dist/components/core/module/CreateModule.js.map +1 -1
  69. package/dist/components/core/module/CreateModule.tsx +1 -1
  70. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  71. package/dist/components/core/tree/SolidTreeView.js +135 -41
  72. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  73. package/dist/components/core/tree/SolidTreeView.tsx +96 -34
  74. package/dist/constants/error-messages.d.ts +1 -0
  75. package/dist/constants/error-messages.d.ts.map +1 -1
  76. package/dist/constants/error-messages.js +1 -0
  77. package/dist/constants/error-messages.js.map +1 -1
  78. package/dist/constants/error-messages.ts +2 -0
  79. package/dist/http/solidHttp.d.ts.map +1 -1
  80. package/dist/http/solidHttp.js +28 -16
  81. package/dist/http/solidHttp.js.map +1 -1
  82. package/dist/http/solidHttp.ts +7 -1
  83. package/dist/redux/api/fetchBaseQuery.d.ts.map +1 -1
  84. package/dist/redux/api/fetchBaseQuery.js +25 -19
  85. package/dist/redux/api/fetchBaseQuery.js.map +1 -1
  86. package/dist/redux/api/fetchBaseQuery.tsx +5 -0
  87. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -2
  88. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  89. package/dist/redux/api/solidChatterMessageApi.js +3 -3
  90. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  91. package/dist/redux/api/solidChatterMessageApi.ts +3 -3
  92. package/dist/redux/store/defaultStoreConfig.d.ts +1 -1
  93. package/dist/resources/solid-custom.css +5 -1
  94. package/dist/routes/pages/admin/core/DashboardPage.module.css +4 -0
  95. package/package.json +1 -1
@@ -27,7 +27,7 @@ import CompactImage from '../../../resources/images/layout/images/compact.png';
27
27
  import CozyImage from '../../../resources/images/layout/images/cozy.png';
28
28
  import ComfortableImage from '../../../resources/images/layout/images/comfortable.png';
29
29
  import { ERROR_MESSAGES } from "../../../constants/error-messages";
30
- import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../list/SolidListView";
30
+ import { getFilterObjectFromLocalStorage, hasStoredFilterPredicates, setFilterObjectToLocalStorage } from "../common/globalSearchPersistence";
31
31
  import { SolidBeforeTreeNodeLoad } from "../../../types";
32
32
  import { getExtensionFunction } from "../../../helpers/registry";
33
33
  import { SolidTreeLoad, SolidTreeUiEventResponse } from "../../../types/solid-core";
@@ -566,7 +566,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
566
566
  const isEmptyGroupValue = (value: any) =>
567
567
  value === null || value === undefined || value === "";
568
568
 
569
- const buildNestedCondition = (fieldPath: string,condition: Record<string, any>,dateGranularity?: string | null) => {
569
+ const buildNestedCondition = (fieldPath: string, condition: Record<string, any>, dateGranularity?: string | null) => {
570
570
  const parts = fieldPath.split(".").filter(Boolean);
571
571
  if (parts.length === 0) return {};
572
572
 
@@ -577,16 +577,16 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
577
577
  return parts.reduceRight((acc: any, part: string) => ({ [part]: acc }), condition);
578
578
  };
579
579
 
580
- const buildEqCondition = (fieldPath: string,value: any,dateGranularity?: string | null) => buildNestedCondition(fieldPath, { $eq: value }, dateGranularity);
580
+ const buildEqCondition = (fieldPath: string, value: any, dateGranularity?: string | null) => buildNestedCondition(fieldPath, { $eq: value }, dateGranularity);
581
581
 
582
- const buildNullCondition = (fieldPath: string,dateGranularity?: string | null) => buildNestedCondition(fieldPath, { $null: true }, dateGranularity);
582
+ const buildNullCondition = (fieldPath: string, dateGranularity?: string | null) => buildNestedCondition(fieldPath, { $null: true }, dateGranularity);
583
583
 
584
584
  const buildImplicitFilterCondition = (item: GroupPathItem) => {
585
585
  const fieldMetadata = getFieldMetadata(item.fieldName);
586
586
  const isManyToOneRelation =
587
587
  fieldMetadata?.type === "relation" &&
588
588
  fieldMetadata?.relationType === "many-to-one";
589
-
589
+
590
590
  const emptyRelationFilter = { [item.fieldName]: { $null: true } };
591
591
  const emptyValueFilter = isManyToOneRelation
592
592
  ? emptyRelationFilter
@@ -1223,20 +1223,21 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1223
1223
 
1224
1224
 
1225
1225
  // handle bulk deletion
1226
- const deleteBulk = () => {
1227
- let deleteList: any = [];
1228
- selectedRecords.forEach((element: any) => {
1229
- deleteList.push(element.id);
1230
- });
1231
- deleteManySolidEntities(deleteList)
1232
- .unwrap()
1233
- .then(() => {
1234
- dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
1235
- setDeleteRecordsDialogVisible(false);
1236
- })
1237
- .catch((error) => {
1238
- dispatch(showToast({ severity: 'error', summary: 'Delete Failed', detail: error?.data?.message, life: 4000 }));
1239
- });
1226
+ const deleteBulk = async () => {
1227
+ const deleteList = selectedRecords.map((element: any) => element.id);
1228
+ if (deleteList.length === 0) {
1229
+ setDeleteRecordsDialogVisible(false);
1230
+ return;
1231
+ }
1232
+
1233
+ try {
1234
+ await deleteManySolidEntities(deleteList).unwrap();
1235
+ dispatch(showToast({ severity: 'success', summary: 'Deleted', detail: ERROR_MESSAGES.RECORD_DELETE, life: 3000 }));
1236
+ setDeleteRecordsDialogVisible(false);
1237
+ await loadRootGroups(getPagination("root").offset);
1238
+ } catch (error: any) {
1239
+ dispatch(showToast({ severity: 'error', summary: 'Delete Failed', detail: error?.data?.message, life: 4000 }));
1240
+ }
1240
1241
  };
1241
1242
 
1242
1243
  // handle closing of the delete dialog...
@@ -1247,13 +1248,31 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1247
1248
  };
1248
1249
 
1249
1250
 
1250
- const recoverAll = () => {
1251
- let recoverList: any = [];
1252
- selectedRecoverRecords.forEach((element: any) => {
1253
- recoverList.push(element.id);
1254
- });
1255
- triggerRecoverSolidEntities(recoverList);
1256
- setRecoverDialogVisible(false);
1251
+ const recoverAll = async () => {
1252
+ const recoverList = selectedRecoverRecords.map((element: any) => element.id);
1253
+ if (recoverList.length === 0) {
1254
+ setRecoverDialogVisible(false);
1255
+ return;
1256
+ }
1257
+
1258
+ try {
1259
+ const response: any = await triggerRecoverSolidEntities(recoverList).unwrap();
1260
+ setRecoverDialogVisible(false);
1261
+ dispatch(showToast({
1262
+ severity: "success",
1263
+ summary: "Success",
1264
+ detail: response?.data?.message || "Records recovered successfully.",
1265
+ life: 3000,
1266
+ }));
1267
+ await loadRootGroups(getPagination("root").offset);
1268
+ } catch (error: any) {
1269
+ dispatch(showToast({
1270
+ severity: "error",
1271
+ summary: "Recover Failed",
1272
+ detail: error?.data?.message || error?.message || "Unable to recover the selected records.",
1273
+ life: 4000,
1274
+ }));
1275
+ }
1257
1276
  };
1258
1277
 
1259
1278
 
@@ -1401,21 +1420,22 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1401
1420
  const report = `${start} - ${end} of ${total}`;
1402
1421
 
1403
1422
  return (
1404
- <div className="w-full solid-table-paginator solid-table-paginator-align-end flex items-center justify-end gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background">
1405
- <div className="solid-paginator-meta flex items-center gap-2 sm:ml-auto">
1423
+ <div className="w-full solid-table-paginator solid-table-paginator-align-end solid-tree-root-paginator flex flex-wrap items-center justify-between gap-3 text-sm rounded-md border border-border/60 px-2 sm:px-3 py-1.5 bg-background">
1424
+ <div className="solid-paginator-meta solid-tree-root-paginator-meta flex flex-wrap items-center gap-2 sm:ml-auto">
1406
1425
  <span className="solid-paginator-label">Rows</span>
1407
1426
  <SolidSelect
1408
1427
  value={limit}
1409
- className="solid-paginator-select"
1428
+ className="solid-paginator-select solid-tree-page-size-select"
1410
1429
  options={pageSizeOptions.map((option) => ({ label: String(option), value: option }))}
1411
1430
  native={false}
1431
+ menuPlacement="top"
1412
1432
  onChange={(event) => {
1413
1433
  setGlobalLimit(Number(event.value));
1414
1434
  }}
1415
1435
  />
1416
1436
  <span className="solid-paginator-report">{report}</span>
1417
1437
  </div>
1418
- <div className="solid-paginator-actions flex items-center gap-2">
1438
+ <div className="solid-paginator-actions solid-tree-root-paginator-actions flex items-center gap-2">
1419
1439
  <button
1420
1440
  type="button"
1421
1441
  className="solid-paginator-btn"
@@ -1533,7 +1553,9 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1533
1553
 
1534
1554
  if (response?.data?.statusCode === 200) {
1535
1555
  setDeleteEntity(false);
1556
+ setSelectedSolidViewData(undefined);
1536
1557
  dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.ENTITY_DELETE, life: 3000 }));
1558
+ await loadRootGroups(getPagination("root").offset);
1537
1559
  } else {
1538
1560
  dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.DELETE_FAIELD, detail: response?.error?.data?.error, sticky: true }));
1539
1561
  }
@@ -1542,7 +1564,47 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1542
1564
  }
1543
1565
  };
1544
1566
 
1567
+ const handleRecoverRecord = async (record: any) => {
1568
+ if (!record?.id) return;
1569
+
1570
+ try {
1571
+ const response: any = await triggerRecoverSolidEntitiesById(record.id).unwrap();
1572
+ dispatch(showToast({
1573
+ severity: "success",
1574
+ summary: "Success",
1575
+ detail: response?.data?.message || "Record recovered successfully.",
1576
+ life: 3000,
1577
+ }));
1578
+ await loadRootGroups(getPagination("root").offset);
1579
+ } catch (error: any) {
1580
+ dispatch(showToast({
1581
+ severity: "error",
1582
+ summary: "Recover Failed",
1583
+ detail: error?.data?.message || error?.message || "Unable to recover the selected record.",
1584
+ life: 4000,
1585
+ }));
1586
+ }
1587
+ };
1588
+
1545
1589
  const renderRowActions = (rowData: any) => {
1590
+ if (rowData?.deletedAt) {
1591
+ return (
1592
+ <div className="flex items-center justify-end gap-1 cursor-pointer" onClick={(event) => event.stopPropagation()}>
1593
+ <button
1594
+ type="button"
1595
+ className="solid-tree-row-menu-trigger"
1596
+ aria-label="Recover row"
1597
+ data-no-row-click="true"
1598
+ onClick={() => {
1599
+ void handleRecoverRecord(rowData);
1600
+ }}
1601
+ >
1602
+ <RotateCcw size={14} />
1603
+ </button>
1604
+ </div>
1605
+ );
1606
+ }
1607
+
1546
1608
  const customContextMenuButtons = getContextMenuButtons(rowData);
1547
1609
  const hasAnyContextMenuActions =
1548
1610
  canEditRow(rowData, true) ||
@@ -1550,7 +1612,7 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1550
1612
  customContextMenuButtons.length > 0;
1551
1613
 
1552
1614
  return (
1553
- <div className="flex items-center justify-end gap-1" onClick={(event) => event.stopPropagation()}>
1615
+ <div className="flex items-center justify-end gap-1 cursor-pointer" onClick={(event) => event.stopPropagation()}>
1554
1616
 
1555
1617
  {/* ---------------- CUSTOM ROW BUTTONS ---------------- */}
1556
1618
  {solidTreeViewLayout?.attrs?.rowButtons &&
@@ -1701,12 +1763,12 @@ export const SolidTreeView = forwardRef<SolidTreeViewHandle, SolidTreeViewParams
1701
1763
  <div className="flex justify-between w-full">
1702
1764
  <div className="flex gap-4 items-center w-full solid-list-toolbar-left">
1703
1765
  <div className="flex items-center gap-2">
1704
- {params.embeded !== true && (
1766
+ {/* {params.embeded !== true && (
1705
1767
  <div className="apps-icon block md:hidden cursor-pointer" onClick={toggleBothSidebars}>
1706
1768
  <SolidIcon name="si-th-large" />
1707
1769
  </div>
1708
- )}
1709
- <p className="m-0 view-title solid-text-wrapper">{treeViewTitle}</p>
1770
+ )} */}
1771
+ {/* <p className="m-0 view-title solid-text-wrapper">{treeViewTitle}</p> */}
1710
1772
  </div>
1711
1773
 
1712
1774
  {solidTreeViewMetaData?.data?.solidView?.layout?.attrs.enableGlobalSearch === true && (
@@ -175,4 +175,5 @@ export declare const ERROR_MESSAGES: {
175
175
  RELATION_CASCADE: string;
176
176
  SNAKE_CASE: (name: string) => string;
177
177
  };
178
+ export declare const SESSION_INVALID_ERROR_CODE = "solidx-session-invalid";
178
179
  //# sourceMappingURL=error-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-messages.d.ts","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;4BAyBD,MAAM;;;;;;;;+BAaH,MAAM;;;;;;;;;;;;;;;2CAkBM,MAAM;;;;;;;;;;0CAaP,MAAM,aAAa,MAAM;;;;;;mCAOhC,MAAM;;;;;;;;;;;;;;;;;;;;;;oCA8BL,MAAM,OAAO,GAAG;;;;sCAKd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAkCO,MAAM;;;;+CAKV,MAAM;;;;;;;;;;;8BAcvB,MAAM;;;;;;;;;;;;;gDAcY,MAAM;;;;4BAY1B,MAAM;kCACA,MAAM;2BACb,MAAM;+BACF,MAAM;gCACL,MAAM;8BACR,MAAM;+BACL,MAAM,UAAU,MAAM;8BAEvB,MAAM,QAAQ,MAAM;;;;gCAOlB,MAAM;gCAEN,MAAM;qCAID,MAAM,cAAc,MAAM;qCAE1B,MAAM,cAAc,MAAM;2BAIpC,MAAM;;;0BAMP,MAAM;uCACO,MAAM;iCAIZ,MAAM;;;+CAIQ,MAAM;kCAInB,MAAM;gCAER,MAAM;wCAEE,MAAM;;;;;;uBAYvB,MAAM;CAK1B,CAAC"}
1
+ {"version":3,"file":"error-messages.d.ts","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;4BAyBD,MAAM;;;;;;;;+BAaH,MAAM;;;;;;;;;;;;;;;2CAkBM,MAAM;;;;;;;;;;0CAaP,MAAM,aAAa,MAAM;;;;;;mCAOhC,MAAM;;;;;;;;;;;;;;;;;;;;;;oCA8BL,MAAM,OAAO,GAAG;;;;sCAKd,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAkCO,MAAM;;;;+CAKV,MAAM;;;;;;;;;;;8BAcvB,MAAM;;;;;;;;;;;;;gDAcY,MAAM;;;;4BAY1B,MAAM;kCACA,MAAM;2BACb,MAAM;+BACF,MAAM;gCACL,MAAM;8BACR,MAAM;+BACL,MAAM,UAAU,MAAM;8BAEvB,MAAM,QAAQ,MAAM;;;;gCAOlB,MAAM;gCAEN,MAAM;qCAID,MAAM,cAAc,MAAM;qCAE1B,MAAM,cAAc,MAAM;2BAIpC,MAAM;;;0BAMP,MAAM;uCACO,MAAM;iCAIZ,MAAM;;;+CAIQ,MAAM;kCAInB,MAAM;gCAER,MAAM;wCAEE,MAAM;;;;;;uBAYvB,MAAM;CAK1B,CAAC;AAEF,eAAO,MAAM,0BAA0B,2BAA2B,CAAC"}
@@ -250,4 +250,5 @@ export var ERROR_MESSAGES = {
250
250
  return "".concat(name, " name must be in snake_case (lowercase letters, numbers, and underscores only).");
251
251
  },
252
252
  };
253
+ export var SESSION_INVALID_ERROR_CODE = 'solidx-session-invalid';
253
254
  //# sourceMappingURL=error-messages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,cAAc,GAAG;IAE5B,gFAAgF;IAChF,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,uBAAuB;IAC9C,mBAAmB,EAAE,qBAAqB;IAC1C,eAAe,EAAE,qCAAqC;IACtD,oBAAoB,EAAE,kCAAkC;IACxD,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,eAAe,EAAE,wBAAwB;IACzC,aAAa,EAAE,iBAAiB;IAChC,kBAAkB,EAAE,oBAAoB;IAExC,gFAAgF;IAChF,yBAAyB,EAAE,2BAA2B;IACtD,qBAAqB,EAAE,iCAAiC;IACxD,iBAAiB,EAAE,4BAA4B;IAC/C,UAAU,EAAE,sBAAsB;IAClC,qBAAqB,EAAE,+BAA+B;IACtD,eAAe,EAAE,8BAA8B;IAE/C,gFAAgF;IAChF,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,UAAC,SAAiB;QAC5B,OAAA,uCAAgC,SAAS,eAAY;IAArD,CAAqD;IAEvD,iFAAiF;IACjF,qBAAqB,EAAE,2BAA2B;IAElD,iFAAiF;IACjF,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,gBAAgB;IAC5B,aAAa,EAAE,0BAA0B;IACzC,cAAc,EAAE,UAAC,QAAgB;QAC/B,OAAA,yCAAkC,QAAQ,SAAM;IAAhD,CAAgD;IAClD,eAAe,EAAE,mBAAmB;IACpC,kBAAkB,EAAE,qBAAqB;IACzC,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,sBAAsB;IAC3C,oBAAoB,EAAE,wBAAwB;IAC9C,sBAAsB,EAAE,yBAAyB;IACjD,WAAW,EAAE,eAAe;IAC5B,wBAAwB,EAAE,4BAA4B;IAEtD,kFAAkF;IAClF,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,0BAA0B;IAClD,aAAa,EAAE,0BAA0B;IACzC,aAAa,EAAE,6BAA6B;IAC5C,aAAa,EAAE,8BAA8B;IAC7C,YAAY,EAAE,eAAe;IAC7B,yBAAyB,EAAE,UAAC,SAAiB;QAC3C,OAAA,gBAAS,SAAS,mCAAgC;IAAlD,CAAkD;IACpD,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,yBAAyB;IAC9C,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,kBAAkB;IACnC,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,0BAA0B;IAC7C,aAAa,EAAE,2BAA2B;IAE1C,iFAAiF;IACjF,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,UAAC,YAAoB,EAAE,SAAiB;QAC7D,OAAA,+BAAwB,YAAY,uBAAa,SAAS,CAAE;IAA5D,CAA4D;IAC9D,wBAAwB,EAAE,2BAA2B;IACrD,wBAAwB,EAAE,gEAAgE;IAC1F,qBAAqB,EAAE,oDAAoD;IAC3E,2BAA2B,EAAE,wCAAwC;IACrE,gBAAgB,EAAE,sBAAsB;IACxC,qBAAqB,EAAE,UAAC,KAAa;QACnC,OAAA,UAAG,KAAK,gCAA6B;IAArC,CAAqC;IACvC,0BAA0B,EAAE,sCAAsC;IAElE,iFAAiF;IACjF,kBAAkB,EAAE,2BAA2B;IAC/C,gBAAgB,EAAE,2BAA2B;IAC7C,sBAAsB,EAAE,sCAAsC;IAC9D,YAAY,EAAE,8BAA8B;IAC5C,0BAA0B,EAAE,iCAAiC;IAC7D,iBAAiB,EAAE,yBAAyB;IAC5C,kBAAkB,EAAE,mCAAmC;IACvD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,qBAAqB;IACnC,cAAc,EAAE,uBAAuB;IACvC,KAAK,EAAE,OAAO;IACd,WAAW,EAAE,cAAc;IAC3B,wBAAwB,EAAE,4BAA4B;IACtD,UAAU,EAAE,YAAY;IACxB,uBAAuB,EAAE,0BAA0B;IACnD,aAAa,EAAE,eAAe;IAC9B,0BAA0B,EAAE,6BAA6B;IACzD,cAAc,EAAE,sBAAsB;IACtC,oCAAoC,EAAE,wCAAwC;IAC9E,8BAA8B,EAAE,oCAAoC;IAKpE,gFAAgF;IAChF,oBAAoB,EAAE,UAAC,OAAe,EAAE,GAAQ;QAC9C,OAAA,8CAAuC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAE;IAA/D,CAA+D;IACjE,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,kBAAkB;IACjC,mBAAmB,EAAE,kCAAkC;IACvD,wBAAwB,EAAE,UAAC,KAAa;QACtC,OAAA,wCAAiC,KAAK,CAAE;IAAxC,CAAwC;IAE1C,gFAAgF;IAChF,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,+CAA+C;IACrE,eAAe,EAAE,eAAe;IAChC,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,wCAAwC;IACxD,iBAAiB,EAAE,yCAAyC;IAC5D,6BAA6B,EAAE,kCAAkC;IAEjE,iFAAiF;IACjF,SAAS,EAAE,aAAa;IACxB,aAAa,EAAE,mBAAmB;IAClC,gBAAgB,EAAE,0BAA0B;IAC5C,aAAa,EAAE,uBAAuB;IACtC,cAAc,EAAE,sBAAsB;IACtC,cAAc,EAAE,2BAA2B;IAC3C,aAAa,EAAE,0CAA0C;IACzD,uBAAuB,EAAE,kCAAkC;IAC3D,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,oDAAoD;IAErE,iFAAiF;IACjF,YAAY,EAAE,cAAc;IAC5B,uBAAuB,EAAE,gGAAgG;IACzH,sBAAsB,EAAE,iBAAiB;IACzC,+BAA+B,EAAE,0BAA0B;IAC3D,yBAAyB,EAAE,wHAAwH;IACnJ,uBAAuB,EAAE,mGAAmG;IAC5H,8BAA8B,EAAE,wFAAwF;IACxH,mCAAmC,EAAE,oCAAoC;IACzE,qCAAqC,EAAE,UAAC,KAAa;QACnD,OAAA,UAAG,KAAK,4BAAkB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,kCAAwB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,uBAAoB;IAA1H,CAA0H;IAC5H,8BAA8B,EAAE,4BAA4B;IAC5D,gCAAgC,EAAE,2IAA2I;IAC7K,+BAA+B,EAAE,0BAA0B;IAC3D,iCAAiC,EAAE,UAAC,KAAa;QAC/C,OAAA,UAAG,KAAK,8BAAoB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,kCAAwB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,uBAAoB;IAA5H,CAA4H;IAC9H,0BAA0B,EAAE,4BAA4B;IACxD,mBAAmB,EAAE,4BAA4B;IACjD,WAAW,EAAE,6BAA6B;IAE1C,iFAAiF;IACjF,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,kBAAkB,EAAE,uBAAuB;IAC3C,iBAAiB,EAAE,uBAAuB;IAC1C,eAAe,EAAE,UAAC,MAAc;QAC9B,OAAA,4BAAoB,MAAM,kBAAc;IAAxC,CAAwC;IAC1C,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,4DAA4D;IAC5E,YAAY,EAAE,wBAAwB;IACtC,eAAe,EAAE,2BAA2B;IAC5C,aAAa,EAAE,sBAAsB;IACrC,YAAY,EAAE,yBAAyB;IACvC,0BAA0B,EAAE,6BAA6B;IACzD,8BAA8B,EAAE,gCAAgC;IAChE,oBAAoB,EAAE,yBAAyB;IAC/C,cAAc,EAAE,sBAAsB;IACtC,SAAS,EAAE,wBAAwB;IACnC,gBAAgB,EAAE,6BAA6B;IAC/C,4BAA4B,EAAE,UAAC,WAAmB;QAChD,OAAA,mEAA4D,WAAW,CAAE;IAAzE,CAAyE;IAC3E,oBAAoB,EAAE,oCAAoC;IAC1D,qBAAqB,EAAE,2BAA2B;IAElD,iFAAiF;IACjF,qBAAqB,EAAE,+BAA+B;IAGtD,uFAAuF;IAEvF,0EAA0E;IAC1E,cAAc,EAAE,UAAC,KAAa,IAAK,OAAA,UAAG,KAAK,iBAAc,EAAtB,CAAsB;IACzD,oBAAoB,EAAE,UAAC,KAAa,IAAK,OAAA,kBAAW,KAAK,YAAS,EAAzB,CAAyB;IAClE,aAAa,EAAE,UAAC,KAAa,IAAK,OAAA,kBAAW,KAAK,CAAE,EAAlB,CAAkB;IACpD,iBAAiB,EAAE,UAAC,KAAa,IAAK,OAAA,+BAAwB,KAAK,MAAG,EAAhC,CAAgC;IACtE,kBAAkB,EAAE,UAAC,KAAa,IAAK,OAAA,UAAG,KAAK,wBAAqB,EAA7B,CAA6B;IACpE,gBAAgB,EAAE,UAAC,KAAa,IAAK,OAAA,UAAG,KAAK,kBAAe,EAAvB,CAAuB;IAC5D,iBAAiB,EAAE,UAAC,KAAa,EAAE,MAAc;QAC/C,OAAA,UAAG,KAAK,wDAA8C,MAAM,MAAG;IAA/D,CAA+D;IACjE,gBAAgB,EAAE,UAAC,KAAa,EAAE,IAAY;QAC5C,OAAA,UAAG,KAAK,yBAAe,IAAI,OAAG;IAA9B,CAA8B;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,iBAAiB;IAErC,gEAAgE;IAChE,oBAAoB,EAAE,gDAAgD;IACtE,kBAAkB,EAAE,UAAC,KAAa;QAChC,OAAA,oCAA6B,KAAK,gBAAa;IAA/C,CAA+C;IACjD,gBAAgB,EAAE,UAAC,OAAe,EAAE,IAAe;QAAf,qBAAA,EAAA,eAAe;QACjD,OAAA,6CAAsC,OAAO,cAAI,IAAI,CAAE;IAAvD,CAAuD;IAEzD,8DAA8D;IAC9D,uBAAuB,EAAE,UAAC,KAAa,EAAE,UAAkB;QACzD,OAAA,UAAG,KAAK,iCAAuB,UAAU,sBAAmB;IAA5D,CAA4D;IAC9D,uBAAuB,EAAE,UAAC,KAAa,EAAE,UAAkB;QACzD,OAAA,UAAG,KAAK,sCAA4B,UAAU,sBAAmB;IAAjE,CAAiE;IAEnE,gDAAgD;IAChD,aAAa,EAAE,UAAC,KAAa;QAC3B,OAAA,wBAAiB,KAAK,kBAAe;IAArC,CAAqC;IACvC,UAAU,EAAE,yBAAyB;IACrC,QAAQ,EAAE,uBAAuB;IAEjC,4DAA4D;IAC5D,YAAY,EAAE,UAAC,KAAa,IAAK,OAAA,UAAG,KAAK,aAAU,EAAlB,CAAkB;IACnD,yBAAyB,EAAE,UAAC,KAAa;QACvC,OAAA,UAAG,KAAK,0BAAuB;IAA/B,CAA+B;IAEjC,qEAAqE;IACrE,mBAAmB,EAAE,UAAC,KAAa;QACjC,OAAA,UAAG,KAAK,0CAAuC;IAA/C,CAA+C;IACjD,WAAW,EAAE,gBAAgB;IAC7B,iBAAiB,EAAE,yBAAyB;IAC5C,iCAAiC,EAAE,UAAC,KAAa;QAC/C,OAAA,UAAG,KAAK,2DAAwD;IAAhE,CAAgE;IAElE,iEAAiE;IACjE,oBAAoB,EAAE,UAAC,KAAa;QAClC,OAAA,UAAG,KAAK,kCAA+B;IAAvC,CAAuC;IACzC,kBAAkB,EAAE,UAAC,KAAa;QAChC,OAAA,uCAAgC,KAAK,MAAG;IAAxC,CAAwC;IAC1C,0BAA0B,EAAE,UAAC,KAAa;QACxC,OAAA,gCAAyB,KAAK,wBAAqB;IAAnD,CAAmD;IACrD,oBAAoB,EAAE,+BAA+B;IAErD,4DAA4D;IAC5D,aAAa,EAAE,eAAe;IAC9B,4BAA4B,EAC1B,gEAAgE;IAElE,wDAAwD;IACxD,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,iEAAiE;IACnF,UAAU,EAAE,UAAC,IAAY;QACvB,OAAA,UAAG,IAAI,oFAAiF;IAAxF,CAAwF;CAI3F,CAAC","sourcesContent":["export const ERROR_MESSAGES = {\n\n /* ----------------------------- AUTHENTICATION ----------------------------- */\n NO_AUTH_TOKEN_FOUND: 'No auth token found',\n AUTHENICATION__FAILED: 'Authentication failed',\n INVALID_CREDENTIALS: 'Invalid Credentials',\n SESSION_EXPIRED: 'Session Expired. Please Login Again',\n FAILED_REFRESH_TOKEN: 'Failed to refresh access token: ',\n LOGIN_ERROR: 'Login Error',\n LOGIN_SUCCESS: 'Login Success',\n PLEASE_WAIT: \"Please wait\",\n SOMETHING_WRONG: 'Something Went Wrong !',\n LOGOUT_FAILED: 'Logout Failed !',\n LOGIN_SUCCESSFULLY: 'Login Successfully',\n\n /* -------------------------------- PASSWORD -------------------------------- */\n FAILED_TO_UPDATE_PASSWORD: 'Failed to update password',\n INVALID_PASSWORD_REGX: 'Invalid password regex in .env:',\n INCORRECT_CURRENT: \"Incorrect Current Password\",\n MUST_MATCH: \"Passwords must match\",\n FORCE_PASSWORD_CHANGE: \"Force Password Change Success\",\n PASSWORD_CHANGE: 'Password Change Successfully',\n\n /* ---------------------------------- OTP ----------------------------------- */\n INAVLID_OTP: \"Invalid OTP\",\n OPT_FORMAT: (formatted: string) =>\n `You can request a new OTP in ${formatted} second(s)`,\n\n /* ---------------------------- AUTH / DASHBOARD ----------------------------- */\n DASHBOARD_REDIRECTING: \"Redirecting to dashboard.\",\n\n /* ------------------------------- FILE ERRORS ------------------------------- */\n FILE_DOWNLOAD_FAILED: 'File download failed',\n FAILED_TO_DOWNLOAD: 'Failed to download',\n FAILED_TO_FETCH_FILE: 'Failed to fetch file',\n DOWNLOAD_FAILED: 'Download failed',\n FILE_LARGE: 'File too large',\n MAX_FILE_SIZE: 'Maximum file size is 2MB',\n FILE_TOO_LAREG: (fileSize: string) =>\n `File is too large. Max size is ${fileSize} KB.`,\n FILE_NOT_ACCEPT: 'File not accepted',\n FAILED_UPLOAD_FILE: 'Fail to upload file',\n MISSING_FILE: 'Missing File',\n ERROR_DELETING_FILE: 'Error deleting file:',\n FAILED_DELETED_IMAGE: 'Failed to delete image',\n PROFILE_PICTURE_REMOVE: \"Profile picture removed\",\n FILE_UPLOAD: 'File Uploaded',\n FILE_UPLOAD_SUCCESSFULLY: 'File Uploaded Successfully',\n\n /* ------------------------------- USER / ENTITY ------------------------------ */\n NO_ENTITY_SELECTED: 'No entity selected',\n FAILED_UPDATED_PROFILE: 'Failed to update profile',\n ENTITY_FAILED: 'Failed to create Entity:',\n ENTITY_DELETE: 'Entity deleted successfully',\n RECORD_DELETE: 'Records deleted successfully',\n MODEL_DELETE: 'Model Deleted',\n MODEL_DELETE_SUCCESSFULLY: (modelName: string) =>\n `Model ${modelName} has been deleted successfully`,\n DELETE_FAIELD: \"Delete Failed\",\n EMAIL_ALREADY_TAKEN: 'Email is already taken,',\n UPDATED: 'Updated',\n SETTING_UPDATED: 'Settings updated',\n USER_REGISTER: 'User Registered',\n NO_CHANGE: 'No Change',\n NO_SETTING_UPDATE: 'No settings were updated',\n UPDATING_USER: 'Error updating user view:',\n\n /* ---------------------------- RELATION & FILTER ---------------------------- */\n INVALID_FILTER_STRUCTURE: 'Invalid filter structure',\n INVALID_RELATION_TYPE: (relationType: string, fieldName: string) =>\n `Invalid relationType ${relationType} on field ${fieldName}`,\n INVALID_JSON_WHERECLAUSE: 'Invalid whereClause JSON:',\n FIXED_FILTER_NOT_APPLIED: 'Fixed filter not applied due to parsing issues or invalid data',\n SELECT_RELEVANT_FIELD: 'Please select relevant fields used in fixed filter',\n SKIPPING_EMPTY_FIXED_FILTER: 'Skipping invalid/empty fixed filter : ',\n FIELD_NOT_SELECT: 'Fields Not selected!',\n FIELD_NOT_IN_METADATA: (label: string) =>\n `${label} is not present in metadata`,\n SAVE_FILTER_UNDEFINED_NULL: 'Saved filter ID is undefined or null',\n\n /* -------------------------------- FORM / UI -------------------------------- */\n FAILED_UPDATE_FROM: \"Failed to update the form\",\n UPDATING_STEPPER: 'Error updating stepper : ',\n DYNAMIC_FUNCTION_ERROR: 'Error in DynamicFunctionComponent : ',\n ON_FORM_LOAD: 'Error in onFormLoad handler:',\n UNABLE_LOAD_DYNAMIC_MODULE: 'Unable to load dynamic module: ',\n LOADING_COMPONENT: 'Error loading component',\n FORM_LAYOUT_UPDATE: 'Form Layout Updated successfully!',\n LAYOUT: 'Layout',\n MARK_PUBLISH: 'Marked as publish !',\n MARK_UNPUBLISH: 'Marked as unpublish !',\n SAVED: 'Saved',\n FORM_UPDATE: 'Form Updated',\n FORM_UPDATE_SUCCESSFULLY: 'Form updated successfully!',\n FORM_SAVED: 'Form Saved',\n FORM_SAVED_SUCCESSFULLY: 'Form saved successfully!',\n PROFILE_SAVED: 'Profile Saved',\n PROFILE_SAVED_SUCCESSFULLY: 'Profile saved successfully!',\n NO_UPDATE_MADE: 'No updates were made',\n DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY: 'Dashboard Layout Updated successfully!',\n DASHBOARD_LAYOUT_UPDATE_FAILED: 'Failed to update dashboard layout!',\n\n\n\n\n /* ------------------------------ INTERACTIONS ------------------------------ */\n INTERATCTION_MESSGAE: (message: string, err: any) =>\n `Error handling interaction.message: ${message || String(err)}`,\n APPLY_FAILED: 'Apply Failed',\n APPLY_SUCCESS: 'Apply Successful',\n PREVIEW_INTERACTION: 'Preview clicked for interaction:',\n FAILED_APPLY_INTERACTION: (error: string) =>\n `Failed to apply interaction - ${error}`,\n\n /* --------------------------- PROCESS / BACKEND ---------------------------- */\n BACKEND_UNAVAILABLE: 'Backend Unavailable',\n SEEDER_NOT_TRIGGERED: 'Seeder not triggered. Could not reach backend',\n IS_SEEDER_ERROR: 'isSeederError',\n IS_SEEDER_SUCCESS: 'isSeederSuccess',\n SEEDER_ERROR: 'Seeder Error',\n SEEDER_NOT_RUN: 'Could not run seeder. Please try again',\n BACKEND_NOT_ALIVE: 'Backend is not alive, cannot run seeder',\n FAILED_TRIGGER_MCP_CLIENT_JOB: 'Failed to trigger MCP client job',\n\n /* --------------------------------- NETWORK --------------------------------- */\n API_ERROR: 'API error: ',\n ERROR_OCCURED: \"An error occurred\",\n FETCHING_MESSAGE: 'Error fetching messages:',\n FETCHING_USER: 'Error fetching users:',\n FETCHING_ITEMS: 'Error fetching items',\n LOAD_MORE_DATA: 'Failed to load more data:',\n NETWORK_ERROR: 'Network error occurred. Please try again',\n NETWORK_OR_SERVER_ERROR: 'Network or server error occurred',\n DELETE_ERROR: 'Delete error',\n FORBIDDEN_ERROR: 'You do not have permission to perform this action.',\n\n /* ----------------------------- IMPORT / EXPORT ----------------------------- */\n IMPORT_ERROR: 'Import Error',\n IMPORT_FILE_READ_FAILED: \"We couldn't read the uploaded file. Please verify the headers and sample data, then try again.\",\n IMPORT_NO_SAMPLE_VALUE: 'No sample value',\n IMPORT_UNSUPPORTED_SAMPLE_VALUE: 'Unsupported sample value',\n IMPORT_NO_MATCHED_COLUMNS: \"We couldn't match any columns from this file. Upload the correct template or map at least one column before importing.\",\n IMPORT_UNMAPPED_COLUMNS: 'Some file columns are still unmapped. Map them to a SolidX field or remove them before importing.',\n IMPORT_DUPLICATE_FIELD_MAPPING: 'Each SolidX field can only be mapped once. Update duplicate mappings before importing.',\n IMPORT_REQUIRED_FIELD_MAPPING_TITLE: 'Required fields are still unmapped',\n IMPORT_REQUIRED_FIELD_MAPPING_MESSAGE: (count: number) =>\n `${count} required field${count > 1 ? 's are' : ' is'} still unmapped. Map ${count > 1 ? 'them' : 'it'} before importing.`,\n IMPORT_TEMPLATE_MISMATCH_TITLE: 'Template mismatch detected',\n IMPORT_TEMPLATE_MISMATCH_MESSAGE: \"We couldn't auto-match any columns from this file. This usually means the uploaded file headers don't match the expected import template.\",\n IMPORT_MAPPING_INCOMPLETE_TITLE: 'Mapping still incomplete',\n IMPORT_MAPPING_INCOMPLETE_MESSAGE: (count: number) =>\n `${count} importable field${count > 1 ? 's are' : ' is'} still unmapped. Map ${count > 1 ? 'them' : 'it'} before importing.`,\n IMPORT_UNABLE_TO_READ_FILE: 'Unable to read import file',\n EXPORT_SUCCESSFULLY: 'File Exported Successfully',\n SEND_REPORT: 'Can you send me the report?',\n\n /* ----------------------------------- MISC ---------------------------------- */\n ERROR: 'Error',\n FAILED: 'Failed',\n IS_SUCCESS: 'Success',\n DELETED: 'Deleted',\n UPDATE_FAILED: 'Update failed',\n FAILED_CREATE_MENU: 'Failed to create menu',\n ORM_TYPE_REQUIRED: 'Orm Type is required!',\n ACTION_FUNCTION: (action: string) =>\n `Action function \"${action}\" not found.`,\n DUPLICATE_KEY: \"Duplicate Key\",\n ERROR_DECODING: 'Error decoding or parsing query string from local storage:',\n CREATE_MODEL: 'Failed to create Model',\n TEMPLATE_FAILED: 'Failed to create template',\n SELECT_FROMAT: 'Please Select Format',\n PARSED_FIELD: 'Failed to parse fields:',\n CODE_GENERTAE_SUCCESSFULLY: 'Code Generated Successfully',\n RESPONSE_GENERATE_CODE_HANDLER: \"response generate code handler\",\n CODE_GENERATE_FAILED: \"Failed to generate code\",\n KANBAN_UPDATED: \"Kanban View Updated!\",\n TRY_AGAIN: 'Please try again later',\n REMOVE_ROOT_NODE: \"Cannot remove the root node\",\n ATTEMPT_FETCH_MESSAGE_STATUS: (queryString: string) =>\n `Attempting to fetch mq message status with query string: ${queryString}`,\n FAILED_FETCH_MESSAGE: \"Failed to fetch MQ message status:\",\n FAILED_CREATE_INVOICE: \"Failed to create Invoice:\",\n\n /* ----------------------------------- CRUD ---------------------------------- */\n ADD_ATLEAST_ONE_FIELD: \"Please add at least one field\",\n\n\n /* ----------------------------------- Validation ---------------------------------- */\n\n // -------------------- REQUIRED / BASIC FIELD ERRORS --------------------\n FIELD_REUQIRED: (field: string) => `${field} is required`,\n FIELD_INAVLID_FORMAT: (field: string) => `Invalid ${field} format`,\n FIELD_INVALID: (field: string) => `Invalid ${field}`,\n ENTER_VALID_FIELD: (field: string) => `Please enter a valid ${field}.`,\n FIELD_INVALID_DATA: (field: string) => `${field} has invalid data.`,\n FIELD_MUST_MATCH: (field: string) => `${field}s must match.`,\n FIELD_ALREADY_USE: (field: string, field1: string) =>\n `${field} Already in use. Please choose a different ${field1}.`,\n FIELD_MUST_BE_AN: (field: string, type: string) =>\n `${field} must be an ${type}\"`,\n REQUIRED_REALTION: 'required-relation',\n VALIDATE_SELECTION: 'valid-selection',\n\n // -------------------- PASSWORD VALIDATION --------------------\n PASSWORD_DO_NOT_MEET: 'Password does not meet complexity requirements',\n PASSWORD_CHARACTER: (count: Number) =>\n `Password must be at least ${count} characters`,\n PASSWORD_CONTAIN: (contain: string, type = 'letter') =>\n `Password must contain at least one ${contain} ${type}`,\n\n // -------------------- LENGTH VALIDATION --------------------\n FIELD_MINIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should be at-least ${characters} characters long.`,\n FIELD_MAXIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should not be more than ${characters} characters long.`,\n\n // -------------------- OTP --------------------\n OTP_CHARACTER: (count: Number) =>\n `OTP must be a ${count}-digit number`,\n OPT_RESEND: 'OTP Resent Successfully',\n OPT_SEND: 'OTP Sent Successfully',\n\n // -------------------- UPDATE MESSAGES --------------------\n FIELD_UPDATE: (field: string) => `${field} Updated`,\n FIELD_UPDATE_SUCCESSFULLY: (field: string) =>\n `${field} Updated Successfully`,\n\n // -------------------- FILE / OBJECT VALIDATION --------------------\n MUST_BE_FILE_OBJECT: (field: string) =>\n `${field} must be a file, an object, or empty`,\n FILE_OBJECT: 'file-or-object',\n EMPTY_VALID_ARRAY: 'is-empty-or-valid-array',\n CONTAIN_EMPTY_ARRAY_OR_FILE_OBECT: (field: string) =>\n `${field} must be an empty array or contain only files/objects.`,\n\n // -------------------- SELECTION VALIDATION --------------------\n FIELD_MUST_HAVE_ITEM: (field: string) =>\n `${field} must have at least one item.`,\n SELECT_ATLEAST_ONE: (field: string) =>\n `You must select at least one ${field}.`,\n SELECT_VALID_FROM_DROPDOWN: (field: string) =>\n `Please select a valid ${field} from the dropdown.`,\n SELECT_ONE_OPERATION: 'Select at least one operation',\n\n // -------------------- JSON VALIDATION --------------------\n IS_VALID_JSON: 'is-valid-json',\n COMPUTED_FIELD_VALIDATE_JSON:\n 'Computed Field Value Provider Context Value must be valid JSON',\n\n // -------------------- OTHER RULES --------------------\n GREATER_THAN_MIN: 'greater-than-min',\n RELATION_CASCADE: 'Relation Cascade Value is required for one-to-one relationships',\n SNAKE_CASE: (name: string) =>\n `${name} name must be in snake_case (lowercase letters, numbers, and underscores only).`,\n\n\n\n};\n"]}
1
+ {"version":3,"file":"error-messages.js","sourceRoot":"","sources":["../../src/constants/error-messages.ts"],"names":[],"mappings":"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","sourcesContent":["export const ERROR_MESSAGES = {\n\n /* ----------------------------- AUTHENTICATION ----------------------------- */\n NO_AUTH_TOKEN_FOUND: 'No auth token found',\n AUTHENICATION__FAILED: 'Authentication failed',\n INVALID_CREDENTIALS: 'Invalid Credentials',\n SESSION_EXPIRED: 'Session Expired. Please Login Again',\n FAILED_REFRESH_TOKEN: 'Failed to refresh access token: ',\n LOGIN_ERROR: 'Login Error',\n LOGIN_SUCCESS: 'Login Success',\n PLEASE_WAIT: \"Please wait\",\n SOMETHING_WRONG: 'Something Went Wrong !',\n LOGOUT_FAILED: 'Logout Failed !',\n LOGIN_SUCCESSFULLY: 'Login Successfully',\n\n /* -------------------------------- PASSWORD -------------------------------- */\n FAILED_TO_UPDATE_PASSWORD: 'Failed to update password',\n INVALID_PASSWORD_REGX: 'Invalid password regex in .env:',\n INCORRECT_CURRENT: \"Incorrect Current Password\",\n MUST_MATCH: \"Passwords must match\",\n FORCE_PASSWORD_CHANGE: \"Force Password Change Success\",\n PASSWORD_CHANGE: 'Password Change Successfully',\n\n /* ---------------------------------- OTP ----------------------------------- */\n INAVLID_OTP: \"Invalid OTP\",\n OPT_FORMAT: (formatted: string) =>\n `You can request a new OTP in ${formatted} second(s)`,\n\n /* ---------------------------- AUTH / DASHBOARD ----------------------------- */\n DASHBOARD_REDIRECTING: \"Redirecting to dashboard.\",\n\n /* ------------------------------- FILE ERRORS ------------------------------- */\n FILE_DOWNLOAD_FAILED: 'File download failed',\n FAILED_TO_DOWNLOAD: 'Failed to download',\n FAILED_TO_FETCH_FILE: 'Failed to fetch file',\n DOWNLOAD_FAILED: 'Download failed',\n FILE_LARGE: 'File too large',\n MAX_FILE_SIZE: 'Maximum file size is 2MB',\n FILE_TOO_LAREG: (fileSize: string) =>\n `File is too large. Max size is ${fileSize} KB.`,\n FILE_NOT_ACCEPT: 'File not accepted',\n FAILED_UPLOAD_FILE: 'Fail to upload file',\n MISSING_FILE: 'Missing File',\n ERROR_DELETING_FILE: 'Error deleting file:',\n FAILED_DELETED_IMAGE: 'Failed to delete image',\n PROFILE_PICTURE_REMOVE: \"Profile picture removed\",\n FILE_UPLOAD: 'File Uploaded',\n FILE_UPLOAD_SUCCESSFULLY: 'File Uploaded Successfully',\n\n /* ------------------------------- USER / ENTITY ------------------------------ */\n NO_ENTITY_SELECTED: 'No entity selected',\n FAILED_UPDATED_PROFILE: 'Failed to update profile',\n ENTITY_FAILED: 'Failed to create Entity:',\n ENTITY_DELETE: 'Entity deleted successfully',\n RECORD_DELETE: 'Records deleted successfully',\n MODEL_DELETE: 'Model Deleted',\n MODEL_DELETE_SUCCESSFULLY: (modelName: string) =>\n `Model ${modelName} has been deleted successfully`,\n DELETE_FAIELD: \"Delete Failed\",\n EMAIL_ALREADY_TAKEN: 'Email is already taken,',\n UPDATED: 'Updated',\n SETTING_UPDATED: 'Settings updated',\n USER_REGISTER: 'User Registered',\n NO_CHANGE: 'No Change',\n NO_SETTING_UPDATE: 'No settings were updated',\n UPDATING_USER: 'Error updating user view:',\n\n /* ---------------------------- RELATION & FILTER ---------------------------- */\n INVALID_FILTER_STRUCTURE: 'Invalid filter structure',\n INVALID_RELATION_TYPE: (relationType: string, fieldName: string) =>\n `Invalid relationType ${relationType} on field ${fieldName}`,\n INVALID_JSON_WHERECLAUSE: 'Invalid whereClause JSON:',\n FIXED_FILTER_NOT_APPLIED: 'Fixed filter not applied due to parsing issues or invalid data',\n SELECT_RELEVANT_FIELD: 'Please select relevant fields used in fixed filter',\n SKIPPING_EMPTY_FIXED_FILTER: 'Skipping invalid/empty fixed filter : ',\n FIELD_NOT_SELECT: 'Fields Not selected!',\n FIELD_NOT_IN_METADATA: (label: string) =>\n `${label} is not present in metadata`,\n SAVE_FILTER_UNDEFINED_NULL: 'Saved filter ID is undefined or null',\n\n /* -------------------------------- FORM / UI -------------------------------- */\n FAILED_UPDATE_FROM: \"Failed to update the form\",\n UPDATING_STEPPER: 'Error updating stepper : ',\n DYNAMIC_FUNCTION_ERROR: 'Error in DynamicFunctionComponent : ',\n ON_FORM_LOAD: 'Error in onFormLoad handler:',\n UNABLE_LOAD_DYNAMIC_MODULE: 'Unable to load dynamic module: ',\n LOADING_COMPONENT: 'Error loading component',\n FORM_LAYOUT_UPDATE: 'Form Layout Updated successfully!',\n LAYOUT: 'Layout',\n MARK_PUBLISH: 'Marked as publish !',\n MARK_UNPUBLISH: 'Marked as unpublish !',\n SAVED: 'Saved',\n FORM_UPDATE: 'Form Updated',\n FORM_UPDATE_SUCCESSFULLY: 'Form updated successfully!',\n FORM_SAVED: 'Form Saved',\n FORM_SAVED_SUCCESSFULLY: 'Form saved successfully!',\n PROFILE_SAVED: 'Profile Saved',\n PROFILE_SAVED_SUCCESSFULLY: 'Profile saved successfully!',\n NO_UPDATE_MADE: 'No updates were made',\n DASHBOARD_LAYOUT_UPDATE_SUCCESSFULLY: 'Dashboard Layout Updated successfully!',\n DASHBOARD_LAYOUT_UPDATE_FAILED: 'Failed to update dashboard layout!',\n\n\n\n\n /* ------------------------------ INTERACTIONS ------------------------------ */\n INTERATCTION_MESSGAE: (message: string, err: any) =>\n `Error handling interaction.message: ${message || String(err)}`,\n APPLY_FAILED: 'Apply Failed',\n APPLY_SUCCESS: 'Apply Successful',\n PREVIEW_INTERACTION: 'Preview clicked for interaction:',\n FAILED_APPLY_INTERACTION: (error: string) =>\n `Failed to apply interaction - ${error}`,\n\n /* --------------------------- PROCESS / BACKEND ---------------------------- */\n BACKEND_UNAVAILABLE: 'Backend Unavailable',\n SEEDER_NOT_TRIGGERED: 'Seeder not triggered. Could not reach backend',\n IS_SEEDER_ERROR: 'isSeederError',\n IS_SEEDER_SUCCESS: 'isSeederSuccess',\n SEEDER_ERROR: 'Seeder Error',\n SEEDER_NOT_RUN: 'Could not run seeder. Please try again',\n BACKEND_NOT_ALIVE: 'Backend is not alive, cannot run seeder',\n FAILED_TRIGGER_MCP_CLIENT_JOB: 'Failed to trigger MCP client job',\n\n /* --------------------------------- NETWORK --------------------------------- */\n API_ERROR: 'API error: ',\n ERROR_OCCURED: \"An error occurred\",\n FETCHING_MESSAGE: 'Error fetching messages:',\n FETCHING_USER: 'Error fetching users:',\n FETCHING_ITEMS: 'Error fetching items',\n LOAD_MORE_DATA: 'Failed to load more data:',\n NETWORK_ERROR: 'Network error occurred. Please try again',\n NETWORK_OR_SERVER_ERROR: 'Network or server error occurred',\n DELETE_ERROR: 'Delete error',\n FORBIDDEN_ERROR: 'You do not have permission to perform this action.',\n\n /* ----------------------------- IMPORT / EXPORT ----------------------------- */\n IMPORT_ERROR: 'Import Error',\n IMPORT_FILE_READ_FAILED: \"We couldn't read the uploaded file. Please verify the headers and sample data, then try again.\",\n IMPORT_NO_SAMPLE_VALUE: 'No sample value',\n IMPORT_UNSUPPORTED_SAMPLE_VALUE: 'Unsupported sample value',\n IMPORT_NO_MATCHED_COLUMNS: \"We couldn't match any columns from this file. Upload the correct template or map at least one column before importing.\",\n IMPORT_UNMAPPED_COLUMNS: 'Some file columns are still unmapped. Map them to a SolidX field or remove them before importing.',\n IMPORT_DUPLICATE_FIELD_MAPPING: 'Each SolidX field can only be mapped once. Update duplicate mappings before importing.',\n IMPORT_REQUIRED_FIELD_MAPPING_TITLE: 'Required fields are still unmapped',\n IMPORT_REQUIRED_FIELD_MAPPING_MESSAGE: (count: number) =>\n `${count} required field${count > 1 ? 's are' : ' is'} still unmapped. Map ${count > 1 ? 'them' : 'it'} before importing.`,\n IMPORT_TEMPLATE_MISMATCH_TITLE: 'Template mismatch detected',\n IMPORT_TEMPLATE_MISMATCH_MESSAGE: \"We couldn't auto-match any columns from this file. This usually means the uploaded file headers don't match the expected import template.\",\n IMPORT_MAPPING_INCOMPLETE_TITLE: 'Mapping still incomplete',\n IMPORT_MAPPING_INCOMPLETE_MESSAGE: (count: number) =>\n `${count} importable field${count > 1 ? 's are' : ' is'} still unmapped. Map ${count > 1 ? 'them' : 'it'} before importing.`,\n IMPORT_UNABLE_TO_READ_FILE: 'Unable to read import file',\n EXPORT_SUCCESSFULLY: 'File Exported Successfully',\n SEND_REPORT: 'Can you send me the report?',\n\n /* ----------------------------------- MISC ---------------------------------- */\n ERROR: 'Error',\n FAILED: 'Failed',\n IS_SUCCESS: 'Success',\n DELETED: 'Deleted',\n UPDATE_FAILED: 'Update failed',\n FAILED_CREATE_MENU: 'Failed to create menu',\n ORM_TYPE_REQUIRED: 'Orm Type is required!',\n ACTION_FUNCTION: (action: string) =>\n `Action function \"${action}\" not found.`,\n DUPLICATE_KEY: \"Duplicate Key\",\n ERROR_DECODING: 'Error decoding or parsing query string from local storage:',\n CREATE_MODEL: 'Failed to create Model',\n TEMPLATE_FAILED: 'Failed to create template',\n SELECT_FROMAT: 'Please Select Format',\n PARSED_FIELD: 'Failed to parse fields:',\n CODE_GENERTAE_SUCCESSFULLY: 'Code Generated Successfully',\n RESPONSE_GENERATE_CODE_HANDLER: \"response generate code handler\",\n CODE_GENERATE_FAILED: \"Failed to generate code\",\n KANBAN_UPDATED: \"Kanban View Updated!\",\n TRY_AGAIN: 'Please try again later',\n REMOVE_ROOT_NODE: \"Cannot remove the root node\",\n ATTEMPT_FETCH_MESSAGE_STATUS: (queryString: string) =>\n `Attempting to fetch mq message status with query string: ${queryString}`,\n FAILED_FETCH_MESSAGE: \"Failed to fetch MQ message status:\",\n FAILED_CREATE_INVOICE: \"Failed to create Invoice:\",\n\n /* ----------------------------------- CRUD ---------------------------------- */\n ADD_ATLEAST_ONE_FIELD: \"Please add at least one field\",\n\n\n /* ----------------------------------- Validation ---------------------------------- */\n\n // -------------------- REQUIRED / BASIC FIELD ERRORS --------------------\n FIELD_REUQIRED: (field: string) => `${field} is required`,\n FIELD_INAVLID_FORMAT: (field: string) => `Invalid ${field} format`,\n FIELD_INVALID: (field: string) => `Invalid ${field}`,\n ENTER_VALID_FIELD: (field: string) => `Please enter a valid ${field}.`,\n FIELD_INVALID_DATA: (field: string) => `${field} has invalid data.`,\n FIELD_MUST_MATCH: (field: string) => `${field}s must match.`,\n FIELD_ALREADY_USE: (field: string, field1: string) =>\n `${field} Already in use. Please choose a different ${field1}.`,\n FIELD_MUST_BE_AN: (field: string, type: string) =>\n `${field} must be an ${type}\"`,\n REQUIRED_REALTION: 'required-relation',\n VALIDATE_SELECTION: 'valid-selection',\n\n // -------------------- PASSWORD VALIDATION --------------------\n PASSWORD_DO_NOT_MEET: 'Password does not meet complexity requirements',\n PASSWORD_CHARACTER: (count: Number) =>\n `Password must be at least ${count} characters`,\n PASSWORD_CONTAIN: (contain: string, type = 'letter') =>\n `Password must contain at least one ${contain} ${type}`,\n\n // -------------------- LENGTH VALIDATION --------------------\n FIELD_MINIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should be at-least ${characters} characters long.`,\n FIELD_MAXIMUM_CHARACTER: (field: string, characters: Number) =>\n `${field} should not be more than ${characters} characters long.`,\n\n // -------------------- OTP --------------------\n OTP_CHARACTER: (count: Number) =>\n `OTP must be a ${count}-digit number`,\n OPT_RESEND: 'OTP Resent Successfully',\n OPT_SEND: 'OTP Sent Successfully',\n\n // -------------------- UPDATE MESSAGES --------------------\n FIELD_UPDATE: (field: string) => `${field} Updated`,\n FIELD_UPDATE_SUCCESSFULLY: (field: string) =>\n `${field} Updated Successfully`,\n\n // -------------------- FILE / OBJECT VALIDATION --------------------\n MUST_BE_FILE_OBJECT: (field: string) =>\n `${field} must be a file, an object, or empty`,\n FILE_OBJECT: 'file-or-object',\n EMPTY_VALID_ARRAY: 'is-empty-or-valid-array',\n CONTAIN_EMPTY_ARRAY_OR_FILE_OBECT: (field: string) =>\n `${field} must be an empty array or contain only files/objects.`,\n\n // -------------------- SELECTION VALIDATION --------------------\n FIELD_MUST_HAVE_ITEM: (field: string) =>\n `${field} must have at least one item.`,\n SELECT_ATLEAST_ONE: (field: string) =>\n `You must select at least one ${field}.`,\n SELECT_VALID_FROM_DROPDOWN: (field: string) =>\n `Please select a valid ${field} from the dropdown.`,\n SELECT_ONE_OPERATION: 'Select at least one operation',\n\n // -------------------- JSON VALIDATION --------------------\n IS_VALID_JSON: 'is-valid-json',\n COMPUTED_FIELD_VALIDATE_JSON:\n 'Computed Field Value Provider Context Value must be valid JSON',\n\n // -------------------- OTHER RULES --------------------\n GREATER_THAN_MIN: 'greater-than-min',\n RELATION_CASCADE: 'Relation Cascade Value is required for one-to-one relationships',\n SNAKE_CASE: (name: string) =>\n `${name} name must be in snake_case (lowercase letters, numbers, and underscores only).`,\n\n\n\n};\n\nexport const SESSION_INVALID_ERROR_CODE = 'solidx-session-invalid';\n"]}
@@ -256,3 +256,5 @@ export const ERROR_MESSAGES = {
256
256
 
257
257
 
258
258
  };
259
+
260
+ export const SESSION_INVALID_ERROR_CODE = 'solidx-session-invalid';
@@ -1 +1 @@
1
- {"version":3,"file":"solidHttp.d.ts","sourceRoot":"","sources":["../../src/http/solidHttp.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,+BAErB,CAAC;AAoCH,eAAO,MAAM,QAAQ,sJAAiB,CAAC;AACvC,eAAO,MAAM,SAAS,4KAAkB,CAAC;AACzC,eAAO,MAAM,QAAQ,4KAAiB,CAAC;AACvC,eAAO,MAAM,UAAU,4KAAmB,CAAC;AAC3C,eAAO,MAAM,WAAW,sJAAoB,CAAC;AAE7C;;;;;;GAMG"}
1
+ {"version":3,"file":"solidHttp.d.ts","sourceRoot":"","sources":["../../src/http/solidHttp.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,+BAErB,CAAC;AAyCH,eAAO,MAAM,QAAQ,sJAAiB,CAAC;AACvC,eAAO,MAAM,SAAS,4KAAkB,CAAC;AACzC,eAAO,MAAM,QAAQ,4KAAiB,CAAC;AACvC,eAAO,MAAM,UAAU,4KAAmB,CAAC;AAC3C,eAAO,MAAM,WAAW,sJAAoB,CAAC;AAE7C;;;;;;GAMG"}
@@ -37,6 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
37
37
  import axios from "axios";
38
38
  import { env } from "../adapters/env";
39
39
  import { getSession } from "../adapters/auth";
40
+ import { handleSessionInvalidation, isSessionInvalidError } from "../adapters/auth/sessionInvalidation";
40
41
  import { backendHealthMonitor } from "../helpers/backendHealthMonitor";
41
42
  var baseURL = "".concat(env("NEXT_PUBLIC_BACKEND_API_URL"), "/api");
42
43
  /**
@@ -76,22 +77,33 @@ solidAxios.interceptors.request.use(function (config) { return __awaiter(void 0,
76
77
  solidAxios.interceptors.response.use(function (response) {
77
78
  backendHealthMonitor.reportSuccess();
78
79
  return response;
79
- }, function (error) {
80
- var _a;
81
- var status = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status;
82
- var isNetwork = !status || status >= 500;
83
- if (isNetwork) {
84
- backendHealthMonitor.reportFailure({
85
- status: status !== null && status !== void 0 ? status : "FETCH_ERROR",
86
- message: "Unable to reach the server. Reconnecting...",
87
- error: error,
88
- });
89
- }
90
- else {
91
- backendHealthMonitor.reportSuccess();
92
- }
93
- return Promise.reject(error);
94
- });
80
+ }, function (error) { return __awaiter(void 0, void 0, void 0, function () {
81
+ var status, isNetwork;
82
+ var _a, _b;
83
+ return __generator(this, function (_c) {
84
+ switch (_c.label) {
85
+ case 0:
86
+ status = (_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.status;
87
+ isNetwork = !status || status >= 500;
88
+ if (isNetwork) {
89
+ backendHealthMonitor.reportFailure({
90
+ status: status !== null && status !== void 0 ? status : "FETCH_ERROR",
91
+ message: "Unable to reach the server. Reconnecting...",
92
+ error: error,
93
+ });
94
+ }
95
+ else {
96
+ backendHealthMonitor.reportSuccess();
97
+ }
98
+ if (!isSessionInvalidError((_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.data, status)) return [3 /*break*/, 2];
99
+ return [4 /*yield*/, handleSessionInvalidation()];
100
+ case 1:
101
+ _c.sent();
102
+ _c.label = 2;
103
+ case 2: return [2 /*return*/, Promise.reject(error)];
104
+ }
105
+ });
106
+ }); });
95
107
  export var solidGet = solidAxios.get;
96
108
  export var solidPost = solidAxios.post;
97
109
  export var solidPut = solidAxios.put;
@@ -1 +1 @@
1
- {"version":3,"file":"solidHttp.js","sourceRoot":"","sources":["../../src/http/solidHttp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,IAAM,OAAO,GAAG,UAAG,GAAG,CAAC,6BAA6B,CAAC,SAAM,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IACrC,OAAO,SAAA;CACR,CAAC,CAAC;AAEH,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,UAAO,MAAM;;;;;;gBAC/C,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACzC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBACzD,MAAM,CAAC,GAAG,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC/C;gBACe,qBAAM,UAAU,EAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;gBAClC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,EAAE;oBAC9B,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;oBACtC,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAU,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC;iBACrE;gBACD,sBAAO,MAAM,EAAC;;;KACf,CAAC,CAAC;AAEH,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAClC,UAAC,QAAQ;IACP,oBAAoB,CAAC,aAAa,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC,EACD,UAAC,KAAK;;IACJ,IAAM,MAAM,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,CAAC;IACvC,IAAM,SAAS,GAAG,CAAC,MAAM,IAAI,MAAM,IAAI,GAAG,CAAC;IAC3C,IAAI,SAAS,EAAE;QACb,oBAAoB,CAAC,aAAa,CAAC;YACjC,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,aAAa;YAC/B,OAAO,EAAE,6CAA6C;YACtD,KAAK,OAAA;SACN,CAAC,CAAC;KACJ;SAAM;QACL,oBAAoB,CAAC,aAAa,EAAE,CAAC;KACtC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;AACvC,MAAM,CAAC,IAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;AACzC,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;AACvC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3C,MAAM,CAAC,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;AAE7C;;;;;;GAMG","sourcesContent":["import axios from \"axios\";\nimport { env } from \"../adapters/env\";\nimport { getSession } from \"../adapters/auth\";\nimport { backendHealthMonitor } from \"../helpers/backendHealthMonitor\";\n\nconst baseURL = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api`;\n\n/**\n * solidAxios is a preconfigured Axios instance with:\n * - baseURL from NEXT_PUBLIC_BACKEND_API_URL (VITE_BACKEND_API_URL in Vite)\n * - Authorization header injected from getSession()\n * - Global error event emission on network/5xx failures\n *\n * Usage:\n * import { solidAxios } from \"@solidxai/core-ui\";\n * const res = await solidAxios.get(\"/setting/wrapped\");\n */\nexport const solidAxios = axios.create({\n baseURL,\n});\n\nsolidAxios.interceptors.request.use(async (config) => {\n if (config.url && config.url.startsWith(\"/api\")) {\n const stripped = config.url.replace(/^\\/api(\\/|$)/, \"/\");\n config.url = stripped === \"\" ? \"/\" : stripped;\n }\n const session = await getSession();\n if (session?.user?.accessToken) {\n config.headers = config.headers || {};\n config.headers.Authorization = `Bearer ${session.user.accessToken}`;\n }\n return config;\n});\n\nsolidAxios.interceptors.response.use(\n (response) => {\n backendHealthMonitor.reportSuccess();\n return response;\n },\n (error) => {\n const status = error?.response?.status;\n const isNetwork = !status || status >= 500;\n if (isNetwork) {\n backendHealthMonitor.reportFailure({\n status: status ?? \"FETCH_ERROR\",\n message: \"Unable to reach the server. Reconnecting...\",\n error,\n });\n } else {\n backendHealthMonitor.reportSuccess();\n }\n return Promise.reject(error);\n }\n);\n\nexport const solidGet = solidAxios.get;\nexport const solidPost = solidAxios.post;\nexport const solidPut = solidAxios.put;\nexport const solidPatch = solidAxios.patch;\nexport const solidDelete = solidAxios.delete;\n\n/**\n * Convenience methods when you don't want to import the instance.\n *\n * Usage:\n * import { solidGet, solidPost } from \"@solidxai/core-ui\";\n * const res = await solidGet(\"/setting/wrapped\");\n */\n"]}
1
+ {"version":3,"file":"solidHttp.js","sourceRoot":"","sources":["../../src/http/solidHttp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAEvE,IAAM,OAAO,GAAG,UAAG,GAAG,CAAC,6BAA6B,CAAC,SAAM,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,CAAC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IACrC,OAAO,SAAA;CACR,CAAC,CAAC;AAEH,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,UAAO,MAAM;;;;;;gBAC/C,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACzC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBACzD,MAAM,CAAC,GAAG,GAAG,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC/C;gBACe,qBAAM,UAAU,EAAE,EAAA;;gBAA5B,OAAO,GAAG,SAAkB;gBAClC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,EAAE;oBAC9B,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;oBACtC,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,iBAAU,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC;iBACrE;gBACD,sBAAO,MAAM,EAAC;;;KACf,CAAC,CAAC;AAEH,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAClC,UAAC,QAAQ;IACP,oBAAoB,CAAC,aAAa,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC;AAClB,CAAC,EACD,UAAO,KAAK;;;;;;gBACJ,MAAM,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,MAAM,CAAC;gBACjC,SAAS,GAAG,CAAC,MAAM,IAAI,MAAM,IAAI,GAAG,CAAC;gBAC3C,IAAI,SAAS,EAAE;oBACb,oBAAoB,CAAC,aAAa,CAAC;wBACjC,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,aAAa;wBAC/B,OAAO,EAAE,6CAA6C;wBACtD,KAAK,OAAA;qBACN,CAAC,CAAC;iBACJ;qBAAM;oBACL,oBAAoB,CAAC,aAAa,EAAE,CAAC;iBACtC;qBAEG,qBAAqB,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,EAAE,MAAM,CAAC,EAApD,wBAAoD;gBACtD,qBAAM,yBAAyB,EAAE,EAAA;;gBAAjC,SAAiC,CAAC;;oBAGpC,sBAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAC;;;KAC9B,CACF,CAAC;AAEF,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;AACvC,MAAM,CAAC,IAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;AACzC,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;AACvC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3C,MAAM,CAAC,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;AAE7C;;;;;;GAMG","sourcesContent":["import axios from \"axios\";\nimport { env } from \"../adapters/env\";\nimport { getSession } from \"../adapters/auth\";\nimport { handleSessionInvalidation, isSessionInvalidError } from \"../adapters/auth/sessionInvalidation\";\nimport { backendHealthMonitor } from \"../helpers/backendHealthMonitor\";\n\nconst baseURL = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api`;\n\n/**\n * solidAxios is a preconfigured Axios instance with:\n * - baseURL from NEXT_PUBLIC_BACKEND_API_URL (VITE_BACKEND_API_URL in Vite)\n * - Authorization header injected from getSession()\n * - Global error event emission on network/5xx failures\n *\n * Usage:\n * import { solidAxios } from \"@solidxai/core-ui\";\n * const res = await solidAxios.get(\"/setting/wrapped\");\n */\nexport const solidAxios = axios.create({\n baseURL,\n});\n\nsolidAxios.interceptors.request.use(async (config) => {\n if (config.url && config.url.startsWith(\"/api\")) {\n const stripped = config.url.replace(/^\\/api(\\/|$)/, \"/\");\n config.url = stripped === \"\" ? \"/\" : stripped;\n }\n const session = await getSession();\n if (session?.user?.accessToken) {\n config.headers = config.headers || {};\n config.headers.Authorization = `Bearer ${session.user.accessToken}`;\n }\n return config;\n});\n\nsolidAxios.interceptors.response.use(\n (response) => {\n backendHealthMonitor.reportSuccess();\n return response;\n },\n async (error) => {\n const status = error?.response?.status;\n const isNetwork = !status || status >= 500;\n if (isNetwork) {\n backendHealthMonitor.reportFailure({\n status: status ?? \"FETCH_ERROR\",\n message: \"Unable to reach the server. Reconnecting...\",\n error,\n });\n } else {\n backendHealthMonitor.reportSuccess();\n }\n\n if (isSessionInvalidError(error?.response?.data, status)) {\n await handleSessionInvalidation();\n }\n\n return Promise.reject(error);\n }\n);\n\nexport const solidGet = solidAxios.get;\nexport const solidPost = solidAxios.post;\nexport const solidPut = solidAxios.put;\nexport const solidPatch = solidAxios.patch;\nexport const solidDelete = solidAxios.delete;\n\n/**\n * Convenience methods when you don't want to import the instance.\n *\n * Usage:\n * import { solidGet, solidPost } from \"@solidxai/core-ui\";\n * const res = await solidGet(\"/setting/wrapped\");\n */\n"]}
@@ -1,6 +1,7 @@
1
1
  import axios from "axios";
2
2
  import { env } from "../adapters/env";
3
3
  import { getSession } from "../adapters/auth";
4
+ import { handleSessionInvalidation, isSessionInvalidError } from "../adapters/auth/sessionInvalidation";
4
5
  import { backendHealthMonitor } from "../helpers/backendHealthMonitor";
5
6
 
6
7
  const baseURL = `${env("NEXT_PUBLIC_BACKEND_API_URL")}/api`;
@@ -37,7 +38,7 @@ solidAxios.interceptors.response.use(
37
38
  backendHealthMonitor.reportSuccess();
38
39
  return response;
39
40
  },
40
- (error) => {
41
+ async (error) => {
41
42
  const status = error?.response?.status;
42
43
  const isNetwork = !status || status >= 500;
43
44
  if (isNetwork) {
@@ -49,6 +50,11 @@ solidAxios.interceptors.response.use(
49
50
  } else {
50
51
  backendHealthMonitor.reportSuccess();
51
52
  }
53
+
54
+ if (isSessionInvalidError(error?.response?.data, status)) {
55
+ await handleSessionInvalidation();
56
+ }
57
+
52
58
  return Promise.reject(error);
53
59
  }
54
60
  );
@@ -1 +1 @@
1
- {"version":3,"file":"fetchBaseQuery.d.ts","sourceRoot":"","sources":["../../../src/redux/api/fetchBaseQuery.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAiCpH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CACzC,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,mBAAmB,EACnB,EAAE,EACF,kBAAkB,CA+BnB,CAAC"}
1
+ {"version":3,"file":"fetchBaseQuery.d.ts","sourceRoot":"","sources":["../../../src/redux/api/fetchBaseQuery.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAkCpH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CACzC,MAAM,GAAG,SAAS,EAClB,OAAO,EACP,mBAAmB,EACnB,EAAE,EACF,kBAAkB,CAmCnB,CAAC"}
@@ -36,6 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  };
37
37
  import { fetchBaseQuery } from "@reduxjs/toolkit/query/react";
38
38
  import { getSession } from "../../adapters/auth/index";
39
+ import { handleSessionInvalidation, isSessionInvalidError } from "../../adapters/auth/sessionInvalidation";
39
40
  import { env } from "../../adapters/env";
40
41
  import { backendHealthMonitor } from "../../helpers/backendHealthMonitor";
41
42
  // Base URL for the API endpoints
@@ -70,31 +71,36 @@ var rawBaseQuery = fetchBaseQuery({
70
71
  });
71
72
  export var baseQueryWithAuth = function (args, api, extraOptions) { return __awaiter(void 0, void 0, void 0, function () {
72
73
  var result, status_1, isNetwork;
73
- return __generator(this, function (_a) {
74
- switch (_a.label) {
74
+ var _a;
75
+ return __generator(this, function (_b) {
76
+ switch (_b.label) {
75
77
  case 0: return [4 /*yield*/, rawBaseQuery(args, api, extraOptions)];
76
78
  case 1:
77
- result = _a.sent();
79
+ result = _b.sent();
78
80
  if (!result.error) {
79
81
  backendHealthMonitor.reportSuccess();
80
82
  }
81
- if (result.error) {
82
- status_1 = result.error.status;
83
- isNetwork = status_1 === "FETCH_ERROR" ||
84
- status_1 === "PARSING_ERROR" ||
85
- (typeof status_1 === "number" && status_1 >= 500);
86
- if (isNetwork) {
87
- backendHealthMonitor.reportFailure({
88
- status: status_1,
89
- message: "Unable to reach the server. Reconnecting...",
90
- error: result.error,
91
- });
92
- }
93
- else {
94
- backendHealthMonitor.reportSuccess();
95
- }
83
+ if (!result.error) return [3 /*break*/, 3];
84
+ status_1 = result.error.status;
85
+ isNetwork = status_1 === "FETCH_ERROR" ||
86
+ status_1 === "PARSING_ERROR" ||
87
+ (typeof status_1 === "number" && status_1 >= 500);
88
+ if (isNetwork) {
89
+ backendHealthMonitor.reportFailure({
90
+ status: status_1,
91
+ message: "Unable to reach the server. Reconnecting...",
92
+ error: result.error,
93
+ });
94
+ }
95
+ else {
96
+ backendHealthMonitor.reportSuccess();
96
97
  }
97
- return [2 /*return*/, result];
98
+ if (!isSessionInvalidError((_a = result.error) === null || _a === void 0 ? void 0 : _a.data, status_1)) return [3 /*break*/, 3];
99
+ return [4 /*yield*/, handleSessionInvalidation()];
100
+ case 2:
101
+ _b.sent();
102
+ _b.label = 3;
103
+ case 3: return [2 /*return*/, result];
98
104
  }
99
105
  });
100
106
  }); };
@@ -1 +1 @@
1
- {"version":3,"file":"fetchBaseQuery.js","sourceRoot":"","sources":["../../../src/redux/api/fetchBaseQuery.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,iCAAiC;AACjC,IAAM,OAAO,GAAG,UAAG,GAAG,CAAC,6BAA6B,CAAC,SAAM,CAAC;AAC5D,iEAAiE;AAGjE,IAAM,YAAY,GAAG,cAAc,CAAC;IAClC,OAAO,SAAA;IACP,cAAc,EAAE,UAAO,OAAO;;;;;wBAEZ,qBAAM,UAAU,EAAE,EAAA;;oBAA5B,OAAO,GAAG,SAAkB;oBAClC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,EAAE;wBAC9B,8BAA8B;wBAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAU,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,CAAE,CAAC,CAAC;qBACtE;oBAED,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,EAAE;wBAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAU,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;wBACnE,oDAAoD;qBACrD;yBAAM;wBACL,oDAAoD;qBACrD;oBAED,wCAAwC;oBACxC,sBAAO,OAAO,EAAC;;;SAChB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,iBAAiB,GAM1B,UACF,IAAI,EACJ,GAAG,EACH,YAAY;;;;oBAEG,qBAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;gBAApD,MAAM,GAAG,SAA2C;gBAE1D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACjB,oBAAoB,CAAC,aAAa,EAAE,CAAC;iBACtC;gBAED,IAAI,MAAM,CAAC,KAAK,EAAE;oBACV,WAAU,MAAM,CAAC,KAAa,CAAC,MAAM,CAAC;oBACtC,SAAS,GACb,QAAM,KAAK,aAAa;wBACxB,QAAM,KAAK,eAAe;wBAC1B,CAAC,OAAO,QAAM,KAAK,QAAQ,IAAI,QAAM,IAAI,GAAG,CAAC,CAAC;oBAEhD,IAAI,SAAS,EAAE;wBACb,oBAAoB,CAAC,aAAa,CAAC;4BACjC,MAAM,UAAA;4BACN,OAAO,EAAE,6CAA6C;4BACtD,KAAK,EAAE,MAAM,CAAC,KAAK;yBACpB,CAAC,CAAC;qBACJ;yBAAM;wBACL,oBAAoB,CAAC,aAAa,EAAE,CAAC;qBACtC;iBACF;gBAED,sBAAO,MAAM,EAAC;;;KACf,CAAC","sourcesContent":["import { fetchBaseQuery } from \"@reduxjs/toolkit/query/react\";\nimport type { BaseQueryFn, FetchArgs, FetchBaseQueryError, FetchBaseQueryMeta } from \"@reduxjs/toolkit/query/react\";\nimport { getSession } from \"../../adapters/auth/index\";\nimport { env } from \"../../adapters/env\";\nimport { logger } from \"../../helpers/logger\";\nimport { backendHealthMonitor } from \"../../helpers/backendHealthMonitor\";\n\n// Base URL for the API endpoints\nconst baseUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api`;\n// logger.debug(`fetchBaseQuery resolved baseUrl to ${baseUrl}`);\n\n\nconst rawBaseQuery = fetchBaseQuery({\n baseUrl,\n prepareHeaders: async (headers) => {\n // Fetch session data\n const session = await getSession();\n if (session?.user?.accessToken) {\n // Add access token to headers\n headers.set('authorization', `Bearer ${session?.user?.accessToken}`);\n }\n\n if (session?.user?.accessToken) {\n headers.set(\"authorization\", `Bearer ${session.user.accessToken}`);\n // logger.debug(\"[prepareHeaders] set auth header\");\n } else {\n // logger.debug(\"[prepareHeaders] no access token\");\n }\n\n // logger.debug(\"[prepareHeaders] end\");\n return headers;\n },\n});\n\nexport const baseQueryWithAuth: BaseQueryFn<\n string | FetchArgs,\n unknown,\n FetchBaseQueryError,\n {},\n FetchBaseQueryMeta\n> = async (\n args,\n api,\n extraOptions\n) => {\n const result = await rawBaseQuery(args, api, extraOptions);\n\n if (!result.error) {\n backendHealthMonitor.reportSuccess();\n }\n\n if (result.error) {\n const status = (result.error as any).status;\n const isNetwork =\n status === \"FETCH_ERROR\" ||\n status === \"PARSING_ERROR\" ||\n (typeof status === \"number\" && status >= 500);\n\n if (isNetwork) {\n backendHealthMonitor.reportFailure({\n status,\n message: \"Unable to reach the server. Reconnecting...\",\n error: result.error,\n });\n } else {\n backendHealthMonitor.reportSuccess();\n }\n }\n\n return result;\n};\n"]}
1
+ {"version":3,"file":"fetchBaseQuery.js","sourceRoot":"","sources":["../../../src/redux/api/fetchBaseQuery.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAC3G,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,iCAAiC;AACjC,IAAM,OAAO,GAAG,UAAG,GAAG,CAAC,6BAA6B,CAAC,SAAM,CAAC;AAC5D,iEAAiE;AAGjE,IAAM,YAAY,GAAG,cAAc,CAAC;IAClC,OAAO,SAAA;IACP,cAAc,EAAE,UAAO,OAAO;;;;;wBAEZ,qBAAM,UAAU,EAAE,EAAA;;oBAA5B,OAAO,GAAG,SAAkB;oBAClC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,EAAE;wBAC9B,8BAA8B;wBAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAU,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,CAAE,CAAC,CAAC;qBACtE;oBAED,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,WAAW,EAAE;wBAC9B,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAU,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC,CAAC;wBACnE,oDAAoD;qBACrD;yBAAM;wBACL,oDAAoD;qBACrD;oBAED,wCAAwC;oBACxC,sBAAO,OAAO,EAAC;;;SAChB;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,iBAAiB,GAM1B,UACF,IAAI,EACJ,GAAG,EACH,YAAY;;;;;oBAEG,qBAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;gBAApD,MAAM,GAAG,SAA2C;gBAE1D,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACjB,oBAAoB,CAAC,aAAa,EAAE,CAAC;iBACtC;qBAEG,MAAM,CAAC,KAAK,EAAZ,wBAAY;gBACR,WAAU,MAAM,CAAC,KAAa,CAAC,MAAM,CAAC;gBACtC,SAAS,GACb,QAAM,KAAK,aAAa;oBACxB,QAAM,KAAK,eAAe;oBAC1B,CAAC,OAAO,QAAM,KAAK,QAAQ,IAAI,QAAM,IAAI,GAAG,CAAC,CAAC;gBAEhD,IAAI,SAAS,EAAE;oBACb,oBAAoB,CAAC,aAAa,CAAC;wBACjC,MAAM,UAAA;wBACN,OAAO,EAAE,6CAA6C;wBACtD,KAAK,EAAE,MAAM,CAAC,KAAK;qBACpB,CAAC,CAAC;iBACJ;qBAAM;oBACL,oBAAoB,CAAC,aAAa,EAAE,CAAC;iBACtC;qBAEG,qBAAqB,CAAC,MAAC,MAAM,CAAC,KAAa,0CAAE,IAAI,EAAE,QAAM,CAAC,EAA1D,wBAA0D;gBAC5D,qBAAM,yBAAyB,EAAE,EAAA;;gBAAjC,SAAiC,CAAC;;oBAItC,sBAAO,MAAM,EAAC;;;KACf,CAAC","sourcesContent":["import { fetchBaseQuery } from \"@reduxjs/toolkit/query/react\";\nimport type { BaseQueryFn, FetchArgs, FetchBaseQueryError, FetchBaseQueryMeta } from \"@reduxjs/toolkit/query/react\";\nimport { getSession } from \"../../adapters/auth/index\";\nimport { handleSessionInvalidation, isSessionInvalidError } from \"../../adapters/auth/sessionInvalidation\";\nimport { env } from \"../../adapters/env\";\nimport { logger } from \"../../helpers/logger\";\nimport { backendHealthMonitor } from \"../../helpers/backendHealthMonitor\";\n\n// Base URL for the API endpoints\nconst baseUrl = `${env(\"NEXT_PUBLIC_BACKEND_API_URL\")}/api`;\n// logger.debug(`fetchBaseQuery resolved baseUrl to ${baseUrl}`);\n\n\nconst rawBaseQuery = fetchBaseQuery({\n baseUrl,\n prepareHeaders: async (headers) => {\n // Fetch session data\n const session = await getSession();\n if (session?.user?.accessToken) {\n // Add access token to headers\n headers.set('authorization', `Bearer ${session?.user?.accessToken}`);\n }\n\n if (session?.user?.accessToken) {\n headers.set(\"authorization\", `Bearer ${session.user.accessToken}`);\n // logger.debug(\"[prepareHeaders] set auth header\");\n } else {\n // logger.debug(\"[prepareHeaders] no access token\");\n }\n\n // logger.debug(\"[prepareHeaders] end\");\n return headers;\n },\n});\n\nexport const baseQueryWithAuth: BaseQueryFn<\n string | FetchArgs,\n unknown,\n FetchBaseQueryError,\n {},\n FetchBaseQueryMeta\n> = async (\n args,\n api,\n extraOptions\n) => {\n const result = await rawBaseQuery(args, api, extraOptions);\n\n if (!result.error) {\n backendHealthMonitor.reportSuccess();\n }\n\n if (result.error) {\n const status = (result.error as any).status;\n const isNetwork =\n status === \"FETCH_ERROR\" ||\n status === \"PARSING_ERROR\" ||\n (typeof status === \"number\" && status >= 500);\n\n if (isNetwork) {\n backendHealthMonitor.reportFailure({\n status,\n message: \"Unable to reach the server. Reconnecting...\",\n error: result.error,\n });\n } else {\n backendHealthMonitor.reportSuccess();\n }\n\n if (isSessionInvalidError((result.error as any)?.data, status)) {\n await handleSessionInvalidation();\n }\n }\n\n return result;\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  import { fetchBaseQuery } from "@reduxjs/toolkit/query/react";
2
2
  import type { BaseQueryFn, FetchArgs, FetchBaseQueryError, FetchBaseQueryMeta } from "@reduxjs/toolkit/query/react";
3
3
  import { getSession } from "../../adapters/auth/index";
4
+ import { handleSessionInvalidation, isSessionInvalidError } from "../../adapters/auth/sessionInvalidation";
4
5
  import { env } from "../../adapters/env";
5
6
  import { logger } from "../../helpers/logger";
6
7
  import { backendHealthMonitor } from "../../helpers/backendHealthMonitor";
@@ -65,6 +66,10 @@ export const baseQueryWithAuth: BaseQueryFn<
65
66
  } else {
66
67
  backendHealthMonitor.reportSuccess();
67
68
  }
69
+
70
+ if (isSessionInvalidError((result.error as any)?.data, status)) {
71
+ await handleSessionInvalidation();
72
+ }
68
73
  }
69
74
 
70
75
  return result;
@@ -1,8 +1,8 @@
1
1
  export declare const solidChatterMessageApi: import("@reduxjs/toolkit/query/react").Api<import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, {
2
2
  getchatterMessage: import("@reduxjs/toolkit/query/react").QueryDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">;
3
- createChatterMessage: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">;
3
+ postChatterMessage: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">;
4
4
  patchChatterMessage: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">;
5
5
  updateChatterNoteMessage: import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">;
6
6
  }, "solidChatterMessageApi", never, typeof import("@reduxjs/toolkit/query/react").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
7
- export declare const useGetchatterMessageQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, useLazyGetchatterMessageQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, useCreateChatterMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, usePatchChatterMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, useUpdateChatterNoteMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>;
7
+ export declare const useGetchatterMessageQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, useLazyGetchatterMessageQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query/react").QueryDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, usePostChatterMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, usePatchChatterMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>, useUpdateChatterNoteMessageMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query/react").MutationDefinition<any, import("@reduxjs/toolkit/query/react").BaseQueryFn<string | import("@reduxjs/toolkit/query/react").FetchArgs, unknown, import("@reduxjs/toolkit/query/react").FetchBaseQueryError, {}, import("@reduxjs/toolkit/query/react").FetchBaseQueryMeta>, never, any, "solidChatterMessageApi">>;
8
8
  //# sourceMappingURL=solidChatterMessageApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidChatterMessageApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/solidChatterMessageApi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB;;;;;sKAqCjC,CAAC;AAEH,eAAO,MAAQ,yBAAyB,yZAAE,6BAA6B,6ZAAE,+BAA+B,+ZAAE,8BAA8B,+ZAAE,mCAAmC,6ZAA2B,CAAC"}
1
+ {"version":3,"file":"solidChatterMessageApi.d.ts","sourceRoot":"","sources":["../../../src/redux/api/solidChatterMessageApi.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB;;;;;sKAqCjC,CAAC;AAEH,eAAO,MAAQ,yBAAyB,yZAAE,6BAA6B,6ZAAE,6BAA6B,+ZAAE,8BAA8B,+ZAAE,mCAAmC,6ZAA2B,CAAC"}