@fleetbase/fleetops-engine 0.4.8 → 0.4.10

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.
Files changed (47) hide show
  1. package/composer.json +2 -2
  2. package/extension.json +1 -1
  3. package/package.json +1 -1
  4. package/server/src/Casts/Point.php +0 -2
  5. package/server/src/Exceptions/IntegratedVendorException.php +2 -2
  6. package/server/src/Flow/Activity.php +4 -3
  7. package/server/src/Flow/Config.php +4 -4
  8. package/server/src/Flow/Logic.php +4 -4
  9. package/server/src/Http/Controllers/Api/v1/DriverController.php +28 -20
  10. package/server/src/Http/Controllers/Api/v1/OrderController.php +5 -5
  11. package/server/src/Http/Controllers/Api/v1/TrackingNumberController.php +1 -1
  12. package/server/src/Http/Controllers/Internal/v1/DriverController.php +9 -11
  13. package/server/src/Http/Controllers/Internal/v1/FleetOpsLookupController.php +1 -1
  14. package/server/src/Http/Controllers/Internal/v1/GeocoderController.php +2 -2
  15. package/server/src/Http/Controllers/Internal/v1/MetricsController.php +0 -1
  16. package/server/src/Http/Controllers/Internal/v1/OrderController.php +4 -4
  17. package/server/src/Http/Resources/v1/Order.php +1 -1
  18. package/server/src/Http/Resources/v1/ServiceQuoteItem.php +6 -6
  19. package/server/src/Imports/OrdersImport.php +1 -1
  20. package/server/src/Integrations/Lalamove/Lalamove.php +5 -5
  21. package/server/src/Jobs/SimulateDrivingRoute.php +2 -2
  22. package/server/src/Jobs/SimulateWaypointReached.php +2 -2
  23. package/server/src/Listeners/HandleOrderDispatchFailed.php +1 -1
  24. package/server/src/Listeners/HandleOrderDriverAssigned.php +2 -2
  25. package/server/src/Models/Driver.php +2 -2
  26. package/server/src/Models/Entity.php +3 -3
  27. package/server/src/Models/Order.php +4 -4
  28. package/server/src/Models/Payload.php +8 -8
  29. package/server/src/Models/Place.php +1 -1
  30. package/server/src/Models/ServiceArea.php +9 -9
  31. package/server/src/Models/ServiceRate.php +2 -2
  32. package/server/src/Models/TrackingNumber.php +2 -2
  33. package/server/src/Models/TrackingStatus.php +1 -1
  34. package/server/src/Models/Vehicle.php +3 -3
  35. package/server/src/Models/Waypoint.php +1 -1
  36. package/server/src/Models/Zone.php +4 -4
  37. package/server/src/Notifications/OrderAssigned.php +22 -27
  38. package/server/src/Notifications/OrderCanceled.php +22 -23
  39. package/server/src/Notifications/OrderDispatchFailed.php +1 -1
  40. package/server/src/Notifications/OrderDispatched.php +22 -23
  41. package/server/src/Notifications/OrderPing.php +21 -22
  42. package/server/src/Notifications/OrderSplit.php +1 -1
  43. package/server/src/Support/Flow.php +6 -6
  44. package/server/src/Support/Geocoding.php +1 -1
  45. package/server/src/Support/IntegratedVendors.php +1 -1
  46. package/server/src/Support/Metrics.php +15 -15
  47. package/server/src/routes.php +3 -3
@@ -25,7 +25,7 @@ class Metrics
25
25
  protected Company $company;
26
26
  protected array $metrics = [];
27
27
 
28
- public static function new(Company $company, \DateTime $start = null, \DateTime $end = null): Metrics
28
+ public static function new(Company $company, ?\DateTime $start = null, ?\DateTime $end = null): Metrics
29
29
  {
30
30
  $start = $start === null ? Carbon::create(1900)->toDateTime() : $start;
31
31
  $end = $end === null ? Carbon::tomorrow()->toDateTime() : $end;
@@ -33,7 +33,7 @@ class Metrics
33
33
  return (new static())->setCompany($company)->between($start, $end);
34
34
  }
35
35
 
36
- public static function forCompany(Company $company, \DateTime $start = null, \DateTime $end = null): Metrics
36
+ public static function forCompany(Company $company, ?\DateTime $start = null, ?\DateTime $end = null): Metrics
37
37
  {
38
38
  return static::new($company, $start, $end);
39
39
  }
@@ -106,7 +106,7 @@ class Metrics
106
106
  return $this;
107
107
  }
108
108
 
109
- public function earnings(callable $callback = null): Metrics
109
+ public function earnings(?callable $callback = null): Metrics
110
110
  {
111
111
  $query = Transaction::where('company_uuid', $this->company->uuid)->whereBetween('created_at', [$this->start, $this->end]);
112
112
 
@@ -119,7 +119,7 @@ class Metrics
119
119
  return $this->set('earnings', (int) $data);
120
120
  }
121
121
 
122
- public function fuelCosts(callable $callback = null): Metrics
122
+ public function fuelCosts(?callable $callback = null): Metrics
123
123
  {
124
124
  $query = FuelReport::where('company_uuid', $this->company->uuid)->whereBetween('created_at', [$this->start, $this->end]);
125
125
 
@@ -132,7 +132,7 @@ class Metrics
132
132
  return $this->set('fuel_costs', (int) $data);
133
133
  }
134
134
 
