Add user page
This commit is contained in:
@@ -2,6 +2,9 @@ import { Low } from "lowdb";
|
||||
import { JSONFile } from "lowdb/node";
|
||||
import { DBSchema } from "./database.schema";
|
||||
import { defaultAdminUser } from "./defaultAdminUser";
|
||||
import { sampleUsers } from "./sampleUsers";
|
||||
import { samplePermissions } from "./samplePermissions";
|
||||
import { sampleUserPermissions } from "./sampleUserPermissions";
|
||||
import path from "path";
|
||||
|
||||
// File path for db.json
|
||||
@@ -21,14 +24,52 @@ export function getNextId<T extends { id: number }>(items: T[]): number {
|
||||
return Math.max(...items.map((item) => item.id)) + 1;
|
||||
}
|
||||
|
||||
// Initialize DB and ensure default admin user exists
|
||||
// Initialize DB and ensure sample data exists
|
||||
export async function initDB() {
|
||||
await db.read();
|
||||
db.data ||= { customers: [], users: [], customerDependants: [], userPermissions: [], permissions: [] };
|
||||
|
||||
// Initialize users with default admin and sample users
|
||||
if (db.data.users.length === 0) {
|
||||
db.data.users.push(defaultAdminUser);
|
||||
await db.write();
|
||||
db.data.users.push(...sampleUsers);
|
||||
}
|
||||
|
||||
// Initialize permissions with sample data
|
||||
if (db.data.permissions.length === 0) {
|
||||
db.data.permissions.push(...samplePermissions);
|
||||
}
|
||||
|
||||
// Initialize user permissions with sample data
|
||||
if (db.data.userPermissions.length === 0) {
|
||||
db.data.userPermissions.push(...sampleUserPermissions);
|
||||
}
|
||||
|
||||
await db.write();
|
||||
}
|
||||
|
||||
// Reset database by clearing all data and reinitializing with sample data
|
||||
export async function resetDB() {
|
||||
// Clear all existing data
|
||||
db.data = {
|
||||
customers: [],
|
||||
users: [],
|
||||
customerDependants: [],
|
||||
userPermissions: [],
|
||||
permissions: [],
|
||||
};
|
||||
|
||||
// Initialize users with default admin and sample users
|
||||
db.data.users.push(defaultAdminUser);
|
||||
db.data.users.push(...sampleUsers);
|
||||
|
||||
// Initialize permissions with sample data
|
||||
db.data.permissions.push(...samplePermissions);
|
||||
|
||||
// Initialize user permissions with sample data
|
||||
db.data.userPermissions.push(...sampleUserPermissions);
|
||||
|
||||
await db.write();
|
||||
}
|
||||
|
||||
export { db };
|
||||
|
||||
@@ -1,93 +1,5 @@
|
||||
{
|
||||
"customers": [
|
||||
{
|
||||
"id": 6,
|
||||
"firstNameEn": "David",
|
||||
"lastNameEn": "Brown",
|
||||
"email": "david.brown@example.com",
|
||||
"mobile": "0987901234",
|
||||
"originAdd1": "sadfsa",
|
||||
"localAdd1": "sadfsaf"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"firstNameEn": "Emily",
|
||||
"lastNameEn": "Davis",
|
||||
"email": "emily.davis@example.com",
|
||||
"mobile": "0987567890",
|
||||
"originAdd1": "sadfsa",
|
||||
"localAdd1": "asdfsaf"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"firstNameEn": "Robert",
|
||||
"lastNameEn": "Miller",
|
||||
"email": "robert.miller@example.com",
|
||||
"mobile": "0987234567"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"firstNameEn": "Lisa",
|
||||
"lastNameEn": "Wilson",
|
||||
"email": "lisa.wilson@example.com",
|
||||
"mobile": "0987890123",
|
||||
"originAdd1": "ssss",
|
||||
"localAdd1": "sssss"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"firstNameEn": "James",
|
||||
"lastNameEn": "Moore",
|
||||
"email": "james.moore@example.com",
|
||||
"mobile": "0987456789"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"firstNameEn": "Ashley",
|
||||
"lastNameEn": "Taylor",
|
||||
"email": "ashley.taylor@example.com",
|
||||
"mobile": "0987012345"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"firstNameEn": "Christopher",
|
||||
"lastNameEn": "Anderson",
|
||||
"email": "christopher.anderson@example.com",
|
||||
"mobile": "0987678901"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"firstNameEn": "sdfas",
|
||||
"lastNameEn": "sadfasf",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"firstNameEn": "sdaf",
|
||||
"lastNameEn": "asdfasf",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"firstNameEn": "Đỗ",
|
||||
"lastNameEn": "Thanh Tùng",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491",
|
||||
"originAdd1": "123",
|
||||
"localAdd1": "asdfsdaf"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"firstNameEn": "Đỗ",
|
||||
"lastNameEn": "Thanh Tùng",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491",
|
||||
"originAdd1": "12344444",
|
||||
"localAdd1": "asdfsdaf11111"
|
||||
}
|
||||
],
|
||||
"customers": [],
|
||||
"users": [
|
||||
{
|
||||
"id": 1,
|
||||
@@ -97,52 +9,490 @@
|
||||
"lastName": "User",
|
||||
"password": "admin123",
|
||||
"isDeleted": false
|
||||
}
|
||||
],
|
||||
"customerDependants": [
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"username": "john.doe",
|
||||
"email": "john.doe@example.com",
|
||||
"firstName": "John",
|
||||
"lastName": "Doe",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"username": "jane.smith",
|
||||
"email": "jane.smith@example.com",
|
||||
"firstName": "Jane",
|
||||
"lastName": "Smith",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"username": "mike.johnson",
|
||||
"email": "mike.johnson@example.com",
|
||||
"firstName": "Mike",
|
||||
"lastName": "Johnson",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"custId": 13,
|
||||
"firstNameEn": "do thanh",
|
||||
"lastNameEn": "tung",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491"
|
||||
"username": "sarah.wilson",
|
||||
"email": "sarah.wilson@example.com",
|
||||
"firstName": "Sarah",
|
||||
"lastName": "Wilson",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"custId": 13,
|
||||
"firstNameEn": "do thanh",
|
||||
"lastNameEn": "tung",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417492"
|
||||
"username": "david.brown",
|
||||
"email": "david.brown@example.com",
|
||||
"firstName": "David",
|
||||
"lastName": "Brown",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 1751787328700,
|
||||
"custId": 14,
|
||||
"firstNameEn": "222",
|
||||
"lastNameEn": "3333",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491"
|
||||
"id": 7,
|
||||
"username": "emma.davis",
|
||||
"email": "emma.davis@example.com",
|
||||
"firstName": "Emma",
|
||||
"lastName": "Davis",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 1751787328701,
|
||||
"custId": 15,
|
||||
"firstNameEn": "Đỗ",
|
||||
"lastNameEn": "Thanh Tùng",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491",
|
||||
"originAdd1": "123",
|
||||
"localAdd1": "sdfgsdfg"
|
||||
"id": 8,
|
||||
"username": "alex.martinez",
|
||||
"email": "alex.martinez@example.com",
|
||||
"firstName": "Alex",
|
||||
"lastName": "Martinez",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 1751787328702,
|
||||
"custId": 16,
|
||||
"firstNameEn": "Đỗ",
|
||||
"lastNameEn": "Tùng",
|
||||
"originAdd1": "1231231231",
|
||||
"localAdd1": "asdfsdaf",
|
||||
"id": 9,
|
||||
"username": "lisa.garcia",
|
||||
"email": "lisa.garcia@example.com",
|
||||
"firstName": "Lisa",
|
||||
"lastName": "Garcia",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"username": "robert.taylor",
|
||||
"email": "robert.taylor@example.com",
|
||||
"firstName": "Robert",
|
||||
"lastName": "Taylor",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"username": "maria.rodriguez",
|
||||
"email": "maria.rodriguez@example.com",
|
||||
"firstName": "Maria",
|
||||
"lastName": "Rodriguez",
|
||||
"password": "password123",
|
||||
"isDeleted": false
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"username": "tungdt",
|
||||
"email": "dothanhtung196@gmail.com",
|
||||
"mobile": "0987417491"
|
||||
"firstName": "Đỗ",
|
||||
"lastName": "Tùng",
|
||||
"password": "123456",
|
||||
"isDeleted": false
|
||||
}
|
||||
]
|
||||
],
|
||||
"userPermissions": [
|
||||
{
|
||||
"id": 16,
|
||||
"userId": 2,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"userId": 2,
|
||||
"permissionId": 5
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"userId": 2,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"userId": 2,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"userId": 3,
|
||||
"permissionId": 1
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"userId": 3,
|
||||
"permissionId": 2
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"userId": 3,
|
||||
"permissionId": 14
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"userId": 3,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"userId": 4,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"userId": 4,
|
||||
"permissionId": 1
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"userId": 4,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"userId": 4,
|
||||
"permissionId": 9
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"userId": 4,
|
||||
"permissionId": 15
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"userId": 5,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"userId": 5,
|
||||
"permissionId": 5
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"userId": 5,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"userId": 5,
|
||||
"permissionId": 12
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"userId": 6,
|
||||
"permissionId": 7
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"userId": 6,
|
||||
"permissionId": 10
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"userId": 6,
|
||||
"permissionId": 15
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"userId": 6,
|
||||
"permissionId": 1
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"userId": 6,
|
||||
"permissionId": 2
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"userId": 7,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"userId": 7,
|
||||
"permissionId": 12
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"userId": 7,
|
||||
"permissionId": 13
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"userId": 7,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"userId": 8,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"userId": 8,
|
||||
"permissionId": 1
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"userId": 8,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"userId": 9,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"userId": 9,
|
||||
"permissionId": 5
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"userId": 9,
|
||||
"permissionId": 6
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"userId": 9,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"userId": 9,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"userId": 10,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"userId": 10,
|
||||
"permissionId": 1
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"userId": 10,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"userId": 10,
|
||||
"permissionId": 9
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"userId": 11,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"userId": 11,
|
||||
"permissionId": 5
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"userId": 11,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"userId": 11,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"userId": 11,
|
||||
"permissionId": 12
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"userId": 1,
|
||||
"permissionId": 1
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"userId": 1,
|
||||
"permissionId": 2
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"userId": 1,
|
||||
"permissionId": 4
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"userId": 1,
|
||||
"permissionId": 5
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"userId": 1,
|
||||
"permissionId": 6
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"userId": 1,
|
||||
"permissionId": 7
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"userId": 1,
|
||||
"permissionId": 8
|
||||
},
|
||||
{
|
||||
"id": 66,
|
||||
"userId": 1,
|
||||
"permissionId": 9
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"userId": 1,
|
||||
"permissionId": 10
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"userId": 1,
|
||||
"permissionId": 11
|
||||
},
|
||||
{
|
||||
"id": 69,
|
||||
"userId": 1,
|
||||
"permissionId": 12
|
||||
},
|
||||
{
|
||||
"id": 70,
|
||||
"userId": 1,
|
||||
"permissionId": 13
|
||||
},
|
||||
{
|
||||
"id": 71,
|
||||
"userId": 1,
|
||||
"permissionId": 14
|
||||
},
|
||||
{
|
||||
"id": 72,
|
||||
"userId": 1,
|
||||
"permissionId": 15
|
||||
},
|
||||
{
|
||||
"id": 73,
|
||||
"userId": 1,
|
||||
"permissionId": 3
|
||||
}
|
||||
],
|
||||
"permissions": [
|
||||
{
|
||||
"id": 1,
|
||||
"name": "user_read",
|
||||
"description": "Read user information",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"name": "user_write",
|
||||
"description": "Create and update user information",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"name": "user_delete",
|
||||
"description": "Delete user accounts",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"name": "customer_read",
|
||||
"description": "Read customer information",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"name": "customer_write",
|
||||
"description": "Create and update customer information",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"name": "customer_delete",
|
||||
"description": "Delete customer records",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"name": "admin_panel",
|
||||
"description": "Access administrative panel",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"name": "reports_view",
|
||||
"description": "View system reports",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"name": "reports_export",
|
||||
"description": "Export reports and data",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"name": "system_settings",
|
||||
"description": "Modify system configuration",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"name": "mail_template_read",
|
||||
"description": "Read mail templates",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"name": "mail_template_write",
|
||||
"description": "Create and update mail templates",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"name": "mail_template_delete",
|
||||
"description": "Delete mail templates",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"name": "permission_manage",
|
||||
"description": "Manage user permissions",
|
||||
"isActive": true
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"name": "audit_log",
|
||||
"description": "View audit logs and system activities",
|
||||
"isActive": true
|
||||
}
|
||||
],
|
||||
"customerDependants": []
|
||||
}
|
||||
94
src/database/samplePermissions.ts
Normal file
94
src/database/samplePermissions.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
import { Permission } from "./database.schema";
|
||||
|
||||
export const samplePermissions: Permission[] = [
|
||||
{
|
||||
id: 1,
|
||||
name: "user_read",
|
||||
description: "Read user information",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: "user_write",
|
||||
description: "Create and update user information",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: "user_delete",
|
||||
description: "Delete user accounts",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: "customer_read",
|
||||
description: "Read customer information",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: "customer_write",
|
||||
description: "Create and update customer information",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
name: "customer_delete",
|
||||
description: "Delete customer records",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
name: "admin_panel",
|
||||
description: "Access administrative panel",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
name: "reports_view",
|
||||
description: "View system reports",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
name: "reports_export",
|
||||
description: "Export reports and data",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
name: "system_settings",
|
||||
description: "Modify system configuration",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
name: "mail_template_read",
|
||||
description: "Read mail templates",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
name: "mail_template_write",
|
||||
description: "Create and update mail templates",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
name: "mail_template_delete",
|
||||
description: "Delete mail templates",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 14,
|
||||
name: "permission_manage",
|
||||
description: "Manage user permissions",
|
||||
isActive: true,
|
||||
},
|
||||
{
|
||||
id: 15,
|
||||
name: "audit_log",
|
||||
description: "View audit logs and system activities",
|
||||
isActive: true,
|
||||
},
|
||||
];
|
||||
83
src/database/sampleUserPermissions.ts
Normal file
83
src/database/sampleUserPermissions.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
import { UserPermission } from "./database.schema";
|
||||
|
||||
export const sampleUserPermissions: UserPermission[] = [
|
||||
// Admin user (id: 1) gets all permissions
|
||||
{ id: 1, userId: 1, permissionId: 1 },
|
||||
{ id: 2, userId: 1, permissionId: 2 },
|
||||
{ id: 3, userId: 1, permissionId: 3 },
|
||||
{ id: 4, userId: 1, permissionId: 4 },
|
||||
{ id: 5, userId: 1, permissionId: 5 },
|
||||
{ id: 6, userId: 1, permissionId: 6 },
|
||||
{ id: 7, userId: 1, permissionId: 7 },
|
||||
{ id: 8, userId: 1, permissionId: 8 },
|
||||
{ id: 9, userId: 1, permissionId: 9 },
|
||||
{ id: 10, userId: 1, permissionId: 10 },
|
||||
{ id: 11, userId: 1, permissionId: 11 },
|
||||
{ id: 12, userId: 1, permissionId: 12 },
|
||||
{ id: 13, userId: 1, permissionId: 13 },
|
||||
{ id: 14, userId: 1, permissionId: 14 },
|
||||
{ id: 15, userId: 1, permissionId: 15 },
|
||||
|
||||
// John Doe (id: 2) - Customer Manager
|
||||
{ id: 16, userId: 2, permissionId: 4 }, // customer_read
|
||||
{ id: 17, userId: 2, permissionId: 5 }, // customer_write
|
||||
{ id: 18, userId: 2, permissionId: 8 }, // reports_view
|
||||
{ id: 19, userId: 2, permissionId: 11 }, // mail_template_read
|
||||
|
||||
// Jane Smith (id: 3) - User Manager
|
||||
{ id: 20, userId: 3, permissionId: 1 }, // user_read
|
||||
{ id: 21, userId: 3, permissionId: 2 }, // user_write
|
||||
{ id: 22, userId: 3, permissionId: 14 }, // permission_manage
|
||||
{ id: 23, userId: 3, permissionId: 8 }, // reports_view
|
||||
|
||||
// Mike Johnson (id: 4) - Reports Analyst
|
||||
{ id: 24, userId: 4, permissionId: 4 }, // customer_read
|
||||
{ id: 25, userId: 4, permissionId: 1 }, // user_read
|
||||
{ id: 26, userId: 4, permissionId: 8 }, // reports_view
|
||||
{ id: 27, userId: 4, permissionId: 9 }, // reports_export
|
||||
{ id: 28, userId: 4, permissionId: 15 }, // audit_log
|
||||
|
||||
// Sarah Wilson (id: 5) - Customer Support
|
||||
{ id: 29, userId: 5, permissionId: 4 }, // customer_read
|
||||
{ id: 30, userId: 5, permissionId: 5 }, // customer_write
|
||||
{ id: 31, userId: 5, permissionId: 11 }, // mail_template_read
|
||||
{ id: 32, userId: 5, permissionId: 12 }, // mail_template_write
|
||||
|
||||
// David Brown (id: 6) - System Administrator
|
||||
{ id: 33, userId: 6, permissionId: 7 }, // admin_panel
|
||||
{ id: 34, userId: 6, permissionId: 10 }, // system_settings
|
||||
{ id: 35, userId: 6, permissionId: 15 }, // audit_log
|
||||
{ id: 36, userId: 6, permissionId: 1 }, // user_read
|
||||
{ id: 37, userId: 6, permissionId: 2 }, // user_write
|
||||
|
||||
// Emma Davis (id: 7) - Content Manager
|
||||
{ id: 38, userId: 7, permissionId: 11 }, // mail_template_read
|
||||
{ id: 39, userId: 7, permissionId: 12 }, // mail_template_write
|
||||
{ id: 40, userId: 7, permissionId: 13 }, // mail_template_delete
|
||||
{ id: 41, userId: 7, permissionId: 4 }, // customer_read
|
||||
|
||||
// Alex Martinez (id: 8) - Junior Developer
|
||||
{ id: 42, userId: 8, permissionId: 4 }, // customer_read
|
||||
{ id: 43, userId: 8, permissionId: 1 }, // user_read
|
||||
{ id: 44, userId: 8, permissionId: 11 }, // mail_template_read
|
||||
|
||||
// Lisa Garcia (id: 9) - Senior Support
|
||||
{ id: 45, userId: 9, permissionId: 4 }, // customer_read
|
||||
{ id: 46, userId: 9, permissionId: 5 }, // customer_write
|
||||
{ id: 47, userId: 9, permissionId: 6 }, // customer_delete
|
||||
{ id: 48, userId: 9, permissionId: 8 }, // reports_view
|
||||
{ id: 49, userId: 9, permissionId: 11 }, // mail_template_read
|
||||
|
||||
// Robert Taylor (id: 10) - Data Analyst
|
||||
{ id: 50, userId: 10, permissionId: 4 }, // customer_read
|
||||
{ id: 51, userId: 10, permissionId: 1 }, // user_read
|
||||
{ id: 52, userId: 10, permissionId: 8 }, // reports_view
|
||||
{ id: 53, userId: 10, permissionId: 9 }, // reports_export
|
||||
|
||||
// Maria Rodriguez (id: 11) - Customer Service Lead
|
||||
{ id: 54, userId: 11, permissionId: 4 }, // customer_read
|
||||
{ id: 55, userId: 11, permissionId: 5 }, // customer_write
|
||||
{ id: 56, userId: 11, permissionId: 8 }, // reports_view
|
||||
{ id: 57, userId: 11, permissionId: 11 }, // mail_template_read
|
||||
{ id: 58, userId: 11, permissionId: 12 }, // mail_template_write
|
||||
];
|
||||
94
src/database/sampleUsers.ts
Normal file
94
src/database/sampleUsers.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
import { User } from "./database.schema";
|
||||
|
||||
export const sampleUsers: User[] = [
|
||||
{
|
||||
id: 2,
|
||||
username: "john.doe",
|
||||
email: "john.doe@example.com",
|
||||
firstName: "John",
|
||||
lastName: "Doe",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
username: "jane.smith",
|
||||
email: "jane.smith@example.com",
|
||||
firstName: "Jane",
|
||||
lastName: "Smith",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
username: "mike.johnson",
|
||||
email: "mike.johnson@example.com",
|
||||
firstName: "Mike",
|
||||
lastName: "Johnson",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
username: "sarah.wilson",
|
||||
email: "sarah.wilson@example.com",
|
||||
firstName: "Sarah",
|
||||
lastName: "Wilson",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
username: "david.brown",
|
||||
email: "david.brown@example.com",
|
||||
firstName: "David",
|
||||
lastName: "Brown",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
username: "emma.davis",
|
||||
email: "emma.davis@example.com",
|
||||
firstName: "Emma",
|
||||
lastName: "Davis",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
username: "alex.martinez",
|
||||
email: "alex.martinez@example.com",
|
||||
firstName: "Alex",
|
||||
lastName: "Martinez",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
username: "lisa.garcia",
|
||||
email: "lisa.garcia@example.com",
|
||||
firstName: "Lisa",
|
||||
lastName: "Garcia",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
username: "robert.taylor",
|
||||
email: "robert.taylor@example.com",
|
||||
firstName: "Robert",
|
||||
lastName: "Taylor",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
username: "maria.rodriguez",
|
||||
email: "maria.rodriguez@example.com",
|
||||
firstName: "Maria",
|
||||
lastName: "Rodriguez",
|
||||
password: "password123", // You should hash this in production
|
||||
isDeleted: false,
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user