@@ -11,6 +11,8 @@ import {
1111 * These map to the permission resources defined in @auth/permissions.ts
1212 */
1313const RESOURCES = [
14+ { key : 'organization' , label : 'Organization' , description : 'Manage organization settings' } ,
15+ { key : 'member' , label : 'Members' , description : 'Manage team members and roles' } ,
1416 { key : 'control' , label : 'Controls' , description : 'Manage security controls' } ,
1517 { key : 'evidence' , label : 'Evidence' , description : 'Manage compliance evidence' } ,
1618 { key : 'policy' , label : 'Policies' , description : 'Manage organizational policies' } ,
@@ -22,6 +24,8 @@ const RESOURCES = [
2224 { key : 'finding' , label : 'Findings' , description : 'Manage audit findings' } ,
2325 { key : 'questionnaire' , label : 'Questionnaires' , description : 'Manage security questionnaires' } ,
2426 { key : 'integration' , label : 'Integrations' , description : 'Manage third-party integrations' } ,
27+ { key : 'apiKey' , label : 'API Keys' , description : 'Manage API keys for programmatic access' } ,
28+ { key : 'trust' , label : 'Trust Center' , description : 'Manage trust portal and access requests' } ,
2529] as const ;
2630
2731type ResourceKey = ( typeof RESOURCES ) [ number ] [ 'key' ] ;
@@ -38,6 +42,14 @@ type AccessLevel = 'none' | 'view' | 'edit';
3842 * Maps access levels to the actual permission actions for each resource
3943 */
4044const ACCESS_LEVEL_MAPPING : Record < ResourceKey , Record < Exclude < AccessLevel , 'none' > , string [ ] > > = {
45+ organization : {
46+ view : [ 'read' ] ,
47+ edit : [ 'read' , 'update' ] ,
48+ } ,
49+ member : {
50+ view : [ 'read' ] ,
51+ edit : [ 'create' , 'read' , 'update' , 'delete' ] ,
52+ } ,
4153 control : {
4254 view : [ 'read' , 'export' ] ,
4355 edit : [ 'create' , 'read' , 'update' , 'delete' , 'assign' , 'export' ] ,
@@ -82,6 +94,14 @@ const ACCESS_LEVEL_MAPPING: Record<ResourceKey, Record<Exclude<AccessLevel, 'non
8294 view : [ 'read' ] ,
8395 edit : [ 'create' , 'read' , 'update' , 'delete' ] ,
8496 } ,
97+ apiKey : {
98+ view : [ 'read' ] ,
99+ edit : [ 'create' , 'read' , 'delete' ] ,
100+ } ,
101+ trust : {
102+ view : [ 'read' ] ,
103+ edit : [ 'read' , 'update' ] ,
104+ } ,
85105} ;
86106
87107interface PermissionMatrixProps {
0 commit comments