add analytic

This commit is contained in:
Henry
2023-09-11 23:44:20 +01:00
parent 0a5d453338
commit d19f72db6f
42 changed files with 742 additions and 82 deletions
+1
View File
@@ -14,6 +14,7 @@ export interface IChatFlow {
deployed?: boolean
isPublic?: boolean
apikeyid?: string
analytic?: string
chatbotConfig?: string
apiConfig?: any
}
+8 -5
View File
@@ -15,7 +15,7 @@ export class NodesPool {
*/
async initialize() {
await this.initializeNodes()
await this.initializeCrdentials()
await this.initializeCredentials()
}
/**
@@ -34,8 +34,6 @@ export class NodesPool {
const newNodeInstance = new nodeModule.nodeClass()
newNodeInstance.filePath = file
this.componentNodes[newNodeInstance.name] = newNodeInstance
// Replace file icon with absolute path
if (
newNodeInstance.icon &&
@@ -46,7 +44,7 @@ export class NodesPool {
const filePath = file.replace(/\\/g, '/').split('/')
filePath.pop()
const nodeIconAbsolutePath = `${filePath.join('/')}/${newNodeInstance.icon}`
this.componentNodes[newNodeInstance.name].icon = nodeIconAbsolutePath
newNodeInstance.icon = nodeIconAbsolutePath
// Store icon path for componentCredentials
if (newNodeInstance.credential) {
@@ -55,6 +53,11 @@ export class NodesPool {
}
}
}
const skipCategories = ['Analytic']
if (!skipCategories.includes(newNodeInstance.category)) {
this.componentNodes[newNodeInstance.name] = newNodeInstance
}
}
}
})
@@ -64,7 +67,7 @@ export class NodesPool {
/**
* Initialize credentials
*/
private async initializeCrdentials() {
private async initializeCredentials() {
const packagePath = getNodeModulesPackagePath('flowise-components')
const nodesPath = path.join(packagePath, 'dist', 'credentials')
const nodeFiles = await this.getFiles(nodesPath)
@@ -28,6 +28,9 @@ export class ChatFlow implements IChatFlow {
@Column({ nullable: true, type: 'text' })
apiConfig?: string
@Column({ nullable: true, type: 'text' })
analytic?: string
@CreateDateColumn()
createdDate: Date
@@ -0,0 +1,11 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class AddAnalytic1694432361423 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`chat_flow\` ADD COLUMN \`analytic\` TEXT;`)
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE \`chat_flow\` DROP COLUMN \`analytic\`;`)
}
}
@@ -4,6 +4,7 @@ import { ModifyChatMessage1693999022236 } from './1693999022236-ModifyChatMessag
import { ModifyCredential1693999261583 } from './1693999261583-ModifyCredential'
import { ModifyTool1694001465232 } from './1694001465232-ModifyTool'
import { AddApiConfig1694099200729 } from './1694099200729-AddApiConfig'
import { AddAnalytic1694432361423 } from './1694432361423-AddAnalytic'
export const mysqlMigrations = [
Init1693840429259,
@@ -11,5 +12,6 @@ export const mysqlMigrations = [
ModifyChatMessage1693999022236,
ModifyCredential1693999261583,
ModifyTool1694001465232,
AddApiConfig1694099200729
AddApiConfig1694099200729,
AddAnalytic1694432361423
]
@@ -0,0 +1,11 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class AddAnalytic1694432361423 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "chat_flow" ADD COLUMN "analytic" TEXT;`)
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "chat_flow" DROP COLUMN "analytic";`)
}
}
@@ -4,6 +4,7 @@ import { ModifyChatMessage1693996694528 } from './1693996694528-ModifyChatMessag
import { ModifyCredential1693997070000 } from './1693997070000-ModifyCredential'
import { ModifyTool1693997339912 } from './1693997339912-ModifyTool'
import { AddApiConfig1694099183389 } from './1694099183389-AddApiConfig'
import { AddAnalytic1694432361423 } from './1694432361423-AddAnalytic'
export const postgresMigrations = [
Init1693891895163,
@@ -11,5 +12,6 @@ export const postgresMigrations = [
ModifyChatMessage1693996694528,
ModifyCredential1693997070000,
ModifyTool1693997339912,
AddApiConfig1694099183389
AddApiConfig1694099183389,
AddAnalytic1694432361423
]
@@ -0,0 +1,11 @@
import { MigrationInterface, QueryRunner } from 'typeorm'
export class AddAnalytic1694432361423 implements MigrationInterface {
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "chat_flow" ADD COLUMN "analytic" TEXT;`)
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`ALTER TABLE "chat_flow" DROP COLUMN "analytic";`)
}
}
@@ -4,6 +4,7 @@ import { ModifyChatMessage1693921865247 } from './1693921865247-ModifyChatMessag
import { ModifyCredential1693923551694 } from './1693923551694-ModifyCredential'
import { ModifyTool1693924207475 } from './1693924207475-ModifyTool'
import { AddApiConfig1694090982460 } from './1694090982460-AddApiConfig'
import { AddAnalytic1694432361423 } from './1694432361423-AddAnalytic'
export const sqliteMigrations = [
Init1693835579790,
@@ -11,5 +12,6 @@ export const sqliteMigrations = [
ModifyChatMessage1693921865247,
ModifyCredential1693923551694,
ModifyTool1693924207475,
AddApiConfig1694090982460
AddApiConfig1694090982460,
AddAnalytic1694432361423
]
+4 -2
View File
@@ -980,13 +980,15 @@ export class App {
socketIOClientId: incomingInput.socketIOClientId,
logger,
appDataSource: this.AppDataSource,
databaseEntities
databaseEntities,
analytic: chatflow.analytic
})
: await nodeInstance.run(nodeToExecuteData, incomingInput.question, {
chatHistory: incomingInput.history,
logger,
appDataSource: this.AppDataSource,
databaseEntities
databaseEntities,
analytic: chatflow.analytic
})
logger.debug(`[server]: Finished running ${nodeToExecuteData.label} (${nodeToExecuteData.id})`)
+11 -8
View File
@@ -448,9 +448,10 @@ export const replaceInputsWithConfig = (flowNodeData: INodeData, overrideConfig:
// If overrideConfig[key] is object
if (overrideConfig[config] && typeof overrideConfig[config] === 'object') {
const nodeIds = Object.keys(overrideConfig[config])
if (!nodeIds.includes(flowNodeData.id)) continue
else paramsObj[config] = overrideConfig[config][flowNodeData.id]
continue
if (nodeIds.includes(flowNodeData.id)) {
paramsObj[config] = overrideConfig[config][flowNodeData.id]
continue
}
}
let paramValue = overrideConfig[config] ?? paramsObj[config]
@@ -877,12 +878,14 @@ export const decryptCredentialData = async (
* @returns {Credential}
*/
export const transformToCredentialEntity = async (body: ICredentialReqBody): Promise<Credential> => {
const encryptedData = await encryptCredentialData(body.plainDataObj)
const credentialBody = {
const credentialBody: ICommonObject = {
name: body.name,
credentialName: body.credentialName,
encryptedData
credentialName: body.credentialName
}
if (body.plainDataObj) {
const encryptedData = await encryptCredentialData(body.plainDataObj)
credentialBody.encryptedData = encryptedData
}
const newCredential = new Credential()