import 'reflect-metadata' import path from 'path' import { DataSource } from 'typeorm' import { ChatFlow } from './entity/ChatFlow' import { ChatMessage } from './entity/ChatMessage' import { getUserHome } from './utils' let appDataSource: DataSource export const init = async (): Promise => { const homePath = path.join(getUserHome(), '.flowise') appDataSource = new DataSource({ type: 'sqlite', database: path.resolve(homePath, 'database.sqlite'), synchronize: true, entities: [ChatFlow, ChatMessage], migrations: [] }) } export function getDataSource(): DataSource { if (appDataSource === undefined) { init() } return appDataSource }