Skip to content

Commit 5dcd6aa

Browse files
committed
refactor: user retrival for paginated query in user detail view
1 parent b2bd837 commit 5dcd6aa

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
@@ -20,9 +20,18 @@ const LibrariesUserManager = () => {
2020
const { data: library } = useLibrary(libraryId);
2121
const rootBreadcrumb = intl.formatMessage(messages['library.authz.breadcrumb.root']) || '';
2222
const pageManageTitle = intl.formatMessage(messages['library.authz.manage.page.title']);
23+
const querySettings = {
24+
order: null,
25+
pageIndex: 0,
26+
pageSize: 1,
27+
roles: null,
28+
search: username || null,
29+
sortBy: null,
30+
};
31+
32+
const { data: teamMember, isLoading: isLoadingTeamMember } = useTeamMembers(libraryId, querySettings);
33+
const user = teamMember?.results?.find(member => member.username === username);
2334

24-
const { data: teamMembers, isLoading } = useTeamMembers(libraryId);
25-
const user = teamMembers?.find(member => member.username === username);
2635
const userRoles = useMemo(() => {
2736
const assignedRoles = roles.filter(role => user?.roles.includes(role.role))
2837
.map(role => ({
@@ -45,10 +54,10 @@ const LibrariesUserManager = () => {
4554
actions={[]}
4655
>
4756
<Container className="bg-light-200 p-5">
48-
{isLoading ? <Skeleton count={2} height={200} /> : null}
57+
{isLoadingTeamMember ? <Skeleton count={2} height={200} /> : null}
4958
{userRoles && userRoles.map(role => (
5059
<RoleCard
51-
key={`${role}-${username}`}
60+
key={`${role.role}-${username}`}
5261
title={role.name}
5362
objectName={library.title}
5463
description={role.description}

0 commit comments

Comments
 (0)