|
@@ -64,6 +64,7 @@ class KnowledgeFileResponse(BaseModel):
|
|
|
file_size: float
|
|
|
file_type: str
|
|
|
minio_url: str
|
|
|
+ status: bool = False
|
|
|
user_name: Optional[str] = None # 用户名
|
|
|
version: Optional[str] = None
|
|
|
author: Optional[str] = None
|
|
@@ -380,7 +381,7 @@ def list_files(kb_id: int, pageNo: int = 1, pageSize: int = 10, file_name: Optio
|
|
|
filter(
|
|
|
KnowledgeFile.knowledge_base_id == kb_id,
|
|
|
KnowledgeFile.is_deleted == 0
|
|
|
- )
|
|
|
+ ).order_by(KnowledgeFile.status)
|
|
|
|
|
|
if file_name:
|
|
|
query = query.filter(KnowledgeFile.file_name.ilike(f"%{file_name}%"))
|
|
@@ -486,6 +487,30 @@ def delete_file(file_id: int, db: Session = Depends(get_db)):
|
|
|
"data": True
|
|
|
}
|
|
|
|
|
|
+@router.get("/files/{file_id}/changeStatus", response_model=dict)
|
|
|
+def change_file_status(file_id: int, status: bool, db: Session = Depends(get_db)):
|
|
|
+ # 获取文件信息
|
|
|
+ file = db.query(KnowledgeFile).filter(
|
|
|
+ KnowledgeFile.id == file_id,
|
|
|
+ KnowledgeFile.is_deleted == 0
|
|
|
+ ).first()
|
|
|
+ if not file:
|
|
|
+ raise HTTPException(status_code=404, detail="文件不存在")
|
|
|
+
|
|
|
+ # 标记文件停用状态
|
|
|
+ if status:
|
|
|
+ file.status = 1
|
|
|
+ else:
|
|
|
+ file.status = 0
|
|
|
+ file.updated_at = datetime.utcnow()
|
|
|
+ db.commit()
|
|
|
+
|
|
|
+ return {
|
|
|
+ "code": 200,
|
|
|
+ "message": "修改成功",
|
|
|
+ "data": True
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@router.put("/files/batch-update", response_model=ResponseModel)
|
|
|
def batch_update_files(update_data: BatchFileUpdate, db: Session = Depends(get_db)):
|