@@ -9,7 +9,7 @@ import AuthZLayout from '../components/AuthZLayout';
99import RoleCard from '../components/RoleCard' ;
1010import PermissionTable from '../components/PermissionTable' ;
1111import { useLibraryAuthZ } from './context' ;
12- import { buildPermissionMatrix , buildPermissionsByRoleMatrix } from './utils' ;
12+ import { buildPermissionMatrixByResource , buildPermissionMatrixByRole } from './utils' ;
1313
1414import messages from './messages' ;
1515
@@ -21,16 +21,17 @@ const LibrariesTeamManager = () => {
2121 const { data : library } = useLibrary ( libraryId ) ;
2222 const rootBradecrumb = intl . formatMessage ( messages [ 'library.authz.breadcrumb.root' ] ) || '' ;
2323 const pageTitle = intl . formatMessage ( messages [ 'library.authz.manage.page.title' ] ) ;
24- const libraryRoles = useMemo ( ( ) => roles . map ( role => ( {
25- ...role ,
26- permissions : buildPermissionsByRoleMatrix ( {
27- rolePermissions : role . permissions , permissions, resources, intl,
28- } ) ,
29- } ) ) , [ roles , permissions , resources , intl ] ) ;
3024
31- const permissionsTable = useMemo ( ( ) => {
32- if ( ! roles || ! permissions || ! resources ) { return [ ] ; }
33- return buildPermissionMatrix ( roles , permissions , resources , intl ) ;
25+ const [ libraryPermissionsByRole , libraryPermissionsByResource ] = useMemo ( ( ) => {
26+ if ( ! roles && ! permissions && ! resources ) { return [ null , null ] ; }
27+ const permissionsByRole = buildPermissionMatrixByRole ( {
28+ roles, permissions, resources, intl,
29+ } ) ;
30+ const permissionsByResource = buildPermissionMatrixByResource ( {
31+ roles, permissions, resources, intl,
32+ } ) ;
33+
34+ return [ permissionsByRole , permissionsByResource ] ;
3435 } , [ roles , permissions , resources , intl ] ) ;
3536
3637 return (
@@ -53,21 +54,21 @@ const LibrariesTeamManager = () => {
5354 </ Tab >
5455 < Tab eventKey = "roles" title = { intl . formatMessage ( messages [ 'library.authz.tabs.roles' ] ) } >
5556 < Container className = "p-5" >
56- { libraryRoles && libraryRoles . map ( role => (
57+ { libraryPermissionsByRole && libraryPermissionsByRole . map ( role => (
5758 < RoleCard
5859 key = { `${ role . role } -description` }
5960 title = { role . name }
6061 userCounter = { role . userCount }
6162 description = { role . description }
62- permissions = { role . permissions as any [ ] }
63+ permissionsByResource = { role . resources as any [ ] }
6364 />
6465 ) ) }
6566 </ Container >
6667 </ Tab >
6768 < Tab eventKey = "permissions" title = { intl . formatMessage ( messages [ 'library.authz.tabs.permissions' ] ) } >
6869 < Container className = "p-5 container-mw-lg" >
69- { ! permissionsTable ? < Skeleton count = { 2 } height = { 200 } />
70- : < PermissionTable permissionsTable = { permissionsTable } roles = { roles } /> }
70+ { ! libraryPermissionsByResource ? < Skeleton count = { 2 } height = { 200 } />
71+ : < PermissionTable permissionsTable = { libraryPermissionsByResource } roles = { roles } /> }
7172 </ Container >
7273 </ Tab >
7374 </ Tabs >
0 commit comments