add create user and login user parts

This commit is contained in:
Isuru Bimsara
2026-08-21 02:20:57 +05:30
parent 621d348eb1
commit b2c5e198a1
15 changed files with 842 additions and 336 deletions
+65
View File
@@ -0,0 +1,65 @@
//app/models/user/businessCustomer.model.js
module.exports = (sequelize, DataTypes) => {
const BusinessCustomer = sequelize.define(
"BusinessCustomer",
{
business_customer_id: {
type: DataTypes.STRING,
primaryKey: true,
},
user_id: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
businessName: {
type: DataTypes.STRING,
allowNull: false,
},
businessRegistrationNumber: {
type: DataTypes.STRING,
allowNull: false,
},
businessType: {
type: DataTypes.STRING,
allowNull: false,
},
contactName: {
type: DataTypes.STRING,
allowNull: false,
},
phoneNumber: {
type: DataTypes.STRING,
allowNull: false,
},
businessEmail: {
type: DataTypes.STRING,
allowNull: false,
},
expectedMonthlyVolume: {
type: DataTypes.STRING,
allowNull: false,
},
note: {
type: DataTypes.STRING,
allowNull: true,
},
},
{
tableName: "business_customers",
timestamps: true,
},
);
BusinessCustomer.associate = (db) => {
BusinessCustomer.belongsTo(db.User, {
foreignKey: "user_id",
as: "user",
});
};
return BusinessCustomer;
};
+49
View File
@@ -0,0 +1,49 @@
/**
* Copyright (c) 2026 Niolla
* All rights reserved.
*
* This source code is proprietary and confidential.
* Unauthorized copying, modification, distribution, or use
* of this file, via any medium, is strictly prohibited.
*/
// app/models/customer.model.js
module.exports = (sequelize, DataTypes) => {
const Customer = sequelize.define(
"Customer",
{
customer_id: {
type: DataTypes.STRING,
primaryKey: true,
collate: "utf8mb4_general_ci",
},
user_id: {
type: DataTypes.STRING,
allowNull: false,
unique: true,
},
address: {
type: DataTypes.STRING,
allowNull: false,
},
phoneNumber: {
type: DataTypes.STRING,
allowNull: false,
},
},
{
tableName: "customers",
timestamps: true,
},
);
Customer.associate = (db) => {
Customer.belongsTo(db.User, {
foreignKey: "user_id",
as: "user",
});
};
return Customer;
};
+9 -1
View File
@@ -36,7 +36,7 @@ module.exports = (sequelize, DataTypes) => {
allowNull: false
},
accountType: {
type: DataTypes.ENUM("admin", "superadmin", "manager", "business_customer", "rider", "customer","support_agent"),
type: DataTypes.ENUM("business_customer", "customer"),
defaultValue: "customer"
},
accountStatus: {
@@ -71,6 +71,14 @@ module.exports = (sequelize, DataTypes) => {
foreignKey: "user_id",
as: "profile",
});
User.hasOne(db.Customer, {
foreignKey: "user_id",
as: "customer",
});
User.hasOne(db.BusinessCustomer, {
foreignKey: "user_id",
as: "businessCustomer",
});
};