advent22/api/advent22_api/config.py
2023-09-04 20:02:43 +00:00

25 lines
449 B
Python

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):
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))