Skip to content

Commit 6a36905

Browse files
authored
ci: Fix excessively deep type instantiation in ChatHubMessageRepository (#22240)
1 parent 17ea0dd commit 6a36905

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

packages/cli/src/modules/chat-hub/chat-message.repository.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import { DataSource, EntityManager, Repository } from '@n8n/typeorm';
55

66
import { ChatHubMessage } from './chat-hub-message.entity';
77
import { 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()
1112
export 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

Comments
 (0)