@jmruthers/pace-core 0.5.39 → 0.5.42

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 (132) hide show
  1. package/dist/{DataTable-2HA7VQZ4.js → DataTable-DCW3J4YX.js} +5 -5
  2. package/dist/{chunk-7SLC6HXW.js → chunk-2DUJJPO2.js} +5 -5
  3. package/dist/{chunk-UYKKHRJN.js → chunk-APHGXR2D.js} +3 -3
  4. package/dist/{chunk-JE7K6Q3N.js → chunk-BLZBTCBT.js} +2 -2
  5. package/dist/{chunk-YA77BOZM.js → chunk-CL2MCHIO.js} +3 -3
  6. package/dist/{chunk-RQ7Y2CN6.js → chunk-P27KH7XF.js} +10 -4
  7. package/dist/chunk-P27KH7XF.js.map +1 -0
  8. package/dist/{chunk-XYRRPUYV.js → chunk-RL267HOF.js} +2 -2
  9. package/dist/{chunk-4TMM2IGR.js → chunk-XC6XWRP6.js} +2 -2
  10. package/dist/{chunk-6Z3XT4BB.js → chunk-YXTIVGX3.js} +4 -4
  11. package/dist/{chunk-ZIYFAQJ5.js → chunk-ZRWNGBDJ.js} +3 -3
  12. package/dist/{chunk-MQS7SEE6.js → chunk-ZSXH6L7D.js} +3 -3
  13. package/dist/components.js +7 -7
  14. package/dist/hooks.js +4 -4
  15. package/dist/index.js +10 -10
  16. package/dist/providers.js +3 -3
  17. package/dist/rbac/cli/policy-manager.js +278 -0
  18. package/dist/rbac/cli/policy-manager.js.map +1 -0
  19. package/dist/rbac/index.js +5 -5
  20. package/dist/utils.js +1 -1
  21. package/docs/api/classes/ErrorBoundary.md +1 -1
  22. package/docs/api/classes/InvalidScopeError.md +1 -1
  23. package/docs/api/classes/MissingUserContextError.md +1 -1
  24. package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
  25. package/docs/api/classes/PermissionDeniedError.md +1 -1
  26. package/docs/api/classes/PublicErrorBoundary.md +1 -1
  27. package/docs/api/classes/RBACAuditManager.md +1 -1
  28. package/docs/api/classes/RBACCache.md +1 -1
  29. package/docs/api/classes/RBACEngine.md +1 -1
  30. package/docs/api/classes/RBACError.md +1 -1
  31. package/docs/api/classes/RBACNotInitializedError.md +1 -1
  32. package/docs/api/classes/SecureSupabaseClient.md +1 -1
  33. package/docs/api/interfaces/AggregateConfig.md +1 -1
  34. package/docs/api/interfaces/ButtonProps.md +1 -1
  35. package/docs/api/interfaces/CardProps.md +1 -1
  36. package/docs/api/interfaces/ColorPalette.md +1 -1
  37. package/docs/api/interfaces/ColorShade.md +1 -1
  38. package/docs/api/interfaces/DataAccessRecord.md +1 -1
  39. package/docs/api/interfaces/DataTableAction.md +1 -1
  40. package/docs/api/interfaces/DataTableColumn.md +1 -1
  41. package/docs/api/interfaces/DataTableProps.md +1 -1
  42. package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
  43. package/docs/api/interfaces/EmptyStateConfig.md +1 -1
  44. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
  45. package/docs/api/interfaces/EventContextType.md +1 -1
  46. package/docs/api/interfaces/EventLogoProps.md +1 -1
  47. package/docs/api/interfaces/EventProviderProps.md +1 -1
  48. package/docs/api/interfaces/FileSizeLimits.md +1 -1
  49. package/docs/api/interfaces/FileUploadProps.md +1 -1
  50. package/docs/api/interfaces/FooterProps.md +1 -1
  51. package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
  52. package/docs/api/interfaces/InputProps.md +1 -1
  53. package/docs/api/interfaces/LabelProps.md +1 -1
  54. package/docs/api/interfaces/LoginFormProps.md +1 -1
  55. package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
  56. package/docs/api/interfaces/NavigationContextType.md +1 -1
  57. package/docs/api/interfaces/NavigationGuardProps.md +1 -1
  58. package/docs/api/interfaces/NavigationItem.md +1 -1
  59. package/docs/api/interfaces/NavigationMenuProps.md +1 -1
  60. package/docs/api/interfaces/NavigationProviderProps.md +1 -1
  61. package/docs/api/interfaces/Organisation.md +1 -1
  62. package/docs/api/interfaces/OrganisationContextType.md +1 -1
  63. package/docs/api/interfaces/OrganisationMembership.md +1 -1
  64. package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
  65. package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
  66. package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
  67. package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
  68. package/docs/api/interfaces/PageAccessRecord.md +1 -1
  69. package/docs/api/interfaces/PagePermissionContextType.md +1 -1
  70. package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
  71. package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
  72. package/docs/api/interfaces/PaletteData.md +1 -1
  73. package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
  74. package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
  75. package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
  76. package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
  77. package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
  78. package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
  79. package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
  80. package/docs/api/interfaces/RBACConfig.md +1 -1
  81. package/docs/api/interfaces/RBACContextType.md +1 -1
  82. package/docs/api/interfaces/RBACLogger.md +1 -1
  83. package/docs/api/interfaces/RBACProviderProps.md +1 -1
  84. package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
  85. package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
  86. package/docs/api/interfaces/RouteAccessRecord.md +1 -1
  87. package/docs/api/interfaces/RouteConfig.md +1 -1
  88. package/docs/api/interfaces/SecureDataContextType.md +1 -1
  89. package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
  90. package/docs/api/interfaces/StorageConfig.md +1 -1
  91. package/docs/api/interfaces/StorageFileInfo.md +1 -1
  92. package/docs/api/interfaces/StorageFileMetadata.md +1 -1
  93. package/docs/api/interfaces/StorageListOptions.md +1 -1
  94. package/docs/api/interfaces/StorageListResult.md +1 -1
  95. package/docs/api/interfaces/StorageUploadOptions.md +1 -1
  96. package/docs/api/interfaces/StorageUploadResult.md +1 -1
  97. package/docs/api/interfaces/StorageUrlOptions.md +1 -1
  98. package/docs/api/interfaces/StyleImport.md +1 -1
  99. package/docs/api/interfaces/ToastActionElement.md +1 -1
  100. package/docs/api/interfaces/ToastProps.md +1 -1
  101. package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
  102. package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
  103. package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
  104. package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
  105. package/docs/api/interfaces/UsePublicEventLogoOptions.md +1 -1
  106. package/docs/api/interfaces/UsePublicEventLogoReturn.md +1 -1
  107. package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
  108. package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
  109. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
  110. package/docs/api/interfaces/UserEventAccess.md +1 -1
  111. package/docs/api/interfaces/UserMenuProps.md +1 -1
  112. package/docs/api/interfaces/UserProfile.md +1 -1
  113. package/docs/api/modules.md +3 -3
  114. package/docs/implementation-guides/data-tables.md +189 -0
  115. package/docs/rbac/README-rbac-rls-integration.md +358 -0
  116. package/docs/rbac/examples/rbac-rls-integration-example.md +332 -0
  117. package/docs/rbac/rbac-rls-integration.md +377 -0
  118. package/package.json +19 -3
  119. package/src/providers/OrganisationProvider.tsx +8 -1
  120. package/src/rbac/cli/policy-manager.ts +443 -0
  121. package/src/rbac/providers/RBACProvider.tsx +4 -4
  122. package/dist/chunk-RQ7Y2CN6.js.map +0 -1
  123. /package/dist/{DataTable-2HA7VQZ4.js.map → DataTable-DCW3J4YX.js.map} +0 -0
  124. /package/dist/{chunk-7SLC6HXW.js.map → chunk-2DUJJPO2.js.map} +0 -0
  125. /package/dist/{chunk-UYKKHRJN.js.map → chunk-APHGXR2D.js.map} +0 -0
  126. /package/dist/{chunk-JE7K6Q3N.js.map → chunk-BLZBTCBT.js.map} +0 -0
  127. /package/dist/{chunk-YA77BOZM.js.map → chunk-CL2MCHIO.js.map} +0 -0
  128. /package/dist/{chunk-XYRRPUYV.js.map → chunk-RL267HOF.js.map} +0 -0
  129. /package/dist/{chunk-4TMM2IGR.js.map → chunk-XC6XWRP6.js.map} +0 -0
  130. /package/dist/{chunk-6Z3XT4BB.js.map → chunk-YXTIVGX3.js.map} +0 -0
  131. /package/dist/{chunk-ZIYFAQJ5.js.map → chunk-ZRWNGBDJ.js.map} +0 -0
  132. /package/dist/{chunk-MQS7SEE6.js.map → chunk-ZSXH6L7D.js.map} +0 -0
