@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.
- package/composer.json +2 -2
- package/extension.json +1 -1
- package/package.json +1 -1
- package/server/src/Casts/Point.php +0 -2
- package/server/src/Exceptions/IntegratedVendorException.php +2 -2
- package/server/src/Flow/Activity.php +4 -3
- package/server/src/Flow/Config.php +4 -4
- package/server/src/Flow/Logic.php +4 -4
- package/server/src/Http/Controllers/Api/v1/DriverController.php +28 -20
- package/server/src/Http/Controllers/Api/v1/OrderController.php +5 -5
- package/server/src/Http/Controllers/Api/v1/TrackingNumberController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +9 -11
- package/server/src/Http/Controllers/Internal/v1/FleetOpsLookupController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/GeocoderController.php +2 -2
- package/server/src/Http/Controllers/Internal/v1/MetricsController.php +0 -1
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +4 -4
- package/server/src/Http/Resources/v1/Order.php +1 -1
- package/server/src/Http/Resources/v1/ServiceQuoteItem.php +6 -6
- package/server/src/Imports/OrdersImport.php +1 -1
- package/server/src/Integrations/Lalamove/Lalamove.php +5 -5
- package/server/src/Jobs/SimulateDrivingRoute.php +2 -2
- package/server/src/Jobs/SimulateWaypointReached.php +2 -2
- package/server/src/Listeners/HandleOrderDispatchFailed.php +1 -1
- package/server/src/Listeners/HandleOrderDriverAssigned.php +2 -2
- package/server/src/Models/Driver.php +2 -2
- package/server/src/Models/Entity.php +3 -3
- package/server/src/Models/Order.php +4 -4
- package/server/src/Models/Payload.php +8 -8
- package/server/src/Models/Place.php +1 -1
- package/server/src/Models/ServiceArea.php +9 -9
- package/server/src/Models/ServiceRate.php +2 -2
- package/server/src/Models/TrackingNumber.php +2 -2
- package/server/src/Models/TrackingStatus.php +1 -1
- package/server/src/Models/Vehicle.php +3 -3
- package/server/src/Models/Waypoint.php +1 -1
- package/server/src/Models/Zone.php +4 -4
- package/server/src/Notifications/OrderAssigned.php +22 -27
- package/server/src/Notifications/OrderCanceled.php +22 -23
- package/server/src/Notifications/OrderDispatchFailed.php +1 -1
- package/server/src/Notifications/OrderDispatched.php +22 -23
- package/server/src/Notifications/OrderPing.php +21 -22
- package/server/src/Notifications/OrderSplit.php +1 -1
- package/server/src/Support/Flow.php +6 -6
- package/server/src/Support/Geocoding.php +1 -1
- package/server/src/Support/IntegratedVendors.php +1 -1
- package/server/src/Support/Metrics.php +15 -15
- 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,
|
|
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,
|
|
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])
|
package/server/src/routes.php
CHANGED
|
@@ -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',
|
|
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',
|
|
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',
|
|
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',
|