-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchat.js
More file actions
43 lines (41 loc) · 1.13 KB
/
Copy pathchat.js
File metadata and controls
43 lines (41 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
const Query = require("../models/Query");
const { createCompletionChatGTP } = require("../chatGTP");
const { v4: uuid } = require("uuid");
exports.chat = async (req, res) => {
try {
const tempId = uuid();
await Query.updateOne(
{ _id: req.queryId },
{ $push: { texts: { message: req.body.message, textBy: 1 } } }
);
const { data } = await createCompletionChatGTP({
message: req.body.message,
});
await Query.updateOne(
{ _id: req.queryId },
{
$push: {
texts: { message: data.choices[0]?.text, textBy: 0 },
},
}
);
res.send({
message: data.choices[0]?.text,
_id: data.choices[0] ? tempId : undefined,
});
} catch (err) {
res.status(400).send({ success: false, message: err.message });
}
};
exports.getAllChats = async (req, res) => {
try {
const query = await Query.findOne({ _id: req.queryId });
if (!query)
return res
.status(400)
.send({ success: false, message: "Query doesn't exist" });
res.send(query);
} catch (err) {
res.status(400).send({ success: false, message: err.message });
}
};