import { defineConfig } from "orval"; // Generates a typed React Query client from the host's checked-in OpenAPI document. // Regenerate after any management-API change: `pnpm api:gen` (the Rust side regenerates // docs/api/openapi.json via `cargo run -p punktfunk-host -- openapi`). export default defineConfig({ punktfunk: { input: { target: "../docs/api/openapi.json", }, output: { mode: "tags-split", target: "./src/api/gen", schemas: "./src/api/gen/model", client: "react-query", clean: true, override: { mutator: { path: "./src/api/fetcher.ts", name: "apiFetch", }, // The mutator returns the response BODY (it throws on HTTP errors), not a // `{status,data,headers}` envelope — so a query's `.data` is the typed payload. fetch: { includeHttpResponseReturnType: false, }, // No global query/mutation override: orval picks `useQuery` for GET and // `useMutation` for POST/DELETE by HTTP method, which is what the pages expect. }, }, }, });