@@ -32,11 +32,11 @@ import {
32
32
  useDataTableContext,
33
33
  usePluginRegistry,
34
34
  useStateManager
35
- } from "./chunk-MQS7SEE6.js";
36
- import "./chunk-YA77BOZM.js";
35
+ } from "./chunk-ZSXH6L7D.js";
36
+ import "./chunk-CL2MCHIO.js";
37
37
  import "./chunk-GWSBHC4J.js";
38
38
  import "./chunk-7BNPOCLL.js";
39
- import "./chunk-4TMM2IGR.js";
39
+ import "./chunk-XC6XWRP6.js";
40
40
  import {
41
41
  DataChunkManager,
42
42
  SearchIndex,
@@ -48,7 +48,7 @@ import {
48
48
  throttle,
49
49
  useDataTablePerformance
50
50
  } from "./chunk-SS3E6QLB.js";
51
- import "./chunk-RQ7Y2CN6.js";
51
+ import "./chunk-P27KH7XF.js";
52
52
  import "./chunk-YDJW5XTN.js";
53
53
  import "./chunk-MZBUOP4P.js";
54
54
  import "./chunk-WJARTBCT.js";
@@ -97,4 +97,4 @@ export {
97
97
  usePluginRegistry,
98
98
  useStateManager
99
99
  };
100
- //# sourceMappingURL=DataTable-2HA7VQZ4.js.map
100
+ //# sourceMappingURL=DataTable-DCW3J4YX.js.map
@@ -15,7 +15,7 @@ import {
15
15
  SelectSeparator,
16
16
  SelectTrigger,
17
17
  SelectValue
18
- } from "./chunk-MQS7SEE6.js";
18
+ } from "./chunk-ZSXH6L7D.js";
19
19
  import {
20
20
  isPermitted
21
21
  } from "./chunk-GWSBHC4J.js";
