titles conversations based on first two messages

This commit is contained in:
Danny Avila 2023-02-06 14:57:47 -05:00
parent 511c8c9599
commit 4e6b6be15c
6 changed files with 132 additions and 13 deletions

View file

@ -11,6 +11,10 @@ const convoSchema = mongoose.Schema({
type: String,
required: true
},
title: {
type: String,
default: 'New conversation',
},
messages: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Message' }],
created: {
type: Date,
@ -22,12 +26,16 @@ const Conversation =
mongoose.models.Conversation || mongoose.model('Conversation', convoSchema);
module.exports = {
saveConversation: async ({ conversationId, parentMessageId }) => {
saveConversation: async ({ conversationId, parentMessageId, title }) => {
const messages = await Message.find({ conversationId });
const update = { parentMessageId, messages };
if (title) {
update.title = title;
}
await Conversation.findOneAndUpdate(
{ conversationId },
{ $set: { parentMessageId, messages } },
{ $set: update },
{ new: true, upsert: true }
).exec();
}