mirror of
https://git.datalinker.icu/ltdrdata/ComfyUI-Manager
synced 2025-12-09 06:04:31 +08:00
- Regenerated Pydantic models from updated OpenAPI specification - Updated import_fail_info_bulk route handler to use ImportFailInfoBulkRequest/Response models - Replaced manual JSON validation with Pydantic model validation - Added proper error handling with ValidationError - Updated data_models/__init__.py to export new models Following the process outlined in data_models/README.md for type safety and consistency.
Data Models
This directory contains Pydantic models for ComfyUI Manager, providing type safety, validation, and serialization for the API and internal data structures.
Overview
generated_models.py- All models auto-generated from OpenAPI spec__init__.py- Package exports for all models
Note: All models are now auto-generated from the OpenAPI specification. Manual model files (task_queue.py, state_management.py) have been deprecated in favor of a single source of truth.
Generating Types from OpenAPI
The state management models are automatically generated from the OpenAPI specification using datamodel-codegen. This ensures type safety and consistency between the API specification and the Python code.
Prerequisites
Install the code generator:
pipx install datamodel-code-generator
Generation Command
To regenerate all models after updating the OpenAPI spec:
datamodel-codegen \
--use-subclass-enum \
--field-constraints \
--strict-types bytes \
--use-double-quotes \
--input openapi.yaml \
--output comfyui_manager/data_models/generated_models.py \
--output-model-type pydantic_v2.BaseModel
When to Regenerate
You should regenerate the models when:
- Adding new API endpoints that return new data structures
- Modifying existing schemas in the OpenAPI specification
- Adding new state management features that require new models
Important Notes
- Single source of truth: All models are now generated from
openapi.yaml - No manual models: All previously manual models have been migrated to the OpenAPI spec
- OpenAPI requirements: New schemas must be referenced in API paths to be generated by datamodel-codegen
- Validation: Always validate the OpenAPI spec before generation:
python3 -c "import yaml; yaml.safe_load(open('openapi.yaml'))"
Example: Adding New State Models
- Add your schema to
openapi.yamlundercomponents/schemas/ - Reference the schema in an API endpoint response
- Run the generation command above
- Update
__init__.pyto export the new models - Import and use the models in your code
Troubleshooting
- Models not generated: Ensure schemas are under
components/schemas/(notparameters/) - Missing models: Verify schemas are referenced in at least one API path
- Import errors: Check that new models are added to
__init__.pyexports