@@ -23,13 +23,13 @@ import {
23
23
  EventProvider_exports,
24
24
  init_EventProvider,
25
25
  useEvents
26
- } from "./chunk-4TMM2IGR.js";
26
+ } from "./chunk-XC6XWRP6.js";
27
27
  import {
28
28
  PublicErrorBoundary,
29
29
  useAppConfig,
30
30
  usePublicEventLogo,
31
31
  usePublicPageContext
32
- } from "./chunk-JE7K6Q3N.js";
32
+ } from "./chunk-BLZBTCBT.js";
33
33
  import {
34
34
  Button,
35
35
  Dialog,
@@ -45,7 +45,7 @@ import {
45
45
  init_UnifiedAuthProvider,
46
46
  useOrganisations,
47
47
  useUnifiedAuth
48
- } from "./chunk-RQ7Y2CN6.js";
48
+ } from "./chunk-P27KH7XF.js";
49
49
  import {
50
50
  LoadingSpinner
51
51
  } from "./chunk-CDQ3PX7L.js";
@@ -3290,4 +3290,4 @@ export {
3290
3290
  PublicPageDiagnostic,
3291
3291
  PublicPageContextChecker
3292
3292
  };
3293
- //# sourceMappingURL=chunk-7SLC6HXW.js.map
3293
+ //# sourceMappingURL=chunk-2DUJJPO2.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  usePublicPageContext
3
- } from "./chunk-JE7K6Q3N.js";
3
+ } from "./chunk-BLZBTCBT.js";
4
4
  import {
5
5
  init_OrganisationProvider,
6
6
  init_UnifiedAuthProvider,
7
7
  useOrganisations,
8
8
  useUnifiedAuth
9
- } from "./chunk-RQ7Y2CN6.js";
9
+ } from "./chunk-P27KH7XF.js";
10
10
 
11
11
  // src/hooks/useOrganisationPermissions.ts
12
12
  init_OrganisationProvider();
