const { DataTypes } = require('sequelize'); const { sequelize } = require('../db'); const User = sequelize.define('User', { userId: { type: DataTypes.STRING, primaryKey: true, allowNull: false }, username: { type: DataTypes.STRING, allowNull: false, unique: true }, password: { type: DataTypes.STRING, allowNull: false }, email: { type: DataTypes.STRING, allowNull: true, validate: { isEmail: true } }, phone: { type: DataTypes.STRING, allowNull: true }, realName: { type: DataTypes.STRING, allowNull: true }, avatar: { type: DataTypes.STRING, allowNull: true }, status: { type: DataTypes.ENUM('active', 'inactive', 'locked'), defaultValue: 'active' }, lastLoginTime: { type: DataTypes.DATE, allowNull: true }, lastLoginIp: { type: DataTypes.STRING, allowNull: true }, loginCount: { type: DataTypes.INTEGER, defaultValue: 0 }, remark: { type: DataTypes.TEXT, allowNull: true } }, { tableName: 'users', timestamps: true, indexes: [ { fields: ['status'] }, { fields: ['username'] }, { fields: ['email'] } ] }); module.exports = User;