From 2520d49a2b212413b9edd9f3185b3b9ddf135822 Mon Sep 17 00:00:00 2001 From: proDream Date: Sat, 11 Jan 2025 02:29:45 +0400 Subject: [PATCH] =?UTF-8?q?refactor:=20=D1=83=D0=BB=D1=83=D1=87=D1=88?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=B0=D1=8F=20=D1=81=D1=82=D1=80=D1=83=D0=BA?= =?UTF-8?q?=D1=82=D1=83=D1=80=D0=B0=20=D0=B8=20=D0=BD=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE?= =?UTF-8?q?=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавлен атрибут `secret_key` для хранения секретного ключа. - Обновлён класс `Settings` с использованием `SecretStr`. - Изменены параметры конструктора в классе `DBDependency`, теперь они инициализируются через настройки. --- lkeep/core/core_dependency/db_dependency.py | 11 ++++------- lkeep/core/settings.py | 5 +++++ 2 files changed, 9 insertions(+), 7 deletions(-) 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()