LibreChat/models/Message.js

51 lines
1.1 KiB
JavaScript
Raw Normal View History

const mongoose = require('mongoose');
2023-02-04 20:08:46 -05:00
const messageSchema = mongoose.Schema({
id: {
type: String,
unique: true,
required: true
},
conversationId: {
type: String,
required: true
},
parentMessageId: {
type: String,
required: true
},
sender: {
type: String,
required: true
},
text: {
type: String,
required: true
},
created: {
type: Date,
default: Date.now
}
});
const Message = mongoose.models.Message || mongoose.model('Message', messageSchema);
module.exports = {
2023-02-06 14:58:43 -05:00
saveMessage: async ({ id, conversationId, parentMessageId, sender, text }) => {
try {
await Message.create({
id,
conversationId,
parentMessageId,
sender,
text
});
return { id, conversationId, parentMessageId, sender, text };
} catch (error) {
console.error(error);
return { message: 'Error saving message' };
}
2023-02-06 14:05:02 -05:00
},
getMessages: async (filter) => await Message.find(filter).exec(),
2023-02-06 21:17:46 -05:00
deleteMessages: async (filter) => await Message.deleteMany(filter).exec()
}