feat(rbac): full permission catalog in the custom-role matrix UI (fa/en/ar)
CI/CD / CI · API (dotnet build + test) (push) Successful in 42s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 30s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m7s
CI/CD / CI · Admin Web (tsc) (push) Successful in 37s
CI/CD / CI · Website (tsc) (push) Successful in 45s
CI/CD / CI · Koja (tsc) (push) Successful in 49s
CI/CD / Deploy · all services (push) Successful in 3m24s
CI/CD / CI · API (dotnet build + test) (push) Successful in 42s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 30s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m7s
CI/CD / CI · Admin Web (tsc) (push) Successful in 37s
CI/CD / CI · Website (tsc) (push) Successful in 45s
CI/CD / CI · Koja (tsc) (push) Successful in 49s
CI/CD / Deploy · all services (push) Successful in 3m24s
Mirrors the expanded backend catalog on the client: the Permission type and the custom-role permission matrix now expose all ~80 capabilities grouped into 16 sections (admin, branches, menu, inventory, taxes, staff, tables, orders, register, queue/kitchen, delivery, customers, coupons, marketing, reports, expenses), each with fa/en/ar labels. Nav visibility now maps each page to its View permission; taxes & branches become permission-driven (managers can view), leaving billing as the sole hard owner-only nav gate. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -34,31 +34,84 @@ interface PermGroup {
|
||||
const PERM_GROUPS: PermGroup[] = [
|
||||
{
|
||||
labelKey: "customRoles.groupAdmin",
|
||||
perms: ["ManageCafeSettings", "ManageBilling", "ManageBranches"],
|
||||
perms: [
|
||||
"ViewCafeSettings", "ManageCafeSettings", "ManageDiscoverProfile",
|
||||
"ViewBilling", "ManageBilling", "ManageRoles",
|
||||
"ViewPrintSettings", "ManagePrintSettings",
|
||||
],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupBranches",
|
||||
perms: ["ViewBranches", "CreateBranch", "EditBranch", "DeleteBranch"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupMenu",
|
||||
perms: ["ManageMenu", "ManageInventory", "ManageTaxes", "ManagePrintSettings"],
|
||||
perms: ["ViewMenu", "CreateMenuItem", "EditMenuItem", "DeleteMenuItem"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupInventory",
|
||||
perms: ["ViewInventory", "CreateInventory", "EditInventory", "DeleteInventory"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupTaxes",
|
||||
perms: ["ViewTaxes", "CreateTax", "EditTax", "DeleteTax"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupStaff",
|
||||
perms: ["ManageStaff", "ManageSalaries", "ReviewLeave"],
|
||||
perms: [
|
||||
"ViewStaff", "CreateStaff", "EditStaff", "DeleteStaff",
|
||||
"ManageStaff", "ManageStaffCredentials",
|
||||
"ViewAttendance", "ManageAttendance",
|
||||
"ViewSchedules", "ManageSchedules",
|
||||
"ViewLeave", "ReviewLeave",
|
||||
"ViewSalaries", "ManageSalaries",
|
||||
],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupCustomer",
|
||||
perms: ["ManageReservations", "ManageTables", "ManageCoupons"],
|
||||
labelKey: "customRoles.groupTables",
|
||||
perms: [
|
||||
"ViewTables", "ManageTables",
|
||||
"ViewReservations", "CreateReservation", "EditReservation", "DeleteReservation",
|
||||
],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupOrders",
|
||||
perms: [
|
||||
"ViewOrders", "ProcessOrders", "EditOrder", "VoidOrder", "RefundOrder",
|
||||
"ApplyDiscount", "CompOrder", "HandlePayments", "UpdateOrderStatus",
|
||||
],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupRegister",
|
||||
perms: ["OperateRegister", "OpenCashDrawer"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupQueueKitchen",
|
||||
perms: ["ViewQueue", "ManageQueue", "ViewKitchen", "ManageKitchenStations"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupDelivery",
|
||||
perms: ["ViewDelivery", "HandleDelivery", "AssignDelivery"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupCustomers",
|
||||
perms: ["ViewCustomers", "CreateCustomer", "EditCustomer", "DeleteCustomer"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupCoupons",
|
||||
perms: ["ViewCoupons", "CreateCoupon", "EditCoupon", "DeleteCoupon"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupMarketing",
|
||||
perms: ["ViewSms", "SendSms", "ManageSmsSettings", "ViewReviews", "ManageReviews"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupReports",
|
||||
perms: ["ViewReports", "ManageExpenses"],
|
||||
perms: ["ViewReports", "ExportReports", "ViewAuditLog", "ViewFinancials", "ManageFinancials"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupOps",
|
||||
perms: ["ProcessOrders", "HandlePayments", "OperateRegister", "ManageQueue"],
|
||||
},
|
||||
{
|
||||
labelKey: "customRoles.groupKitchen",
|
||||
perms: ["ViewKitchen", "HandleDelivery"],
|
||||
labelKey: "customRoles.groupExpenses",
|
||||
perms: ["ViewExpenses", "CreateExpense", "EditExpense", "DeleteExpense"],
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user