feat: [FC-0099] allow deleting user's roles (#13)

Allows deleting users' roles from the users' roles view.
This commit is contained in:
Brayan Cerón
2025-10-24 11:03:02 -05:00
committed by GitHub
parent 50beaef35d
commit 8dc3139ef9
16 changed files with 934 additions and 64 deletions

View File

@@ -5,7 +5,7 @@ import { appId } from '@src/constants';
import { LibraryMetadata } from '@src/types';
import {
assignTeamMembersRole, AssignTeamMembersRoleRequest, getLibrary, getPermissionsByRole, getTeamMembers,
GetTeamMembersResponse, PermissionsByRole, QuerySettings,
GetTeamMembersResponse, PermissionsByRole, QuerySettings, revokeUserRoles, RevokeUserRolesRequest,
} from './api';
const authzQueryKeys = {
@@ -87,3 +87,22 @@ export const useAssignTeamMembersRole = () => {
},
});
};
/**
* React Query hook to remove roles for a specific team member within a scope.
*
* @example
* const { mutate: revokeUserRoles } = useRevokeUserRoles();
* revokeUserRoles({ data: { libraryId: 'lib:123', users: ['jdoe'], role: 'editor' } });
*/
export const useRevokeUserRoles = () => {
const queryClient = useQueryClient();
return useMutation({
mutationFn: async ({ data }: {
data: RevokeUserRolesRequest
}) => revokeUserRoles(data),
onSettled: (_data, _error, { data: { scope } }) => {
queryClient.invalidateQueries({ queryKey: authzQueryKeys.teamMembersAll(scope) });
},
});
};