Implement custom roles and improve permissions logic

The commit refactors the handling of account roles and enhances permissions checks. The account role has been shifted to use a string type, providing the ability to define custom roles. It also introduces the RolesDataProvider component, which stipulates role-related data for different forms and tables. The modification goes further to consider user role hierarchy in permissions checks, offering a more granular access control.
This commit is contained in:
giancarlo
2024-03-29 14:48:45 +08:00
parent f1967a686c
commit 99db8f4ca4
41 changed files with 498 additions and 228 deletions

9
pnpm-lock.yaml generated
View File

@@ -586,6 +586,9 @@ importers:
'@kit/tsconfig':
specifier: workspace:*
version: link:../../tooling/typescript
'@supabase/gotrue-js':
specifier: 2.62.2
version: 2.62.2
'@supabase/ssr':
specifier: ^0.1.0
version: 0.1.0(@supabase/supabase-js@2.41.1)
@@ -3978,6 +3981,12 @@ packages:
dependencies:
'@supabase/node-fetch': 2.6.15
/@supabase/gotrue-js@2.62.2:
resolution: {integrity: sha512-AP6e6W9rQXFTEJ7sTTNYQrNf0LCcnt1hUW+RIgUK+Uh3jbWvcIST7wAlYyNZiMlS9+PYyymWQ+Ykz/rOYSO0+A==}
dependencies:
'@supabase/node-fetch': 2.6.15
dev: true
/@supabase/node-fetch@2.6.15:
resolution: {integrity: sha512-1ibVeYUacxWYi9i0cf5efil6adJ9WRyZBLivgjs+AUpewx1F3xPi7gLgaASI2SmIQxPoCEjAsLAzKPgMJVgOUQ==}
engines: {node: 4.x || >=6.0.0}