mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-28 15:00:57 +03:00
Chore/refractor (#4454)
* markdown files and env examples cleanup * components update * update jsonlines description * server refractor * update telemetry * add execute custom node * add ui refractor * add username and password authenticate * correctly retrieve past images in agentflowv2 * disable e2e temporarily * add existing username and password authenticate * update migration to default workspace * update todo * blob storage migrating * throw error on agent tool call error * add missing execution import * add referral * chore: add error message when importData is undefined * migrate api keys to db * fix: data too long for column executionData * migrate api keys from json to db at init * add info on account setup * update docstore missing fields --------- Co-authored-by: chungyau97 <chungyau97@gmail.com>
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { ChatFlow } from '../database/entities/ChatFlow'
|
||||
import { IReactFlowObject } from '../Interface'
|
||||
import { addBase64FilesToStorage } from 'flowise-components'
|
||||
import { checkStorage, updateStorageUsage } from './quotaUsage'
|
||||
import { UsageCacheManager } from '../UsageCacheManager'
|
||||
|
||||
export const containsBase64File = (chatflow: ChatFlow) => {
|
||||
const parsedFlowData: IReactFlowObject = JSON.parse(chatflow.flowData)
|
||||
@@ -46,11 +48,19 @@ export const containsBase64File = (chatflow: ChatFlow) => {
|
||||
return found
|
||||
}
|
||||
|
||||
export const updateFlowDataWithFilePaths = async (chatflowid: string, flowData: string) => {
|
||||
export const updateFlowDataWithFilePaths = async (
|
||||
chatflowid: string,
|
||||
flowData: string,
|
||||
orgId: string,
|
||||
workspaceId: string,
|
||||
subscriptionId: string,
|
||||
usageCacheManager: UsageCacheManager
|
||||
) => {
|
||||
try {
|
||||
const parsedFlowData: IReactFlowObject = JSON.parse(flowData)
|
||||
const re = new RegExp('^data.*;base64', 'i')
|
||||
const nodes = parsedFlowData.nodes
|
||||
|
||||
for (let j = 0; j < nodes.length; j++) {
|
||||
const node = nodes[j]
|
||||
if (node.data.category !== 'Document Loaders') {
|
||||
@@ -75,21 +85,26 @@ export const updateFlowDataWithFilePaths = async (chatflowid: string, flowData:
|
||||
for (let j = 0; j < files.length; j++) {
|
||||
const file = files[j]
|
||||
if (re.test(file)) {
|
||||
node.data.inputs[key] = await addBase64FilesToStorage(file, chatflowid, fileNames)
|
||||
await checkStorage(orgId, subscriptionId, usageCacheManager)
|
||||
const { path, totalSize } = await addBase64FilesToStorage(file, chatflowid, fileNames, orgId)
|
||||
node.data.inputs[key] = path
|
||||
await updateStorageUsage(orgId, workspaceId, totalSize, usageCacheManager)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
continue
|
||||
}
|
||||
} else if (re.test(input)) {
|
||||
node.data.inputs[key] = await addBase64FilesToStorage(input, chatflowid, fileNames)
|
||||
await checkStorage(orgId, subscriptionId, usageCacheManager)
|
||||
const { path, totalSize } = await addBase64FilesToStorage(input, chatflowid, fileNames, orgId)
|
||||
node.data.inputs[key] = path
|
||||
await updateStorageUsage(orgId, workspaceId, totalSize, usageCacheManager)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return JSON.stringify(parsedFlowData)
|
||||
} catch (e) {
|
||||
return ''
|
||||
} catch (e: any) {
|
||||
throw new Error(`Error updating flow data with file paths: ${e.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user