import { useQuery } from '@tanstack/react-query' import { toMs } from '../../utils/time' import { useApiClient } from '../use_api_client' import { getServicesChatConversationPayload } from './use_find_or_create_services_conversation' const STALE_TIME_MS = toMs(55, 'minutes') // under Services' 1-hour server-side expiry interface Props { teamIds: number[] planId?: number enabled?: boolean } export function useServicesChatConversationPayload({ teamIds, planId, enabled = true }: Props) { const apiClient = useApiClient() const sortedTeamIds = [...teamIds].sort((a, b) => a - b) const { data, ...rest } = useQuery({ queryKey: ['services', '/chat', { teamIds: sortedTeamIds, planId }], queryFn: () => getServicesChatConversationPayload({ apiClient, teamIds: sortedTeamIds, planId }), staleTime: STALE_TIME_MS, enabled: enabled && sortedTeamIds.length > 0, }) return { payload: data?.data.payload, ...rest } }