diff --git a/src/backend/langflow/services/cache/base.py b/src/backend/langflow/services/cache/base.py index 4eee6639e..3b34e12f6 100644 --- a/src/backend/langflow/services/cache/base.py +++ b/src/backend/langflow/services/cache/base.py @@ -1,7 +1,9 @@ import abc +from langflow.services.base import Service -class BaseCacheService(abc.ABC): + +class BaseCacheService(Service): """ Abstract base class for a cache. """ diff --git a/src/backend/langflow/services/database/utils.py b/src/backend/langflow/services/database/utils.py index 558e8f323..cf2c92cb3 100644 --- a/src/backend/langflow/services/database/utils.py +++ b/src/backend/langflow/services/database/utils.py @@ -12,9 +12,9 @@ if TYPE_CHECKING: def initialize_database(fix_migration: bool = False): logger.debug("Initializing database") - from langflow.services import ServiceType, service_manager + from langflow.services.deps import get_db_service - database_service: "DatabaseService" = service_manager.get(ServiceType.DATABASE_SERVICE) + database_service: "DatabaseService" = get_db_service() try: database_service.create_db_and_tables() except Exception as exc: diff --git a/src/backend/langflow/services/deps.py b/src/backend/langflow/services/deps.py index 497248496..5c961446a 100644 --- a/src/backend/langflow/services/deps.py +++ b/src/backend/langflow/services/deps.py @@ -16,48 +16,48 @@ if TYPE_CHECKING: def get_credential_service() -> "CredentialService": - return service_manager.get(ServiceType.CREDENTIAL_SERVICE) + return service_manager.get(ServiceType.CREDENTIAL_SERVICE) # type: ignore def get_plugins_service() -> "PluginService": - return service_manager.get(ServiceType.PLUGIN_SERVICE) + return service_manager.get(ServiceType.PLUGIN_SERVICE) # type: ignore def get_settings_service() -> "SettingsService": try: - return service_manager.get(ServiceType.SETTINGS_SERVICE) + return service_manager.get(ServiceType.SETTINGS_SERVICE) # type: ignore except ValueError: # initialize settings service from langflow.services.manager import initialize_settings_service initialize_settings_service() - return service_manager.get(ServiceType.SETTINGS_SERVICE) + return service_manager.get(ServiceType.SETTINGS_SERVICE) # type: ignore def get_db_service() -> "DatabaseService": - return service_manager.get(ServiceType.DATABASE_SERVICE) + return service_manager.get(ServiceType.DATABASE_SERVICE) # type: ignore def get_session() -> Generator["Session", None, None]: - db_service = service_manager.get(ServiceType.DATABASE_SERVICE) + db_service = get_db_service() yield from db_service.get_session() def get_cache_service() -> "BaseCacheService": - return service_manager.get(ServiceType.CACHE_SERVICE) + return service_manager.get(ServiceType.CACHE_SERVICE) # type: ignore def get_session_service() -> "SessionService": - return service_manager.get(ServiceType.SESSION_SERVICE) + return service_manager.get(ServiceType.SESSION_SERVICE) # type: ignore def get_task_service() -> "TaskService": - return service_manager.get(ServiceType.TASK_SERVICE) + return service_manager.get(ServiceType.TASK_SERVICE) # type: ignore def get_chat_service() -> "ChatService": - return service_manager.get(ServiceType.CHAT_SERVICE) + return service_manager.get(ServiceType.CHAT_SERVICE) # type: ignore def get_store_service() -> "StoreService": - return service_manager.get(ServiceType.STORE_SERVICE) + return service_manager.get(ServiceType.STORE_SERVICE) # type: ignore diff --git a/src/backend/langflow/services/factory.py b/src/backend/langflow/services/factory.py index c37f4e9c2..fd99ae20e 100644 --- a/src/backend/langflow/services/factory.py +++ b/src/backend/langflow/services/factory.py @@ -1,6 +1,13 @@ + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + from langflow.services.base import Service + class ServiceFactory: def __init__(self, service_class): self.service_class = service_class - def create(self, *args, **kwargs): + def create(self, *args, **kwargs) -> "Service": + raise NotImplementedError diff --git a/src/backend/langflow/services/utils.py b/src/backend/langflow/services/utils.py index c75557b57..2c4288e1e 100644 --- a/src/backend/langflow/services/utils.py +++ b/src/backend/langflow/services/utils.py @@ -1,3 +1,4 @@ + from langflow.services.auth.utils import create_super_user, verify_password from langflow.services.database.utils import initialize_database from langflow.services.manager import service_manager