const { DataTypes } = require("sequelize"); const sequelize = require("../configer/dbconfig"); // adjust path if needed const User = sequelize.define( "User", { id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true, }, role: { type: DataTypes.ENUM("admin", "client", "Attorney"), allowNull: false, defaultValue: "client", }, firstName: { type: DataTypes.STRING, allowNull: false }, lastName: { type: DataTypes.STRING, allowNull: false }, email: { type: DataTypes.STRING, allowNull: false, unique: true, validate: { isEmail: true }, }, password: { type: DataTypes.STRING, allowNull: false }, mobile: { type: DataTypes.STRING }, street: { type: DataTypes.STRING }, aptBlock: { type: DataTypes.STRING }, city: { type: DataTypes.STRING }, state: { type: DataTypes.STRING }, country: { type: DataTypes.STRING }, zipCode: { type: DataTypes.STRING }, countryCode: { type: DataTypes.STRING }, dob: { type: DataTypes.DATE }, profileImage: { type: DataTypes.STRING }, kycIdentity: { type: DataTypes.STRING }, kycAddress: { type: DataTypes.STRING }, termsAccepted: { type: DataTypes.BOOLEAN, defaultValue: false }, // OTP fields for forgot password resetOtp: { type: DataTypes.STRING }, // stores the OTP resetOtpExpire: { type: DataTypes.BIGINT }, // OTP expiry timestamp resetOtpVerified: { type: DataTypes.BOOLEAN, defaultValue: false }, // OTP verified flag }, { tableName: "users", freezeTableName: true, timestamps: true, } ); module.exports = User;