ultimatepos/Modules/Tms/Routes/web.php

115 lines
6.8 KiB
PHP

<?php
use Modules\Tms\Http\Controllers\CarrierController;
use Modules\Tms\Http\Controllers\ContactTmsController;
use Modules\Tms\Http\Controllers\CustomsBrokerController;
use Modules\Tms\Http\Controllers\CustomsClearanceController;
use Modules\Tms\Http\Controllers\DashboardController;
use Modules\Tms\Http\Controllers\DriverController;
use Modules\Tms\Http\Controllers\DriverTrackController;
use Modules\Tms\Http\Controllers\InstallController;
use Modules\Tms\Http\Controllers\RouteController;
use Modules\Tms\Http\Controllers\SettingsController;
use Modules\Tms\Http\Controllers\ShipmentController;
use Modules\Tms\Http\Controllers\TrackingController;
use Modules\Tms\Http\Controllers\VehicleController;
Route::middleware('web', 'authh', 'auth', 'SetSessionData', 'language', 'timezone', 'AdminSidebarMenu')
->prefix('tms')
->group(function () {
Route::get('/install', [InstallController::class, 'index']);
Route::post('/install', [InstallController::class, 'install']);
Route::get('/install/uninstall', [InstallController::class, 'uninstall']);
Route::get('/install/update', [InstallController::class, 'update']);
Route::get('/dashboard', [DashboardController::class, 'index']);
// Shipments
Route::get('/shipments', [ShipmentController::class, 'index']);
Route::get('/shipments/create', [ShipmentController::class, 'create']);
Route::post('/shipments', [ShipmentController::class, 'store']);
Route::get('/shipments/{id}', [ShipmentController::class, 'show']);
Route::get('/shipments/{id}/edit', [ShipmentController::class, 'edit']);
Route::put('/shipments/{id}', [ShipmentController::class, 'update']);
Route::post('/shipments/{id}/status', [ShipmentController::class, 'updateStatus']);
Route::post('/shipments/from-transaction/{transaction_id}', [ShipmentController::class, 'createFromTransaction']);
Route::post('/shipments/from-mission/{mission_id}', [ShipmentController::class, 'createFromFieldMission']);
Route::post('/shipments/from-project/{project_id}', [ShipmentController::class, 'createFromProject']);
Route::post('/shipments/geocode', [ShipmentController::class, 'geocodeAddress']);
Route::delete('/shipments/{id}', [ShipmentController::class, 'destroy']);
// Vehicles
Route::get('/vehicles', [VehicleController::class, 'index']);
Route::get('/vehicles/create', [VehicleController::class, 'create']);
Route::post('/vehicles', [VehicleController::class, 'store']);
Route::get('/vehicles/{id}/edit', [VehicleController::class, 'edit']);
Route::put('/vehicles/{id}', [VehicleController::class, 'update']);
Route::delete('/vehicles/{id}', [VehicleController::class, 'destroy']);
// Drivers
Route::get('/drivers', [DriverController::class, 'index']);
Route::get('/drivers/create', [DriverController::class, 'create']);
Route::post('/drivers', [DriverController::class, 'store']);
Route::get('/drivers/{id}/edit', [DriverController::class, 'edit']);
Route::put('/drivers/{id}', [DriverController::class, 'update']);
Route::delete('/drivers/{id}', [DriverController::class, 'destroy']);
// Carriers
Route::get('/carriers', [CarrierController::class, 'index']);
Route::get('/carriers/create', [CarrierController::class, 'create']);
Route::post('/carriers', [CarrierController::class, 'store']);
Route::get('/carriers/{id}/edit', [CarrierController::class, 'edit']);
Route::put('/carriers/{id}', [CarrierController::class, 'update']);
Route::delete('/carriers/{id}', [CarrierController::class, 'destroy']);
// Settings
Route::get('/settings', [SettingsController::class, 'index']);
Route::put('/settings', [SettingsController::class, 'update']);
// Contact integration
Route::get('/contacts/{contact_id}/shipments', [ContactTmsController::class, 'shipments']);
// GPS tracking
Route::get('/tracking', [TrackingController::class, 'index']);
Route::get('/tracking/live-data', [TrackingController::class, 'liveData']);
Route::get('/tracking/shipments/{shipment_id}', [TrackingController::class, 'shipmentMap']);
Route::get('/tracking/shipments/{shipment_id}/data', [TrackingController::class, 'shipmentTrackData']);
Route::post('/tracking/location', [TrackingController::class, 'storeLocation']);
// Driver GPS sharing
Route::get('/driver/track', [DriverTrackController::class, 'index']);
// Routes
Route::get('/routes', [RouteController::class, 'index']);
Route::get('/routes/create', [RouteController::class, 'create']);
Route::post('/routes', [RouteController::class, 'store']);
Route::get('/routes/{id}', [RouteController::class, 'show']);
Route::get('/routes/{id}/edit', [RouteController::class, 'edit']);
Route::put('/routes/{id}', [RouteController::class, 'update']);
Route::post('/routes/{id}/optimize', [RouteController::class, 'optimize']);
Route::delete('/routes/{id}', [RouteController::class, 'destroy']);
// Customs brokers
Route::get('/brokers', [CustomsBrokerController::class, 'index']);
Route::get('/brokers/create', [CustomsBrokerController::class, 'create']);
Route::post('/brokers', [CustomsBrokerController::class, 'store']);
Route::get('/brokers/{id}/edit', [CustomsBrokerController::class, 'edit']);
Route::put('/brokers/{id}', [CustomsBrokerController::class, 'update']);
Route::delete('/brokers/{id}', [CustomsBrokerController::class, 'destroy']);
// Customs clearance
Route::get('/customs', [CustomsClearanceController::class, 'index']);
Route::get('/customs/create', [CustomsClearanceController::class, 'create']);
Route::post('/customs', [CustomsClearanceController::class, 'store']);
Route::get('/customs/{id}', [CustomsClearanceController::class, 'show']);
Route::get('/customs/{id}/edit', [CustomsClearanceController::class, 'edit']);
Route::put('/customs/{id}', [CustomsClearanceController::class, 'update']);
Route::post('/customs/{id}/status', [CustomsClearanceController::class, 'updateStatus']);
Route::post('/customs/from-transaction/{transaction_id}', [CustomsClearanceController::class, 'createFromTransaction']);
Route::post('/customs/from-shipment/{shipment_id}', [CustomsClearanceController::class, 'createFromShipment']);
Route::post('/customs/{id}/documents', [CustomsClearanceController::class, 'uploadDocument']);
Route::delete('/customs/{id}/documents/{document_id}', [CustomsClearanceController::class, 'deleteDocument']);
Route::delete('/customs/{id}', [CustomsClearanceController::class, 'destroy']);
});