mirror of
https://github.com/sqlchat/sqlchat.git
synced 2025-09-26 01:23:18 +08:00
chore: update create usage data
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
import axios from "axios";
|
||||
import { head, last } from "lodash-es";
|
||||
import { first, head, last } from "lodash-es";
|
||||
import { useEffect, useRef, useState } from "react";
|
||||
import { toast } from "react-hot-toast";
|
||||
import {
|
||||
@ -162,7 +162,7 @@ const ConversationView = () => {
|
||||
}
|
||||
usageMessageList.unshift({
|
||||
id: generateUUID(),
|
||||
createdAt: Date.now(),
|
||||
createdAt: first(usageMessageList)?.createdAt || Date.now(),
|
||||
creatorRole: CreatorRole.System,
|
||||
content: prompt,
|
||||
} as Message);
|
||||
|
@ -12,6 +12,23 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
||||
const conversation = req.body.conversation as Conversation;
|
||||
const messages = req.body.messages as Message[];
|
||||
try {
|
||||
const chat = await prisma.chat.findUnique({
|
||||
where: {
|
||||
id: conversation.id,
|
||||
},
|
||||
});
|
||||
if (chat) {
|
||||
await prisma.message.createMany({
|
||||
data: messages.map((message) => ({
|
||||
chatId: chat.id,
|
||||
createdAt: new Date(message.createdAt),
|
||||
role: message.creatorRole,
|
||||
content: message.content,
|
||||
upvote: true,
|
||||
downvote: false,
|
||||
})),
|
||||
});
|
||||
} else {
|
||||
await prisma.chat.create({
|
||||
data: {
|
||||
id: conversation.id,
|
||||
@ -19,7 +36,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
||||
ctx: {},
|
||||
messages: {
|
||||
create: messages.map((message) => ({
|
||||
id: message.id,
|
||||
createdAt: new Date(message.createdAt),
|
||||
role: message.creatorRole,
|
||||
content: message.content,
|
||||
@ -29,6 +45,7 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
|
Reference in New Issue
Block a user