Implement user registration and email verification features

This commit is contained in:
Isuru Bimsara
2026-08-17 16:52:44 +05:30
parent ef8db0988b
commit c3d9f899a1
11 changed files with 781 additions and 53 deletions
+24 -3
View File
@@ -36,9 +36,25 @@ module.exports = (sequelize, DataTypes) => {
allowNull: false
},
accountType: {
type: DataTypes.ENUM("user", "admin", "superadmin", "manager", "business_customer", "rider", "customer","support_agent"),
defaultValue: "user"
}
type: DataTypes.ENUM("admin", "superadmin", "manager", "business_customer", "rider", "customer","support_agent"),
defaultValue: "customer"
},
accountStatus: {
type: DataTypes.ENUM(
"PENDING_VERIFICATION",
"ACTIVE",
"SUSPENDED",
"DEACTIVATED"
),
allowNull: false,
defaultValue: "PENDING_VERIFICATION",
},
emailVerifiedAt: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: null,
},
},
{
tableName: "users",
@@ -55,6 +71,11 @@ module.exports = (sequelize, DataTypes) => {
foreignKey: "user_id",
as: "profile",
});
User.hasMany(db.EmailVerification, {
foreignKey: "user_id",
as: "emailVerifications",
});
};
return User;