Files
central-ticketing/composer.json
Joel Wedemire 0be06694b2 Read the attachment disk from config, not env (secrets S3)
The three reads were `config('ticketing.storage_disk', env('TICKETING_STORAGE_DISK', 'local'))`,
but this package had no config file at all — so the config() lookup was always
null and env() was the only reader.

Once `config:cache` runs in production, a runtime env() returns NULL. Every
ticket attachment would have silently gone to the 'local' disk, ignoring
whatever the operator had configured — and previously-stored attachments would
404 because show() looked on the wrong disk.

Verified rather than assumed: with TICKETING_STORAGE_DISK=s3proof set,
config() returned 's3proof' both cached and uncached, while env() returned
's3proof' uncached and NULL cached.

Adds config/ticketing.php + mergeConfigFrom so the value is captured at
cache time, and drops the env() fallbacks.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 14:00:15 -04:00

46 lines
2.1 KiB
JSON

{
"name": "dashboard/ticketing",
"description": "Help desk ticketing snap-in for the Dashboard platform",
"version": "1.0.2",
"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": {
"tier": "optional",
"stability": "stable",
"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" }
],
"seeders": [
"Dashboard\\Ticketing\\Database\\Seeders\\EmailTemplatesSeeder"
]
}
}
}