(Feat): More changes
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
import { hash } from "bcrypt";
|
||||
import { hash, genSalt } from "bcrypt";
|
||||
import { db } from "../config/database.ts";
|
||||
import { config } from "../config/env.ts";
|
||||
|
||||
// Helper function to hash password with proper salt generation
|
||||
async function hashPassword(password: string): Promise<string> {
|
||||
const salt = await genSalt(config.BCRYPT_ROUNDS);
|
||||
return await hash(password, salt);
|
||||
}
|
||||
|
||||
async function seedDatabase() {
|
||||
try {
|
||||
console.log("🔌 Connecting to database...");
|
||||
@@ -82,7 +88,7 @@ async function seedDatabase() {
|
||||
["admin"]
|
||||
);
|
||||
|
||||
const adminPassword = await hash("admin123", config.BCRYPT_ROUNDS);
|
||||
const adminPassword = await hashPassword("admin123");
|
||||
|
||||
if (existingAdmin.length > 0) {
|
||||
await db.execute(
|
||||
@@ -109,7 +115,7 @@ async function seedDatabase() {
|
||||
["Dana"]
|
||||
);
|
||||
|
||||
const supervisorPassword = await hash("supervisor123", config.BCRYPT_ROUNDS);
|
||||
const supervisorPassword = await hashPassword("supervisor123");
|
||||
|
||||
const supervisors = [
|
||||
{ username: "supervisor_tudki", name: "Tudki Supervisor", email: "supervisor.tudki@workallocate.com", deptId: tudkiDept[0]?.id },
|
||||
@@ -137,11 +143,37 @@ async function seedDatabase() {
|
||||
|
||||
// 5. Seed Sample Contractors
|
||||
console.log("🏗️ Seeding sample contractors...");
|
||||
const contractorPassword = await hash("contractor123", config.BCRYPT_ROUNDS);
|
||||
const contractorPassword = await hashPassword("contractor123");
|
||||
|
||||
const contractors = [
|
||||
{ username: "contractor1", name: "Contractor One", email: "contractor1@workallocate.com", deptId: groundnutId },
|
||||
{ username: "contractor2", name: "Contractor Two", email: "contractor2@workallocate.com", deptId: groundnutId }
|
||||
{
|
||||
username: "contractor1",
|
||||
name: "Contractor One",
|
||||
email: "contractor1@workallocate.com",
|
||||
deptId: groundnutId,
|
||||
phone: "9876543210",
|
||||
aadhar: "123456789012",
|
||||
bankAccount: "1234567890123456",
|
||||
bankName: "State Bank of India",
|
||||
bankIfsc: "SBIN0001234",
|
||||
agreementNo: "AGR-2024-001",
|
||||
pfNo: "PF/GJ/12345/67890",
|
||||
esicNo: "12-34-567890-123-0001"
|
||||
},
|
||||
{
|
||||
username: "contractor2",
|
||||
name: "Contractor Two",
|
||||
email: "contractor2@workallocate.com",
|
||||
deptId: groundnutId,
|
||||
phone: "9876543211",
|
||||
aadhar: "234567890123",
|
||||
bankAccount: "2345678901234567",
|
||||
bankName: "HDFC Bank",
|
||||
bankIfsc: "HDFC0001234",
|
||||
agreementNo: "AGR-2024-002",
|
||||
pfNo: "PF/GJ/12345/67891",
|
||||
esicNo: "12-34-567890-123-0002"
|
||||
}
|
||||
];
|
||||
|
||||
for (const con of contractors) {
|
||||
@@ -151,8 +183,13 @@ async function seedDatabase() {
|
||||
);
|
||||
if (existing.length === 0) {
|
||||
await db.execute(
|
||||
"INSERT INTO users (username, name, email, password, role, department_id, is_active) VALUES (?, ?, ?, ?, ?, ?, ?)",
|
||||
[con.username, con.name, con.email, contractorPassword, "Contractor", con.deptId, true]
|
||||
`INSERT INTO users (username, name, email, password, role, department_id, is_active,
|
||||
phone_number, aadhar_number, bank_account_number, bank_name, bank_ifsc,
|
||||
contractor_agreement_number, pf_number, esic_number)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[con.username, con.name, con.email, contractorPassword, "Contractor", con.deptId, true,
|
||||
con.phone, con.aadhar, con.bankAccount, con.bankName, con.bankIfsc,
|
||||
con.agreementNo, con.pfNo, con.esicNo]
|
||||
);
|
||||
console.log(` ✅ ${con.name} created`);
|
||||
} else {
|
||||
@@ -166,13 +203,40 @@ async function seedDatabase() {
|
||||
"SELECT id FROM users WHERE username = ?",
|
||||
["contractor1"]
|
||||
);
|
||||
const employeePassword = await hash("employee123", config.BCRYPT_ROUNDS);
|
||||
const employeePassword = await hashPassword("employee123");
|
||||
|
||||
if (contractor1.length > 0) {
|
||||
const employees = [
|
||||
{ username: "employee1", name: "Employee One", email: "employee1@workallocate.com" },
|
||||
{ username: "employee2", name: "Employee Two", email: "employee2@workallocate.com" },
|
||||
{ username: "employee3", name: "Employee Three", email: "employee3@workallocate.com" }
|
||||
{
|
||||
username: "employee1",
|
||||
name: "Employee One",
|
||||
email: "employee1@workallocate.com",
|
||||
phone: "9876543220",
|
||||
aadhar: "345678901234",
|
||||
bankAccount: "3456789012345678",
|
||||
bankName: "Punjab National Bank",
|
||||
bankIfsc: "PUNB0001234"
|
||||
},
|
||||
{
|
||||
username: "employee2",
|
||||
name: "Employee Two",
|
||||
email: "employee2@workallocate.com",
|
||||
phone: "9876543221",
|
||||
aadhar: "456789012345",
|
||||
bankAccount: "4567890123456789",
|
||||
bankName: "Bank of Baroda",
|
||||
bankIfsc: "BARB0001234"
|
||||
},
|
||||
{
|
||||
username: "employee3",
|
||||
name: "Employee Three",
|
||||
email: "employee3@workallocate.com",
|
||||
phone: "9876543222",
|
||||
aadhar: "567890123456",
|
||||
bankAccount: "5678901234567890",
|
||||
bankName: "ICICI Bank",
|
||||
bankIfsc: "ICIC0001234"
|
||||
}
|
||||
];
|
||||
|
||||
for (const emp of employees) {
|
||||
@@ -182,8 +246,11 @@ async function seedDatabase() {
|
||||
);
|
||||
if (existing.length === 0) {
|
||||
await db.execute(
|
||||
"INSERT INTO users (username, name, email, password, role, department_id, contractor_id, is_active) VALUES (?, ?, ?, ?, ?, ?, ?, ?)",
|
||||
[emp.username, emp.name, emp.email, employeePassword, "Employee", groundnutId, contractor1[0].id, true]
|
||||
`INSERT INTO users (username, name, email, password, role, department_id, contractor_id, is_active,
|
||||
phone_number, aadhar_number, bank_account_number, bank_name, bank_ifsc)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[emp.username, emp.name, emp.email, employeePassword, "Employee", groundnutId, contractor1[0].id, true,
|
||||
emp.phone, emp.aadhar, emp.bankAccount, emp.bankName, emp.bankIfsc]
|
||||
);
|
||||
console.log(` ✅ ${emp.name} created`);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user