26 lines
853 B
Python
26 lines
853 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
|
|
refresh_token_expire_days: int = 7
|
|
|
|
|
|
settings = Settings()
|