Skip to content

Commit f3faac7

Browse files
committed
refactor: user retrival for paginated query in user detail view
1 parent c543e65 commit f3faac7

3 files changed

Lines changed: 24 additions & 13 deletions

File tree

src/authz-module/data/hooks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
import { appId } from '@src/constants';
55
import { LibraryMetadata } from '@src/types';
66
import {
7-
assignTeamMembersRole, AssignTeamMembersRoleRequest, getLibrary, getPermissionsByRole, getTeamMembers,
7+
assignTeamMembersRole, AssignTeamMembersRoleRequest, getLibrary, getPermissionsByRole, getTeamMembers,
88
GetTeamMembersResponse, PermissionsByRole, QuerySettings,
99
} from './api';
1010

@@ -83,7 +83,7 @@ export const useAssignTeamMembersRole = () => {
8383
data: AssignTeamMembersRoleRequest
8484
}) => assignTeamMembersRole(data),
8585
onSettled: (_data, _error, { data: { scope } }) => {
86-
queryClient.invalidateQueries({ queryKey: authzQueryKeys.teamMembers(scope) });
86+
queryClient.invalidateQueries({ queryKey: authzQueryKeys.teamMembersAll(scope) });
8787
},
8888
});
8989
};

src/authz-module/libraries-manager/LibrariesUserManager.test.tsx

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,15 @@ describe('LibrariesUserManager', () => {
6262

6363
// Mock team members
6464
(useTeamMembers as jest.Mock).mockReturnValue({
65-
data: [
66-
{
67-
username: 'testuser',
68-
69-
roles: ['admin'],
70-
},
71-
],
65+
data: {
66+
results: [
67+
{
68+
username: 'testuser',
69+
70+
roles: ['admin'],
71+
},
72+
],
73+
},
7274
});
7375
});
7476

src/authz-module/libraries-manager/LibrariesUserManager.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,18 @@ const LibrariesUserManager = () => {
2121
const { data: library } = useLibrary(libraryId);
2222
const rootBreadcrumb = intl.formatMessage(messages['library.authz.breadcrumb.root']) || '';
2323
const pageManageTitle = intl.formatMessage(messages['library.authz.manage.page.title']);
24+
const querySettings = {
25+
order: null,
26+
pageIndex: 0,
27+
pageSize: 1,
28+
roles: null,
29+
search: username || null,
30+
sortBy: null,
31+
};
32+
33+
const { data: teamMember, isLoading: isLoadingTeamMember } = useTeamMembers(libraryId, querySettings);
34+
const user = teamMember?.results?.find(member => member.username === username);
2435

25-
const { data: teamMembers, isLoading } = useTeamMembers(libraryId);
26-
const user = teamMembers?.find(member => member.username === username);
2736
const userRoles = useMemo(() => {
2837
const assignedRoles = roles.filter(role => user?.roles.includes(role.role))
2938
.map(role => ({
@@ -52,10 +61,10 @@ const LibrariesUserManager = () => {
5261
: []}
5362
>
5463
<Container className="bg-light-200 p-5">
55-
{isLoading ? <Skeleton count={2} height={200} /> : null}
64+
{isLoadingTeamMember ? <Skeleton count={2} height={200} /> : null}
5665
{userRoles && userRoles.map(role => (
5766
<RoleCard
58-
key={`${role}-${username}`}
67+
key={`${role.role}-${username}`}
5968
title={role.name}
6069
objectName={library.title}
6170
description={role.description}

0 commit comments

Comments
 (0)