rasa-engine-api / lib /api-spec /orval.config.ts
Colab User
Initial commit: Deploy rasa-engine API server
84a5229
import { defineConfig, InputTransformerFn } from "orval";
import path from "path";
const root = path.resolve(__dirname, "..", "..");
// const apiClientReactSrc = path.resolve(root, "lib", "api-client-react", "src"); // This client is not used for API server deployment
const apiZodSrc = path.resolve(root, "artifacts", "api-zod", "src"); // Generate into artifacts/api-zod/src
// Our exports make assumptions about the title of the API being "Api" (i.e. generated output is `api.ts`).
const titleTransformer: InputTransformerFn = (config) => {
config.info ??= {};
config.info.title = "Api";
return config;
};
export default defineConfig({
// Removed "api-client-react" configuration as it's not needed for API server and causes build failures.
zod: {
input: {
target: "./openapi.yaml",
override: {
transformer: titleTransformer,
},
},
output: {
workspace: apiZodSrc,
client: "zod",
target: "generated",
schemas: { path: "generated/types", type: "typescript" },
mode: "split",
clean: true,
prettier: true,
override: {
zod: {
coerce: {
query: ['boolean', 'number', 'string'],
param: ['boolean', 'number', 'string'],
body: ['bigint', 'date'],
response: ['bigint', 'date'],
},
},
useDates: true,
useBigInt: true,
},
},
},
});