| | const mongoose = require('mongoose');
|
| |
|
| | const messageSchema = new mongoose.Schema({
|
| | conversationId: {
|
| | type: mongoose.Schema.Types.ObjectId,
|
| | ref: 'Conversation',
|
| | required: true
|
| | },
|
| | sender: {
|
| | type: String,
|
| | enum: ['user', 'assistant'],
|
| | required: true
|
| | },
|
| | content: {
|
| | type: String,
|
| | required: true,
|
| | maxlength: 10000
|
| | },
|
| | metadata: {
|
| | model: String,
|
| | tokens: Number,
|
| | processingTime: Number
|
| | },
|
| | isEdited: {
|
| | type: Boolean,
|
| | default: false
|
| | },
|
| | editedAt: Date
|
| | }, {
|
| | timestamps: true
|
| | });
|
| |
|
| |
|
| | messageSchema.index({ conversationId: 1, createdAt: 1 });
|
| |
|
| | module.exports = mongoose.model('Message', messageSchema); |