30 lines
782 B
TypeScript
30 lines
782 B
TypeScript
import { apiQueryClient, type paths, useResourceQuery } from "@/shared/api";
|
|
|
|
const brokerageAccountsQueryOptions = () =>
|
|
apiQueryClient.queryOptions("get", "/api/v1/brokerage-accounts");
|
|
|
|
const brokerageAccountsQueryKey = brokerageAccountsQueryOptions().queryKey;
|
|
const BROKERAGE_ACCOUNTS_STALE_TIME_MS = 1_800_000;
|
|
|
|
type BrokerageAccount = NonNullable<
|
|
paths["/api/v1/brokerage-accounts"]["get"]["responses"][200]["content"]["application/json"]["data"]
|
|
>[number];
|
|
|
|
function useBrokerageAccounts() {
|
|
const query = useResourceQuery({
|
|
meta: { accessGroup: "brokerage" },
|
|
...brokerageAccountsQueryOptions(),
|
|
staleTime: BROKERAGE_ACCOUNTS_STALE_TIME_MS,
|
|
});
|
|
|
|
return {
|
|
...query,
|
|
};
|
|
}
|
|
|
|
export {
|
|
type BrokerageAccount,
|
|
brokerageAccountsQueryKey,
|
|
useBrokerageAccounts,
|
|
};
|