@jmruthers/pace-core 0.5.33 → 0.5.35

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 (106) hide show
  1. package/dist/{DataTable-XPPSWRXE.js → DataTable-7H63EFYM.js} +3 -2
  2. package/dist/{chunk-TBJVKUYR.js → chunk-BRWHKGV2.js} +58 -5
  3. package/dist/chunk-BRWHKGV2.js.map +1 -0
  4. package/dist/{chunk-OYDYXNAY.js → chunk-MC5E4ILK.js} +2 -2
  5. package/dist/components.js +3 -2
  6. package/dist/components.js.map +1 -1
  7. package/dist/index.js +3 -3
  8. package/dist/utils.js +4 -4
  9. package/docs/api/classes/ErrorBoundary.md +1 -1
  10. package/docs/api/classes/InvalidScopeError.md +1 -1
  11. package/docs/api/classes/MissingUserContextError.md +1 -1
  12. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  13. package/docs/api/classes/PermissionDeniedError.md +1 -1
  14. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  15. package/docs/api/classes/RBACAuditManager.md +1 -1
  16. package/docs/api/classes/RBACCache.md +1 -1
  17. package/docs/api/classes/RBACEngine.md +1 -1
  18. package/docs/api/classes/RBACError.md +1 -1
  19. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  20. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  21. package/docs/api/interfaces/AggregateConfig.md +1 -1
  22. package/docs/api/interfaces/ButtonProps.md +1 -1
  23. package/docs/api/interfaces/CardProps.md +1 -1
  24. package/docs/api/interfaces/ColorPalette.md +1 -1
  25. package/docs/api/interfaces/ColorShade.md +1 -1
  26. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  27. package/docs/api/interfaces/DataTableAction.md +1 -1
  28. package/docs/api/interfaces/DataTableColumn.md +1 -1
  29. package/docs/api/interfaces/DataTableProps.md +1 -1
  30. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  31. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  32. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  33. package/docs/api/interfaces/EventContextType.md +1 -1
  34. package/docs/api/interfaces/EventLogoProps.md +1 -1
  35. package/docs/api/interfaces/EventProviderProps.md +1 -1
  36. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  37. package/docs/api/interfaces/FileUploadProps.md +1 -1
  38. package/docs/api/interfaces/FooterProps.md +1 -1
  39. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  40. package/docs/api/interfaces/InputProps.md +1 -1
  41. package/docs/api/interfaces/LabelProps.md +1 -1
  42. package/docs/api/interfaces/LoginFormProps.md +1 -1
  43. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  44. package/docs/api/interfaces/NavigationContextType.md +1 -1
  45. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  46. package/docs/api/interfaces/NavigationItem.md +1 -1
  47. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  48. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  49. package/docs/api/interfaces/Organisation.md +1 -1
  50. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  51. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  52. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  53. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  54. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  55. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  56. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  57. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  58. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  59. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  60. package/docs/api/interfaces/PaletteData.md +1 -1
  61. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  62. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  63. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  64. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  65. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  66. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  67. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  68. package/docs/api/interfaces/RBACConfig.md +1 -1
  69. package/docs/api/interfaces/RBACContextType.md +1 -1
  70. package/docs/api/interfaces/RBACLogger.md +1 -1
  71. package/docs/api/interfaces/RBACProviderProps.md +1 -1
  72. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  73. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  74. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  75. package/docs/api/interfaces/RouteConfig.md +1 -1
  76. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  77. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  78. package/docs/api/interfaces/StorageConfig.md +1 -1
  79. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  80. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  81. package/docs/api/interfaces/StorageListOptions.md +1 -1
  82. package/docs/api/interfaces/StorageListResult.md +1 -1
  83. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  84. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  85. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  86. package/docs/api/interfaces/StyleImport.md +1 -1
  87. package/docs/api/interfaces/ToastActionElement.md +1 -1
  88. package/docs/api/interfaces/ToastProps.md +1 -1
  89. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  90. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  91. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  92. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  93. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  94. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  95. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  96. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  97. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  98. package/docs/api/interfaces/UserEventAccess.md +1 -1
  99. package/docs/api/interfaces/UserMenuProps.md +1 -1
  100. package/docs/api/interfaces/UserProfile.md +1 -1
  101. package/docs/api/modules.md +2 -2
  102. package/package.json +1 -1
  103. package/src/components/DataTable/components/DataTableCore.tsx +67 -4
  104. package/dist/chunk-TBJVKUYR.js.map +0 -1
  105. /package/dist/{DataTable-XPPSWRXE.js.map → DataTable-7H63EFYM.js.map} +0 -0
  106. /package/dist/{chunk-OYDYXNAY.js.map → chunk-MC5E4ILK.js.map} +0 -0
