import { useQuery } from '@tanstack/react-query' import { useMemo } from 'react' import { ApiResource } from '../../types' import { DirectMessageAffiliationsResource } from '../../types/resources/direct_message_affiliations' import { useApiClient } from '../use_api_client' export function useDirectMessageAffiliations() { const apiClient = useApiClient() const { data } = useQuery({ queryKey: ['chat', '/me/direct_message_affiliations'], queryFn: () => apiClient.chat.get({ url: '/me/direct_message_affiliations', data: { fields: { DirectMessageAffiliations: ['groups', 'teams', 'results_description'] }, }, }) as Promise>, staleTime: 5 * 60 * 1000, }) const groups = useMemo( () => new Map( Object.entries(data?.data?.groups ?? {}).map(([id, name]) => [+id, name]) ), [data] ) const teams = useMemo( () => new Map( Object.entries(data?.data?.teams ?? {}).map(([id, name]) => [+id, name]) ), [data] ) const resultsDescription = data?.data?.resultsDescription ?? null return { groups, teams, resultsDescription } }