11import { useQuery , useSuspenseQuery } from '@tanstack/react-query' ;
2+ import { appId } from "@src/constants" ;
23import { LibraryMetadata , TeamMember } from '@src/types' ;
34import { getLibrary , getTeamMembers } from './api' ;
45
6+
7+ const authzQueryKeys = {
8+ all : [ appId , 'authz' ] as const ,
9+ teamMembers : ( object : string ) => [ ...authzQueryKeys . all , 'teamMembers' , object ] as const ,
10+ library : ( libraryId : string ) => [ ...authzQueryKeys . all , 'library' , libraryId ] as const ,
11+ } ;
12+
513/**
614 * React Query hook to fetch all team members for a specific object/scope.
715 * It retrieves the full list of members who have access to the given scope.
@@ -14,7 +22,7 @@ import { getLibrary, getTeamMembers } from './api';
1422 * ```
1523 */
1624export const useTeamMembers = ( object : string ) => useQuery < TeamMember [ ] , Error > ( {
17- queryKey : [ 'team-members' , object ] ,
25+ queryKey : authzQueryKeys . teamMembers ( object ) ,
1826 queryFn : ( ) => getTeamMembers ( object ) ,
1927 staleTime : 1000 * 60 * 30 , // refetch after 30 minutes
2028} ) ;
@@ -30,7 +38,7 @@ export const useTeamMembers = (object: string) => useQuery<TeamMember[], Error>(
3038 */
3139export const useLibrary = ( libraryId : string ) => {
3240 return useSuspenseQuery < LibraryMetadata , Error > ( {
33- queryKey : [ ' library-metadata' , libraryId ] ,
41+ queryKey : authzQueryKeys . library ( libraryId ) ,
3442 queryFn : ( ) => getLibrary ( libraryId ) ,
3543 retry : false ,
3644 } ) ;
0 commit comments