(
appDataSource: DataSource,
componentNodes: IComponentNodes,
telemetry: Telemetry,
storeId: string,
data: IDocumentStoreUpsertData,
files: Express.Multer.File[] = [],
isRefreshExisting = false,
orgId: string,
workspaceId: string,
subscriptionId: string,
usageCacheManager: UsageCacheManager
)
| 1687 | } |
| 1688 | |
| 1689 | const upsertDocStore = async ( |
| 1690 | appDataSource: DataSource, |
| 1691 | componentNodes: IComponentNodes, |
| 1692 | telemetry: Telemetry, |
| 1693 | storeId: string, |
| 1694 | data: IDocumentStoreUpsertData, |
| 1695 | files: Express.Multer.File[] = [], |
| 1696 | isRefreshExisting = false, |
| 1697 | orgId: string, |
| 1698 | workspaceId: string, |
| 1699 | subscriptionId: string, |
| 1700 | usageCacheManager: UsageCacheManager |
| 1701 | ) => { |
| 1702 | const docId = data.docId |
| 1703 | let metadata = {} |
| 1704 | if (data.metadata) { |
| 1705 | try { |
| 1706 | metadata = typeof data.metadata === 'string' ? JSON.parse(data.metadata) : data.metadata |
| 1707 | } catch (error) { |
| 1708 | throw new InternalFlowiseError(StatusCodes.BAD_REQUEST, `Error: Invalid metadata`) |
| 1709 | } |
| 1710 | } |
| 1711 | const replaceExisting = |
| 1712 | typeof data.replaceExisting === 'string' ? (data.replaceExisting as string).toLowerCase() === 'true' : data.replaceExisting ?? false |
| 1713 | const createNewDocStore = |
| 1714 | typeof data.createNewDocStore === 'string' |
| 1715 | ? (data.createNewDocStore as string).toLowerCase() === 'true' |
| 1716 | : data.createNewDocStore ?? false |
| 1717 | const newLoader = typeof data.loader === 'string' ? JSON.parse(data.loader) : data.loader |
| 1718 | const newSplitter = typeof data.splitter === 'string' ? JSON.parse(data.splitter) : data.splitter |
| 1719 | const newVectorStore = typeof data.vectorStore === 'string' ? JSON.parse(data.vectorStore) : data.vectorStore |
| 1720 | const newEmbedding = typeof data.embedding === 'string' ? JSON.parse(data.embedding) : data.embedding |
| 1721 | const newRecordManager = typeof data.recordManager === 'string' ? JSON.parse(data.recordManager) : data.recordManager |
| 1722 | |
| 1723 | const getComponentLabelFromName = (nodeName: string) => { |
| 1724 | const component = Object.values(componentNodes).find((node) => node.name === nodeName) |
| 1725 | return component?.label || '' |
| 1726 | } |
| 1727 | |
| 1728 | let loaderName = '' |
| 1729 | let loaderId = '' |
| 1730 | let loaderConfig: ICommonObject = {} |
| 1731 | |
| 1732 | let splitterName = '' |
| 1733 | let splitterId = '' |
| 1734 | let splitterConfig: ICommonObject = {} |
| 1735 | |
| 1736 | let vectorStoreName = '' |
| 1737 | let vectorStoreConfig: ICommonObject = {} |
| 1738 | |
| 1739 | let embeddingName = '' |
| 1740 | let embeddingConfig: ICommonObject = {} |
| 1741 | |
| 1742 | let recordManagerName = '' |
| 1743 | let recordManagerConfig: ICommonObject = {} |
| 1744 | |
| 1745 | // Step 1: Get existing loader |
| 1746 | if (docId) { |
no test coverage detected