18 lines
664 B
TypeScript
18 lines
664 B
TypeScript
import { useQueries } from '@tanstack/react-query';
|
|
import type { BrokerAccount, BrokerPortfolio } from '@/shared/api/responses';
|
|
import { getBrokerPortfolio } from '../api/brokerAccountApi';
|
|
|
|
export function useBrokerAccountPortfolios(accounts: BrokerAccount[]) {
|
|
const queries = useQueries({
|
|
queries: accounts.map((account) => ({
|
|
queryKey: ['broker', 'portfolio', account.id],
|
|
queryFn: async (): Promise<BrokerPortfolio> => (await getBrokerPortfolio(account.id)).data,
|
|
staleTime: 60_000,
|
|
retry: 2,
|
|
refetchOnWindowFocus: false,
|
|
})),
|
|
});
|
|
|
|
return accounts.map((account, index) => ({ account, query: queries[index] }));
|
|
}
|