@@ -5,7 +5,8 @@ import { DataSource, EntityManager, Repository } from '@n8n/typeorm';
55
66import { ChatHubMessage } from './chat-hub-message.entity' ;
77import { ChatHubSessionRepository } from './chat-session.repository' ;
8- import type { IBinaryData } from 'n8n-workflow' ;
8+ import { UnexpectedError , type IBinaryData } from 'n8n-workflow' ;
9+ import { QueryDeepPartialEntity } from '@n8n/typeorm/query-builder/QueryPartialEntity' ;
910
1011@Service ( )
1112export class ChatHubMessageRepository extends Repository < ChatHubMessage > {
@@ -16,14 +17,19 @@ export class ChatHubMessageRepository extends Repository<ChatHubMessage> {
1617 super ( ChatHubMessage , dataSource . manager ) ;
1718 }
1819
19- async createChatMessage ( message : Partial < ChatHubMessage > , trx ?: EntityManager ) {
20+ async createChatMessage ( message : QueryDeepPartialEntity < ChatHubMessage > , trx ?: EntityManager ) {
21+ const messageId = message . id ;
22+ if ( typeof messageId === 'function' ) {
23+ throw new UnexpectedError ( 'Message ID is required and must be a string value' ) ;
24+ }
25+
2026 return await withTransaction (
2127 this . manager ,
2228 trx ,
2329 async ( em ) => {
2430 await em . insert ( ChatHubMessage , message ) ;
2531 const saved = await em . findOneOrFail ( ChatHubMessage , {
26- where : { id : message . id } ,
32+ where : { id : messageId } ,
2733 } ) ;
2834 await this . chatSessionRepository . updateLastMessageAt ( saved . sessionId , saved . createdAt , em ) ;
2935 return saved ;
0 commit comments