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>
41 lines
1.9 KiB
JSON
41 lines
1.9 KiB
JSON
{
|
|
"name": "dashboard/ticketing",
|
|
"description": "Help desk ticketing snap-in for the Dashboard platform",
|
|
"version": "1.0.0",
|
|
"type": "library",
|
|
"require": {
|
|
"php": "^8.2",
|
|
"illuminate/support": "^11.0|^12.0|^13.0",
|
|
"inertiajs/inertia-laravel": "^2.0|^3.0"
|
|
},
|
|
"autoload": {
|
|
"psr-4": {
|
|
"Dashboard\\Ticketing\\": "src/",
|
|
"Dashboard\\Ticketing\\Database\\Seeders\\": "src/Database/Seeders/"
|
|
}
|
|
},
|
|
"extra": {
|
|
"laravel": {
|
|
"providers": ["Dashboard\\Ticketing\\TicketingServiceProvider"]
|
|
},
|
|
"dashboard": {
|
|
"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" }
|
|
]
|
|
}
|
|
}
|
|
}
|