Skip to content

Commit 04f8779

Browse files
chungyau97JJK801
authored andcommitted
feature/export-import-3 (FlowiseAI#4234)
* fix: add ASSISTANT chatflow * feat: add mvp export import for chatMessage, chatFeedback, customTemplate, documentStore * feat: add function to handle duplicate ids during import * chore: typo 'orginalData' to 'originalData' * feat: add import conditions for chatMessage and chatMessageFeedback * feat: reduce spacing before saving chatflows
1 parent 2aeef50 commit 04f8779

File tree

5 files changed

+458
-68
lines changed

5 files changed

+458
-68
lines changed

packages/server/src/services/chat-messages/index.ts

+20-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
import { DeleteResult, FindOptionsWhere } from 'typeorm'
1+
import { removeFilesFromStorage } from 'flowise-components'
22
import { StatusCodes } from 'http-status-codes'
3+
import { DeleteResult, FindOptionsWhere } from 'typeorm'
4+
import { ChatMessage } from '../../database/entities/ChatMessage'
5+
import { ChatMessageFeedback } from '../../database/entities/ChatMessageFeedback'
6+
import { InternalFlowiseError } from '../../errors/internalFlowiseError'
7+
import { getErrorMessage } from '../../errors/utils'
38
import { ChatMessageRatingType, ChatType, IChatMessage, MODE } from '../../Interface'
4-
import { utilGetChatMessage } from '../../utils/getChatMessage'
59
import { utilAddChatMessage } from '../../utils/addChatMesage'
10+
import { utilGetChatMessage } from '../../utils/getChatMessage'
611
import { getRunningExpressApp } from '../../utils/getRunningExpressApp'
7-
import { ChatMessageFeedback } from '../../database/entities/ChatMessageFeedback'
8-
import { removeFilesFromStorage } from 'flowise-components'
912
import logger from '../../utils/logger'
10-
import { ChatMessage } from '../../database/entities/ChatMessage'
11-
import { InternalFlowiseError } from '../../errors/internalFlowiseError'
12-
import { getErrorMessage } from '../../errors/utils'
1313

1414
// Add chatmessages for chatflowid
1515
const createChatMessage = async (chatMessage: Partial<IChatMessage>) => {
@@ -178,11 +178,23 @@ const abortChatMessage = async (chatId: string, chatflowid: string) => {
178178
}
179179
}
180180

181+
async function getAllMessages(): Promise<ChatMessage[]> {
182+
const appServer = getRunningExpressApp()
183+
return await appServer.AppDataSource.getRepository(ChatMessage).find()
184+
}
185+
186+
async function getAllMessagesFeedback(): Promise<ChatMessageFeedback[]> {
187+
const appServer = getRunningExpressApp()
188+
return await appServer.AppDataSource.getRepository(ChatMessageFeedback).find()
189+
}
190+
181191
export default {
182192
createChatMessage,
183193
getAllChatMessages,
184194
getAllInternalChatMessages,
185195
removeAllChatMessages,
186196
removeChatMessagesByMessageIds,
187-
abortChatMessage
197+
abortChatMessage,
198+
getAllMessages,
199+
getAllMessagesFeedback
188200
}

packages/server/src/services/chatflows/index.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { ICommonObject, removeFolderFromStorage } from 'flowise-components'
22
import { StatusCodes } from 'http-status-codes'
3+
import { QueryRunner } from 'typeorm'
34
import { ChatflowType, IReactFlowObject } from '../../Interface'
5+
import { FLOWISE_COUNTER_STATUS, FLOWISE_METRIC_COUNTERS } from '../../Interface.Metrics'
46
import { ChatFlow } from '../../database/entities/ChatFlow'
57
import { ChatMessage } from '../../database/entities/ChatMessage'
68
import { ChatMessageFeedback } from '../../database/entities/ChatMessageFeedback'
@@ -13,8 +15,6 @@ import { containsBase64File, updateFlowDataWithFilePaths } from '../../utils/fil
1315
import { getRunningExpressApp } from '../../utils/getRunningExpressApp'
1416
import { utilGetUploadsConfig } from '../../utils/getUploadsConfig'
1517
import logger from '../../utils/logger'
16-
import { FLOWISE_METRIC_COUNTERS, FLOWISE_COUNTER_STATUS } from '../../Interface.Metrics'
17-
import { QueryRunner } from 'typeorm'
1818

1919
// Check if chatflow valid for streaming
2020
const checkIfChatflowIsValidForStreaming = async (chatflowId: string): Promise<any> => {
@@ -120,6 +120,8 @@ const getAllChatflows = async (type?: ChatflowType): Promise<ChatFlow[]> => {
120120
const dbResponse = await appServer.AppDataSource.getRepository(ChatFlow).find()
121121
if (type === 'MULTIAGENT') {
122122
return dbResponse.filter((chatflow) => chatflow.type === 'MULTIAGENT')
123+
} else if (type === 'ASSISTANT') {
124+
return dbResponse.filter((chatflow) => chatflow.type === 'ASSISTANT')
123125
} else if (type === 'CHATFLOW') {
124126
// fetch all chatflows that are not agentflow
125127
return dbResponse.filter((chatflow) => chatflow.type === 'CHATFLOW' || !chatflow.type)

0 commit comments

Comments
 (0)