This commit is contained in:
amb
2026-09-01 21:14:55 +08:00
parent 3b6336fde9
commit e47235dfff
4 changed files with 791 additions and 599 deletions
+2 -1
View File
@@ -74,13 +74,14 @@ def create_text_document(
@router.get("", response_model=DocumentListResponse)
def list_documents(
kb_id: str = Query(...),
category_id: str = Query(None),
page: int = Query(1, ge=1),
page_size: int = Query(50, ge=1, le=200),
user: User = Depends(get_current_user),
db: Session = Depends(get_db),
) -> DocumentListResponse:
svc = DocumentService(db)
items, total = svc.list_by_knowledge_base(kb_id, user, page=page, page_size=page_size)
items, total = svc.list_by_knowledge_base(kb_id, user, category_id=category_id, page=page, page_size=page_size)
return DocumentListResponse(
items=[_to_response(doc) for doc in items],
total=total,
+2 -2
View File
@@ -144,13 +144,13 @@ class DocumentService:
return doc
def list_by_knowledge_base(
self, kb_id: str, user: User, *, page: int = 1, page_size: int = 50
self, kb_id: str, user: User, *, category_id: str | None = None, page: int = 1, page_size: int = 50
):
# 校验 KB 归属
kb = self._kb_repo.get_by_id(kb_id)
if kb is None or kb.user_id != user.id or kb.status == "DELETED":
raise NotFoundError("知识库不存在。")
return self._doc_repo.list_by_knowledge_base(kb_id, page=page, page_size=page_size)
return self._doc_repo.list_by_knowledge_base(kb_id, category_id=category_id, page=page, page_size=page_size)
def delete(self, doc_id: str, user: User) -> None:
doc = self.get_or_404(doc_id, user)