added RAG, Multiuser, TG bot
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from typing import Any
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
from pydantic import BaseModel, Field
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.auth.deps import get_current_user
|
||||
from app.db.base import get_db
|
||||
from app.db.models import User
|
||||
from app.settings.service import SETTING_KEYS, SettingsService
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
class SettingsPatch(BaseModel):
|
||||
openrouter_model: str | None = None
|
||||
memory_extract_model: str | None = None
|
||||
openrouter_reasoning_effort: str | None = None
|
||||
rag_enabled: bool | None = None
|
||||
rag_top_k: int | None = Field(default=None, ge=1, le=50)
|
||||
|
||||
|
||||
@router.get("/settings")
|
||||
def get_settings_route(db: Session = Depends(get_db), user: User = Depends(get_current_user)) -> dict[str, Any]:
|
||||
return SettingsService(db).snapshot()
|
||||
|
||||
|
||||
@router.patch("/settings")
|
||||
def patch_settings_route(
|
||||
payload: SettingsPatch,
|
||||
db: Session = Depends(get_db), user: User = Depends(get_current_user),
|
||||
) -> dict[str, Any]:
|
||||
updates = payload.model_dump(exclude_unset=True)
|
||||
return SettingsService(db).patch(updates)
|
||||
Reference in New Issue
Block a user