diff options
Diffstat (limited to 'src/state/queries/messages/get-convo-for-members.ts')
-rw-r--r-- | src/state/queries/messages/get-convo-for-members.ts | 35 |
1 files changed, 4 insertions, 31 deletions
diff --git a/src/state/queries/messages/get-convo-for-members.ts b/src/state/queries/messages/get-convo-for-members.ts index 7979e0665..3f45c2328 100644 --- a/src/state/queries/messages/get-convo-for-members.ts +++ b/src/state/queries/messages/get-convo-for-members.ts @@ -1,14 +1,10 @@ import {ChatBskyConvoGetConvoForMembers} from '@atproto/api' -import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query' +import {useMutation, useQueryClient} from '@tanstack/react-query' import {logger} from '#/logger' import {DM_SERVICE_HEADERS} from '#/state/queries/messages/const' import {useAgent} from '#/state/session' -import {STALE} from '..' -import {RQKEY as CONVO_KEY} from './conversation' - -const RQKEY_ROOT = 'convo-for-user' -export const RQKEY = (did: string) => [RQKEY_ROOT, did] +import {precacheConvoQuery} from './conversation' export function useGetConvoForMembers({ onSuccess, @@ -22,7 +18,7 @@ export function useGetConvoForMembers({ return useMutation({ mutationFn: async (members: string[]) => { - const {data} = await agent.api.chat.bsky.convo.getConvoForMembers( + const {data} = await agent.chat.bsky.convo.getConvoForMembers( {members: members}, {headers: DM_SERVICE_HEADERS}, ) @@ -30,7 +26,7 @@ export function useGetConvoForMembers({ return data }, onSuccess: data => { - queryClient.setQueryData(CONVO_KEY(data.convo.id), data.convo) + precacheConvoQuery(queryClient, data.convo) onSuccess?.(data) }, onError: error => { @@ -39,26 +35,3 @@ export function useGetConvoForMembers({ }, }) } - -/** - * Gets the conversation ID for a given DID. Returns null if it's not possible to message them. - */ -export function useMaybeConvoForUser(did: string) { - const agent = useAgent() - - return useQuery({ - queryKey: RQKEY(did), - queryFn: async () => { - const convo = await agent.api.chat.bsky.convo - .getConvoForMembers({members: [did]}, {headers: DM_SERVICE_HEADERS}) - .catch(() => ({success: null})) - - if (convo.success) { - return convo.data.convo - } else { - return null - } - }, - staleTime: STALE.INFINITY, - }) -} |