mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-09-13 13:01:33 +00:00
feat(upload): save files uploaded after chat created
This commit is contained in:
@@ -1,11 +1,7 @@
|
|||||||
import prompts from '@/lib/prompts';
|
|
||||||
import MetaSearchAgent from '@/lib/search/metaSearchAgent';
|
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages';
|
import { AIMessage, BaseMessage, HumanMessage } from '@langchain/core/messages';
|
||||||
import { EventEmitter } from 'stream';
|
import { EventEmitter } from 'stream';
|
||||||
import {
|
import {
|
||||||
chatModelProviders,
|
|
||||||
embeddingModelProviders,
|
|
||||||
getAvailableChatModelProviders,
|
getAvailableChatModelProviders,
|
||||||
getAvailableEmbeddingModelProviders,
|
getAvailableEmbeddingModelProviders,
|
||||||
} from '@/lib/providers';
|
} from '@/lib/providers';
|
||||||
@@ -138,6 +134,8 @@ const handleHistorySave = async (
|
|||||||
where: eq(chats.id, message.chatId),
|
where: eq(chats.id, message.chatId),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const fileData = files.map(getFileDetails);
|
||||||
|
|
||||||
if (!chat) {
|
if (!chat) {
|
||||||
await db
|
await db
|
||||||
.insert(chats)
|
.insert(chats)
|
||||||
@@ -146,9 +144,16 @@ const handleHistorySave = async (
|
|||||||
title: message.content,
|
title: message.content,
|
||||||
createdAt: new Date().toString(),
|
createdAt: new Date().toString(),
|
||||||
focusMode: focusMode,
|
focusMode: focusMode,
|
||||||
files: files.map(getFileDetails),
|
files: fileData,
|
||||||
})
|
})
|
||||||
.execute();
|
.execute();
|
||||||
|
} else if (JSON.stringify(chat.files ?? []) != JSON.stringify(fileData)) {
|
||||||
|
db
|
||||||
|
.update(chats)
|
||||||
|
.set({
|
||||||
|
files: files.map(getFileDetails),
|
||||||
|
})
|
||||||
|
.where(eq(chats.id, message.chatId));
|
||||||
}
|
}
|
||||||
|
|
||||||
const messageExists = await db.query.messages.findFirst({
|
const messageExists = await db.query.messages.findFirst({
|
||||||
|
Reference in New Issue
Block a user