Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

spec.py 1019B

1234567891011121314151617181920212223242526272829303132333435
  1. import logging
  2. from flask_restx import Resource
  3. from controllers.console import api
  4. from controllers.console.wraps import (
  5. account_initialization_required,
  6. setup_required,
  7. )
  8. from core.schemas.schema_manager import SchemaManager
  9. from libs.login import login_required
  10. logger = logging.getLogger(__name__)
  11. class SpecSchemaDefinitionsApi(Resource):
  12. @setup_required
  13. @login_required
  14. @account_initialization_required
  15. def get(self):
  16. """
  17. Get system JSON Schema definitions specification
  18. Used for frontend component type mapping
  19. """
  20. try:
  21. schema_manager = SchemaManager()
  22. schema_definitions = schema_manager.get_all_schema_definitions()
  23. return schema_definitions, 200
  24. except Exception:
  25. logger.exception("Failed to get schema definitions from local registry")
  26. # Return empty array as fallback
  27. return [], 200
  28. api.add_resource(SpecSchemaDefinitionsApi, "/spec/schema-definitions")