From ae6979151f5c2dc4bfaf43e9a15c6a6475c46641 Mon Sep 17 00:00:00 2001 From: "devin-ai-integration[bot]" <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 12:44:00 +0800 Subject: [PATCH] Fix #1391: Update bot's pipeline name when pipeline is renamed (#1397) * Fix #1391: Update bot's pipeline name when pipeline is renamed Co-Authored-By: Junyan Qin * Refactor: Use bot_service to update bot pipeline names Co-Authored-By: Junyan Qin --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Junyan Qin --- pkg/api/http/service/pipeline.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pkg/api/http/service/pipeline.py b/pkg/api/http/service/pipeline.py index ee648db0..40b0a674 100644 --- a/pkg/api/http/service/pipeline.py +++ b/pkg/api/http/service/pipeline.py @@ -94,10 +94,24 @@ class PipelineService: .values(**pipeline_data) ) - await self.ap.pipeline_mgr.remove_pipeline(pipeline_uuid) - pipeline = await self.get_pipeline(pipeline_uuid) + if 'name' in pipeline_data: + from ....entity.persistence import bot as persistence_bot + + result = await self.ap.persistence_mgr.execute_async( + sqlalchemy.select(persistence_bot.Bot).where( + persistence_bot.Bot.use_pipeline_uuid == pipeline_uuid + ) + ) + + bots = result.all() + + for bot in bots: + bot_data = {'use_pipeline_name': pipeline_data['name']} + await self.ap.bot_service.update_bot(bot.uuid, bot_data) + + await self.ap.pipeline_mgr.remove_pipeline(pipeline_uuid) await self.ap.pipeline_mgr.load_pipeline(pipeline) async def delete_pipeline(self, pipeline_uuid: str) -> None: