MCPcopy Index your code
hub / github.com/sqlchat/sqlchat / handler

Function handler

src/pages/api/collect.ts:9–59  ·  view source on GitHub ↗
(req: NextApiRequest, res: NextApiResponse)

Source from the content-addressed store, hash-verified

7const prisma = new PrismaClient();
8
9export default async function handler(req: NextApiRequest, res: NextApiResponse) {
10 if (req.method !== "POST") {
11 return res.status(405).json([]);
12 }
13 const conversation = req.body.conversation as Conversation;
14 const messages = req.body.messages as Message[];
15 try {
16 const chat = await prisma.chat.findUnique({
17 where: {
18 id: conversation.id,
19 },
20 });
21 const endUser = await getEndUser(req, res);
22 if (chat) {
23 await prisma.message.createMany({
24 data: messages.map((message) => ({
25 chatId: chat.id,
26 createdAt: new Date(message.createdAt),
27 endUser: endUser,
28 role: message.creatorRole,
29 content: message.content,
30 upvote: false,
31 downvote: false,
32 })),
33 });
34 } else {
35 await prisma.chat.create({
36 data: {
37 id: conversation.id,
38 createdAt: new Date(conversation.createdAt),
39 model: getModel((req.headers["x-openai-model"] as string) || ""),
40 ctx: {},
41 messages: {
42 create: messages.map((message) => ({
43 createdAt: new Date(message.createdAt),
44 endUser: endUser,
45 role: message.creatorRole,
46 content: message.content,
47 upvote: false,
48 downvote: false,
49 })),
50 },
51 },
52 });
53 }
54 } catch (err) {
55 console.error(err);
56 }
57
58 res.status(200).json(true);
59}

Callers

nothing calls this directly

Calls 2

getEndUserFunction · 0.90
getModelFunction · 0.90

Tested by

no test coverage detected