Patch both api and web sides

This commit is contained in:
Xin Wang
2026-02-08 21:59:56 +08:00
parent 68e47320cd
commit 8069a16227
5 changed files with 34 additions and 14 deletions

View File

@@ -146,12 +146,27 @@ def delete_knowledge_base(kb_id: str, db: Session = Depends(get_db)):
@router.post("/bases/{kb_id}/documents")
def upload_document(
kb_id: str,
data: KnowledgeDocumentCreate,
data: Optional[KnowledgeDocumentCreate] = None,
name: Optional[str] = Query(default=None),
size: Optional[str] = Query(default=None),
file_type: Optional[str] = Query(default=None),
storage_url: Optional[str] = Query(default=None),
db: Session = Depends(get_db)
):
kb = db.query(KnowledgeBase).filter(KnowledgeBase.id == kb_id).first()
if not kb:
raise HTTPException(status_code=404, detail="Knowledge base not found")
if data is None:
if not name or not size:
raise HTTPException(status_code=422, detail="name and size are required")
data = KnowledgeDocumentCreate(
name=name,
size=size,
fileType=file_type or "txt",
storageUrl=storage_url,
)
doc = KnowledgeDocument(
id=str(uuid.uuid4())[:8],
kb_id=kb_id,