Coverage for src/core/settings.py: 100%
21 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-25 22:09 +0300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-25 22:09 +0300
1from pydantic import Field
2from pydantic_settings import BaseSettings
5class MailSettings(BaseSettings):
6 host: str = Field(default="smtp.yandex.com")
7 port: int = Field(default=587)
8 login: str = Field(default="info@service-laboratory.online")
9 password: str = Field(default="superPassword")
11 class Config:
12 env_prefix = "MAIL_"
15class OpenApiSettings(BaseSettings):
16 title: str = Field(deafult="title")
17 version: str = Field(deafult="0.1.2")
18 path: str = Field(deafult="/api/docs")
20 class Config:
21 env_prefix = "OPEN_API_"
24class Settings(BaseSettings):
25 db_url: str = Field(default="postgresql+asyncpg://user:password@localhost:5432/db")
26 jwt_secret: str = Field(default="secret_for_jwt")
27 open_api_config: OpenApiSettings = Field(default_factory=OpenApiSettings)
28 mail_config: MailSettings = Field(default_factory=MailSettings)
31settings = Settings()