MCPcopy Create free account
hub / github.com/FlowiseAI/Flowise / importData

Function importData

packages/server/src/services/export-import/index.ts:622–803  ·  view source on GitHub ↗
(importData: ExportData, orgId: string, activeWorkspaceId: string, subscriptionId: string)

Source from the content-addressed store, hash-verified

620}
621
622const importData = async (importData: ExportData, orgId: string, activeWorkspaceId: string, subscriptionId: string) => {
623 // Initialize missing properties with empty arrays to avoid "undefined" errors
624 importData.AgentFlow = importData.AgentFlow || []
625 importData.AgentFlowV2 = importData.AgentFlowV2 || []
626 importData.AssistantCustom = importData.AssistantCustom || []
627 importData.AssistantFlow = importData.AssistantFlow || []
628 importData.AssistantOpenAI = importData.AssistantOpenAI || []
629 importData.AssistantAzure = importData.AssistantAzure || []
630 importData.ChatFlow = importData.ChatFlow || []
631 importData.ChatMessage = importData.ChatMessage || []
632 importData.ChatMessageFeedback = importData.ChatMessageFeedback || []
633 importData.CustomTemplate = importData.CustomTemplate || []
634 importData.DocumentStore = importData.DocumentStore || []
635 importData.DocumentStoreFileChunk = importData.DocumentStoreFileChunk || []
636 importData.Execution = importData.Execution || []
637 importData.Tool = importData.Tool || []
638 importData.Variable = importData.Variable || []
639
640 let queryRunner: QueryRunner
641 try {
642 queryRunner = getRunningExpressApp().AppDataSource.createQueryRunner()
643 await queryRunner.connect()
644
645 try {
646 if (importData.AgentFlow.length > 0) {
647 importData.AgentFlow = reduceSpaceForChatflowFlowData(importData.AgentFlow)
648 importData.AgentFlow = insertWorkspaceId(importData.AgentFlow, activeWorkspaceId)
649 const existingChatflowCount = await chatflowService.getAllChatflowsCountByOrganization('MULTIAGENT', orgId)
650 const newChatflowCount = importData.AgentFlow.length
651 await checkUsageLimit(
652 'flows',
653 subscriptionId,
654 getRunningExpressApp().usageCacheManager,
655 existingChatflowCount + newChatflowCount
656 )
657 importData = await replaceDuplicateIdsForChatFlow(queryRunner, importData, importData.AgentFlow)
658 }
659 if (importData.AgentFlowV2.length > 0) {
660 importData.AgentFlowV2 = reduceSpaceForChatflowFlowData(importData.AgentFlowV2)
661 importData.AgentFlowV2 = insertWorkspaceId(importData.AgentFlowV2, activeWorkspaceId)
662 const existingChatflowCount = await chatflowService.getAllChatflowsCountByOrganization('AGENTFLOW', orgId)
663 const newChatflowCount = importData.AgentFlowV2.length
664 await checkUsageLimit(
665 'flows',
666 subscriptionId,
667 getRunningExpressApp().usageCacheManager,
668 existingChatflowCount + newChatflowCount
669 )
670 importData = await replaceDuplicateIdsForChatFlow(queryRunner, importData, importData.AgentFlowV2)
671 }
672 if (importData.AssistantCustom.length > 0) {
673 importData.AssistantCustom = insertWorkspaceId(importData.AssistantCustom, activeWorkspaceId)
674 const existingAssistantCount = await assistantsService.getAssistantsCountByOrganization('CUSTOM', orgId)
675 const newAssistantCount = importData.AssistantCustom.length
676 await checkUsageLimit(
677 'flows',
678 subscriptionId,
679 getRunningExpressApp().usageCacheManager,

Callers

nothing calls this directly

Tested by

no test coverage detected