@jmruthers/pace-core 0.6.2 → 0.6.4

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 (299) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/cursor-rules/00-pace-core-compliance.mdc +34 -2
  3. package/dist/{AuthService-BPvc3Ka0.d.ts → AuthService-Cb34EQs3.d.ts} +9 -1
  4. package/dist/{DataTable-TPTKCX4D.js → DataTable-E7YQZD7D.js} +9 -8
  5. package/dist/{PublicPageProvider-DC6kCaqf.d.ts → PublicPageProvider-DEMpysFR.d.ts} +45 -67
  6. package/dist/{UnifiedAuthProvider-CVcTjx-d.d.ts → UnifiedAuthProvider-CKvHP1MK.d.ts} +1 -8
  7. package/dist/{UnifiedAuthProvider-CH6Z342H.js → UnifiedAuthProvider-QPXO24B4.js} +5 -4
  8. package/dist/{api-MVVQZLJI.js → api-6LVZTHDS.js} +10 -10
  9. package/dist/{audit-B5P6FFIR.js → audit-V53FV5AG.js} +2 -2
  10. package/dist/chunk-36LVWXB2.js +227 -0
  11. package/dist/chunk-36LVWXB2.js.map +1 -0
  12. package/dist/{chunk-24UVZUZG.js → chunk-3LPHPB62.js} +129 -387
  13. package/dist/chunk-3LPHPB62.js.map +1 -0
  14. package/dist/{chunk-2UOI2FG5.js → chunk-5EC5MEWX.js} +4 -4
  15. package/dist/{chunk-3XC4CPTD.js → chunk-7JPAB3T5.js} +244 -5727
  16. package/dist/chunk-7JPAB3T5.js.map +1 -0
  17. package/dist/{chunk-6J4GEEJR.js → chunk-ATKZM7RX.js} +53 -27
  18. package/dist/chunk-ATKZM7RX.js.map +1 -0
  19. package/dist/{chunk-EHMR7VYL.js → chunk-AVMLPIM7.js} +443 -189
  20. package/dist/chunk-AVMLPIM7.js.map +1 -0
  21. package/dist/chunk-DGUM43GV.js +11 -0
  22. package/dist/{chunk-NECFR5MM.js → chunk-I6DAQMWX.js} +575 -647
  23. package/dist/chunk-I6DAQMWX.js.map +1 -0
  24. package/dist/{chunk-F2IMUDXZ.js → chunk-M7MPQISP.js} +2 -2
  25. package/dist/{chunk-XWQCNGTQ.js → chunk-NN6WWZ5U.js} +173 -79
  26. package/dist/chunk-NN6WWZ5U.js.map +1 -0
  27. package/dist/{chunk-MMZ7JXPU.js → chunk-OEWDTMG7.js} +13 -21
  28. package/dist/{chunk-MMZ7JXPU.js.map → chunk-OEWDTMG7.js.map} +1 -1
  29. package/dist/{chunk-SFZUDBL5.js → chunk-YKRAFF5K.js} +70 -56
  30. package/dist/chunk-YKRAFF5K.js.map +1 -0
  31. package/dist/components.d.ts +2 -2
  32. package/dist/components.js +12 -13
  33. package/dist/contextValidator-OOPCLPZW.js +9 -0
  34. package/dist/contextValidator-OOPCLPZW.js.map +1 -0
  35. package/dist/eslint-rules/pace-core-compliance.cjs +106 -0
  36. package/dist/hooks.d.ts +2 -2
  37. package/dist/hooks.js +7 -6
  38. package/dist/hooks.js.map +1 -1
  39. package/dist/index.d.ts +7 -7
  40. package/dist/index.js +21 -16
  41. package/dist/index.js.map +1 -1
  42. package/dist/providers.d.ts +3 -3
  43. package/dist/providers.js +4 -3
  44. package/dist/rbac/index.d.ts +67 -27
  45. package/dist/rbac/index.js +15 -8
  46. package/dist/styles/index.js +1 -1
  47. package/dist/theming/runtime.js +1 -1
  48. package/dist/types.js +1 -1
  49. package/dist/{usePublicRouteParams-1oMokgLF.d.ts → usePublicRouteParams-i3qtoBgg.d.ts} +7 -16
  50. package/dist/utils.js +5 -7
  51. package/dist/utils.js.map +1 -1
  52. package/docs/api/README.md +14 -16
  53. package/docs/api/modules.md +3796 -2513
  54. package/docs/components/context-selector.md +126 -0
  55. package/docs/migration/RBAC_SCOPE_MIGRATION.md +385 -0
  56. package/docs/pace-mint-fix-auto-selection.md +218 -0
  57. package/docs/pace-mint-rbac-setup.md +391 -0
  58. package/docs/rbac/secure-client-protection.md +330 -0
  59. package/package.json +10 -5
  60. package/scripts/audit/core/checks/compliance.cjs +72 -0
  61. package/scripts/audit/core/checks/dependencies.cjs +568 -28
  62. package/scripts/audit/core/checks/documentation.cjs +68 -3
  63. package/scripts/audit/core/checks/environment.cjs +2 -14
  64. package/scripts/audit/core/checks/error-handling.cjs +47 -6
  65. package/src/components/ContextSelector/ContextSelector.tsx +384 -0
  66. package/src/components/ContextSelector/index.ts +3 -0
  67. package/src/components/DataTable/components/RowComponent.tsx +19 -19
  68. package/src/components/DataTable/components/UnifiedTableBody.tsx +2 -2
  69. package/src/components/DataTable/hooks/useDataTablePermissions.ts +8 -6
  70. package/src/components/Dialog/Dialog.tsx +29 -1
  71. package/src/components/FileDisplay/FileDisplay.tsx +42 -10
  72. package/src/components/Header/Header.test.tsx +43 -73
  73. package/src/components/Header/Header.tsx +44 -45
  74. package/src/components/PaceAppLayout/PaceAppLayout.integration.test.tsx +10 -19
  75. package/src/components/PaceAppLayout/PaceAppLayout.performance.test.tsx +2 -2
  76. package/src/components/PaceAppLayout/PaceAppLayout.security.test.tsx +5 -5
  77. package/src/components/PaceAppLayout/PaceAppLayout.test.tsx +9 -9
  78. package/src/components/PaceAppLayout/PaceAppLayout.tsx +157 -36
  79. package/src/components/PaceAppLayout/README.md +14 -17
  80. package/src/components/PaceAppLayout/test-setup.tsx +2 -2
  81. package/src/components/index.ts +5 -5
  82. package/src/eslint-rules/pace-core-compliance.cjs +106 -0
  83. package/src/hooks/__tests__/useAppConfig.unit.test.ts +4 -98
  84. package/src/hooks/useAppConfig.ts +15 -30
  85. package/src/hooks/useFileDisplay.ts +77 -50
  86. package/src/index.ts +4 -5
  87. package/src/providers/services/AuthServiceProvider.tsx +17 -7
  88. package/src/providers/services/EventServiceProvider.tsx +33 -5
  89. package/src/providers/services/UnifiedAuthProvider.tsx +90 -134
  90. package/src/rbac/__tests__/adapters.comprehensive.test.tsx +1 -1
  91. package/src/rbac/adapters.tsx +2 -2
  92. package/src/rbac/api.test.ts +59 -51
  93. package/src/rbac/api.ts +178 -132
  94. package/src/rbac/components/PagePermissionGuard.tsx +38 -10
  95. package/src/rbac/hooks/__tests__/useSecureSupabase.test.ts +32 -21
  96. package/src/rbac/hooks/permissions/useAccessLevel.ts +1 -1
  97. package/src/rbac/hooks/permissions/useCan.ts +41 -11
  98. package/src/rbac/hooks/permissions/useHasAllPermissions.ts +1 -1
  99. package/src/rbac/hooks/permissions/useHasAnyPermission.ts +1 -1
  100. package/src/rbac/hooks/permissions/useMultiplePermissions.ts +1 -1
  101. package/src/rbac/hooks/useCan.test.ts +0 -9
  102. package/src/rbac/hooks/useRBAC.test.ts +1 -5
  103. package/src/rbac/hooks/useRBAC.ts +36 -37
  104. package/src/rbac/hooks/useResolvedScope.test.ts +120 -35
  105. package/src/rbac/hooks/useResolvedScope.ts +35 -40
  106. package/src/rbac/hooks/useSecureSupabase.ts +7 -7
  107. package/src/rbac/index.ts +7 -0
  108. package/src/rbac/secureClient.test.ts +22 -18
  109. package/src/rbac/secureClient.ts +103 -16
  110. package/src/rbac/security.ts +0 -17
  111. package/src/rbac/types.ts +1 -0
  112. package/src/rbac/utils/__tests__/contextValidator.test.ts +64 -86
  113. package/src/rbac/utils/clientSecurity.ts +93 -0
  114. package/src/rbac/utils/contextValidator.ts +77 -168
  115. package/src/services/AuthService.ts +39 -7
  116. package/src/services/EventService.ts +285 -56
  117. package/src/services/OrganisationService.ts +81 -14
  118. package/src/services/__tests__/EventService.test.ts +1 -2
  119. package/src/services/base/BaseService.ts +3 -0
  120. package/src/utils/dynamic/dynamicUtils.ts +7 -4
  121. package/dist/chunk-24UVZUZG.js.map +0 -1
  122. package/dist/chunk-3XC4CPTD.js.map +0 -1
  123. package/dist/chunk-6J4GEEJR.js.map +0 -1
  124. package/dist/chunk-7D4SUZUM.js +0 -38
  125. package/dist/chunk-EHMR7VYL.js.map +0 -1
  126. package/dist/chunk-NECFR5MM.js.map +0 -1
  127. package/dist/chunk-SFZUDBL5.js.map +0 -1
  128. package/dist/chunk-XWQCNGTQ.js.map +0 -1
  129. package/docs/api/classes/ColumnFactory.md +0 -243
  130. package/docs/api/classes/InvalidScopeError.md +0 -73
  131. package/docs/api/classes/Logger.md +0 -178
  132. package/docs/api/classes/MissingUserContextError.md +0 -66
  133. package/docs/api/classes/OrganisationContextRequiredError.md +0 -66
  134. package/docs/api/classes/PermissionDeniedError.md +0 -73
  135. package/docs/api/classes/RBACAuditManager.md +0 -297
  136. package/docs/api/classes/RBACCache.md +0 -322
  137. package/docs/api/classes/RBACEngine.md +0 -171
  138. package/docs/api/classes/RBACError.md +0 -76
  139. package/docs/api/classes/RBACNotInitializedError.md +0 -66
  140. package/docs/api/classes/SecureSupabaseClient.md +0 -163
  141. package/docs/api/classes/StorageUtils.md +0 -328
  142. package/docs/api/enums/FileCategory.md +0 -184
  143. package/docs/api/enums/LogLevel.md +0 -54
  144. package/docs/api/enums/RBACErrorCode.md +0 -228
  145. package/docs/api/enums/RPCFunction.md +0 -118
  146. package/docs/api/interfaces/AddressFieldProps.md +0 -241
  147. package/docs/api/interfaces/AddressFieldRef.md +0 -94
  148. package/docs/api/interfaces/AggregateConfig.md +0 -43
  149. package/docs/api/interfaces/AutocompleteOptions.md +0 -75
  150. package/docs/api/interfaces/AvatarProps.md +0 -128
  151. package/docs/api/interfaces/BadgeProps.md +0 -34
  152. package/docs/api/interfaces/ButtonProps.md +0 -56
  153. package/docs/api/interfaces/CalendarProps.md +0 -73
  154. package/docs/api/interfaces/CardProps.md +0 -69
  155. package/docs/api/interfaces/ColorPalette.md +0 -7
  156. package/docs/api/interfaces/ColorShade.md +0 -66
  157. package/docs/api/interfaces/ComplianceResult.md +0 -30
  158. package/docs/api/interfaces/DataAccessRecord.md +0 -96
  159. package/docs/api/interfaces/DataRecord.md +0 -11
  160. package/docs/api/interfaces/DataTableAction.md +0 -252
  161. package/docs/api/interfaces/DataTableColumn.md +0 -504
  162. package/docs/api/interfaces/DataTableProps.md +0 -625
  163. package/docs/api/interfaces/DataTableToolbarButton.md +0 -96
  164. package/docs/api/interfaces/DatabaseComplianceResult.md +0 -85
  165. package/docs/api/interfaces/DatabaseIssue.md +0 -41
  166. package/docs/api/interfaces/EmptyStateConfig.md +0 -61
  167. package/docs/api/interfaces/EnhancedNavigationMenuProps.md +0 -235
  168. package/docs/api/interfaces/ErrorBoundaryProps.md +0 -147
  169. package/docs/api/interfaces/ErrorBoundaryProviderProps.md +0 -36
  170. package/docs/api/interfaces/ErrorBoundaryState.md +0 -75
  171. package/docs/api/interfaces/EventAppRoleData.md +0 -71
  172. package/docs/api/interfaces/ExportColumn.md +0 -90
  173. package/docs/api/interfaces/ExportOptions.md +0 -126
  174. package/docs/api/interfaces/FileDisplayProps.md +0 -249
  175. package/docs/api/interfaces/FileMetadata.md +0 -129
  176. package/docs/api/interfaces/FileReference.md +0 -118
  177. package/docs/api/interfaces/FileSizeLimits.md +0 -7
  178. package/docs/api/interfaces/FileUploadOptions.md +0 -139
  179. package/docs/api/interfaces/FileUploadProps.md +0 -296
  180. package/docs/api/interfaces/FooterProps.md +0 -107
  181. package/docs/api/interfaces/FormFieldProps.md +0 -166
  182. package/docs/api/interfaces/FormProps.md +0 -113
  183. package/docs/api/interfaces/GrantEventAppRoleParams.md +0 -122
  184. package/docs/api/interfaces/InactivityWarningModalProps.md +0 -115
  185. package/docs/api/interfaces/InputProps.md +0 -56
  186. package/docs/api/interfaces/LabelProps.md +0 -107
  187. package/docs/api/interfaces/LoggerConfig.md +0 -62
  188. package/docs/api/interfaces/LoginFormProps.md +0 -187
  189. package/docs/api/interfaces/NavigationAccessRecord.md +0 -107
  190. package/docs/api/interfaces/NavigationContextType.md +0 -164
  191. package/docs/api/interfaces/NavigationGuardProps.md +0 -139
  192. package/docs/api/interfaces/NavigationItem.md +0 -120
  193. package/docs/api/interfaces/NavigationMenuProps.md +0 -221
  194. package/docs/api/interfaces/NavigationProviderProps.md +0 -117
  195. package/docs/api/interfaces/Organisation.md +0 -140
  196. package/docs/api/interfaces/OrganisationContextType.md +0 -388
  197. package/docs/api/interfaces/OrganisationMembership.md +0 -140
  198. package/docs/api/interfaces/OrganisationProviderProps.md +0 -76
  199. package/docs/api/interfaces/OrganisationSecurityError.md +0 -62
  200. package/docs/api/interfaces/PaceAppLayoutProps.md +0 -409
  201. package/docs/api/interfaces/PaceLoginPageProps.md +0 -49
  202. package/docs/api/interfaces/PageAccessRecord.md +0 -85
  203. package/docs/api/interfaces/PagePermissionContextType.md +0 -140
  204. package/docs/api/interfaces/PagePermissionGuardProps.md +0 -153
  205. package/docs/api/interfaces/PagePermissionProviderProps.md +0 -119
  206. package/docs/api/interfaces/PaletteData.md +0 -41
  207. package/docs/api/interfaces/ParsedAddress.md +0 -120
  208. package/docs/api/interfaces/PermissionEnforcerProps.md +0 -153
  209. package/docs/api/interfaces/ProgressProps.md +0 -42
  210. package/docs/api/interfaces/ProtectedRouteProps.md +0 -78
  211. package/docs/api/interfaces/PublicPageFooterProps.md +0 -112
  212. package/docs/api/interfaces/PublicPageHeaderProps.md +0 -125
  213. package/docs/api/interfaces/PublicPageLayoutProps.md +0 -185
  214. package/docs/api/interfaces/QuickFix.md +0 -52
  215. package/docs/api/interfaces/RBACAccessValidateParams.md +0 -52
  216. package/docs/api/interfaces/RBACAccessValidateResult.md +0 -41
  217. package/docs/api/interfaces/RBACAuditLogParams.md +0 -85
  218. package/docs/api/interfaces/RBACAuditLogResult.md +0 -52
  219. package/docs/api/interfaces/RBACConfig.md +0 -133
  220. package/docs/api/interfaces/RBACContext.md +0 -52
  221. package/docs/api/interfaces/RBACLogger.md +0 -112
  222. package/docs/api/interfaces/RBACPageAccessCheckParams.md +0 -74
  223. package/docs/api/interfaces/RBACPerformanceMetrics.md +0 -138
  224. package/docs/api/interfaces/RBACPermissionCheckParams.md +0 -74
  225. package/docs/api/interfaces/RBACPermissionCheckResult.md +0 -52
  226. package/docs/api/interfaces/RBACPermissionsGetParams.md +0 -63
  227. package/docs/api/interfaces/RBACPermissionsGetResult.md +0 -63
  228. package/docs/api/interfaces/RBACResult.md +0 -58
  229. package/docs/api/interfaces/RBACRoleGrantParams.md +0 -63
  230. package/docs/api/interfaces/RBACRoleGrantResult.md +0 -52
  231. package/docs/api/interfaces/RBACRoleRevokeParams.md +0 -63
  232. package/docs/api/interfaces/RBACRoleRevokeResult.md +0 -52
  233. package/docs/api/interfaces/RBACRoleValidateParams.md +0 -52
  234. package/docs/api/interfaces/RBACRoleValidateResult.md +0 -63
  235. package/docs/api/interfaces/RBACRolesListParams.md +0 -52
  236. package/docs/api/interfaces/RBACRolesListResult.md +0 -74
  237. package/docs/api/interfaces/RBACSessionTrackParams.md +0 -74
  238. package/docs/api/interfaces/RBACSessionTrackResult.md +0 -52
  239. package/docs/api/interfaces/ResourcePermissions.md +0 -155
  240. package/docs/api/interfaces/RevokeEventAppRoleParams.md +0 -100
  241. package/docs/api/interfaces/RoleBasedRouterContextType.md +0 -151
  242. package/docs/api/interfaces/RoleBasedRouterProps.md +0 -156
  243. package/docs/api/interfaces/RoleManagementResult.md +0 -52
  244. package/docs/api/interfaces/RouteAccessRecord.md +0 -107
  245. package/docs/api/interfaces/RouteConfig.md +0 -134
  246. package/docs/api/interfaces/RuntimeComplianceResult.md +0 -55
  247. package/docs/api/interfaces/SecureDataContextType.md +0 -168
  248. package/docs/api/interfaces/SecureDataProviderProps.md +0 -132
  249. package/docs/api/interfaces/SessionRestorationLoaderProps.md +0 -34
  250. package/docs/api/interfaces/SetupIssue.md +0 -41
  251. package/docs/api/interfaces/StorageConfig.md +0 -41
  252. package/docs/api/interfaces/StorageFileInfo.md +0 -74
  253. package/docs/api/interfaces/StorageFileMetadata.md +0 -151
  254. package/docs/api/interfaces/StorageListOptions.md +0 -99
  255. package/docs/api/interfaces/StorageListResult.md +0 -41
  256. package/docs/api/interfaces/StorageUploadOptions.md +0 -101
  257. package/docs/api/interfaces/StorageUploadResult.md +0 -63
  258. package/docs/api/interfaces/StorageUrlOptions.md +0 -60
  259. package/docs/api/interfaces/StyleImport.md +0 -19
  260. package/docs/api/interfaces/SwitchProps.md +0 -34
  261. package/docs/api/interfaces/TabsContentProps.md +0 -9
  262. package/docs/api/interfaces/TabsListProps.md +0 -9
  263. package/docs/api/interfaces/TabsProps.md +0 -9
  264. package/docs/api/interfaces/TabsTriggerProps.md +0 -50
  265. package/docs/api/interfaces/TextareaProps.md +0 -53
  266. package/docs/api/interfaces/ToastActionElement.md +0 -12
  267. package/docs/api/interfaces/ToastProps.md +0 -9
  268. package/docs/api/interfaces/UnifiedAuthContextType.md +0 -823
  269. package/docs/api/interfaces/UnifiedAuthProviderProps.md +0 -173
  270. package/docs/api/interfaces/UseFormDialogOptions.md +0 -62
  271. package/docs/api/interfaces/UseFormDialogReturn.md +0 -117
  272. package/docs/api/interfaces/UseInactivityTrackerOptions.md +0 -138
  273. package/docs/api/interfaces/UseInactivityTrackerReturn.md +0 -123
  274. package/docs/api/interfaces/UsePublicEventLogoOptions.md +0 -87
  275. package/docs/api/interfaces/UsePublicEventLogoReturn.md +0 -84
  276. package/docs/api/interfaces/UsePublicEventOptions.md +0 -34
  277. package/docs/api/interfaces/UsePublicEventReturn.md +0 -71
  278. package/docs/api/interfaces/UsePublicFileDisplayOptions.md +0 -47
  279. package/docs/api/interfaces/UsePublicFileDisplayReturn.md +0 -123
  280. package/docs/api/interfaces/UsePublicRouteParamsReturn.md +0 -97
  281. package/docs/api/interfaces/UseResolvedScopeOptions.md +0 -47
  282. package/docs/api/interfaces/UseResolvedScopeReturn.md +0 -47
  283. package/docs/api/interfaces/UseResourcePermissionsOptions.md +0 -34
  284. package/docs/api/interfaces/UserEventAccess.md +0 -121
  285. package/docs/api/interfaces/UserMenuProps.md +0 -88
  286. package/docs/api/interfaces/UserProfile.md +0 -63
  287. package/src/components/EventSelector/EventSelector.test.tsx +0 -720
  288. package/src/components/EventSelector/EventSelector.tsx +0 -423
  289. package/src/components/EventSelector/index.ts +0 -3
  290. package/src/components/OrganisationSelector/OrganisationSelector.test.tsx +0 -784
  291. package/src/components/OrganisationSelector/OrganisationSelector.tsx +0 -327
  292. package/src/components/OrganisationSelector/index.ts +0 -9
  293. /package/dist/{DataTable-TPTKCX4D.js.map → DataTable-E7YQZD7D.js.map} +0 -0
  294. /package/dist/{UnifiedAuthProvider-CH6Z342H.js.map → UnifiedAuthProvider-QPXO24B4.js.map} +0 -0
  295. /package/dist/{api-MVVQZLJI.js.map → api-6LVZTHDS.js.map} +0 -0
  296. /package/dist/{audit-B5P6FFIR.js.map → audit-V53FV5AG.js.map} +0 -0
  297. /package/dist/{chunk-2UOI2FG5.js.map → chunk-5EC5MEWX.js.map} +0 -0
  298. /package/dist/{chunk-7D4SUZUM.js.map → chunk-DGUM43GV.js.map} +0 -0
  299. /package/dist/{chunk-F2IMUDXZ.js.map → chunk-M7MPQISP.js.map} +0 -0
@@ -1,322 +0,0 @@
1
- [@jmruthers/pace-core - v0.6.2](../README.md) / [Exports](../modules.md) / RBACCache
2
-
3
- # Class: RBACCache
4
-
5
- In-memory cache for RBAC operations
6
-
7
- Provides two-tier caching:
8
- - Short-term cache: 120 seconds for frequently changing permissions
9
- - Session cache: 15 minutes for stable permissions (page-level checks)
10
-
11
- ## Table of contents
12
-
13
- ### Constructors
14
-
15
- - [constructor](RBACCache.md#constructor)
16
-
17
- ### Methods
18
-
19
- - [get](RBACCache.md#get)
20
- - [set](RBACCache.md#set)
21
- - [delete](RBACCache.md#delete)
22
- - [invalidate](RBACCache.md#invalidate)
23
- - [clear](RBACCache.md#clear)
24
- - [getStats](RBACCache.md#getstats)
25
- - [onInvalidate](RBACCache.md#oninvalidate)
26
- - [generateKey](RBACCache.md#generatekey)
27
- - [generatePermissionKey](RBACCache.md#generatepermissionkey)
28
- - [generateAccessLevelKey](RBACCache.md#generateaccesslevelkey)
29
- - [generatePermissionMapKey](RBACCache.md#generatepermissionmapkey)
30
-
31
- ## Constructors
32
-
33
- ### constructor
34
-
35
- • **new RBACCache**(): [`RBACCache`](RBACCache.md)
36
-
37
- #### Returns
38
-
39
- [`RBACCache`](RBACCache.md)
40
-
41
- ## Methods
42
-
43
- ### get
44
-
45
- ▸ **get**\<`T`\>(`key`, `useSessionCache?`): ``null`` \| `T`
46
-
47
- Get a value from the cache
48
-
49
- Checks both short-term cache and session cache.
50
-
51
- #### Type parameters
52
-
53
- | Name |
54
- | :------ |
55
- | `T` |
56
-
57
- #### Parameters
58
-
59
- | Name | Type | Default value | Description |
60
- | :------ | :------ | :------ | :------ |
61
- | `key` | `string` | `undefined` | Cache key |
62
- | `useSessionCache` | `boolean` | `true` | Whether to check session cache (default: true) |
63
-
64
- #### Returns
65
-
66
- ``null`` \| `T`
67
-
68
- Cached value or null if not found/expired
69
-
70
- #### Defined in
71
-
72
- [packages/core/src/rbac/cache.ts:36](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L36)
73
-
74
- ___
75
-
76
- ### set
77
-
78
- ▸ **set**\<`T`\>(`key`, `data`, `ttl?`, `useSessionCache?`): `void`
79
-
80
- Set a value in the cache
81
-
82
- #### Type parameters
83
-
84
- | Name |
85
- | :------ |
86
- | `T` |
87
-
88
- #### Parameters
89
-
90
- | Name | Type | Default value | Description |
91
- | :------ | :------ | :------ | :------ |
92
- | `key` | `string` | `undefined` | Cache key |
93
- | `data` | `T` | `undefined` | Data to cache |
94
- | `ttl` | `number` | `undefined` | Time to live in milliseconds (defaults to 60s) |
95
- | `useSessionCache` | `boolean` | `false` | Whether to also store in session cache (default: false for page-level checks) |
96
-
97
- #### Returns
98
-
99
- `void`
100
-
101
- #### Defined in
102
-
103
- [packages/core/src/rbac/cache.ts:70](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L70)
104
-
105
- ___
106
-
107
- ### delete
108
-
109
- ▸ **delete**(`key`): `void`
110
-
111
- Delete a specific key from the cache
112
-
113
- #### Parameters
114
-
115
- | Name | Type | Description |
116
- | :------ | :------ | :------ |
117
- | `key` | `string` | Cache key to delete |
118
-
119
- #### Returns
120
-
121
- `void`
122
-
123
- #### Defined in
124
-
125
- [packages/core/src/rbac/cache.ts:96](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L96)
126
-
127
- ___
128
-
129
- ### invalidate
130
-
131
- ▸ **invalidate**(`pattern`): `void`
132
-
133
- Invalidate cache entries matching a pattern
134
-
135
- #### Parameters
136
-
137
- | Name | Type | Description |
138
- | :------ | :------ | :------ |
139
- | `pattern` | `string` | Pattern to match against cache keys |
140
-
141
- #### Returns
142
-
143
- `void`
144
-
145
- #### Defined in
146
-
147
- [packages/core/src/rbac/cache.ts:106](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L106)
148
-
149
- ___
150
-
151
- ### clear
152
-
153
- ▸ **clear**(): `void`
154
-
155
- Clear all cache entries
156
-
157
- #### Returns
158
-
159
- `void`
160
-
161
- #### Defined in
162
-
163
- [packages/core/src/rbac/cache.ts:154](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L154)
164
-
165
- ___
166
-
167
- ### getStats
168
-
169
- ▸ **getStats**(): `Object`
170
-
171
- Get cache statistics
172
-
173
- #### Returns
174
-
175
- `Object`
176
-
177
- | Name | Type |
178
- | :------ | :------ |
179
- | `size` | `number` |
180
- | `sessionSize` | `number` |
181
- | `ttl` | `number` |
182
- | `sessionTtl` | `number` |
183
- | `keys` | `string`[] |
184
-
185
- #### Defined in
186
-
187
- [packages/core/src/rbac/cache.ts:162](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L162)
188
-
189
- ___
190
-
191
- ### onInvalidate
192
-
193
- ▸ **onInvalidate**(`callback`): () => `void`
194
-
195
- Add an invalidation callback
196
-
197
- #### Parameters
198
-
199
- | Name | Type | Description |
200
- | :------ | :------ | :------ |
201
- | `callback` | (`pattern`: `string`) => `void` | Function to call when cache is invalidated |
202
-
203
- #### Returns
204
-
205
- `fn`
206
-
207
- ▸ (): `void`
208
-
209
- ##### Returns
210
-
211
- `void`
212
-
213
- #### Defined in
214
-
215
- [packages/core/src/rbac/cache.ts:183](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L183)
216
-
217
- ___
218
-
219
- ### generateKey
220
-
221
- ▸ **generateKey**(`userId`, `permission`, `organisationId?`, `eventId?`, `appId?`, `pageId?`): `string`
222
-
223
- Generate cache key for permission check (simplified signature)
224
-
225
- #### Parameters
226
-
227
- | Name | Type | Description |
228
- | :------ | :------ | :------ |
229
- | `userId` | `string` | User ID |
230
- | `permission` | `string` | Permission string |
231
- | `organisationId?` | `string` | Organisation ID (optional) |
232
- | `eventId?` | `string` | Event ID (optional) |
233
- | `appId?` | `string` | App ID (optional) |
234
- | `pageId?` | `string` | Page ID (optional) |
235
-
236
- #### Returns
237
-
238
- `string`
239
-
240
- String cache key
241
-
242
- #### Defined in
243
-
244
- [packages/core/src/rbac/cache.ts:203](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L203)
245
-
246
- ___
247
-
248
- ### generatePermissionKey
249
-
250
- ▸ **generatePermissionKey**(`key`): `string`
251
-
252
- Generate cache key for permission check (object signature)
253
-
254
- #### Parameters
255
-
256
- | Name | Type | Description |
257
- | :------ | :------ | :------ |
258
- | `key` | `PermissionCacheKey` | Permission cache key object |
259
-
260
- #### Returns
261
-
262
- `string`
263
-
264
- String cache key
265
-
266
- #### Defined in
267
-
268
- [packages/core/src/rbac/cache.ts:230](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L230)
269
-
270
- ___
271
-
272
- ### generateAccessLevelKey
273
-
274
- ▸ **generateAccessLevelKey**(`userId`, `organisationId`, `eventId?`, `appId?`): `string`
275
-
276
- Generate cache key for access level
277
-
278
- #### Parameters
279
-
280
- | Name | Type | Description |
281
- | :------ | :------ | :------ |
282
- | `userId` | `string` | User ID |
283
- | `organisationId` | `string` | Organisation ID |
284
- | `eventId?` | `string` | Event ID (optional) |
285
- | `appId?` | `string` | App ID (optional) |
286
-
287
- #### Returns
288
-
289
- `string`
290
-
291
- String cache key
292
-
293
- #### Defined in
294
-
295
- [packages/core/src/rbac/cache.ts:253](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L253)
296
-
297
- ___
298
-
299
- ### generatePermissionMapKey
300
-
301
- ▸ **generatePermissionMapKey**(`userId`, `organisationId`, `eventId?`, `appId?`): `string`
302
-
303
- Generate cache key for permission map
304
-
305
- #### Parameters
306
-
307
- | Name | Type | Description |
308
- | :------ | :------ | :------ |
309
- | `userId` | `string` | User ID |
310
- | `organisationId` | `string` | Organisation ID |
311
- | `eventId?` | `string` | Event ID (optional) |
312
- | `appId?` | `string` | App ID (optional) |
313
-
314
- #### Returns
315
-
316
- `string`
317
-
318
- String cache key
319
-
320
- #### Defined in
321
-
322
- [packages/core/src/rbac/cache.ts:279](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/cache.ts#L279)