Implement password reset and change features with email notifications
This commit is contained in:
@@ -16,56 +16,60 @@ module.exports = (sequelize, DataTypes) => {
|
||||
id: {
|
||||
type: DataTypes.STRING,
|
||||
primaryKey: true,
|
||||
collate: 'utf8mb4_general_ci'
|
||||
collate: "utf8mb4_general_ci",
|
||||
},
|
||||
firstName: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
allowNull: false,
|
||||
},
|
||||
lastName: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
allowNull: false,
|
||||
},
|
||||
email: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false,
|
||||
unique: true
|
||||
unique: true,
|
||||
},
|
||||
password: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
allowNull: false,
|
||||
},
|
||||
accountType: {
|
||||
type: DataTypes.ENUM("business_customer", "customer"),
|
||||
defaultValue: "customer"
|
||||
defaultValue: "customer",
|
||||
},
|
||||
accountStatus: {
|
||||
type: DataTypes.ENUM(
|
||||
"PENDING_VERIFICATION",
|
||||
"ACTIVE",
|
||||
"SUSPENDED",
|
||||
"DEACTIVATED"
|
||||
"DEACTIVATED",
|
||||
),
|
||||
allowNull: false,
|
||||
defaultValue: "PENDING_VERIFICATION",
|
||||
},
|
||||
emailVerifiedAt: {
|
||||
emailVerifiedAt: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: true,
|
||||
defaultValue: null,
|
||||
},
|
||||
passwordChangedAt: {
|
||||
type: DataTypes.DATE,
|
||||
allowNull: true,
|
||||
defaultValue: null,
|
||||
},
|
||||
|
||||
},
|
||||
{
|
||||
tableName: "users",
|
||||
timestamps: true
|
||||
}
|
||||
timestamps: true,
|
||||
},
|
||||
);
|
||||
|
||||
User.associate = (db) => {
|
||||
User.hasMany(db.userPermission, {
|
||||
foreignKey: "user_id",
|
||||
as: "userPermissions"
|
||||
as: "userPermissions",
|
||||
});
|
||||
User.hasOne(db.Profile, {
|
||||
foreignKey: "user_id",
|
||||
@@ -79,7 +83,6 @@ module.exports = (sequelize, DataTypes) => {
|
||||
foreignKey: "user_id",
|
||||
as: "businessCustomer",
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
return User;
|
||||
|
||||
Reference in New Issue
Block a user