All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Endpoint
POST /api/generateto validate API definition files and return generated ZIP file -
Support for validating GraphQL schemas using
graphql-corewith base64 content encoding -
Unified validator service to route validation requests based on file type
-
ValidationSuccessandValidationFailuremodels for type-safe validation responses -
ErrorResponsemodel for standardized API error responses -
Unit tests for GraphQL validator, unified service, and generate endpoint using real files
-
Support for returning ZIP files on successful validation via
FileResponse -
docs/api_documentation.jsoncontaining the OpenAPI specification for the/generateendpoint -
FileTypeenum for better type safety in the API -
Generator router
-
Generator service
-
Templates Models
-
Template parser
- Refactored
ValidationResponsefrom single model toUnion[ValidationSuccess, ValidationFailure] - Updated
GraphQLValidatorServiceto parse GraphQL content and return base64 encoded input - Updated
UnifiedValidatorServiceto return file path (ZIP) on success orValidationFailureon error - Updated
/api/generateendpoint to returnFileResponse(ZIP) on success andJSONResponse(error) on failure - Simplified unit tests to use real files from
prueba/directory instead of mocks - Refactored generator services to return a mock path (
pruebadirectory) instead of generating a ZIP file directly - Centralized ZIP compression logic in
UnifiedValidatorServiceusingZipService - Reorganized
src/infrastructure/servicesintovalidatorsandgeneratorsdirectories - Simplified
generate_router.pyby removing inline documentation in favor of external JSON file
-
Redundant test directories and files (
tests/generators,tests/fixtures,tests/base64,tests/integration,tests/data,tests/unit/unified_service_test) -
Internal zipping logic from individual generator services
-
Removed patient xamples
- Fixed
AsyncAPIValidatorlogic to strictly enforce the presence of theasyncapikey, preventing invalid files (like GraphQL or generic YAML) from being accepted as valid AsyncAPI specs.