Files
Flowise/packages/server/src/database/entities/ChatMessage.ts
T
Ilango db452cd74d Feature: Collect contact information from users inside the chatbot (#1948)
* Add leads settings to chatflow configuration

* Add leads tab to chatflow configuration with options for lead capture

* Add database entity and migrations for leads

* Add endpoint for adding and fetching leads

* Show lead capture form in UI chat window when enabled

* Add view leads dialog

* Make export leads functional

* Add input for configuring message on successful lead capture

* Add migrations for adding lead email in chat message if available

* show lead email in view messages

* ui touch up

* Remove unused code and update how lead email is shown in view messages dialog

* Fix lead not getting saved

* Disable input when lead form is shown and save lead info to localstorage

* Fix lead capture form not working

* disabled lead save button until at least one form field is turned on, get rid of local storage _LEAD

* add leads API to as whitelist public endpoint

* Send leadEmail in internal chat inputs

* Fix condition for disabling input field and related buttons when lead is enabled/disabled and when lead is saved

* update leads ui

* update error message and alter table add column sqlite migration

---------

Co-authored-by: Henry <hzj94@hotmail.com>
2024-05-02 01:54:59 +01:00

51 lines
1.1 KiB
TypeScript

/* eslint-disable */
import { Entity, Column, CreateDateColumn, PrimaryGeneratedColumn, Index } from 'typeorm'
import { IChatMessage, MessageType } from '../../Interface'
@Entity()
export class ChatMessage implements IChatMessage {
@PrimaryGeneratedColumn('uuid')
id: string
@Column()
role: MessageType
@Index()
@Column({ type: 'uuid' })
chatflowid: string
@Column({ type: 'text' })
content: string
@Column({ nullable: true, type: 'text' })
sourceDocuments?: string
@Column({ nullable: true, type: 'text' })
usedTools?: string
@Column({ nullable: true, type: 'text' })
fileAnnotations?: string
@Column({ nullable: true, type: 'text' })
fileUploads?: string
@Column()
chatType: string
@Column({ type: 'varchar' })
chatId: string
@Column({ nullable: true })
memoryType?: string
@Column({ type: 'varchar', nullable: true })
sessionId?: string
@Column({ type: 'timestamp' })
@CreateDateColumn()
createdDate: Date
@Column({ nullable: true, type: 'text' })
leadEmail?: string
}