import type { ResourceConfig } from "../../../react-openapi"; import type { TxnFieldConfigs } from "../types"; export function buildTxnFieldConfigs(resources: ResourceConfig[]): TxnFieldConfigs | null { const expensesRes = resources.find((r) => r.name === "expenses"); const entitiesRes = resources.find((r) => r.name === "entities"); const accountsRes = resources.find((r) => r.name === "accounts"); const find = (res: ResourceConfig | undefined, name: string) => res?.fields.find((f) => f.name === name); const entity = find(expensesRes, "entity"); const amount = find(expensesRes, "amount"); const account = find(expensesRes, "account"); const occurredAt = find(expensesRes, "occurred_at"); const logo = find(entitiesRes, "logo"); if (!entity || !amount || !account || !occurredAt || !logo) return null; return { entity, amount, account, occurredAt, logo, formats: { entity: entitiesRes?.displayFormat ?? "{name}", account: accountsRes?.displayFormat ?? "{name}", }, }; }