|
|
from __future__ import annotations |
|
|
|
|
|
from langflow.services.base import Service |
|
|
from langflow.services.settings.auth import AuthSettings |
|
|
from langflow.services.settings.base import Settings |
|
|
|
|
|
|
|
|
class SettingsService(Service): |
|
|
name = "settings_service" |
|
|
|
|
|
def __init__(self, settings: Settings, auth_settings: AuthSettings): |
|
|
super().__init__() |
|
|
self.settings: Settings = settings |
|
|
self.auth_settings: AuthSettings = auth_settings |
|
|
|
|
|
@classmethod |
|
|
def initialize(cls) -> SettingsService: |
|
|
|
|
|
|
|
|
settings = Settings() |
|
|
if not settings.config_dir: |
|
|
msg = "CONFIG_DIR must be set in settings" |
|
|
raise ValueError(msg) |
|
|
|
|
|
auth_settings = AuthSettings( |
|
|
CONFIG_DIR=settings.config_dir, |
|
|
) |
|
|
return cls(settings, auth_settings) |
|
|
|
|
|
def set(self, key, value): |
|
|
setattr(self.settings, key, value) |
|
|
return self.settings |
|
|
|