From ee8df9424fc4e3fb30a8b8e39436b26c902defb7 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 24 十二月 2024 13:37:15 +0800
Subject: [PATCH] 角色的资源过滤掉删除的
---
app/models/role_model.py | 5 +++--
app/service/dialog.py | 10 ++++++----
app/api/dialog.py | 4 +++-
app/api/agent.py | 16 ++++++++++------
4 files changed, 22 insertions(+), 13 deletions(-)
diff --git a/app/api/agent.py b/app/api/agent.py
index fb1ad87..0fb5f10 100644
--- a/app/api/agent.py
+++ b/app/api/agent.py
@@ -81,11 +81,15 @@
@router.get("/{agent_id}/{conversation_id}/session_log")
async def session_log(agent_id: str, conversation_id: str, db: Session = Depends(get_db), current_user: UserModel = Depends(get_current_user)):
- agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first()
+ # agent = db.query(AgentModel).filter(AgentModel.id == agent_id).first()
+ # if not agent:
+ # return Response(code=404, msg="Agent not found")
+ agent = db.query(MenuCapacityModel).filter(MenuCapacityModel.chat_id == agent_id).first()
if not agent:
- return Response(code=404, msg="Agent not found")
+ return ResponseList(code=404, msg="Agent not found")
+ agent_type = int(agent.capacity_type)
- if agent.agent_type == AgentType.RAGFLOW:
+ if agent_type == AgentType.RAGFLOW:
ragflow_service = RagflowService(base_url=settings.fwr_base_url)
try:
token = await get_ragflow_token(db, current_user.id)
@@ -116,7 +120,7 @@
return JSONResponse(status_code=200, content={"code": 400, "message": "Invalid result structure"})
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
- elif agent.agent_type == AgentType.BISHENG:
+ elif agent_type == AgentType.BISHENG:
is_join = False
if agent.name == "鎶ュ憡鐢熸垚":
is_join = True
@@ -180,7 +184,7 @@
'answer': answer_str, 'files': files}]})
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
- elif agent.agent_type == AgentType.BASIC:
+ elif agent_type == AgentType.BASIC:
data = []
session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first()
if session:
@@ -219,7 +223,7 @@
data.append(tmp_data)
return JSONResponse(status_code=200, content={"code": 200, "data": data})
- elif agent.agent_type == AgentType.DIFY:
+ elif agent_type == AgentType.DIFY:
data = []
session = db.query(SessionModel).filter(SessionModel.id == conversation_id).first()
if session:
diff --git a/app/api/dialog.py b/app/api/dialog.py
index 799d7ea..45db470 100644
--- a/app/api/dialog.py
+++ b/app/api/dialog.py
@@ -20,7 +20,9 @@
current_user: UserModel = Depends(get_current_user),
db=Depends(get_db)):
if current and not pageSize:
- return ResponseList(code=400, msg="缂哄皯鍙傛暟")
+ return Response(code=400, msg="缂哄皯鍙傛暟")
+ if status and status not in ["0", "1"]:
+ return Response(code=400, msg="Parameter status exception")
return Response(code=200, msg="", data=await get_dialog_list(db, current_user.id, keyword, label, status, pageSize, current))
diff --git a/app/models/role_model.py b/app/models/role_model.py
index 42895df..23231de 100644
--- a/app/models/role_model.py
+++ b/app/models/role_model.py
@@ -5,6 +5,7 @@
from sqlalchemy import Column, Integer, String, DateTime, Table, ForeignKey
from sqlalchemy.orm import relationship, backref
+from app.config.const import RESOURCE_STATUS_DELETE, DEPT_STATUS_DELETE
from app.models.base_model import Base
# 瑙掕壊璧勬簮鍏宠仈琛�
@@ -59,9 +60,9 @@
}
# if len(self.resources) > 0:
- json['resources'] = [resource.to_json() for resource in self.resources]
+ json['resources'] = [resource.to_json() for resource in self.resources if resource.status != DEPT_STATUS_DELETE]
- json['dept'] = [dept.to_base_json() for dept in self.organizations]
+ json['dept'] = [dept.to_base_json() for dept in self.organizationsif if dept.status != RESOURCE_STATUS_DELETE]
return json
diff --git a/app/service/dialog.py b/app/service/dialog.py
index bfc1fc0..0e79270 100644
--- a/app/service/dialog.py
+++ b/app/service/dialog.py
@@ -13,7 +13,11 @@
user = db.query(UserModel).filter(UserModel.id == user_id).first()
if user is None:
return {"rows": []}
- query = db.query(DialogModel).filter(DialogModel.status != Dialog_STATSU_DELETE)
+ query = db.query(DialogModel)
+ if status:
+ query = query.filter(DialogModel.status == status)
+ else:
+ query = query.filter(DialogModel.status != Dialog_STATSU_DELETE)
id_list = []
if label:
id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id==label).all()]
@@ -27,9 +31,7 @@
if keyword:
query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))
- if status:
- # print(status)
- query = query.filter(DialogModel.status == status)
+
query = query.order_by(DialogModel.update_date.desc())
total = query.count()
if page_size:
--
Gitblit v1.8.0