mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 08:50:15 +01:00
feat: support resubmit.
TODO: basic implementation. should add multi-path record in future. feat: add deleteMessahesSince feat: saveMessage will do createOrSave feat: reorginazed submission
This commit is contained in:
parent
b9975ac283
commit
bdfc895800
10 changed files with 189 additions and 67 deletions
|
|
@ -42,21 +42,32 @@ const messageSchema = mongoose.Schema({
|
|||
const Message = mongoose.models.Message || mongoose.model('Message', messageSchema);
|
||||
|
||||
module.exports = {
|
||||
saveMessage: async ({ id, conversationId, parentMessageId, sender, text }) => {
|
||||
saveMessage: async ({ id, conversationId, parentMessageId, sender, text, isCreatedByUser=false }) => {
|
||||
try {
|
||||
await Message.create({
|
||||
id,
|
||||
await Message.findOneAndUpdate({ id }, {
|
||||
conversationId,
|
||||
parentMessageId,
|
||||
sender,
|
||||
text
|
||||
});
|
||||
return { id, conversationId, parentMessageId, sender, text };
|
||||
text,
|
||||
isCreatedByUser
|
||||
}, { upsert: true, new: true });
|
||||
return { id, conversationId, parentMessageId, sender, text, isCreatedByUser };
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return { message: 'Error saving message' };
|
||||
}
|
||||
},
|
||||
deleteMessagesSince: async ({ id, conversationId }) => {
|
||||
try {
|
||||
message = await Message.findOne({ id }).exec()
|
||||
|
||||
if (message)
|
||||
return await Message.find({ conversationId }).deleteMany({ createdAt: { $gt: message.createdAt } }).exec();
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
return { message: 'Error deleting messages' };
|
||||
}
|
||||
},
|
||||
getMessages: async (filter) => {
|
||||
try {
|
||||
return await Message.find(filter).sort({createdAt: 1}).exec()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue