@jmruthers/pace-core 0.6.2 → 0.6.3

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-THFPBKTP.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-KAGUYQ4J.js} +5 -4
  8. package/dist/{api-MVVQZLJI.js → api-IAGWF3ZG.js} +10 -10
  9. package/dist/{audit-B5P6FFIR.js → audit-V53FV5AG.js} +2 -2
  10. package/dist/{chunk-SFZUDBL5.js → chunk-2T2IG7T7.js} +70 -56
  11. package/dist/chunk-2T2IG7T7.js.map +1 -0
  12. package/dist/{chunk-MMZ7JXPU.js → chunk-6Z7LTB3D.js} +13 -21
  13. package/dist/{chunk-MMZ7JXPU.js.map → chunk-6Z7LTB3D.js.map} +1 -1
  14. package/dist/{chunk-6J4GEEJR.js → chunk-CNCQDFLN.js} +53 -27
  15. package/dist/chunk-CNCQDFLN.js.map +1 -0
  16. package/dist/chunk-DGUM43GV.js +11 -0
  17. package/dist/{chunk-EHMR7VYL.js → chunk-DWUBLJJM.js} +361 -187
  18. package/dist/chunk-DWUBLJJM.js.map +1 -0
  19. package/dist/{chunk-2UOI2FG5.js → chunk-HFZBI76P.js} +4 -4
  20. package/dist/{chunk-F2IMUDXZ.js → chunk-M7MPQISP.js} +2 -2
  21. package/dist/{chunk-3XC4CPTD.js → chunk-PQBSKX33.js} +244 -5727
  22. package/dist/chunk-PQBSKX33.js.map +1 -0
  23. package/dist/chunk-QRPVRXYT.js +226 -0
  24. package/dist/chunk-QRPVRXYT.js.map +1 -0
  25. package/dist/{chunk-24UVZUZG.js → chunk-RWEBCB47.js} +129 -387
  26. package/dist/chunk-RWEBCB47.js.map +1 -0
  27. package/dist/{chunk-XWQCNGTQ.js → chunk-YDQHOZNA.js} +173 -79
  28. package/dist/chunk-YDQHOZNA.js.map +1 -0
  29. package/dist/{chunk-NECFR5MM.js → chunk-ZNIWI3UC.js} +562 -644
  30. package/dist/chunk-ZNIWI3UC.js.map +1 -0
  31. package/dist/components.d.ts +2 -2
  32. package/dist/components.js +12 -13
  33. package/dist/contextValidator-3JNZKUTX.js +9 -0
  34. package/dist/contextValidator-3JNZKUTX.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 +3 -3
  60. package/scripts/audit/core/checks/compliance.cjs +72 -0
  61. package/scripts/audit/core/checks/dependencies.cjs +559 -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 +135 -33
  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 +186 -54
  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-THFPBKTP.js.map} +0 -0
  294. /package/dist/{UnifiedAuthProvider-CH6Z342H.js.map → UnifiedAuthProvider-KAGUYQ4J.js.map} +0 -0
  295. /package/dist/{api-MVVQZLJI.js.map → api-IAGWF3ZG.js.map} +0 -0
  296. /package/dist/{audit-B5P6FFIR.js.map → audit-V53FV5AG.js.map} +0 -0
  297. /package/dist/{chunk-7D4SUZUM.js.map → chunk-DGUM43GV.js.map} +0 -0
  298. /package/dist/{chunk-2UOI2FG5.js.map → chunk-HFZBI76P.js.map} +0 -0
  299. /package/dist/{chunk-F2IMUDXZ.js.map → chunk-M7MPQISP.js.map} +0 -0
