Files
frontend/src/features/tbank-connection/model/connection-boundary.ts
T
codex-bot cadba8d075
Frontend verify / commits (push) Skipped
Frontend verify / security (push) Successful in 10s
Frontend verify / verify (push) Failing after 7m42s
refactor: share path-root query predicate (WealthLedger/frontend#142) (#154)
2026-11-04 22:58:58 +03:00

38 lines
927 B
TypeScript

import type { QueryClient } from "@tanstack/react-query";
import {
apiQueryClient,
isGetUnder,
type paths,
} from "@/shared/api";
type TbankConnectionStatus
= paths["/api/v1/tbank-connection"]["get"]["responses"][200]["content"]["application/json"];
const investmentGetPredicate = isGetUnder([
"/api/v1/brokerage-accounts",
"/api/v1/stocks",
"/api/v1/bonds",
]);
const tbankConnectionQueryOptions = () =>
apiQueryClient.queryOptions("get", "/api/v1/tbank-connection");
const tbankConnectionQueryKey = tbankConnectionQueryOptions().queryKey;
function commitTbankConnectionBoundary(
queryClient: QueryClient,
status: TbankConnectionStatus,
) {
queryClient.setQueryData(tbankConnectionQueryKey, status);
void queryClient.resetQueries({
predicate: ({ queryKey }) => investmentGetPredicate(queryKey),
});
}
export {
commitTbankConnectionBoundary,
tbankConnectionQueryOptions,
type TbankConnectionStatus,
};