import tomli from pydantic import BaseModel from .dav_common import dav_get_textfile_content from .settings import SETTINGS class User(BaseModel): name: str password: str class Puzzle(BaseModel): background: str font: str solution: str class Config(BaseModel): admin: User puzzle: Puzzle async def get_config() -> Config: txt = await dav_get_textfile_content(path=SETTINGS.config_filename) return Config.model_validate(tomli.loads(txt))