major server manager overhaul
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from fastapi import APIRouter
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from ..config import settings
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
class SettingsUpdate(BaseModel):
|
||||
samba_server_ip: str
|
||||
samba_username: str
|
||||
samba_password: str
|
||||
qbittorrent_url: Optional[str]
|
||||
qbittorrent_username: Optional[str]
|
||||
qbittorrent_password: Optional[str]
|
||||
default_comics_path: str
|
||||
default_videos_path: str
|
||||
stash_enabled: Optional[bool]
|
||||
stash_db_path: Optional[str]
|
||||
stash_generated_path: Optional[str]
|
||||
stash_remote_base: Optional[str]
|
||||
stash_container_base: Optional[str]
|
||||
stash_share: Optional[str]
|
||||
|
||||
@router.get("/")
|
||||
def get_settings():
|
||||
return settings.model_dump()
|
||||
|
||||
@router.post("/")
|
||||
def update_settings(update: SettingsUpdate):
|
||||
for key, value in update.model_dump().items():
|
||||
if hasattr(settings, key):
|
||||
setattr(settings, key, value)
|
||||
settings.save_to_json()
|
||||
return {"message": "Settings updated"}
|
||||
Reference in New Issue
Block a user