diff --git a/packages/server/src/controllers/chatflows/index.ts b/packages/server/src/controllers/chatflows/index.ts index b3c6bd50..54f138e2 100644 --- a/packages/server/src/controllers/chatflows/index.ts +++ b/packages/server/src/controllers/chatflows/index.ts @@ -114,11 +114,14 @@ const updateChatflow = async (req: Request, res: Response, next: NextFunction) = if (!chatflow) { return res.status(404).send(`Chatflow ${req.params.id} not found`) } + const body = req.body const updateChatFlow = new ChatFlow() Object.assign(updateChatFlow, body) + updateChatFlow.id = chatflow.id createRateLimiter(updateChatFlow) + const apiResponse = await chatflowsService.updateChatflow(chatflow, updateChatFlow) return res.json(apiResponse) } catch (error) { diff --git a/packages/server/src/services/chatflows/index.ts b/packages/server/src/services/chatflows/index.ts index 78483ff2..2bf71c94 100644 --- a/packages/server/src/services/chatflows/index.ts +++ b/packages/server/src/services/chatflows/index.ts @@ -217,11 +217,12 @@ const saveChatflow = async (newChatFlow: ChatFlow): Promise => { const updateChatflow = async (chatflow: ChatFlow, updateChatFlow: ChatFlow): Promise => { try { const appServer = getRunningExpressApp() - if (containsBase64File(updateChatFlow)) { + if (updateChatFlow.flowData && containsBase64File(updateChatFlow)) { updateChatFlow.flowData = updateFlowDataWithFilePaths(chatflow.id, updateChatFlow.flowData) } - const newDbChatflow = await appServer.AppDataSource.getRepository(ChatFlow).merge(chatflow, updateChatFlow) + const newDbChatflow = appServer.AppDataSource.getRepository(ChatFlow).merge(chatflow, updateChatFlow) const dbResponse = await appServer.AppDataSource.getRepository(ChatFlow).save(newDbChatflow) + // chatFlowPool is initialized only when a flow is opened // if the user attempts to rename/update category without opening any flow, chatFlowPool will be undefined if (appServer.chatflowPool) {