@@ -1,155 +0,0 @@
1
- [@jmruthers/pace-core - v0.6.2](../README.md) / [Exports](../modules.md) / ResourcePermissions
2
-
3
- # Interface: ResourcePermissions
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [canCreate](ResourcePermissions.md#cancreate)
10
- - [canUpdate](ResourcePermissions.md#canupdate)
11
- - [canDelete](ResourcePermissions.md#candelete)
12
- - [canRead](ResourcePermissions.md#canread)
13
- - [scope](ResourcePermissions.md#scope)
14
- - [isLoading](ResourcePermissions.md#isloading)
15
- - [error](ResourcePermissions.md#error)
16
-
17
- ## Properties
18
-
19
- ### canCreate
20
-
21
- • **canCreate**: (`resource`: `string`) => `boolean`
22
-
23
- Check if user can create resources of this type
24
-
25
- #### Type declaration
26
-
27
- ▸ (`resource`): `boolean`
28
-
29
- ##### Parameters
30
-
31
- | Name | Type |
32
- | :------ | :------ |
33
- | `resource` | `string` |
34
-
35
- ##### Returns
36
-
37
- `boolean`
38
-
39
- #### Defined in
40
-
41
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:60](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L60)
42
-
43
- ___
44
-
45
- ### canUpdate
46
-
47
- • **canUpdate**: (`resource`: `string`) => `boolean`
48
-
49
- Check if user can update resources of this type
50
-
51
- #### Type declaration
52
-
53
- ▸ (`resource`): `boolean`
54
-
55
- ##### Parameters
56
-
57
- | Name | Type |
58
- | :------ | :------ |
59
- | `resource` | `string` |
60
-
61
- ##### Returns
62
-
63
- `boolean`
64
-
65
- #### Defined in
66
-
67
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:62](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L62)
68
-
69
- ___
70
-
71
- ### canDelete
72
-
73
- • **canDelete**: (`resource`: `string`) => `boolean`
74
-
75
- Check if user can delete resources of this type
76
-
77
- #### Type declaration
78
-
79
- ▸ (`resource`): `boolean`
80
-
81
- ##### Parameters
82
-
83
- | Name | Type |
84
- | :------ | :------ |
85
- | `resource` | `string` |
86
-
87
- ##### Returns
88
-
89
- `boolean`
90
-
91
- #### Defined in
92
-
93
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:64](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L64)
94
-
95
- ___
96
-
97
- ### canRead
98
-
99
- • **canRead**: (`resource`: `string`) => `boolean`
100
-
101
- Check if user can read resources of this type
102
-
103
- #### Type declaration
104
-
105
- ▸ (`resource`): `boolean`
106
-
107
- ##### Parameters
108
-
109
- | Name | Type |
110
- | :------ | :------ |
111
- | `resource` | `string` |
112
-
113
- ##### Returns
114
-
115
- `boolean`
116
-
117
- #### Defined in
118
-
119
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:66](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L66)
120
-
121
- ___
122
-
123
- ### scope
124
-
125
- • **scope**: [`Scope`](../modules.md#scope)
126
-
127
- The resolved scope object (for advanced use cases)
128
-
129
- #### Defined in
130
-
131
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:68](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L68)
132
-
133
- ___
134
-
135
- ### isLoading
136
-
137
- • **isLoading**: `boolean`
138
-
139
- Whether any permission check is currently loading
140
-
141
- #### Defined in
142
-
143
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:70](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L70)
144
-
145
- ___
146
-
147
- ### error
148
-
149
- • **error**: ``null`` \| `Error`
150
-
151
- Error from any permission check or scope resolution
152
-
153
- #### Defined in
154
-
155
- [packages/core/src/rbac/hooks/useResourcePermissions.ts:72](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useResourcePermissions.ts#L72)
@@ -1,100 +0,0 @@
1
- [@jmruthers/pace-core - v0.6.2](../README.md) / [Exports](../modules.md) / RevokeEventAppRoleParams
2
-
3
- # Interface: RevokeEventAppRoleParams
4
-
5
- ## Hierarchy
6
-
7
- - [`EventAppRoleData`](EventAppRoleData.md)
8
-
9
- ↳ **`RevokeEventAppRoleParams`**
10
-
11
- ## Table of contents
12
-
13
- ### Properties
14
-
15
- - [user\_id](RevokeEventAppRoleParams.md#user_id)
16
- - [organisation\_id](RevokeEventAppRoleParams.md#organisation_id)
17
- - [event\_id](RevokeEventAppRoleParams.md#event_id)
18
- - [app\_id](RevokeEventAppRoleParams.md#app_id)
19
- - [role](RevokeEventAppRoleParams.md#role)
20
- - [revoked\_by](RevokeEventAppRoleParams.md#revoked_by)
21
-
22
- ## Properties
23
-
24
- ### user\_id
25
-
26
- • **user\_id**: `string`
27
-
28
- #### Inherited from
29
-
30
- [EventAppRoleData](EventAppRoleData.md).[user_id](EventAppRoleData.md#user_id)
31
-
32
- #### Defined in
33
-
34
- [packages/core/src/rbac/hooks/useRoleManagement.ts:65](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L65)
35
-
36
- ___
37
-
38
- ### organisation\_id
39
-
40
- • **organisation\_id**: `string`
41
-
42
- #### Inherited from
43
-
44
- [EventAppRoleData](EventAppRoleData.md).[organisation_id](EventAppRoleData.md#organisation_id)
45
-
46
- #### Defined in
47
-
48
- [packages/core/src/rbac/hooks/useRoleManagement.ts:66](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L66)
49
-
50
- ___
51
-
52
- ### event\_id
53
-
54
- • **event\_id**: `string`
55
-
56
- #### Inherited from
57
-
58
- [EventAppRoleData](EventAppRoleData.md).[event_id](EventAppRoleData.md#event_id)
59
-
60
- #### Defined in
61
-
62
- [packages/core/src/rbac/hooks/useRoleManagement.ts:67](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L67)
63
-
64
- ___
65
-
66
- ### app\_id
67
-
68
- • **app\_id**: `string`
69
-
70
- #### Inherited from
71
-
72
- [EventAppRoleData](EventAppRoleData.md).[app_id](EventAppRoleData.md#app_id)
73
-
74
- #### Defined in
75
-
76
- [packages/core/src/rbac/hooks/useRoleManagement.ts:68](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L68)
77
-
78
- ___
79
-
80
- ### role
81
-
82
- • **role**: ``"viewer"`` \| ``"participant"`` \| ``"planner"`` \| ``"event_admin"``
83
-
84
- #### Inherited from
85
-
86
- [EventAppRoleData](EventAppRoleData.md).[role](EventAppRoleData.md#role)
87
-
88
- #### Defined in
89
-
90
- [packages/core/src/rbac/hooks/useRoleManagement.ts:69](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L69)
91
-
92
- ___
93
-
94
- ### revoked\_by
95
-
96
- • `Optional` **revoked\_by**: `string`
97
-
98
- #### Defined in
99
-
100
- [packages/core/src/rbac/hooks/useRoleManagement.ts:84](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L84)
@@ -1,151 +0,0 @@
1
- [@jmruthers/pace-core - v0.6.2](../README.md) / [Exports](../modules.md) / RoleBasedRouterContextType
2
-
3
- # Interface: RoleBasedRouterContextType
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [getAccessibleRoutes](RoleBasedRouterContextType.md#getaccessibleroutes)
10
- - [canAccessRoute](RoleBasedRouterContextType.md#canaccessroute)
11
- - [getRouteConfig](RoleBasedRouterContextType.md#getrouteconfig)
12
- - [getRouteAccessHistory](RoleBasedRouterContextType.md#getrouteaccesshistory)
13
- - [clearRouteAccessHistory](RoleBasedRouterContextType.md#clearrouteaccesshistory)
14
- - [isStrictMode](RoleBasedRouterContextType.md#isstrictmode)
15
- - [isAuditLogEnabled](RoleBasedRouterContextType.md#isauditlogenabled)
16
-
17
- ## Properties
18
-
19
- ### getAccessibleRoutes
20
-
21
- • **getAccessibleRoutes**: () => [`RouteConfig`](RouteConfig.md)[]
22
-
23
- Get all accessible routes for current user
24
-
25
- #### Type declaration
26
-
27
- ▸ (): [`RouteConfig`](RouteConfig.md)[]
28
-
29
- ##### Returns
30
-
31
- [`RouteConfig`](RouteConfig.md)[]
32
-
33
- #### Defined in
34
-
35
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:122](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L122)
36
-
37
- ___
38
-
39
- ### canAccessRoute
40
-
41
- • **canAccessRoute**: (`path`: `string`) => `boolean`
42
-
43
- Check if user can access a specific route
44
-
45
- #### Type declaration
46
-
47
- ▸ (`path`): `boolean`
48
-
49
- ##### Parameters
50
-
51
- | Name | Type |
52
- | :------ | :------ |
53
- | `path` | `string` |
54
-
55
- ##### Returns
56
-
57
- `boolean`
58
-
59
- #### Defined in
60
-
61
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:125](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L125)
62
-
63
- ___
64
-
65
- ### getRouteConfig
66
-
67
- • **getRouteConfig**: (`path`: `string`) => ``null`` \| [`RouteConfig`](RouteConfig.md)
68
-
69
- Get route configuration for a path
70
-
71
- #### Type declaration
72
-
73
- ▸ (`path`): ``null`` \| [`RouteConfig`](RouteConfig.md)
74
-
75
- ##### Parameters
76
-
77
- | Name | Type |
78
- | :------ | :------ |
79
- | `path` | `string` |
80
-
81
- ##### Returns
82
-
83
- ``null`` \| [`RouteConfig`](RouteConfig.md)
84
-
85
- #### Defined in
86
-
87
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:128](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L128)
88
-
89
- ___
90
-
91
- ### getRouteAccessHistory
92
-
93
- • **getRouteAccessHistory**: () => [`RouteAccessRecord`](RouteAccessRecord.md)[]
94
-
95
- Get route access history
96
-
97
- #### Type declaration
98
-
99
- ▸ (): [`RouteAccessRecord`](RouteAccessRecord.md)[]
100
-
101
- ##### Returns
102
-
103
- [`RouteAccessRecord`](RouteAccessRecord.md)[]
104
-
105
- #### Defined in
106
-
107
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:131](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L131)
108
-
109
- ___
110
-
111
- ### clearRouteAccessHistory
112
-
113
- • **clearRouteAccessHistory**: () => `void`
114
-
115
- Clear route access history
116
-
117
- #### Type declaration
118
-
119
- ▸ (): `void`
120
-
121
- ##### Returns
122
-
123
- `void`
124
-
125
- #### Defined in
126
-
127
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:134](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L134)
128
-
129
- ___
130
-
131
- ### isStrictMode
132
-
133
- • **isStrictMode**: `boolean`
134
-
135
- Check if strict mode is enabled
136
-
137
- #### Defined in
138
-
139
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:137](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L137)
140
-
141
- ___
142
-
143
- ### isAuditLogEnabled
144
-
145
- • **isAuditLogEnabled**: `boolean`
146
-
147
- Check if audit logging is enabled
148
-
149
- #### Defined in
150
-
151
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:140](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L140)
@@ -1,156 +0,0 @@
1
- [@jmruthers/pace-core - v0.6.2](../README.md) / [Exports](../modules.md) / RoleBasedRouterProps
2
-
3
- # Interface: RoleBasedRouterProps
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [routes](RoleBasedRouterProps.md#routes)
10
- - [fallbackRoute](RoleBasedRouterProps.md#fallbackroute)
11
- - [children](RoleBasedRouterProps.md#children)
12
- - [strictMode](RoleBasedRouterProps.md#strictmode)
13
- - [auditLog](RoleBasedRouterProps.md#auditlog)
14
- - [onRouteAccess](RoleBasedRouterProps.md#onrouteaccess)
15
- - [onStrictModeViolation](RoleBasedRouterProps.md#onstrictmodeviolation)
16
- - [maxHistorySize](RoleBasedRouterProps.md#maxhistorysize)
17
- - [unauthorizedComponent](RoleBasedRouterProps.md#unauthorizedcomponent)
18
-
19
- ## Properties
20
-
21
- ### routes
22
-
23
- • **routes**: [`RouteConfig`](RouteConfig.md)[]
24
-
25
- Route configuration
26
-
27
- #### Defined in
28
-
29
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:145](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L145)
30
-
31
- ___
32
-
33
- ### fallbackRoute
34
-
35
- • `Optional` **fallbackRoute**: `string`
36
-
37
- Fallback route for unauthorized access
38
-
39
- #### Defined in
40
-
41
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:148](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L148)
42
-
43
- ___
44
-
45
- ### children
46
-
47
- • **children**: `ReactNode`
48
-
49
- Child components
50
-
51
- #### Defined in
52
-
53
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:151](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L151)
54
-
55
- ___
56
-
57
- ### strictMode
58
-
59
- • `Optional` **strictMode**: `boolean`
60
-
61
- Enable strict mode to prevent bypassing (default: true)
62
-
63
- #### Defined in
64
-
65
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:154](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L154)
66
-
67
- ___
68
-
69
- ### auditLog
70
-
71
- • `Optional` **auditLog**: `boolean`
72
-
73
- Enable audit logging (default: true)
74
-
75
- #### Defined in
76
-
77
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:157](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L157)
78
-
79
- ___
80
-
81
- ### onRouteAccess
82
-
83
- • `Optional` **onRouteAccess**: (`route`: `string`, `allowed`: `boolean`, `record`: [`RouteAccessRecord`](RouteAccessRecord.md)) => `void`
84
-
85
- Callback when route access is attempted
86
-
87
- #### Type declaration
88
-
89
- ▸ (`route`, `allowed`, `record`): `void`
90
-
91
- ##### Parameters
92
-
93
- | Name | Type |
94
- | :------ | :------ |
95
- | `route` | `string` |
96
- | `allowed` | `boolean` |
97
- | `record` | [`RouteAccessRecord`](RouteAccessRecord.md) |
98
-
99
- ##### Returns
100
-
101
- `void`
102
-
103
- #### Defined in
104
-
105
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:160](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L160)
106
-
107
- ___
108
-
109
- ### onStrictModeViolation
110
-
111
- • `Optional` **onStrictModeViolation**: (`route`: `string`, `record`: [`RouteAccessRecord`](RouteAccessRecord.md)) => `void`
112
-
113
- Callback when strict mode violation occurs
114
-
115
- #### Type declaration
116
-
117
- ▸ (`route`, `record`): `void`
118
-
119
- ##### Parameters
120
-
121
- | Name | Type |
122
- | :------ | :------ |
123
- | `route` | `string` |
124
- | `record` | [`RouteAccessRecord`](RouteAccessRecord.md) |
125
-
126
- ##### Returns
127
-
128
- `void`
129
-
130
- #### Defined in
131
-
132
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:163](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L163)
133
-
134
- ___
135
-
136
- ### maxHistorySize
137
-
138
- • `Optional` **maxHistorySize**: `number`
139
-
140
- Maximum number of access records to keep in history
141
-
142
- #### Defined in
143
-
144
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:166](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L166)
145
-
146
- ___
147
-
148
- ### unauthorizedComponent
149
-
150
- • `Optional` **unauthorizedComponent**: `ComponentType`\<\{ `route`: `string` ; `reason`: `string` }\>
151
-
152
- Custom unauthorized component
153
-
154
- #### Defined in
155
-
156
- [packages/core/src/rbac/components/RoleBasedRouter.tsx:169](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/components/RoleBasedRouter.tsx#L169)
@@ -1,52 +0,0 @@
1
- [@jmruthers/pace-core - v0.6.2](../README.md) / [Exports](../modules.md) / RoleManagementResult
2
-
3
- # Interface: RoleManagementResult
4
-
5
- ## Table of contents
6
-
7
- ### Properties
8
-
9
- - [success](RoleManagementResult.md#success)
10
- - [message](RoleManagementResult.md#message)
11
- - [error](RoleManagementResult.md#error)
12
- - [roleId](RoleManagementResult.md#roleid)
13
-
14
- ## Properties
15
-
16
- ### success
17
-
18
- • **success**: `boolean`
19
-
20
- #### Defined in
21
-
22
- [packages/core/src/rbac/hooks/useRoleManagement.ts:114](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L114)
23
-
24
- ___
25
-
26
- ### message
27
-
28
- • `Optional` **message**: `string`
29
-
30
- #### Defined in
31
-
32
- [packages/core/src/rbac/hooks/useRoleManagement.ts:115](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L115)
33
-
34
- ___
35
-
36
- ### error
37
-
38
- • `Optional` **error**: `string`
39
-
40
- #### Defined in
41
-
42
- [packages/core/src/rbac/hooks/useRoleManagement.ts:116](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L116)
43
-
44
- ___
45
-
46
- ### roleId
47
-
48
- • `Optional` **roleId**: `string`
49
-
50
- #### Defined in
51
-
52
- [packages/core/src/rbac/hooks/useRoleManagement.ts:117](https://github.com/jmruthers/pace-core/blob/main/packages/core/src/rbac/hooks/useRoleManagement.ts#L117)