chore: update create usage data

This commit is contained in:
steven
2023-04-24 18:57:50 +08:00
parent 75b0000556
commit f0965e6b73
2 changed files with 33 additions and 16 deletions

View File

@ -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);

View File

@ -12,23 +12,40 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
const conversation = req.body.conversation as Conversation;
const messages = req.body.messages as Message[];
try {
await prisma.chat.create({
data: {
const chat = await prisma.chat.findUnique({
where: {
id: conversation.id,
createdAt: new Date(conversation.createdAt),
ctx: {},
messages: {
create: messages.map((message) => ({
id: message.id,
createdAt: new Date(message.createdAt),
role: message.creatorRole,
content: message.content,
upvote: true,
downvote: false,
})),
},
},
});
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,
createdAt: new Date(conversation.createdAt),
ctx: {},
messages: {
create: messages.map((message) => ({
createdAt: new Date(message.createdAt),
role: message.creatorRole,
content: message.content,
upvote: true,
downvote: false,
})),
},
},
});
}
} catch (err) {
console.error(err);
}