From 19e14c47988d3ee1a71ef289f5c2944cec4de2cc Mon Sep 17 00:00:00 2001 From: Henry Heng Date: Sun, 7 Apr 2024 12:01:57 +0100 Subject: [PATCH] Bugfix/Undefined Flowdata (#2116) add fix for undefined flowdata --- packages/server/src/controllers/chatflows/index.ts | 3 +++ packages/server/src/services/chatflows/index.ts | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) 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) {