mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-06-29 15:31:05 +08:00
Fix that agent cannot be the same name (#16192)
Fix that agent cannot be the same name
This commit is contained in:
@@ -715,12 +715,10 @@ async def create_agent(tenant_id):
|
||||
)
|
||||
|
||||
req["title"] = req["title"].strip()
|
||||
if UserCanvasService.query(
|
||||
user_id=tenant_id,
|
||||
title=req["title"],
|
||||
canvas_category=req["canvas_category"],
|
||||
):
|
||||
return get_data_error_result(message=f"{req['title']} already exists.")
|
||||
for canvas in UserCanvasService.query(user_id=tenant_id, canvas_category=req["canvas_category"]):
|
||||
canvas_title = getattr(canvas, "title", req["title"])
|
||||
if canvas_title and canvas_title.lower() == req["title"].lower():
|
||||
return get_data_error_result(message=f"{req['title']} already exists.")
|
||||
|
||||
req["id"] = get_uuid()
|
||||
if not UserCanvasService.save(**req):
|
||||
@@ -956,10 +954,15 @@ async def update_agent(agent_id, tenant_id):
|
||||
code=RetCode.ARGUMENT_ERROR,
|
||||
)
|
||||
|
||||
_, current_agent = UserCanvasService.get_by_id(agent_id)
|
||||
if req.get("title") is not None:
|
||||
req["title"] = req["title"].strip()
|
||||
canvas_category_for_duplicate_check = req.get("canvas_category") or (current_agent.canvas_category if current_agent else CanvasCategory.Agent)
|
||||
for canvas in UserCanvasService.query(user_id=tenant_id, canvas_category=canvas_category_for_duplicate_check):
|
||||
canvas_title = getattr(canvas, "title", "")
|
||||
if getattr(canvas, "id", None) != agent_id and canvas_title and canvas_title.lower() == req["title"].lower():
|
||||
return get_data_error_result(message=f"{req['title']} already exists.")
|
||||
|
||||
_, current_agent = UserCanvasService.get_by_id(agent_id)
|
||||
agent_title_for_version = req.get("title") or (current_agent.title if current_agent else "")
|
||||
canvas_category = (
|
||||
req.get("canvas_category")
|
||||
|
||||
Reference in New Issue
Block a user