135
- public function totalDistanceTraveled(callable $callback = null): Metrics
135
+ public function totalDistanceTraveled(?callable $callback = null): Metrics
136
136
  {
137
137
  $query = Order::where(
138
138
  [
@@ -151,7 +151,7 @@ class Metrics
151
151
  return $this->set('total_distance_traveled', (int) $data);
152
152
  }
153
153
 
154
- public function totalTimeTraveled(callable $callback = null): Metrics
154
+ public function totalTimeTraveled(?callable $callback = null): Metrics
155
155
  {
156
156
  $query = Order::where(
157
157
  [
@@ -170,7 +170,7 @@ class Metrics
170
170
  return $this->set('total_distance_traveled', (int) $data);
171
171
  }
172
172
 
173
- public function ordersCanceled(callable $callback = null): Metrics
173
+ public function ordersCanceled(?callable $callback = null): Metrics
174
174
  {
175
175
  $query = Order::where('company_uuid', $this->company->uuid)
176
176
  ->whereBetween('created_at', [$this->start, $this->end])
@@ -185,7 +185,7 @@ class Metrics
185
185
  return $this->set('orders_canceled', $data);
186
186
  }
187
187
 
188
- public function ordersCompleted(callable $callback = null): Metrics
188
+ public function ordersCompleted(?callable $callback = null): Metrics
189
189
  {
190
190
  $query = Order::where('company_uuid', $this->company->uuid)
191
191
  ->whereBetween('created_at', [$this->start, $this->end])
@@ -200,7 +200,7 @@ class Metrics
200
200
  return $this->set('orders_completed', $data);
201
201
  }
202
202
 
203
- public function ordersInProgress(callable $callback = null): Metrics
203
+ public function ordersInProgress(?callable $callback = null): Metrics
204
204
  {
205
205
  $query = Order::where('company_uuid', $this->company->uuid)
206
206
  ->whereBetween('created_at', [$this->start, $this->end])
@@ -215,7 +215,7 @@ class Metrics
215
215
  return $this->set('orders_in_progress', $data);
216
216
  }
217
217
 
218
- public function ordersScheduled(callable $callback = null): Metrics
218
+ public function ordersScheduled(?callable $callback = null): Metrics
219
219
  {
220
220
  $query = Order::where('company_uuid', $this->company->uuid)
221
221
  ->whereBetween('created_at', [$this->start, $this->end])
@@ -231,7 +231,7 @@ class Metrics
231
231
  return $this->set('orders_scheduled', $data);
232
232
  }
233
233
 
234
- public function driversOnline(callable $callback = null): Metrics
234
+ public function driversOnline(?callable $callback = null): Metrics
235
235
  {
236
236
  $query = Driver::where('company_uuid', $this->company->uuid)
237
237
  ->where('online', true)
@@ -246,7 +246,7 @@ class Metrics
246
246
  return $this->set('drivers_online', $data);
247
247
  }
248
248
 
249
- public function totalDrivers(callable $callback = null): Metrics
249
+ public function totalDrivers(?callable $callback = null): Metrics
250
250
  {
251
251
  $query = Driver::where('company_uuid', $this->company->uuid);
252
252
 
@@ -259,7 +259,7 @@ class Metrics
259
259
  return $this->set('total_drivers', $data);
260
260
  }
261
261
 
262
- public function totalCustomers(callable $callback = null): Metrics
262
+ public function totalCustomers(?callable $callback = null): Metrics
263
263
  {
264
264
  $query = Contact::where('company_uuid', $this->company->uuid)
265
265
  ->where('type', 'customer');
@@ -273,7 +273,7 @@ class Metrics
273
273
  return $this->set('total_customers', $data);
274
274
  }
275
275
 
276
- public function openIssues(callable $callback = null): Metrics
276
+ public function openIssues(?callable $callback = null): Metrics
277
277
  {
278
278
  $query = Issue::where('company_uuid', session('company'))
279
279
  ->whereBetween('created_at', [$this->start, $this->end])
@@ -288,7 +288,7 @@ class Metrics
288
288
  return $this->set('open_issues', $data);
289
289
  }
290
290
 
291
- public function resolvedIssues(callable $callback = null): Metrics
291
+ public function resolvedIssues(?callable $callback = null): Metrics
292
292
  {
293
293
  $query = Issue::where('company_uuid', session('company'))
294
294
  ->whereBetween('created_at', [$this->start, $this->end])
@@ -23,7 +23,7 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
23
23
  | End-user API routes, these are routes that the SDK and applications will interface with, and require API credentials.
24
24
  */
25
25
  Route::prefix('v1')
26
- ->middleware(['fleetbase.api', \Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class])
26
+ ->middleware(['fleetbase.api', Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class])
27
27
  ->namespace('Api\v1')
28
28
  ->group(function ($router) {
29
29
  // drivers routes
@@ -194,7 +194,7 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
194
194
  });
195
195
 
196
196
  // auth:sanctum
197
- $router->group(['middleware' => ['fleetbase.protected', \Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class]], function () use ($router) {
197
+ $router->group(['middleware' => ['fleetbase.protected', Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class]], function () use ($router) {
198
198
  $router->group(['prefix' => 'orders'], function () use ($router) {
199
199
  $router->post('/', 'Api\v1\OrderController@create');
200
200
  $router->get('/', 'Api\v1\OrderController@query');
@@ -249,7 +249,7 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
249
249
  );
250
250
 
251
251
  $router->group(
252
- ['prefix' => 'v1', 'namespace' => 'v1', 'middleware' => ['fleetbase.protected', \Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class]],
252
+ ['prefix' => 'v1', 'namespace' => 'v1', 'middleware' => ['fleetbase.protected', Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class]],
253
253
  function ($router) {
254
254
  $router->fleetbaseRoutes(
255
255
  'contacts',