julee.api.services¶
API services package for the julee CEAP system.
This package contains service layer components that orchestrate use cases and provide higher-level application services. Services in this package act as facades between the API layer and the domain layer, coordinating multiple use cases and handling cross-cutting concerns.
Services follow clean architecture principles: - Orchestrate domain use cases - Handle application-level concerns - Provide simplified interfaces for controllers - Maintain separation between API and domain layers
Submodules¶
Classes¶
Service for orchestrating system initialization on application startup. |
Package Contents¶
- class julee.api.services.SystemInitializationService(initialize_system_data_use_case)[source]¶
Service for orchestrating system initialization on application startup.
This service coordinates the execution of use cases needed to initialize required system data, such as knowledge service configurations and other essential data needed for the application to function properly.
The service provides error handling, logging, and coordination between multiple initialization tasks while keeping the business logic in the domain use cases.
- async get_initialization_status()[source]¶
Get the current initialization status.
This method can be used to check if the system has been properly initialized, useful for health checks or debugging.
- Returns:
Dict containing current initialization status and metadata
- Return type:
dict[str, Any]
- async initialize()[source]¶
Initialize all required system data and configuration.
This method orchestrates all initialization tasks needed for the application to start successfully. It coordinates multiple use cases and provides comprehensive error handling and logging.
- Returns:
Dict containing initialization results and metadata
- Raises:
Exception – If any critical initialization step fails
- Return type:
dict[str, Any]
- async reinitialize()[source]¶
Reinitialize system data.
This method can be used to force reinitalization of system data, useful for development, testing, or recovery scenarios.
- Returns:
Dict containing reinitialization results
- Raises:
Exception – If reinitialization fails
- Return type:
dict[str, Any]
- initialize_system_data_use_case¶
- logger¶