feat: update to new dashboard permissions format

Replace flat nav[] with nav_folder/pages/permissions structure.
Update routes to use app.access + permission: middleware groups.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Joel Wedemire
2026-04-09 21:22:27 -07:00
parent bce98c0d4b
commit a66f61c638
2 changed files with 59 additions and 48 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "dashboard/ticketing",
"description": "Ticketing snap-in for dashboard-shell",
"description": "Help desk ticketing snap-in for the Dashboard platform",
"version": "1.0.0",
"type": "library",
"require": {
@@ -19,21 +19,21 @@
"providers": ["Dashboard\\Ticketing\\TicketingServiceProvider"]
},
"dashboard": {
"nav": [
{
"label": "Help Desk",
"route_name": "ticketing.index",
"icon": "ticket",
"sort_order": 40,
"roles": ["admin", "staff", "student"]
},
{
"label": "My Tickets",
"route_name": "ticketing.my-tickets",
"icon": "inbox-stack",
"sort_order": 41,
"roles": ["admin", "staff", "student"]
}
"nav_folder": {
"label": "Help Desk",
"icon": "ticket",
"sort_order": 40
},
"pages": [
{ "label": "All Tickets", "route_name": "ticketing.index", "icon": "ticket", "permission": "ticketing.manage", "sort_order": 1 },
{ "label": "My Tickets", "route_name": "ticketing.my-tickets", "icon": "inbox-stack", "permission": "ticketing.view", "sort_order": 2 },
{ "label": "Settings", "route_name": "ticketing.settings", "icon": "cog-6-tooth", "permission": "ticketing.settings","sort_order": 99 }
],
"permissions": [
{ "key": "ticketing.view", "label": "View My Tickets", "description": "Submit tickets and view own ticket history" },
{ "key": "ticketing.create", "label": "Create Tickets", "description": "Create tickets on behalf of other users" },
{ "key": "ticketing.manage", "label": "Manage Tickets", "description": "View, assign, and resolve all tickets" },
{ "key": "ticketing.settings", "label": "Manage Settings", "description": "Configure groups, priorities, and integrations" }
]
}
}