140 lines
3.2 KiB
TypeScript
140 lines
3.2 KiB
TypeScript
import Permission from "../models/Permission";
|
|
|
|
export async function seedPermissions() {
|
|
const permissions = [
|
|
"filter.view",
|
|
/* ================================
|
|
✅ TICKETS
|
|
================================= */
|
|
"ticket.create",
|
|
"ticket.view",
|
|
"ticket.view_all",
|
|
"ticket.update",
|
|
"ticket.delete",
|
|
"ticket.assign",
|
|
"ticket.change_status",
|
|
"ticket.close",
|
|
"ticket.reopen",
|
|
"ticket.comment",
|
|
"ticket.internal_note",
|
|
"ticket.upload_file",
|
|
"ticket.merge",
|
|
"ticket.export",
|
|
|
|
/* ================================
|
|
✅ USERS
|
|
================================= */
|
|
"user.view",
|
|
"user.view_all",
|
|
"user.create",
|
|
"user.update",
|
|
"user.delete",
|
|
"user.activate",
|
|
"user.deactivate",
|
|
"user.assign_role",
|
|
|
|
/* ================================
|
|
✅ ROLES
|
|
================================= */
|
|
"role.view",
|
|
"role.create",
|
|
"role.update",
|
|
"role.delete",
|
|
|
|
/* ================================
|
|
✅ PERMISSIONS
|
|
================================= */
|
|
"permission.view",
|
|
"permission.assign_to_role",
|
|
"permission.assign_to_user",
|
|
|
|
/* ================================
|
|
✅ DEPARTMENTS
|
|
================================= */
|
|
"department.view",
|
|
"department.create",
|
|
"department.update",
|
|
"department.delete",
|
|
|
|
/* ================================
|
|
✅ REPORTS - SYSTEM LEVEL
|
|
================================= */
|
|
"report.system.view",
|
|
"report.system.export",
|
|
|
|
"report.department.view",
|
|
"report.department.export",
|
|
|
|
"report.operator.view",
|
|
"report.operator.export",
|
|
|
|
"report.sla.view",
|
|
"report.sla.export",
|
|
|
|
"report.kpi.view",
|
|
"report.kpi.export",
|
|
|
|
/* ================================
|
|
✅ DASHBOARD
|
|
================================= */
|
|
"dashboard.view",
|
|
"dashboard.view_advanced",
|
|
|
|
/* ================================
|
|
✅ SLA MANAGEMENT
|
|
================================= */
|
|
"sla.view",
|
|
"sla.create",
|
|
"sla.update",
|
|
"sla.delete",
|
|
|
|
/* ================================
|
|
✅ REQUEST TYPES
|
|
================================= */
|
|
"request_type.view",
|
|
"request_type.create",
|
|
"request_type.update",
|
|
"request_type.delete",
|
|
|
|
/* ================================
|
|
✅ TAGS
|
|
================================= */
|
|
"tag.view",
|
|
"tag.create",
|
|
"tag.update",
|
|
"tag.delete",
|
|
|
|
/* ================================
|
|
✅ SETTINGS
|
|
================================= */
|
|
"settings.view",
|
|
"settings.update",
|
|
|
|
/* ================================
|
|
✅ LOGS
|
|
================================= */
|
|
"log.view",
|
|
"audit.view",
|
|
|
|
/* ================================
|
|
✅ OPERATOR / PERFORMANCE
|
|
================================= */
|
|
"operator.view",
|
|
"operator.performance.view",
|
|
"operator.performance.export",
|
|
];
|
|
|
|
let createdCount = 0;
|
|
|
|
for (const name of permissions) {
|
|
const [perm, created] = await Permission.findOrCreate({
|
|
where: { name },
|
|
defaults: { name },
|
|
});
|
|
|
|
if (created) createdCount++;
|
|
}
|
|
|
|
console.log(`✅ Permissions Seeded. New created: ${createdCount}`);
|
|
}
|