ultimatepos/Modules/Tms/Http/Controllers/DriverTrackController.php

39 lines
1.1 KiB
PHP

<?php
namespace Modules\Tms\Http\Controllers;
use Illuminate\Routing\Controller;
use Modules\Tms\Http\Controllers\Concerns\AuthorizesTms;
use Modules\Tms\Models\Shipment;
use Modules\Tms\Services\TmsTrackingService;
use Modules\Tms\Utils\TmsUtil;
class DriverTrackController extends Controller
{
use AuthorizesTms;
public function __construct(
protected TmsUtil $tmsUtil,
protected TmsTrackingService $trackingService
) {}
public function index()
{
$this->authorizeTmsAccess('tms.tracking.report');
$business_id = $this->tmsUtil->getBusinessId();
$driver = $this->trackingService->resolveDriverForUser($business_id, (int) auth()->id());
$activeShipment = null;
if ($driver) {
$activeShipment = Shipment::where('business_id', $business_id)
->where('driver_id', $driver->id)
->whereIn('status', ['scheduled', 'in_transit'])
->latest()
->first();
}
return view('tms::driver.track', compact('driver', 'activeShipment'));
}
}