diff --git a/src/app/api/auth/route.ts b/src/app/api/auth/route.ts index 18d374b..6f02d54 100644 --- a/src/app/api/auth/route.ts +++ b/src/app/api/auth/route.ts @@ -19,7 +19,7 @@ export async function POST(req: NextRequest) { email: user.email }, JWT_SECRET, - { expiresIn: '7d' } + { expiresIn: '1h' } ); const userData = { diff --git a/src/database/samplePermissions.ts b/src/database/samplePermissions.ts index 0199d66..f9d1a48 100644 --- a/src/database/samplePermissions.ts +++ b/src/database/samplePermissions.ts @@ -1,10 +1,11 @@ import { Permission } from "./database.schema"; export const samplePermissions: Permission[] = [ + // User Management Permissions { id: 1, name: "user_read", - description: "Read user information", + description: "View user list and user details", isActive: true, }, { @@ -21,74 +22,36 @@ export const samplePermissions: Permission[] = [ }, { id: 4, + name: "user_permissions", + description: "Manage user permissions", + isActive: true, + }, + + // Customer Management Permissions + { + id: 5, name: "customer_read", - description: "Read customer information", + description: "View customer list and customer details", isActive: true, }, { - id: 5, + id: 6, name: "customer_write", description: "Create and update customer information", isActive: true, }, { - id: 6, + id: 7, name: "customer_delete", description: "Delete customer records", isActive: true, }, - { - id: 7, - name: "admin_panel", - description: "Access administrative panel", - isActive: true, - }, + + // Mail Template Permissions { 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", + name: "mail_template_access", + description: "Access mail template configuration", isActive: true, }, ]; diff --git a/src/database/sampleUserPermissions.ts b/src/database/sampleUserPermissions.ts index 5f69cb8..bbdc6ef 100644 --- a/src/database/sampleUserPermissions.ts +++ b/src/database/sampleUserPermissions.ts @@ -2,82 +2,62 @@ 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 }, + { id: 1, userId: 1, permissionId: 1 }, // user_read + { id: 2, userId: 1, permissionId: 2 }, // user_write + { id: 3, userId: 1, permissionId: 3 }, // user_delete + { id: 4, userId: 1, permissionId: 4 }, // user_permissions + { id: 5, userId: 1, permissionId: 5 }, // customer_read + { id: 6, userId: 1, permissionId: 6 }, // customer_write + { id: 7, userId: 1, permissionId: 7 }, // customer_delete + { id: 8, userId: 1, permissionId: 8 }, // mail_template_access // 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 + { id: 9, userId: 2, permissionId: 5 }, // customer_read + { id: 10, userId: 2, permissionId: 6 }, // customer_write + { id: 11, userId: 2, permissionId: 8 }, // mail_template_access // 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 + { id: 12, userId: 3, permissionId: 1 }, // user_read + { id: 13, userId: 3, permissionId: 2 }, // user_write + { id: 14, userId: 3, permissionId: 4 }, // user_permissions - // 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 + // Mike Johnson (id: 4) - Customer Support Lead + { id: 15, userId: 4, permissionId: 5 }, // customer_read + { id: 16, userId: 4, permissionId: 6 }, // customer_write + { id: 17, userId: 4, permissionId: 7 }, // customer_delete + { id: 18, userId: 4, permissionId: 1 }, // user_read // 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 + { id: 19, userId: 5, permissionId: 5 }, // customer_read + { id: 20, userId: 5, permissionId: 6 }, // customer_write + { id: 21, userId: 5, permissionId: 8 }, // mail_template_access - // 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 + // David Brown (id: 6) - HR Manager + { id: 22, userId: 6, permissionId: 1 }, // user_read + { id: 23, userId: 6, permissionId: 2 }, // user_write + { id: 24, userId: 6, permissionId: 4 }, // user_permissions + { id: 25, userId: 6, permissionId: 8 }, // mail_template_access - // 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 + // Emma Davis (id: 7) - Mail Template Manager + { id: 26, userId: 7, permissionId: 8 }, // mail_template_access + { id: 27, userId: 7, permissionId: 5 }, // 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 + // Alex Martinez (id: 8) - Junior Support + { id: 28, userId: 8, permissionId: 5 }, // customer_read + { id: 29, userId: 8, permissionId: 1 }, // user_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 + // Lisa Garcia (id: 9) - Senior Customer Manager + { id: 30, userId: 9, permissionId: 5 }, // customer_read + { id: 31, userId: 9, permissionId: 6 }, // customer_write + { id: 32, userId: 9, permissionId: 7 }, // customer_delete + { id: 33, userId: 9, permissionId: 8 }, // mail_template_access - // 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 + // Robert Taylor (id: 10) - Read-only User + { id: 34, userId: 10, permissionId: 5 }, // customer_read + { id: 35, userId: 10, permissionId: 1 }, // user_read // 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 + { id: 36, userId: 11, permissionId: 5 }, // customer_read + { id: 37, userId: 11, permissionId: 6 }, // customer_write + { id: 38, userId: 11, permissionId: 8 }, // mail_template_access ];