diff --git a/packages/server/src/Interface.ts b/packages/server/src/Interface.ts index 126aac38..aa5852b2 100644 --- a/packages/server/src/Interface.ts +++ b/packages/server/src/Interface.ts @@ -6,6 +6,11 @@ export enum chatType { INTERNAL = 'INTERNAL', EXTERNAL = 'EXTERNAL' } + +export enum ChatMessageRatingType { + THUMBS_UP = 'THUMBS_UP', + THUMBS_DOWN = 'THUMBS_DOWN' +} /** * Databases */ @@ -38,6 +43,16 @@ export interface IChatMessage { createdDate: Date } +export interface IChatMessageFeedback { + id: string + content?: string + chatflowid: string + chatId: string + messageId: string + rating: ChatMessageRatingType + createdDate: Date +} + export interface ITool { id: string name: string diff --git a/packages/server/src/database/entities/ChatMessageFeedback.ts b/packages/server/src/database/entities/ChatMessageFeedback.ts new file mode 100644 index 00000000..4011972d --- /dev/null +++ b/packages/server/src/database/entities/ChatMessageFeedback.ts @@ -0,0 +1,28 @@ +/* eslint-disable */ +import { Entity, Column, CreateDateColumn, PrimaryGeneratedColumn, Index } from 'typeorm' +import { ChatMessageRatingType, IChatMessageFeedback } from '../../Interface' + +@Entity() +export class ChatMessageFeedback implements IChatMessageFeedback { + @PrimaryGeneratedColumn('uuid') + id: string + + @Index() + @Column() + chatflowid: string + + @Column({ type: 'text' }) + content?: string + + @Column() + chatId: string + + @Column() + messageId: string + + @Column() + rating: ChatMessageRatingType + + @CreateDateColumn() + createdDate: Date +} diff --git a/packages/server/src/database/entities/index.ts b/packages/server/src/database/entities/index.ts index af5c559f..6a0e2d22 100644 --- a/packages/server/src/database/entities/index.ts +++ b/packages/server/src/database/entities/index.ts @@ -1,5 +1,6 @@ import { ChatFlow } from './ChatFlow' import { ChatMessage } from './ChatMessage' +import { ChatMessageFeedback } from './ChatMessageFeedback' import { Credential } from './Credential' import { Tool } from './Tool' import { Assistant } from './Assistant' @@ -8,6 +9,7 @@ import { Variable } from './Variable' export const entities = { ChatFlow, ChatMessage, + ChatMessageFeedback, Credential, Tool, Assistant,