@jmruthers/pace-core 0.5.176 → 0.5.178
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.
- package/dist/{DataTable-XLD74HEH.js → DataTable-4VSEJQ7D.js} +3 -3
- package/dist/{chunk-G2JIKESV.js → chunk-GOL4XSJU.js} +7 -11
- package/dist/chunk-GOL4XSJU.js.map +1 -0
- package/dist/{chunk-2R2QIWZ5.js → chunk-GQA2LIAE.js} +2 -2
- package/dist/{chunk-TTHIANWS.js → chunk-LEBYAJVF.js} +2 -2
- package/dist/{chunk-KATF5CZL.js → chunk-ONI7Y733.js} +4 -3
- package/dist/chunk-ONI7Y733.js.map +1 -0
- package/dist/components.js +3 -3
- package/dist/index.js +4 -4
- package/dist/rbac/index.js +2 -2
- package/dist/utils.js +1 -1
- package/docs/api/classes/ColumnFactory.md +1 -1
- package/docs/api/classes/ErrorBoundary.md +1 -1
- package/docs/api/classes/InvalidScopeError.md +1 -1
- package/docs/api/classes/MissingUserContextError.md +1 -1
- package/docs/api/classes/OrganisationContextRequiredError.md +1 -1
- package/docs/api/classes/PermissionDeniedError.md +1 -1
- package/docs/api/classes/PublicErrorBoundary.md +1 -1
- package/docs/api/classes/RBACAuditManager.md +1 -1
- package/docs/api/classes/RBACCache.md +1 -1
- package/docs/api/classes/RBACEngine.md +1 -1
- package/docs/api/classes/RBACError.md +1 -1
- package/docs/api/classes/RBACNotInitializedError.md +1 -1
- package/docs/api/classes/SecureSupabaseClient.md +1 -1
- package/docs/api/classes/StorageUtils.md +1 -1
- package/docs/api/enums/FileCategory.md +1 -1
- package/docs/api/interfaces/AggregateConfig.md +1 -1
- package/docs/api/interfaces/BadgeProps.md +1 -1
- package/docs/api/interfaces/ButtonProps.md +1 -1
- package/docs/api/interfaces/CalendarProps.md +1 -1
- package/docs/api/interfaces/CardProps.md +1 -1
- package/docs/api/interfaces/ColorPalette.md +1 -1
- package/docs/api/interfaces/ColorShade.md +1 -1
- package/docs/api/interfaces/DataAccessRecord.md +1 -1
- package/docs/api/interfaces/DataRecord.md +1 -1
- package/docs/api/interfaces/DataTableAction.md +1 -1
- package/docs/api/interfaces/DataTableColumn.md +1 -1
- package/docs/api/interfaces/DataTableProps.md +1 -1
- package/docs/api/interfaces/DataTableToolbarButton.md +1 -1
- package/docs/api/interfaces/EmptyStateConfig.md +1 -1
- package/docs/api/interfaces/EnhancedNavigationMenuProps.md +1 -1
- package/docs/api/interfaces/EventAppRoleData.md +1 -1
- package/docs/api/interfaces/EventLogoProps.md +1 -1
- package/docs/api/interfaces/ExportColumn.md +1 -1
- package/docs/api/interfaces/ExportOptions.md +1 -1
- package/docs/api/interfaces/FileDisplayProps.md +1 -1
- package/docs/api/interfaces/FileMetadata.md +1 -1
- package/docs/api/interfaces/FileReference.md +1 -1
- package/docs/api/interfaces/FileSizeLimits.md +1 -1
- package/docs/api/interfaces/FileUploadOptions.md +1 -1
- package/docs/api/interfaces/FileUploadProps.md +1 -1
- package/docs/api/interfaces/FooterProps.md +1 -1
- package/docs/api/interfaces/GrantEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/InactivityWarningModalProps.md +1 -1
- package/docs/api/interfaces/InputProps.md +1 -1
- package/docs/api/interfaces/LabelProps.md +1 -1
- package/docs/api/interfaces/LoginFormProps.md +1 -1
- package/docs/api/interfaces/NavigationAccessRecord.md +1 -1
- package/docs/api/interfaces/NavigationContextType.md +1 -1
- package/docs/api/interfaces/NavigationGuardProps.md +1 -1
- package/docs/api/interfaces/NavigationItem.md +1 -1
- package/docs/api/interfaces/NavigationMenuProps.md +1 -1
- package/docs/api/interfaces/NavigationProviderProps.md +1 -1
- package/docs/api/interfaces/Organisation.md +1 -1
- package/docs/api/interfaces/OrganisationContextType.md +1 -1
- package/docs/api/interfaces/OrganisationMembership.md +1 -1
- package/docs/api/interfaces/OrganisationProviderProps.md +1 -1
- package/docs/api/interfaces/OrganisationSecurityError.md +1 -1
- package/docs/api/interfaces/PaceAppLayoutProps.md +1 -1
- package/docs/api/interfaces/PaceLoginPageProps.md +1 -1
- package/docs/api/interfaces/PageAccessRecord.md +1 -1
- package/docs/api/interfaces/PagePermissionContextType.md +1 -1
- package/docs/api/interfaces/PagePermissionGuardProps.md +1 -1
- package/docs/api/interfaces/PagePermissionProviderProps.md +1 -1
- package/docs/api/interfaces/PaletteData.md +1 -1
- package/docs/api/interfaces/PermissionEnforcerProps.md +1 -1
- package/docs/api/interfaces/ProtectedRouteProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryProps.md +1 -1
- package/docs/api/interfaces/PublicErrorBoundaryState.md +1 -1
- package/docs/api/interfaces/PublicLoadingSpinnerProps.md +1 -1
- package/docs/api/interfaces/PublicPageFooterProps.md +1 -1
- package/docs/api/interfaces/PublicPageHeaderProps.md +1 -1
- package/docs/api/interfaces/PublicPageLayoutProps.md +1 -1
- package/docs/api/interfaces/RBACConfig.md +1 -1
- package/docs/api/interfaces/RBACLogger.md +1 -1
- package/docs/api/interfaces/ResourcePermissions.md +1 -1
- package/docs/api/interfaces/RevokeEventAppRoleParams.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterContextType.md +1 -1
- package/docs/api/interfaces/RoleBasedRouterProps.md +1 -1
- package/docs/api/interfaces/RoleManagementResult.md +1 -1
- package/docs/api/interfaces/RouteAccessRecord.md +1 -1
- package/docs/api/interfaces/RouteConfig.md +1 -1
- package/docs/api/interfaces/SecureDataContextType.md +1 -1
- package/docs/api/interfaces/SecureDataProviderProps.md +1 -1
- package/docs/api/interfaces/SessionRestorationLoaderProps.md +1 -1
- package/docs/api/interfaces/StorageConfig.md +1 -1
- package/docs/api/interfaces/StorageFileInfo.md +1 -1
- package/docs/api/interfaces/StorageFileMetadata.md +1 -1
- package/docs/api/interfaces/StorageListOptions.md +1 -1
- package/docs/api/interfaces/StorageListResult.md +1 -1
- package/docs/api/interfaces/StorageUploadOptions.md +1 -1
- package/docs/api/interfaces/StorageUploadResult.md +1 -1
- package/docs/api/interfaces/StorageUrlOptions.md +1 -1
- package/docs/api/interfaces/StyleImport.md +1 -1
- package/docs/api/interfaces/SwitchProps.md +1 -1
- package/docs/api/interfaces/TabsContentProps.md +1 -1
- package/docs/api/interfaces/TabsListProps.md +1 -1
- package/docs/api/interfaces/TabsProps.md +1 -1
- package/docs/api/interfaces/TabsTriggerProps.md +1 -1
- package/docs/api/interfaces/TextareaProps.md +1 -1
- package/docs/api/interfaces/ToastActionElement.md +1 -1
- package/docs/api/interfaces/ToastProps.md +1 -1
- package/docs/api/interfaces/UnifiedAuthContextType.md +1 -1
- package/docs/api/interfaces/UnifiedAuthProviderProps.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerOptions.md +1 -1
- package/docs/api/interfaces/UseInactivityTrackerReturn.md +1 -1
- package/docs/api/interfaces/UsePublicEventOptions.md +1 -1
- package/docs/api/interfaces/UsePublicEventReturn.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayOptions.md +1 -1
- package/docs/api/interfaces/UsePublicFileDisplayReturn.md +1 -1
- package/docs/api/interfaces/UsePublicRouteParamsReturn.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeOptions.md +1 -1
- package/docs/api/interfaces/UseResolvedScopeReturn.md +1 -1
- package/docs/api/interfaces/UseResourcePermissionsOptions.md +1 -1
- package/docs/api/interfaces/UserEventAccess.md +1 -1
- package/docs/api/interfaces/UserMenuProps.md +1 -1
- package/docs/api/interfaces/UserProfile.md +1 -1
- package/docs/api/modules.md +2 -2
- package/package.json +1 -1
- package/src/components/PaceAppLayout/PaceAppLayout.tsx +6 -9
- package/src/rbac/hooks/useRBAC.ts +3 -2
- package/dist/chunk-G2JIKESV.js.map +0 -1
- package/dist/chunk-KATF5CZL.js.map +0 -1
- /package/dist/{DataTable-XLD74HEH.js.map → DataTable-4VSEJQ7D.js.map} +0 -0
- /package/dist/{chunk-2R2QIWZ5.js.map → chunk-GQA2LIAE.js.map} +0 -0
- /package/dist/{chunk-TTHIANWS.js.map → chunk-LEBYAJVF.js.map} +0 -0
package/docs/api/modules.md
CHANGED
package/package.json
CHANGED
|
@@ -550,12 +550,9 @@ export function PaceAppLayout({
|
|
|
550
550
|
return;
|
|
551
551
|
}
|
|
552
552
|
|
|
553
|
-
//
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
eventId: user.user_metadata?.eventId || user.app_metadata?.eventId,
|
|
557
|
-
appId: user.user_metadata?.appId || user.app_metadata?.appId,
|
|
558
|
-
};
|
|
553
|
+
// Use the scope from context (includes selectedOrganisation and selectedEvent)
|
|
554
|
+
// This is critical for event-based apps where event context comes from EventService, not user metadata
|
|
555
|
+
const currentScope = scope;
|
|
559
556
|
|
|
560
557
|
// For super admins, show all items (they bypass permission checks)
|
|
561
558
|
// Gracefully handle RBAC not being initialized (e.g., in tests)
|
|
@@ -584,7 +581,7 @@ export function PaceAppLayout({
|
|
|
584
581
|
|
|
585
582
|
// If no organisation context yet, show all items until context is ready
|
|
586
583
|
// This prevents navigation from being empty while context loads
|
|
587
|
-
if (!
|
|
584
|
+
if (!currentScope.organisationId) {
|
|
588
585
|
if (isMounted) {
|
|
589
586
|
setFilteredMenuItems(baseMenuItems);
|
|
590
587
|
}
|
|
@@ -598,7 +595,7 @@ export function PaceAppLayout({
|
|
|
598
595
|
const { getPermissionMap } = await import('../../rbac/api');
|
|
599
596
|
const permissionMap = await getPermissionMap({
|
|
600
597
|
userId: user.id,
|
|
601
|
-
scope,
|
|
598
|
+
scope: currentScope,
|
|
602
599
|
});
|
|
603
600
|
|
|
604
601
|
// Filter items using the permission map (synchronous, no rate limit issues)
|
|
@@ -639,7 +636,7 @@ export function PaceAppLayout({
|
|
|
639
636
|
return () => {
|
|
640
637
|
isMounted = false;
|
|
641
638
|
};
|
|
642
|
-
}, [baseMenuItems, filterNavigationByPermissions, pageIdMapping, routePermissions, defaultPermission, can, user?.id,
|
|
639
|
+
}, [baseMenuItems, filterNavigationByPermissions, pageIdMapping, routePermissions, defaultPermission, can, user?.id, scope]);
|
|
643
640
|
|
|
644
641
|
// NEW: Phase 2 - Enhanced Routing Features
|
|
645
642
|
// Check route access for role-based routing
|
|
@@ -232,7 +232,7 @@ export function useRBAC(pageId?: string): UserRBACContext {
|
|
|
232
232
|
} finally {
|
|
233
233
|
setIsLoading(false);
|
|
234
234
|
}
|
|
235
|
-
}, [appName, logger, resetState, selectedEvent
|
|
235
|
+
}, [appName, logger, resetState, selectedEvent?.event_id, selectedOrganisation?.id, session, user, requiresEvent, eventLoading, appConfig, orgContextReady, orgLoading]);
|
|
236
236
|
|
|
237
237
|
const hasGlobalPermission = useCallback(
|
|
238
238
|
(permission: string): boolean => {
|
|
@@ -266,6 +266,7 @@ export function useRBAC(pageId?: string): UserRBACContext {
|
|
|
266
266
|
requiresEvent,
|
|
267
267
|
eventLoading,
|
|
268
268
|
hasSelectedEvent: !!selectedEvent,
|
|
269
|
+
selectedEventId: selectedEvent?.event_id,
|
|
269
270
|
hasUser: !!user,
|
|
270
271
|
hasSession: !!session,
|
|
271
272
|
hasSelectedOrganisation: !!selectedOrganisation,
|
|
@@ -274,7 +275,7 @@ export function useRBAC(pageId?: string): UserRBACContext {
|
|
|
274
275
|
orgLoading
|
|
275
276
|
});
|
|
276
277
|
loadRBACContext();
|
|
277
|
-
}, [loadRBACContext, appName, requiresEvent, eventLoading, selectedEvent, user, session, selectedOrganisation, orgContextReady, orgLoading]);
|
|
278
|
+
}, [loadRBACContext, appName, requiresEvent, eventLoading, selectedEvent?.event_id, user, session, selectedOrganisation?.id, orgContextReady, orgLoading]);
|
|
278
279
|
|
|
279
280
|
return {
|
|
280
281
|
user,
|