File size: 1,179 Bytes
3d700dd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import { useMutation, useQueryClient } from "@tanstack/react-query";
import ProviderConnectionsService, {
type UpdateProviderConnectionRequest,
} from "#/api/provider-connections-service/provider-connections-service.api";
import {
LLM_PROFILES_QUERY_KEYS,
PROVIDER_CONNECTIONS_QUERY_KEYS,
} from "#/hooks/query/query-keys";
interface UpdateProviderConnectionVariables {
id: string;
request: UpdateProviderConnectionRequest;
}
export function useUpdateProviderConnection() {
const queryClient = useQueryClient();
return useMutation({
mutationFn: ({ id, request }: UpdateProviderConnectionVariables) =>
ProviderConnectionsService.update(id, request),
onSuccess: async () => {
await queryClient.invalidateQueries({
queryKey: PROVIDER_CONNECTIONS_QUERY_KEYS.all,
});
// Linked profiles report the connection's key presence via `api_key_set`,
// so refresh the profile list too after a rotation or rename.
await queryClient.invalidateQueries({
queryKey: LLM_PROFILES_QUERY_KEYS.all,
});
},
// Consumers handle errors with try-catch and manual toasts.
meta: { disableToast: true },
});
}
|