diff --git a/lkeep/core/core_dependency/db_dependency.py b/lkeep/core/core_dependency/db_dependency.py index 0a1ec29..43da0ec 100644 --- a/lkeep/core/core_dependency/db_dependency.py +++ b/lkeep/core/core_dependency/db_dependency.py @@ -1,21 +1,18 @@ from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker, create_async_engine +from lkeep.core.settings import settings + class DBDependency: """ Класс для управления зависимостями базы данных, используя SQLAlchemy. """ - def __init__(self, db_url: str, db_echo: bool) -> None: + def __init__(self) -> None: """ Инициализирует экземпляр класса, отвечающего за взаимодействие с асинхронной базой данных. - - :param db_url: URL для подключения к базе данных. - :type db_url: str - :param db_echo: Флаг, определяющий вывод подробных логов при взаимодействии с базой данных. - :type db_echo: bool """ - self._engine = create_async_engine(url=db_url, echo=db_echo) + self._engine = create_async_engine(url=settings.db_settings.db_url, echo=settings.db_settings.db_echo) self._session_factory = async_sessionmaker(bind=self._engine, expire_on_commit=False, autocommit=False) @property diff --git a/lkeep/core/settings.py b/lkeep/core/settings.py index 9e3e189..fd448b0 100644 --- a/lkeep/core/settings.py +++ b/lkeep/core/settings.py @@ -54,9 +54,14 @@ class Settings(BaseSettings): :ivar db_settings: Экземпляр класса DBSettings, содержащий настройки базы данных. :type db_settings: DBSettings + :ivar secret_key: Секретный ключ для шифрования + :type secret_key: SecretStr """ db_settings: DBSettings = DBSettings() + secret_key: SecretStr + + model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf8", extra="ignore") settings = Settings()