2023-02-05 23:05:07 -05:00
|
|
|
const mongoose = require('mongoose');
|
2023-02-04 20:08:46 -05:00
|
|
|
|
2023-02-05 23:05:07 -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 }) => {
|
2023-02-05 23:05:07 -05:00
|
|
|
await Message.create({
|
|
|
|
|
id,
|
|
|
|
|
conversationId,
|
|
|
|
|
parentMessageId,
|
2023-02-06 13:28:21 -05:00
|
|
|
sender,
|
2023-02-05 23:05:07 -05:00
|
|
|
text
|
|
|
|
|
});
|
2023-02-06 14:05:02 -05:00
|
|
|
},
|
2023-02-06 18:25:11 -05:00
|
|
|
getMessages: async (filter) => await Message.find(filter).exec(),
|
2023-02-05 23:05:07 -05:00
|
|
|
}
|