2024-12-13 09:56:10 -08:00

22 lines
685 B
Python

from typing import cast
from onyx.configs.constants import KV_SETTINGS_KEY
from onyx.key_value_store.factory import get_kv_store
from onyx.key_value_store.interface import KvKeyNotFoundError
from onyx.server.settings.models import Settings
def load_settings() -> Settings:
dynamic_config_store = get_kv_store()
try:
settings = Settings(**cast(dict, dynamic_config_store.load(KV_SETTINGS_KEY)))
except KvKeyNotFoundError:
settings = Settings()
dynamic_config_store.store(KV_SETTINGS_KEY, settings.model_dump())
return settings
def store_settings(settings: Settings) -> None:
get_kv_store().store(KV_SETTINGS_KEY, settings.model_dump())