const { DataTypes } = require('sequelize'); const { sequelize } = require('../config/database'); const Conversation = sequelize.define('Conversation', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, }, userId: { type: DataTypes.UUID, allowNull: false, references: { model: 'users', key: 'id', }, }, assistantId: { type: DataTypes.UUID, allowNull: false, references: { model: 'assistants', key: 'id', }, }, title: { type: DataTypes.STRING, allowNull: true, }, status: { type: DataTypes.ENUM('active', 'archived', 'deleted'), defaultValue: 'active', }, metadata: { type: DataTypes.JSONB, defaultValue: {}, }, lastMessageAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW, }, }, { tableName: 'conversations', timestamps: true, indexes: [ { fields: ['userId'] }, { fields: ['assistantId'] }, { fields: ['status'] }, { fields: ['lastMessageAt'] }, { fields: ['userId', 'status'] }, ], }); module.exports = Conversation;