Files
suaveplan/packages/api-stack/api/api-manifest/src/schema/openapi.ts
2026-05-27 23:29:53 +01:00

15 lines
428 B
TypeScript

import z from "zod";
/**
* OpenAPI contribution block. Requires at least one of `graphql.contributes`
* or `routes` to be present — enforced by
* `validateOpenApiRequiresGraphqlOrRoutes`.
*/
export const openapiSchema = z.object({
contributes: z.boolean(),
tagDisplayName: z.string().min(1).optional(),
externalDocs: z.string().url().optional(),
});
export type OpenApiBlock = z.infer<typeof openapiSchema>;