zenstackhq / zenstack

Fullstack TypeScript toolkit that enhances Prisma ORM with flexible Authorization layer for RBAC/ABAC/PBAC/ReBAC, offering auto-generated type-safe APIs and frontend hooks.
https://zenstack.dev
MIT License
2.07k stars 88 forks source link

Plugin Open API: Wrong Open API spec generated for `meta` response data key #1549

Closed drichardcarl closed 1 month ago

drichardcarl commented 3 months ago

Description and expected behavior The plugin should generate the proper spec for meta response data key.

Currently, I'm using npx openapi-typescript prisma/schema.json -o prisma/schema.d.ts to auto generate typings from Open API spec which will be later used to create API client using openapi-fetch. The problem is that "meta" key in response data has a wrong spec to begin with, hence the generated type is also wrong.

The expected type is:

ResponseData = {
  ...,
  meta?: {...}
}

and not

ResponseData = {
  ...,
  meta?: {
    meta?: {}
  }
}

Screenshots (schema.zmodel) image

(_Meta section of schema.json) image

(_Meta section of schema.d.ts) image

(response from api call) image

Environment (please complete the following information):

Additional context None

ymc9 commented 1 month ago

Fixed in 2.5.0