@@ -9,7 +9,11 @@ import type {
9
9
const GROUPS_QUERY_KEY = [ "groups" ] ;
10
10
type GroupSortOrder = "asc" | "desc" ;
11
11
12
- const getGroupQueryKey = ( groupName : string ) => [ "group" , groupName ] ;
12
+ const getGroupQueryKey = ( organizationId : string , groupName : string ) => [
13
+ organizationId ,
14
+ "group" ,
15
+ groupName ,
16
+ ] ;
13
17
14
18
export const groups = ( organizationId : string ) => {
15
19
return {
@@ -18,10 +22,10 @@ export const groups = (organizationId: string) => {
18
22
} satisfies UseQueryOptions < Group [ ] > ;
19
23
} ;
20
24
21
- export const group = ( groupName : string ) => {
25
+ export const group = ( organizationId : string , groupName : string ) => {
22
26
return {
23
- queryKey : getGroupQueryKey ( groupName ) ,
24
- queryFn : ( ) => API . getGroup ( groupName ) ,
27
+ queryKey : getGroupQueryKey ( organizationId , groupName ) ,
28
+ queryFn : ( ) => API . getGroup ( organizationId , groupName ) ,
25
29
} ;
26
30
} ;
27
31
@@ -69,7 +73,7 @@ export function groupsForUser(organizationId: string, userId: string) {
69
73
70
74
export const groupPermissions = ( groupId : string ) => {
71
75
return {
72
- queryKey : [ ... getGroupQueryKey ( groupId ) , "permissions" ] ,
76
+ queryKey : [ "group" , groupId , "permissions" ] ,
73
77
queryFn : ( ) =>
74
78
API . checkAuthorization ( {
75
79
checks : {
@@ -85,12 +89,12 @@ export const groupPermissions = (groupId: string) => {
85
89
} ;
86
90
} ;
87
91
88
- export const createGroup = ( queryClient : QueryClient ) => {
92
+ export const createGroup = (
93
+ queryClient : QueryClient ,
94
+ organizationId : string ,
95
+ ) => {
89
96
return {
90
- mutationFn : ( {
91
- organizationId,
92
- ...request
93
- } : CreateGroupRequest & { organizationId : string } ) =>
97
+ mutationFn : ( request : CreateGroupRequest ) =>
94
98
API . createGroup ( organizationId , request ) ,
95
99
onSuccess : async ( ) => {
96
100
await queryClient . invalidateQueries ( GROUPS_QUERY_KEY ) ;
@@ -106,15 +110,15 @@ export const patchGroup = (queryClient: QueryClient) => {
106
110
} : PatchGroupRequest & { groupId : string } ) =>
107
111
API . patchGroup ( groupId , request ) ,
108
112
onSuccess : async ( updatedGroup : Group ) =>
109
- invalidateGroup ( queryClient , updatedGroup . id ) ,
113
+ invalidateGroup ( queryClient , "default" , updatedGroup . id ) ,
110
114
} ;
111
115
} ;
112
116
113
117
export const deleteGroup = ( queryClient : QueryClient ) => {
114
118
return {
115
119
mutationFn : API . deleteGroup ,
116
120
onSuccess : async ( _ : void , groupId : string ) =>
117
- invalidateGroup ( queryClient , groupId ) ,
121
+ invalidateGroup ( queryClient , "default" , groupId ) ,
118
122
} ;
119
123
} ;
120
124
@@ -123,7 +127,7 @@ export const addMember = (queryClient: QueryClient) => {
123
127
mutationFn : ( { groupId, userId } : { groupId : string ; userId : string } ) =>
124
128
API . addMember ( groupId , userId ) ,
125
129
onSuccess : async ( updatedGroup : Group ) =>
126
- invalidateGroup ( queryClient , updatedGroup . id ) ,
130
+ invalidateGroup ( queryClient , "default" , updatedGroup . id ) ,
127
131
} ;
128
132
} ;
129
133
@@ -132,14 +136,18 @@ export const removeMember = (queryClient: QueryClient) => {
132
136
mutationFn : ( { groupId, userId } : { groupId : string ; userId : string } ) =>
133
137
API . removeMember ( groupId , userId ) ,
134
138
onSuccess : async ( updatedGroup : Group ) =>
135
- invalidateGroup ( queryClient , updatedGroup . id ) ,
139
+ invalidateGroup ( queryClient , "default" , updatedGroup . id ) ,
136
140
} ;
137
141
} ;
138
142
139
- export const invalidateGroup = ( queryClient : QueryClient , groupId : string ) =>
143
+ export const invalidateGroup = (
144
+ queryClient : QueryClient ,
145
+ organizationId : string ,
146
+ groupId : string ,
147
+ ) =>
140
148
Promise . all ( [
141
149
queryClient . invalidateQueries ( GROUPS_QUERY_KEY ) ,
142
- queryClient . invalidateQueries ( getGroupQueryKey ( groupId ) ) ,
150
+ queryClient . invalidateQueries ( getGroupQueryKey ( organizationId , groupId ) ) ,
143
151
] ) ;
144
152
145
153
export function sortGroupsByName (
0 commit comments