This commit is contained in:
jze9
2025-04-01 23:27:36 +05:00
commit 4c72b79e86
49 changed files with 19305 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
from pydantic.generics import GenericModel
import re
class Settings(GenericModel):
DB_HOST: str = "postgres"#"postgres"
DB_PORT: int = 5432
DB_USER: str = "tester"
DB_PASS: str = "tester"
DB_NAME: str = "test"
@classmethod
def validate_db_port(cls, v):
# Проверка и преобразование DB_PORT
if isinstance(v, str):
# Используем регулярное выражение для извлечения целого числа
match = re.search(r'\d+', v)
if match:
return int(match.group())
else:
raise ValueError(f"Invalid DB_PORT value: {v}")
return v
@property
def DATABASE_URL_asyncpg(self) -> str:
return f"postgresql+asyncpg://{self.DB_USER}:{self.DB_PASS}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}"
@property
def DATABASE_URL_syncpg(self) -> str:
return f"postgresql+psycopg2://{self.DB_USER}:{self.DB_PASS}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}"
# Загрузка настроек из файла .env
settings = Settings()