@@ -519,4 +519,4 @@ export {
519
519
  generatePublicRoutePath,
520
520
  extractEventCodeFromPath
521
521
  };
522
- //# sourceMappingURL=chunk-UYKKHRJN.js.map
522
+ //# sourceMappingURL=chunk-APHGXR2D.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  init_UnifiedAuthProvider,
3
3
  useUnifiedAuth
4
- } from "./chunk-RQ7Y2CN6.js";
4
+ } from "./chunk-P27KH7XF.js";
5
5
 
6
6
  // src/components/PublicLayout/PublicErrorBoundary.tsx
7
7
  import React, { Component } from "react";
@@ -386,4 +386,4 @@ export {
386
386
  clearPublicLogoCache,
387
387
  getPublicLogoCacheStats
388
388
  };
389
- //# sourceMappingURL=chunk-JE7K6Q3N.js.map
389
+ //# sourceMappingURL=chunk-BLZBTCBT.js.map
@@ -7,13 +7,13 @@ import {
7
7
  import {
8
8
  init_EventProvider,
9
9
  useEvents
10
- } from "./chunk-4TMM2IGR.js";
10
+ } from "./chunk-XC6XWRP6.js";
11
11
  import {
12
12
  init_OrganisationProvider,
13
13
  init_UnifiedAuthProvider,
14
14
  useOrganisations,
15
15
  useUnifiedAuth
16
- } from "./chunk-RQ7Y2CN6.js";
16
+ } from "./chunk-P27KH7XF.js";
17
17
 
18
18
  // src/rbac/hooks/useRBAC.ts
19
19
  init_UnifiedAuthProvider();
@@ -506,4 +506,4 @@ export {
506
506
  useHasAllPermissions,
507
507
  useCachedPermissions
508
508
  };
509
- //# sourceMappingURL=chunk-YA77BOZM.js.map
509
+ //# sourceMappingURL=chunk-CL2MCHIO.js.map
@@ -359,17 +359,19 @@ function RBACProvider({
359
359
  console.warn("App not found or inactive:", resolvedAppName);
360
360
  setAppConfig({
361
361
  supports_direct_access: false,
362
+ // Field removed from rbac_apps table
362
363
  requires_event: true
363
364
  });
364
365
  return;
365
366
  }
366
367
  const response = await supabaseClient.rpc("get_app_config", {
367
- p_app_id: appData.id
368
+ app_id: appData.id
368
369
  });
369
370
  const { data } = response || {};
370
371
  if (data && data.length > 0) {
371
372
  setAppConfig({
372
- supports_direct_access: data[0].supports_direct_access,
373
+ supports_direct_access: false,
374
+ // Field removed from rbac_apps table
373
375
  requires_event: data[0].requires_event
374
376
  });
375
377
  } else {
@@ -386,6 +388,7 @@ function RBACProvider({
386
388
  console.warn("Failed to load app configuration:", error);
387
389
  setAppConfig({
388
390
  supports_direct_access: false,
391
+ // Field removed from rbac_apps table
389
392
  requires_event: true
390
393
  });
391
394
  }
@@ -7460,7 +7463,10 @@ function OrganisationProvider({ children }) {
7460
7463
  if (!memberships || memberships.length === 0) {
7461
7464
  throw new Error("User has no active organisation memberships");
7462
7465
  }
7463
- const organisationIds = memberships.map((m) => m.organisation_id);
7466
+ const organisationIds = memberships.map((m) => m.organisation_id).filter((id) => id && id.trim() !== "" && /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(id));
7467
+ if (organisationIds.length === 0) {
7468
+ throw new Error("No valid organisation IDs found in memberships");
7469
+ }
7464
7470
  const { data: organisations2, error: orgError } = await supabase.from("organisations").select("id, name, display_name, subscription_tier, settings, is_active, parent_id, created_at, updated_at").in("id", organisationIds);
7465
7471
  if (orgError) {
7466
7472
  console.error("[OrganisationProvider] Error loading organisations:", orgError);
@@ -7779,4 +7785,4 @@ lodash/lodash.js:
7779
7785
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
7780
7786
  *)
7781
7787
  */
7782
- //# sourceMappingURL=chunk-RQ7Y2CN6.js.map
7788
+ //# sourceMappingURL=chunk-P27KH7XF.js.map