@@ -11,7 +11,7 @@ import RoleCard from '../components/RoleCard';
1111import PermissionTable from '../components/PermissionTable' ;
1212import { useLibraryAuthZ } from './context' ;
1313import { AddNewTeamMemberTrigger } from './components/AddNewTeamMemberModal' ;
14- import { buildPermissionMatrix , buildPermissionsByRoleMatrix } from './utils' ;
14+ import { buildPermissionMatrixByResource , buildPermissionMatrixByRole } from './utils' ;
1515
1616import messages from './messages' ;
1717
@@ -24,16 +24,17 @@ const LibrariesTeamManager = () => {
2424 const { data : library } = useLibrary ( libraryId ) ;
2525 const rootBradecrumb = intl . formatMessage ( messages [ 'library.authz.breadcrumb.root' ] ) || '' ;
2626 const pageTitle = intl . formatMessage ( messages [ 'library.authz.manage.page.title' ] ) ;
27- const libraryRoles = useMemo ( ( ) => roles . map ( role => ( {
28- ...role ,
29- permissions : buildPermissionsByRoleMatrix ( {
30- rolePermissions : role . permissions , permissions, resources, intl,
31- } ) ,
32- } ) ) , [ roles , permissions , resources , intl ] ) ;
3327
34- const permissionsTable = useMemo ( ( ) => {
35- if ( ! roles || ! permissions || ! resources ) { return [ ] ; }
36- return buildPermissionMatrix ( roles , permissions , resources , intl ) ;
28+ const [ libraryPermissionsByRole , libraryPermissionsByResource ] = useMemo ( ( ) => {
29+ if ( ! roles && ! permissions && ! resources ) { return [ null , null ] ; }
30+ const permissionsByRole = buildPermissionMatrixByRole ( {
31+ roles, permissions, resources, intl,
32+ } ) ;
33+ const permissionsByResource = buildPermissionMatrixByResource ( {
34+ roles, permissions, resources, intl,
35+ } ) ;
36+
37+ return [ permissionsByRole , permissionsByResource ] ;
3738 } , [ roles , permissions , resources , intl ] ) ;
3839
3940 return (
@@ -60,22 +61,22 @@ const LibrariesTeamManager = () => {
6061 </ Tab >
6162 < Tab eventKey = "roles" title = { intl . formatMessage ( messages [ 'library.authz.tabs.roles' ] ) } >
6263 < Container className = "p-5" >
63- { ! libraryRoles ? < Skeleton count = { 2 } height = { 200 } /> : null }
64- { libraryRoles && libraryRoles . map ( role => (
65- < RoleCard
66- key = { `${ role . role } -description` }
67- title = { role . name }
68- userCounter = { role . userCount }
69- description = { role . description }
70- permissions = { role . permissions as any [ ] }
71- />
72- ) ) }
64+ { ! libraryPermissionsByRole ? < Skeleton count = { 2 } height = { 200 } />
65+ : libraryPermissionsByRole . map ( role => (
66+ < RoleCard
67+ key = { `${ role . role } -description` }
68+ title = { role . name }
69+ userCounter = { role . userCount }
70+ description = { role . description }
71+ permissionsByResource = { role . resources as any [ ] }
72+ />
73+ ) ) }
7374 </ Container >
7475 </ Tab >
7576 < Tab id = "libraries-permissions-tab" eventKey = "permissions" title = { intl . formatMessage ( messages [ 'library.authz.tabs.permissions' ] ) } >
7677 < Container className = "p-5 container-mw-lg" >
77- { ! permissionsTable ? < Skeleton count = { 2 } height = { 200 } />
78- : < PermissionTable permissionsTable = { permissionsTable } roles = { roles } /> }
78+ { ! libraryPermissionsByResource ? < Skeleton count = { 2 } height = { 200 } />
79+ : < PermissionTable permissionsTable = { libraryPermissionsByResource } roles = { roles } /> }
7980 </ Container >
8081 </ Tab >
8182 </ Tabs >
0 commit comments