[Bug]: Missing `description` in JSON schema
What happened?
The following JSON schema properties are missing the description field.
- [ ] data-source.options
- [ ] runtime.rest.path
- [ ] runtime.graphql.path
- [ ] runtime.host.authentication
- [ ] runtime.host.authentication.jwt
- [ ] runtime.host.authentication.jwt.audience
- [ ] runtime.host.authentication.jwt.issuer
Here are some starters, but you could be clearer than me:
- data-source.options: Additional configuration options specific to the selected database type.
- runtime.rest.path: The URL path prefix for REST API endpoints.
- runtime.graphql.path: The URL path prefix for GraphQL API endpoints.
- runtime.host.authentication: Configuration settings for authenticating API requests.
- runtime.host.authentication.jwt: Settings for JSON Web Token (JWT) based authentication.
- runtime.host.authentication.jwt.audience: The intended audience of the JWT, usually the API or service the token is meant for.
- runtime.host.authentication.jwt.issuer: The entity that issued the JWT, typically your server's identity.
Version
https://raw.githubusercontent.com/Azure/data-api-builder/main/schemas/dab.draft.schema.json
What database are you using?
Azure SQL
What hosting model are you using?
Local (including CLI)
Which API approach are you accessing DAB through?
REST, GraphQL
Relevant log output
No response
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
I tried to extract the list into a table to help.
| Status | Property Path | Description |
|---|---|---|
| ⚠️ | additionalProperties.version | - |
| data-source.description | Data source information | |
| data-source.database-type.description | Database used in the backend | |
| data-source.connection-string.description | Connection string for the selected database type | |
| ⚠️ | data-source.options | - |
| data-source-files.description | Names of runtime configuration files referencing additional databases. | |
| ⚠️ | data-source-files.default | - |
| runtime.description | Runtime configuration settings | |
| runtime.rest.description | Global REST endpoint configuration | |
| ⚠️ | runtime.rest.path.default | - |
| runtime.rest.enabled.description | Allow enabling/disabling REST requests for all entities. | |
| runtime.rest.request-body-strict.description | Does not allow extraneous fields in request body when set to true. | |
| runtime.graphql.description | Global GraphQL endpoint configuration | |
| ⚠️ | runtime.graphql.allow-introspection | - |
| ⚠️ | runtime.graphql.path.default | - |
| runtime.graphql.enabled.description | Allow enabling/disabling GraphQL requests for all entities. | |
| runtime.host.description | Global hosting configuration | |
| runtime.host.mode.description | Set if running in Development or Production mode | |
| runtime.host.cors.description | Configure CORS | |
| ⚠️ | runtime.host.cors.origins.default | - |
| runtime.host.cors.allow-credentials.description | Set value for Access-Control-Allow-Credentials header | |
| runtime.host.authentication.description | - | |
| ⚠️ | runtime.host.authentication.jwt.audience | - |
| ⚠️ | runtime.host.authentication.jwt.issuer | - |
| entities.description | Entities that will be exposed via REST and/or GraphQL | |
| entities.source.description | The object in the backend database that is mapped to the entity | |
| ⚠️ | entities.rest.path | - |
| ⚠️ | entities.rest.methods | - |
| entities.rest.enabled.description | Allow enabling/disabling REST requests this specific entity. | |
| ⚠️ | entities.graphql.type | - |
| ⚠️ | entities.graphql.operation | - |
| entities.graphql.enabled.description | Allow enabling/disabling GraphQL requests for this specific entity. | |
| entities.mappings.description | Define mappings between database fields and GraphQL and REST fields | |
| ⚠️ | entities.relationships.cardinality | - |
| ⚠️ | entities.relationships.target.entity | - |
| ⚠️ | entities.relationships.source.fields | - |
| ⚠️ | entities.relationships.target.fields | - |
| entities.relationships.linking.object.description | The database object used for supporting the M:N relationship | |
| ⚠️ | entities.relationships.linking.source.fields | - |
| ⚠️ | entities.relationships.linking.target.fields | - |
| entities.permissions.description | Permissions assigned to this object | |
| ⚠️ | entities.permissions.role | - |
| ⚠️ | entities.permissions.actions | - |
| ⚠️ | $defs.singular-plural.singular | - |
| ⚠️ | $defs.singular-plural.plural | - |
Is this a json schema validation issue? or a necessary fix to address ease of use and make schema file more informative for json linters? I ask because @abhishekkumams has #1782 PR submitted to address json schema violations.
https://github.com/Azure/data-api-builder/blob/main/schemas/dab.draft.schema.json