data-api-builder icon indicating copy to clipboard operation
data-api-builder copied to clipboard

[Enhancement]: Role-specific OpenAPI & GraphQL Schema support

Open JerryNixon opened this issue 1 year ago • 0 comments

What is it?

For OpenAPI & REST

  • Add CLI support to export role-specific OpenAPI to a JSON file based on config permissions

dab export-openapi -role: administrator -output: administrator.json

  • Add config support to reference pre-configured OpenAPI documents
{
  "OpenAPI-files": {
      "administrator": "administrator.json",
  }
  ...
}
  • Add /OpenAPI support to fetch role-based document.

https://localhost/OpenAPI?role=administrator perhaps auto-switch with header information.

For GraphQL

  • Add CLI support to export role-specific GraphQL Schema to a JSON file based on config permissions

dab export-graphql -role: administrator -output: administrator.json

  • Add config support to reference pre-configured GraphQL Schema documents
{
  "GraphQL-schema-files": {
      "administrator": "administrator.json",
  }
  ...
}
  • Add /graphql support to use pre-configured Schemas.

Discussion

  1. Preconfigured documents will reduce startup time
  2. Preconfigured documents will help accurate documentation (from OpenAPI)
  3. Role-specific docs/schemas help prevent confusion with consumers seeing inaccessible items.
  4. Role-specific docs/schemas help prevent metadata from "leaking" to consumers.

Questions

Related items to close

  • #1771
  • #2262

JerryNixon avatar Sep 06 '24 18:09 JerryNixon