@@ -32,7 +32,7 @@ import {
32
32
  useDataTableContext,
33
33
  usePluginRegistry,
34
34
  useStateManager
35
- } from "./chunk-TBJVKUYR.js";
35
+ } from "./chunk-BRWHKGV2.js";
36
36
  import "./chunk-YA77BOZM.js";
37
37
  import "./chunk-GWSBHC4J.js";
38
38
  import "./chunk-7BNPOCLL.js";
@@ -50,6 +50,7 @@ import {
50
50
  } from "./chunk-SS3E6QLB.js";
51
51
  import "./chunk-RQ7Y2CN6.js";
52
52
  import "./chunk-YDJW5XTN.js";
53
+ import "./chunk-MZBUOP4P.js";
53
54
  import "./chunk-WJARTBCT.js";
54
55
  import "./chunk-PLDDJCW6.js";
55
56
  export {
@@ -96,4 +97,4 @@ export {
96
97
  usePluginRegistry,
97
98
  useStateManager
98
99
  };
99
- //# sourceMappingURL=DataTable-XPPSWRXE.js.map
100
+ //# sourceMappingURL=DataTable-7H63EFYM.js.map
@@ -15,6 +15,10 @@ import {
15
15
  init_UnifiedAuthProvider,
16
16
  useUnifiedAuth
17
17
  } from "./chunk-RQ7Y2CN6.js";
18
+ import {
19
+ getCurrentAppName,
20
+ init_appNameResolver
21
+ } from "./chunk-MZBUOP4P.js";
18
22
  import {
19
23
  cn,
20
24
  init_cn
@@ -3227,6 +3231,7 @@ function AccessDeniedPage({
3227
3231
 
3228
3232
  // src/components/DataTable/components/DataTableCore.tsx
3229
3233
  init_UnifiedAuthProvider();
3234
+ init_appNameResolver();
3230
3235
  import { Fragment as Fragment7, jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
3231
3236
  function DataTableInternal({
3232
3237
  data,
@@ -3385,11 +3390,39 @@ function DataTableInternal({
3385
3390
  const stableScope = stableScopeRef.current;
3386
3391
  useEffect5(() => {
3387
3392
  const resolveScope = async () => {
3393
+ let appId = void 0;
3394
+ if (supabase) {
3395
+ const appName = getCurrentAppName();
3396
+ if (appName) {
3397
+ try {
3398
+ console.log("[DataTable] Resolving app name to ID:", appName);
3399
+ const { data: app, error } = await supabase.from("rbac_apps").select("id, name, is_active").eq("name", appName).eq("is_active", true).single();
3400
+ if (error) {
3401
+ console.error("[DataTable] Database error resolving app ID:", error);
3402
+ const { data: inactiveApp } = await supabase.from("rbac_apps").select("id, name, is_active").eq("name", appName).single();
3403
+ if (inactiveApp) {
3404
+ console.error(`[DataTable] App "${appName}" exists but is inactive (is_active: ${inactiveApp.is_active})`);
3405
+ } else {
3406
+ console.error(`[DataTable] App "${appName}" not found in rbac_apps table`);
3407
+ }
3408
+ } else if (app) {
3409
+ appId = app.id;
3410
+ console.log("[DataTable] Successfully resolved app ID:", app.id);
3411
+ } else {
3412
+ console.error("[DataTable] No app data returned for:", appName);
3413
+ }
3414
+ } catch (error) {
3415
+ console.error("[DataTable] Unexpected error resolving app ID:", error);
3416
+ }
3417
+ } else {
3418
+ console.warn("[DataTable] No app name available for resolution");
3419
+ }
3420
+ }
3388
3421
  if (selectedOrganisationId && selectedEventId) {
3389
3422
  setResolvedScope({
3390
3423
  organisationId: selectedOrganisationId,
3391
3424
  eventId: selectedEventId,
3392
- appId: void 0
3425
+ appId
3393
3426
  });
3394
3427
  return;
3395
3428
  }
@@ -3397,7 +3430,7 @@ function DataTableInternal({
3397
3430
  setResolvedScope({
3398
3431
  organisationId: selectedOrganisationId,
3399
3432
  eventId: selectedEventId || void 0,
3400
- appId: void 0
3433
+ appId
3401
3434
  });
3402
3435
  return;
3403
3436
  }
@@ -3410,7 +3443,10 @@ function DataTableInternal({
3410
3443
  setResolvedScope(null);
3411
3444
  return;
3412
3445
  }
3413
- setResolvedScope(eventScope);
3446
+ setResolvedScope({
3447
+ ...eventScope,
3448
+ appId: appId || eventScope.appId
3449
+ });
3414
3450
  } catch (error) {
3415
3451
  console.error("[DataTable] Error resolving scope from event:", error);
3416
3452
  setResolvedScope(null);
@@ -3438,7 +3474,21 @@ function DataTableInternal({
3438
3474
  console.log(" stableScope keys:", stableScope ? Object.keys(stableScope) : "null");
3439
3475
  const fallbackScope = { organisationId: "", eventId: void 0, appId: void 0 };
3440
3476
  const effectiveScope = stableScope && stableScope.organisationId ? stableScope : fallbackScope;
3441
- const permissions = {
3477
+ const testBypass = false;
3478
+ const permissions = testBypass ? {
3479
+ canRead: { can: true, isLoading: false, error: null, refetch: async () => {
3480
+ } },
3481
+ canCreate: { can: true, isLoading: false, error: null, refetch: async () => {
3482
+ } },
3483
+ canUpdate: { can: true, isLoading: false, error: null, refetch: async () => {
3484
+ } },
3485
+ canDelete: { can: true, isLoading: false, error: null, refetch: async () => {
3486
+ } },
3487
+ canExport: { can: true, isLoading: false, error: null, refetch: async () => {
3488
+ } },
3489
+ canImport: { can: true, isLoading: false, error: null, refetch: async () => {
3490
+ } }
3491
+ } : {
3442
3492
  canRead: useCan(user?.id || "", effectiveScope, `read:page.${effectivePageId}`, effectivePageId, true),
3443
3493
  canCreate: useCan(user?.id || "", effectiveScope, `create:page.${effectivePageId}`, effectivePageId, true),
3444
3494
  canUpdate: useCan(user?.id || "", effectiveScope, `update:page.${effectivePageId}`, effectivePageId, true),
@@ -3448,6 +3498,9 @@ function DataTableInternal({
3448
3498
  canImport: useCan(user?.id || "", effectiveScope, `manage:page.${effectivePageId}`, effectivePageId, true)
3449
3499
  // Using manage for export/import
3450
3500
  };
3501
+ if (testBypass) {
3502
+ console.log("[DataTable] TEST BYPASS: Using hardcoded can: true for all permissions");
3503
+ }
3451
3504
  const finalPaginationMode = paginationMode || detectedMode;
3452
3505
  const finalPageSizeOptions = optimizedPageSizeOptions;
3453
3506
  const validatedInitialPageSize = useMemo6(() => {
@@ -5556,4 +5609,4 @@ export {
5556
5609
  GroupHeader,
5557
5610
  EditableRow
5558
5611
  };
5559
- //# sourceMappingURL=chunk-TBJVKUYR.js.map
5612
+ //# sourceMappingURL=chunk-BRWHKGV2.js.map