@fleetbase/fleetops-engine 0.6.24 → 0.6.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/composer.json +1 -1
- package/extension.json +1 -1
- package/package.json +1 -1
- package/server/src/Http/Controllers/Api/v1/DriverController.php +14 -4
- package/server/src/Http/Controllers/Api/v1/VehicleController.php +2 -2
- package/server/src/Http/Resources/v1/Driver.php +1 -1
- package/server/src/Models/Driver.php +3 -0
package/composer.json
CHANGED
package/extension.json
CHANGED
package/package.json
CHANGED
|
@@ -323,8 +323,8 @@ class DriverController extends Controller
|
|
|
323
323
|
*/
|
|
324
324
|
public function track(string $id, Request $request)
|
|
325
325
|
{
|
|
326
|
-
$latitude = $request->input('latitude');
|
|
327
|
-
$longitude = $request->input('longitude');
|
|
326
|
+
$latitude = (float) $request->input('latitude');
|
|
327
|
+
$longitude = (float) $request->input('longitude');
|
|
328
328
|
$altitude = $request->input('altitude');
|
|
329
329
|
$heading = $request->input('heading');
|
|
330
330
|
$speed = $request->input('speed');
|
|
@@ -365,7 +365,11 @@ class DriverController extends Controller
|
|
|
365
365
|
|
|
366
366
|
$driver->loadMissing('vehicle');
|
|
367
367
|
if ($vehicle = $driver->vehicle) {
|
|
368
|
-
$
|
|
368
|
+
$vehicleUpdateData = [...$positionData];
|
|
369
|
+
if ($vehicle->online !== $driver->online) {
|
|
370
|
+
$vehicleUpdateData['online'] = $driver->online;
|
|
371
|
+
}
|
|
372
|
+
$vehicle->updateQuietly($vehicleUpdateData);
|
|
369
373
|
$vehicle->createPosition($positionData);
|
|
370
374
|
broadcast(new VehicleLocationChanged($vehicle, ['driver' => $driver->public_id]));
|
|
371
375
|
}
|
|
@@ -420,7 +424,13 @@ class DriverController extends Controller
|
|
|
420
424
|
$onlineValue = is_null($onlineParam) ? !$driver->online : Utils::castBoolean($onlineParam);
|
|
421
425
|
|
|
422
426
|
// Perform a single update call
|
|
423
|
-
$driver->
|
|
427
|
+
$driver->updateQuietly(['online' => $onlineValue]);
|
|
428
|
+
|
|
429
|
+
// Update vehicle online too
|
|
430
|
+
$driver->loadMissing('vehicle');
|
|
431
|
+
if ($vehicle = $driver->vehicle) {
|
|
432
|
+
$vehicle->updateQuietly(['online' => $onlineValue]);
|
|
433
|
+
}
|
|
424
434
|
|
|
425
435
|
// Return the updated resource
|
|
426
436
|
return new DriverResource($driver);
|
|
@@ -218,8 +218,8 @@ class VehicleController extends Controller
|
|
|
218
218
|
*/
|
|
219
219
|
public function track(string $id, Request $request)
|
|
220
220
|
{
|
|
221
|
-
$latitude = $request->input('latitude');
|
|
222
|
-
$longitude = $request->input('longitude');
|
|
221
|
+
$latitude = (float) $request->input('latitude');
|
|
222
|
+
$longitude = (float) $request->input('longitude');
|
|
223
223
|
$altitude = $request->input('altitude');
|
|
224
224
|
$heading = $request->input('heading');
|
|
225
225
|
$speed = $request->input('speed');
|
|
@@ -46,7 +46,7 @@ class Driver extends FleetbaseResource
|
|
|
46
46
|
'vendor_name' => $this->when(Http::isInternalRequest(), $this->vendor_name),
|
|
47
47
|
'vehicle' => $this->whenLoaded('vehicle', fn () => new VehicleWithoutDriver($this->vehicle)),
|
|
48
48
|
'current_job' => $this->whenLoaded('currentJob', fn () => new Order($this->currentJob)),
|
|
49
|
-
'current_job_id' => $this->when(Http::isInternalRequest(), data_get($this, 'currentJob.
|
|
49
|
+
'current_job_id' => $this->when(Http::isInternalRequest(), data_get($this, 'currentJob.tracking')),
|
|
50
50
|
'jobs' => $this->whenLoaded('jobs', fn () => $this->getJobs()),
|
|
51
51
|
'vendor' => $this->whenLoaded('vendor', fn () => new Vendor($this->vendor)),
|
|
52
52
|
'fleets' => $this->whenLoaded('fleets', fn () => Fleet::collection($this->fleets()->without('drivers')->get())),
|