test_task_crm/app/core/config.py

25 lines
814 B
Python

"""Application settings using Pydantic Settings."""
from pydantic import Field, SecretStr
from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings):
"""Runtime application configuration."""
model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", extra="allow")
project_name: str = "Test Task CRM"
version: str = "0.1.0"
api_v1_prefix: str = "/api/v1"
database_url: str = Field(
default="postgresql+asyncpg://postgres:postgres@0.0.0.0:5432/test_task_crm",
description="SQLAlchemy async connection string",
)
sqlalchemy_echo: bool = False
jwt_secret_key: SecretStr = Field(default=SecretStr("change-me"))
jwt_algorithm: str = "HS256"
access_token_expire_minutes: int = 30
settings = Settings()