from pydantic_settings import BaseSettings, SettingsConfigDict from pydantic import computed_field, MongoDsn from pydantic_core import Url class Configs(BaseSettings): API_TOKEN_TG: str HOST_MONGODB: str DATABASE_NAME: str COLLECTION_NAME: str USERNAME_MONGO: str PASSWORD_MONGO: str @computed_field def DB_URI(self) -> MongoDsn: return Url( f"mongodb+srv://{self.USERNAME_MONGO}:{self.PASSWORD_MONGO}@{self.HOST_MONGODB}" ) model_config = SettingsConfigDict(env_file='.env', env_file_encoding='utf-8') configs = Configs()