from pydantic import BaseModel from pydantic_settings import BaseSettings, SettingsConfigDict from shared.config_helper import load_settings from shared.datebase_base import DatabaseConfig from shared.http_parser_base import HttpParserConfig from shared.logger import LoggerConfig from shared.telegram_base import TelegramConfig from shared.worker_base import WorkerConfig from src.adapter.jwt import JWTConfig class AppConfig(BaseModel): URL: str class Settings(BaseSettings): model_config = SettingsConfigDict(env_file='.env', case_sensitive=False, env_nested_delimiter='__') app: AppConfig db: DatabaseConfig logger: LoggerConfig telegram: TelegramConfig telegram_parser: HttpParserConfig jwt: JWTConfig fetch_views_worker: WorkerConfig settings: Settings = load_settings(Settings)