import { useQuery } from '@tanstack/react-query' import { ApiResource, ResourceObject } from '../../types' import { toMs } from '../../utils/time' import { useApiClient } from '../use_api_client' const STALE_TIME_MS = toMs(25, 'minutes') // under Groups' 30-min server-side expiry interface Props { groupId: number enabled?: boolean } export function useGroupChatConversationPayload({ groupId, enabled = true }: Props) { const apiClient = useApiClient() const url = `/me/groups/${groupId}/chat_conversation_payload` const { data, ...rest } = useQuery({ queryKey: ['groups', url], queryFn: () => apiClient.groups.post>({ url, data: { data: { type: 'GroupChatConversationPayload', attributes: { title: '' }, }, }, }), staleTime: STALE_TIME_MS, refetchOnMount: 'always', enabled, }) return { payload: data?.data.value, ...rest } } interface GroupChatConversationPayload extends ResourceObject { type: 'GroupChatConversationPayload' value: string }