const { DataTypes } = require('sequelize'); const { sequelize } = require('../config/database'); const User = sequelize.define('User', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true, }, email: { type: DataTypes.STRING, allowNull: false, unique: true, validate: { isEmail: true, }, }, name: { type: DataTypes.STRING, allowNull: false, }, password: { type: DataTypes.STRING, allowNull: false, }, lastLoginAt: { type: DataTypes.DATE, allowNull: true, }, preferences: { type: DataTypes.JSONB, defaultValue: { theme: 'light', notifications: true, defaultAssistant: 'creator-bot-push-the-boundaries-of-technology', role: 'user', allowedAgents: null, }, }, isActive: { type: DataTypes.BOOLEAN, defaultValue: true, }, }, { tableName: 'users', timestamps: true, indexes: [ { fields: ['email'] }, { fields: ['isActive'] }, ], }); module.exports = User;