'text/css; charset=UTF-8', 'js' => 'application/javascript; charset=UTF-8', 'svg' => 'image/svg+xml', 'png' => 'image/png', 'jpg' => 'image/jpeg', 'jpeg' => 'image/jpeg', 'gif' => 'image/gif', 'ico' => 'image/x-icon', 'woff' => 'font/woff', 'woff2' => 'font/woff2', 'ttf' => 'font/ttf', ]; return response(file_get_contents($file), 200, [ 'Content-Type' => $contentTypes[$extension] ?? 'application/octet-stream', 'Cache-Control' => app()->environment('local') ? 'no-cache, no-store, must-revalidate' : 'public, max-age=86400', 'X-Content-Type-Options' => 'nosniff', ]); })->where('path', '.+')->name('assets'); Route::get('/health', fn () => response()->json(['module' => 'M3', 'status' => 'ok', 'database' => config('m3.connection', 'pgsql')]))->name('health'); // Admin Panel Route::get('/', [DashboardController::class, 'index'])->name('index'); // Utilities UtilitiesController Route::get('/utilities', [UtilitiesController::class, 'index'])->name('utilities'); Route::get('/pdfReadWrite', [UtilitiesController::class, 'pdfReadWrite'])->name('pdfReadWrite'); Route::get('/fixICM799MSentPKR', [UtilitiesController::class, 'fixICM799MSentPKR'])->name('fixICM799MSentPKR'); Route::get('/generateGS128', [UtilitiesController::class, 'generateGS128'])->name('generateGS128'); Route::get('/miscTests', [UtilitiesController::class, 'miscTests'])->name('miscTests'); // logout Route::get('/logout', [AuthController::class, 'logout'])->name('logout'); // orderInquiry // Route::get('/orderInquiry', [orderInquiryController::class, 'index'])->name('orderInquiry'); // Route::post('/gotoOrder',[ordersOnHoldReqController::class, 'order'])->name('ordersOnHoldReqOrder'); // v4 Route::get('/UserPickingStats4', [UserPickingStats4::class, 'index'])->name('UserPickingStats4'); Route::post('/UserPickingStats4', [UserPickingStats4::class, 'index'])->name('UserPickingStats4'); // userControl Route::get('/userControl', [UserControlController::class, 'index'])->name('userControl'); Route::post('/userControl', [UserControlController::class, 'index'])->name('userControl'); Route::post('/userControl/saveUserAdd', [UserControlController::class, 'saveUserAdd'])->name('saveUserAdd'); Route::post('/userControl/saveUserEdit', [UserControlController::class, 'saveUserEdit'])->name('saveUserEdit'); Route::get('/userControl/callCL', [UserControlController::class, 'callCL'])->name('callCL'); Route::post('/userControl/savePassword', [UserControlController::class, 'savePassword'])->name('savePassword'); // palletQty Route::get('/palletQty', [PalletQtyController::class, 'index'])->name('palletQty'); Route::post('/palletQty', [PalletQtyController::class, 'index'])->name('palletQty'); Route::post('/palletQty/saveQtyAdd', [PalletQtyController::class, 'saveQtyAdd'])->name('saveQtyAdd'); Route::post('/palletQty/saveQtyAdd2', [PalletQtyController::class, 'saveQtyAdd2'])->name('saveQtyAdd2'); Route::post('/palletQty/saveQtyEdit', [PalletQtyController::class, 'saveQtyEdit'])->name('saveQtyEdit'); // carrierMaint Route::get('/carrierMaint', [CarrierMaintController::class, 'index'])->name('carrierMaint'); Route::post('/carrierMaint', [CarrierMaintController::class, 'index'])->name('carrierMaint'); Route::post('/carrierMaint/saveCarrierAdd', [CarrierMaintController::class, 'saveCarrierAdd'])->name('saveCarrierAdd'); Route::post('/carrierMaint/saveCarrierAdd2', [CarrierMaintController::class, 'saveCarrierAdd2'])->name('saveCarrierAdd2'); Route::post('/carrierMaint/saveCarrierEdit', [CarrierMaintController::class, 'saveCarrierEdit'])->name('saveCarrierEdit'); // M3Delivery Maint Route::get('/M3Delivery', [M3DeliveryController::class, 'index'])->name('M3Delivery'); Route::post('/M3Delivery', [M3DeliveryController::class, 'index'])->name('M3Delivery'); Route::post('/M3Delivery/saveM3DeliveryAdd', [M3DeliveryController::class, 'saveM3DeliveryAdd'])->name('saveM3DeliveryAdd'); Route::post('/M3Delivery/saveM3DeliveryEdit', [M3DeliveryController::class, 'saveM3DeliveryEdit'])->name('saveM3DeliveryEdit'); // Replenishement Settings Route::resource('/replenishmentSettings', 'Modules\M3\Http\Controllers\ReplenishSettingsController', ['except' => ['create', 'edit', 'update', 'destroy']]); // 'store', Route::post('/replenishmentSettingsUpdate', 'Modules\M3\Http\Controllers\ReplenishSettingsController@update')->name('replenishmentSettingsUpdate'); Route::post('/replenishmentSettingsDelete', 'Modules\M3\Http\Controllers\ReplenishSettingsController@deleteRec')->name('replenishmentSettingsDelete'); Route::post('/replenishmentSettingsExist', 'Modules\M3\Http\Controllers\ReplenishSettingsController@checkRecExit')->name('replenishmentSettingsExist'); Route::get('/replenishmentSettingsDT', 'Modules\M3\Http\Controllers\ReplenishSettingsController@datatables')->name('replenishmentSettingsDT'); // M3 Errors Display M3ErrorsDispController Route::resource('/M3ErrorsDisplay', 'Modules\M3\Http\Controllers\M3ErrorsDispController', ['except' => ['create', 'store', 'edit', 'update', 'destroy']]); Route::get('/M3ErrorsDisplayDT', 'Modules\M3\Http\Controllers\M3ErrorsDispController@datatables')->name('M3ErrorsDisplayDT'); Route::post('/M3ErrorsDisplay699', 'Modules\M3\Http\Controllers\M3ErrorsDispController@update699M')->name('M3ErrorsDisplay699'); Route::post('/exporttoExcel699', 'Modules\M3\Http\Controllers\M3ErrorsDispController@exporttoExcel')->name('exporttoExcel699'); // M3 Cached PDF Route::resource('/M3GetPDFFromCache', 'Modules\M3\Http\Controllers\M3GetPDFFromCacheController', ['except' => ['create', 'store', 'edit', 'update', 'destroy']]); Route::any('/M3GetPDFFromCache', 'Modules\M3\Http\Controllers\M3GetPDFFromCacheController@index'); // M3 Call Close API Route::any('/M3ManifestCloseAPI', [M3CallCloseAPIController::class, 'index'])->name('M3ManifestCloseAPI'); // Closed order lines report Route::any('/OrderLinesOfClosedOrder', 'Modules\M3\Http\Controllers\OrderLinesOfClosedOrder@index')->name('OrderLinesOfClosedOrder'); Route::post('/exporttoExcel', 'Modules\M3\Http\Controllers\OrderLinesOfClosedOrder@exporttoExcel')->name('exporttoExcel'); Route::any('/StoreExcelToDisk', 'Modules\M3\Http\Controllers\OrderLinesOfClosedOrder@StoreExcelToDisk')->name('StoreExcelToDisk'); Route::any('/downloadFiles', 'Modules\M3\Http\Controllers\OrderLinesOfClosedOrder@downloadFiles')->name('downloadFiles'); // v5 Route::get('/UserPickingStats5', [UserPickingStats5::class, 'index'])->name('UserPickingStats5'); Route::post('/UserPickingStats5', [UserPickingStats5::class, 'index'])->name('UserPickingStats5'); // 732 // pendingClosure Route::get('/pendingClosure', [PendingClosureController::class, 'index'])->name('pendingClosure'); Route::post('/pendingClosure', [PendingClosureController::class, 'index'])->name('pendingClosure'); Route::post('/allowRetry', [PendingClosureController::class, 'allowRetry'])->name('allowRetry'); // Ship To Route::resource('ship-to', ShipToController::class)->parameters(['ship-to' => 'austcn'])->except(['show']); Route::get('/ship-to/{aushshzp}/{aushwhs}/edit', [ShipToController::class, 'edit'])->name('ship-to.edit'); Route::put('/ship-to/{aushshzp}/{aushwhs}', [ShipToController::class, 'update'])->name('ship-to.update'); Route::delete('/ship-to/{aushshzp}/{aushwhs}', [ShipToController::class, 'destroy'])->name('ship-to.destroy'); // MF Orders Route::get('/MFOrders/{id}', [MFOrdersController::class, 'index'])->name('MFOrders'); // Get Contents for CloseShipment Route::any('/GetContentsForClose', [GetContentsController::class, 'processShipment'])->name('GetContentsForClose'); // Update Profile Route::any('/userprofile', [UserProfileController::class, 'index'])->name('userprofile'); Route::post('/userprofileupdate', [UserProfileController::class, 'updateUserProfile'])->name('userprofileupdate'); Route::any('/userprofileupdateajax', [UserProfileController::class, 'updateUserProfileAjax'])->name('userprofileupdateajax'); // Sentinel Functions Route::any('/packSyst5Func', [SentinelController::class, 'packSyst5Func'])->name('packSyst5Func'); // Executives summary Route::any('/execsummary', [ExecSummaryController::class, 'index'])->name('execsummary'); Route::any('/execsummaryline', [ExecSummaryLineController::class, 'index'])->name('execsummaryline'); // Warehouse Perf Metrics Route::any('/whsePerf', [WhsePerfController::class, 'index'])->name('whsePerf'); Route::any('/whsePerfExcel', [WhsePerfController::class, 'exportTable'])->name('whsePerfExcel'); Route::any('/whsePerfShow', [WhsePerfController::class, 'displayTable'])->name('whsePerfShow'); Route::any('/whsePerfDetails', [WhsePerfDetailsController::class, 'index'])->name('whsePerfDetails'); Route::any('/downloadFilesWhs', [WhsPerfMetrics::class, 'downloadFiles'])->name('downloadFilesWhs'); // BOL PDFs Route::any('/fillBOL', [FillBOLController::class, 'index'])->name('fillBOL'); Route::any('/fillBOLPDF', [FillBOLController::class, 'fillBOL'])->name('fillBOLPDF'); Route::any('/fillBOL2', [FillBOL2Controller::class, 'index'])->name('fillBOL2'); Route::any('/fillBOL2PDF', [FillBOL2Controller::class, 'fillBOL'])->name('fillBOL2PDF'); // Pack Box to Pallet BoxPackToPalletController Route::any('/BoxPackToPallet', [BoxPackToPalletController::class, 'index'])->name('BoxPackToPallet'); Route::any('/BoxPackToPallet/getboxes', [BoxPackToPalletController::class, 'getBoxes'])->name('BoxPackToPallet.getboxes'); Route::any('/BoxPackToPallet/scanboxes', [BoxPackToPalletController::class, 'scanBoxes'])->name('BoxPackToPallet.scanboxes'); Route::any('/BoxPackToPallet/deletebox', [BoxPackToPalletController::class, 'deleteBox'])->name('BoxPackToPallet.deletebox');