mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-05-16 23:00:31 +02:00
22 lines
685 B
Python
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())
|