GraphQL API Metadata and Validation Enhancement
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
## Overview
Enhance GraphQL API with structured metadata management and unified input validation.
## Scope
### BEP-1031: GraphQL API Field Metadata Extension
- Define `backend_ai_field()`, `backend_ai_type()`, `backend_ai_input()` wrappers
- Integrate `BackendAIAPIMeta` with Strawberry GraphQL
- Enable automatic version prefix in descriptions
- Support deprecation_reason from metadata
### BEP-1032: Unified Input Validation for REST and GraphQL
- Share Pydantic models between REST and GraphQL
- Use `strawberry.experimental.pydantic.input()` for GraphQL inputs
- Centralize validation logic in `data/{domain}/specs.py`
## Goals
- Consistent API metadata management across REST and GraphQL
- Programmatic access to version information for documentation
- Single source of truth for input validation
- Reduced code duplication between API layers
## Related BEPs
- BEP-1022: Pydantic Field Metadata Annotation
- BEP-1031: GraphQL API Field Metadata Extension
- BEP-1032: Unified Input Validation
JIRA Issue: BA-3928
Contributor guide
Assessment
This issue has not been assessed yet.