Skip to content

Commit 7bd271a

Browse files
authored
fix(credentials): add cross-cache invalidation for oauth credential queries (#4076)
1 parent 8e222fa commit 7bd271a

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

apps/sim/hooks/queries/credential-sets.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ export function useAcceptCredentialSetInvitation() {
157157
}
158158
return response.json()
159159
},
160-
onSuccess: () => {
160+
onSettled: () => {
161161
queryClient.invalidateQueries({ queryKey: credentialSetKeys.memberships() })
162162
queryClient.invalidateQueries({ queryKey: credentialSetKeys.invitations() })
163163
},
@@ -187,7 +187,7 @@ export function useCreateCredentialSet() {
187187
}
188188
return response.json()
189189
},
190-
onSuccess: (_data, variables) => {
190+
onSettled: (_data, _error, variables) => {
191191
queryClient.invalidateQueries({ queryKey: credentialSetKeys.list(variables.organizationId) })
192192
},
193193
})
@@ -209,7 +209,7 @@ export function useCreateCredentialSetInvitation() {
209209
}
210210
return response.json()
211211
},
212-
onSuccess: (_data, variables) => {
212+
onSettled: (_data, _error, variables) => {
213213
queryClient.invalidateQueries({
214214
queryKey: credentialSetKeys.detailInvitations(variables.credentialSetId),
215215
})
@@ -264,7 +264,7 @@ export function useRemoveCredentialSetMember() {
264264
}
265265
return response.json()
266266
},
267-
onSuccess: (_data, variables) => {
267+
onSettled: (_data, _error, variables) => {
268268
queryClient.invalidateQueries({
269269
queryKey: credentialSetKeys.detailMembers(variables.credentialSetId),
270270
})
@@ -288,7 +288,7 @@ export function useLeaveCredentialSet() {
288288
}
289289
return response.json()
290290
},
291-
onSuccess: () => {
291+
onSettled: () => {
292292
queryClient.invalidateQueries({ queryKey: credentialSetKeys.memberships() })
293293
},
294294
})
@@ -313,7 +313,7 @@ export function useDeleteCredentialSet() {
313313
}
314314
return response.json()
315315
},
316-
onSuccess: (_data, variables) => {
316+
onSettled: (_data, _error, variables) => {
317317
queryClient.invalidateQueries({
318318
queryKey: credentialSetKeys.list(variables.organizationId),
319319
})
@@ -370,7 +370,7 @@ export function useCancelCredentialSetInvitation() {
370370
}
371371
return response.json()
372372
},
373-
onSuccess: (_data, variables) => {
373+
onSettled: (_data, _error, variables) => {
374374
queryClient.invalidateQueries({
375375
queryKey: credentialSetKeys.detailInvitations(variables.credentialSetId),
376376
})
@@ -393,7 +393,7 @@ export function useResendCredentialSetInvitation() {
393393
}
394394
return response.json()
395395
},
396-
onSuccess: (_data, variables) => {
396+
onSettled: (_data, _error, variables) => {
397397
queryClient.invalidateQueries({
398398
queryKey: credentialSetKeys.detailInvitations(variables.credentialSetId),
399399
})

apps/sim/hooks/queries/credentials.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
55
import { environmentKeys } from '@/hooks/queries/environment'
66
import { fetchJson } from '@/hooks/selectors/helpers'
77

8+
/**
9+
* Key prefix for OAuth credential queries.
10+
* Duplicated here to avoid circular imports with oauth-credentials.ts.
11+
*/
12+
const OAUTH_CREDENTIALS_KEY = ['oauthCredentials'] as const
13+
814
export type WorkspaceCredentialType = 'oauth' | 'env_workspace' | 'env_personal' | 'service_account'
915
export type WorkspaceCredentialRole = 'admin' | 'member'
1016
export type WorkspaceCredentialMemberStatus = 'active' | 'pending' | 'revoked'
@@ -192,6 +198,9 @@ export function useCreateWorkspaceCredential() {
192198
queryClient.invalidateQueries({
193199
queryKey: workspaceCredentialKeys.lists(),
194200
})
201+
queryClient.invalidateQueries({
202+
queryKey: OAUTH_CREDENTIALS_KEY,
203+
})
195204
},
196205
})
197206
}
@@ -269,6 +278,9 @@ export function useUpdateWorkspaceCredential() {
269278
queryClient.invalidateQueries({
270279
queryKey: workspaceCredentialKeys.lists(),
271280
})
281+
queryClient.invalidateQueries({
282+
queryKey: OAUTH_CREDENTIALS_KEY,
283+
})
272284
},
273285
})
274286
}
@@ -290,6 +302,7 @@ export function useDeleteWorkspaceCredential() {
290302
onSettled: (_data, _error, credentialId) => {
291303
queryClient.invalidateQueries({ queryKey: workspaceCredentialKeys.detail(credentialId) })
292304
queryClient.invalidateQueries({ queryKey: workspaceCredentialKeys.lists() })
305+
queryClient.invalidateQueries({ queryKey: OAUTH_CREDENTIALS_KEY })
293306
queryClient.invalidateQueries({ queryKey: environmentKeys.all })
294307
},
295308
})

0 commit comments

Comments
 (0)