@fleetbase/fleetops-engine 0.6.57 → 0.6.59
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/README.md +3 -0
- package/addon/components/customer/form.hbs +0 -49
- package/addon/components/entity/card.hbs +1 -0
- package/addon/components/modals/order-label.hbs +1 -1
- package/addon/components/place/form.hbs +1 -1
- package/addon/services/entity-actions.js +32 -0
- package/addon/styles/fleetops-engine.css +0 -1
- package/composer.json +15 -3
- package/extension.json +1 -1
- package/index.js +7 -1
- package/package.json +3 -2
- package/phpunit.xml.dist +4 -4
- package/pnpm-workspace.yaml +2 -1
- package/scripts/coverage-file-runner.php +240 -0
- package/scripts/coverage-runner.php +52 -0
- package/scripts/coverage-summary.php +149 -0
- package/scripts/pest-bootstrap.php +411 -0
- package/scripts/pest-file-runner.php +94 -0
- package/scripts/pest-runner.php +119 -0
- package/server/resources/views/labels/entity-label.php +4 -4
- package/server/src/Casts/MultiPolygon.php +8 -3
- package/server/src/Casts/OrderConfigEntities.php +10 -3
- package/server/src/Casts/Point.php +10 -6
- package/server/src/Casts/Polygon.php +5 -2
- package/server/src/Console/Commands/AssignCustomerRoles.php +28 -6
- package/server/src/Console/Commands/AssignDriverRoles.php +36 -6
- package/server/src/Console/Commands/AuditCustomerUserConflicts.php +6 -1
- package/server/src/Console/Commands/DispatchAdhocOrders.php +12 -2
- package/server/src/Console/Commands/FixCustomerCompanies.php +46 -11
- package/server/src/Console/Commands/FixDriverCompanies.php +18 -3
- package/server/src/Console/Commands/FixLegacyOrderConfigs.php +31 -6
- package/server/src/Console/Commands/ProcessMaintenanceTriggers.php +94 -42
- package/server/src/Console/Commands/PurgeUnpurchasedServiceQuotes.php +42 -12
- package/server/src/Console/Commands/ReplayVehicleLocations.php +120 -55
- package/server/src/Console/Commands/SendDriverNotification.php +25 -4
- package/server/src/Console/Commands/SendMaintenanceReminders.php +43 -23
- package/server/src/Console/Commands/SimulateOrderRouteNavigation.php +36 -6
- package/server/src/Console/Commands/TrackOrderDistanceAndTime.php +6 -1
- package/server/src/Events/DriverLocationChanged.php +1 -1
- package/server/src/Events/DriverSimulatedLocationChanged.php +1 -1
- package/server/src/Events/EntityActivityChanged.php +1 -1
- package/server/src/Events/EntityCompleted.php +1 -1
- package/server/src/Events/EntityDriverAssigned.php +1 -1
- package/server/src/Events/FuelProviderTransactionImported.php +1 -1
- package/server/src/Events/FuelProviderTransactionMatched.php +1 -1
- package/server/src/Events/FuelProviderTransactionUnmatched.php +1 -1
- package/server/src/Events/FuelReportCreatedFromProvider.php +1 -1
- package/server/src/Events/GeofenceDwelled.php +1 -1
- package/server/src/Events/GeofenceEntered.php +1 -1
- package/server/src/Events/GeofenceExited.php +1 -1
- package/server/src/Events/VehicleLocationChanged.php +1 -1
- package/server/src/Events/WaypointActivityChanged.php +1 -1
- package/server/src/Events/WaypointCompleted.php +1 -1
- package/server/src/Exceptions/IntegratedVendorException.php +2 -2
- package/server/src/Exceptions/TelematicRateLimitExceededException.php +1 -1
- package/server/src/Http/Controllers/Api/v1/ContactController.php +89 -22
- package/server/src/Http/Controllers/Api/v1/CustomerController.php +296 -97
- package/server/src/Http/Controllers/Api/v1/DeviceController.php +48 -14
- package/server/src/Http/Controllers/Api/v1/DriverController.php +168 -63
- package/server/src/Http/Controllers/Api/v1/EntityController.php +112 -66
- package/server/src/Http/Controllers/Api/v1/EquipmentController.php +40 -10
- package/server/src/Http/Controllers/Api/v1/FleetController.php +54 -14
- package/server/src/Http/Controllers/Api/v1/FuelReportController.php +54 -14
- package/server/src/Http/Controllers/Api/v1/FuelTransactionController.php +36 -11
- package/server/src/Http/Controllers/Api/v1/GeofenceController.php +39 -21
- package/server/src/Http/Controllers/Api/v1/IssueController.php +54 -14
- package/server/src/Http/Controllers/Api/v1/LabelController.php +61 -22
- package/server/src/Http/Controllers/Api/v1/NavigatorController.php +21 -5
- package/server/src/Http/Controllers/Api/v1/OrderConfigController.php +35 -5
- package/server/src/Http/Controllers/Api/v1/OrderController.php +388 -203
- package/server/src/Http/Controllers/Api/v1/PartController.php +40 -10
- package/server/src/Http/Controllers/Api/v1/PayloadController.php +90 -30
- package/server/src/Http/Controllers/Api/v1/PlaceController.php +188 -91
- package/server/src/Http/Controllers/Api/v1/PurchaseRateController.php +100 -36
- package/server/src/Http/Controllers/Api/v1/ServiceAreaController.php +96 -26
- package/server/src/Http/Controllers/Api/v1/ServiceQuoteController.php +169 -81
- package/server/src/Http/Controllers/Api/v1/ServiceRateController.php +104 -75
- package/server/src/Http/Controllers/Api/v1/TrackingNumberController.php +83 -14
- package/server/src/Http/Controllers/Api/v1/TrackingStatusController.php +66 -16
- package/server/src/Http/Controllers/Api/v1/VehicleController.php +121 -67
- package/server/src/Http/Controllers/Api/v1/VendorController.php +54 -14
- package/server/src/Http/Controllers/Api/v1/WorkOrderController.php +47 -12
- package/server/src/Http/Controllers/Api/v1/ZoneController.php +84 -24
- package/server/src/Http/Controllers/Internal/v1/AnalyticsController.php +15 -5
- package/server/src/Http/Controllers/Internal/v1/ContactController.php +113 -28
- package/server/src/Http/Controllers/Internal/v1/CustomerController.php +36 -11
- package/server/src/Http/Controllers/Internal/v1/DeviceController.php +9 -4
- package/server/src/Http/Controllers/Internal/v1/DriverController.php +167 -69
- package/server/src/Http/Controllers/Internal/v1/EquipmentController.php +18 -3
- package/server/src/Http/Controllers/Internal/v1/FleetController.php +137 -60
- package/server/src/Http/Controllers/Internal/v1/FleetOpsLookupController.php +24 -9
- package/server/src/Http/Controllers/Internal/v1/FuelReportController.php +18 -3
- package/server/src/Http/Controllers/Internal/v1/GeocoderController.php +26 -8
- package/server/src/Http/Controllers/Internal/v1/GettingStartedController.php +12 -2
- package/server/src/Http/Controllers/Internal/v1/IntegratedVendorController.php +27 -6
- package/server/src/Http/Controllers/Internal/v1/IssueController.php +82 -29
- package/server/src/Http/Controllers/Internal/v1/MaintenanceController.php +34 -26
- package/server/src/Http/Controllers/Internal/v1/MaintenanceScheduleController.php +141 -97
- package/server/src/Http/Controllers/Internal/v1/ManifestController.php +28 -8
- package/server/src/Http/Controllers/Internal/v1/MetricsController.php +21 -12
- package/server/src/Http/Controllers/Internal/v1/MorphController.php +90 -18
- package/server/src/Http/Controllers/Internal/v1/NavigatorController.php +88 -35
- package/server/src/Http/Controllers/Internal/v1/OrchestrationController.php +149 -39
- package/server/src/Http/Controllers/Internal/v1/OrderConfigController.php +54 -18
- package/server/src/Http/Controllers/Internal/v1/OrderController.php +298 -86
- package/server/src/Http/Controllers/Internal/v1/PartController.php +18 -3
- package/server/src/Http/Controllers/Internal/v1/PaymentController.php +46 -14
- package/server/src/Http/Controllers/Internal/v1/PlaceController.php +31 -5
- package/server/src/Http/Controllers/Internal/v1/ProofController.php +88 -48
- package/server/src/Http/Controllers/Internal/v1/SearchController.php +1 -1
- package/server/src/Http/Controllers/Internal/v1/SensorController.php +6 -1
- package/server/src/Http/Controllers/Internal/v1/ServiceAreaController.php +6 -1
- package/server/src/Http/Controllers/Internal/v1/ServiceQuoteController.php +255 -105
- package/server/src/Http/Controllers/Internal/v1/SettingController.php +88 -35
- package/server/src/Http/Controllers/Internal/v1/TelematicController.php +1 -4
- package/server/src/Http/Controllers/Internal/v1/Traits/DriverSchedulingTrait.php +42 -14
- package/server/src/Http/Controllers/Internal/v1/VendorController.php +103 -33
- package/server/src/Http/Controllers/Internal/v1/WorkOrderController.php +42 -12
- package/server/src/Http/Filter/DriverFilter.php +2 -2
- package/server/src/Http/Filter/OrderFilter.php +1 -1
- package/server/src/Http/Filter/VehicleFilter.php +21 -7
- package/server/src/Http/Middleware/AuthenticateCustomerToken.php +12 -2
- package/server/src/Http/Requests/BulkDispatchRequest.php +3 -9
- package/server/src/Http/Requests/CancelOrderRequest.php +2 -6
- package/server/src/Http/Requests/CreateContactRequest.php +2 -6
- package/server/src/Http/Requests/CreateDeviceRequest.php +2 -2
- package/server/src/Http/Requests/CreateDriverRequest.php +3 -9
- package/server/src/Http/Requests/CreateEntityRequest.php +2 -6
- package/server/src/Http/Requests/CreateEquipmentRequest.php +2 -2
- package/server/src/Http/Requests/CreateFleetRequest.php +2 -6
- package/server/src/Http/Requests/CreateFuelReportRequest.php +2 -6
- package/server/src/Http/Requests/CreateFuelTransactionRequest.php +2 -2
- package/server/src/Http/Requests/CreateIssueRequest.php +2 -6
- package/server/src/Http/Requests/CreateOrderRequest.php +7 -8
- package/server/src/Http/Requests/CreatePartRequest.php +2 -2
- package/server/src/Http/Requests/CreatePayloadRequest.php +7 -9
- package/server/src/Http/Requests/CreatePlaceRequest.php +2 -6
- package/server/src/Http/Requests/CreatePurchaseRateRequest.php +2 -6
- package/server/src/Http/Requests/CreateSensorRequest.php +2 -2
- package/server/src/Http/Requests/CreateServiceAreaRequest.php +2 -6
- package/server/src/Http/Requests/CreateServiceQuoteRequest.php +2 -6
- package/server/src/Http/Requests/CreateServiceRateRequest.php +2 -6
- package/server/src/Http/Requests/CreateTrackingNumberRequest.php +2 -6
- package/server/src/Http/Requests/CreateTrackingStatusRequest.php +2 -6
- package/server/src/Http/Requests/CreateVehicleRequest.php +2 -6
- package/server/src/Http/Requests/CreateVendorRequest.php +2 -6
- package/server/src/Http/Requests/CreateWorkOrderRequest.php +2 -2
- package/server/src/Http/Requests/CreateZoneRequest.php +2 -6
- package/server/src/Http/Requests/DecodeTrackingNumberQR.php +2 -6
- package/server/src/Http/Requests/DriverSimulationRequest.php +2 -6
- package/server/src/Http/Requests/Internal/AssignOrderRequest.php +3 -7
- package/server/src/Http/Requests/Internal/CreateDriverRequest.php +4 -12
- package/server/src/Http/Requests/Internal/CreateOrderConfigRequest.php +2 -6
- package/server/src/Http/Requests/Internal/CreateOrderRequest.php +7 -8
- package/server/src/Http/Requests/Internal/FleetActionRequest.php +18 -12
- package/server/src/Http/Requests/Internal/UpdateDriverRequest.php +6 -3
- package/server/src/Http/Requests/QueryServiceQuotesRequest.php +2 -6
- package/server/src/Http/Requests/ScheduleOrderRequest.php +2 -6
- package/server/src/Http/Requests/UpdateIssueRequest.php +1 -3
- package/server/src/Http/Resources/v1/Customer.php +2 -2
- package/server/src/Http/Resources/v1/Maintenance.php +3 -4
- package/server/src/Http/Resources/v1/MaintenanceSchedule.php +3 -4
- package/server/src/Http/Resources/v1/Order.php +3 -7
- package/server/src/Http/Resources/v1/PurchaseRate.php +4 -6
- package/server/src/Http/Resources/v1/TrackingStatus.php +4 -6
- package/server/src/Http/Resources/v1/WorkOrder.php +3 -4
- package/server/src/Imports/ContactImport.php +10 -1
- package/server/src/Imports/DriverImport.php +10 -1
- package/server/src/Imports/EquipmentImport.php +6 -1
- package/server/src/Imports/FleetImport.php +10 -1
- package/server/src/Imports/FuelReportImport.php +10 -1
- package/server/src/Imports/IssueImport.php +10 -1
- package/server/src/Imports/MaintenanceImport.php +6 -1
- package/server/src/Imports/MaintenanceScheduleImport.php +6 -1
- package/server/src/Imports/PartImport.php +6 -1
- package/server/src/Imports/PlaceImport.php +10 -1
- package/server/src/Imports/VehicleImport.php +10 -1
- package/server/src/Imports/VendorImport.php +10 -1
- package/server/src/Imports/WorkOrderImport.php +6 -1
- package/server/src/Integrations/Lalamove/Lalamove.php +3 -7
- package/server/src/Integrations/Lalamove/LalamoveServiceType.php +5 -8
- package/server/src/Jobs/CheckGeofenceDwell.php +41 -16
- package/server/src/Jobs/FinalizeApiOrderCreation.php +17 -2
- package/server/src/Jobs/FinalizeInternalOrderCreation.php +11 -1
- package/server/src/Jobs/NotifyBulkAssignedDriver.php +29 -16
- package/server/src/Jobs/ProcessAllocationJob.php +59 -25
- package/server/src/Jobs/ReplayPositions.php +17 -10
- package/server/src/Jobs/SendPositionReplay.php +18 -7
- package/server/src/Jobs/SimulateDrivingRoute.php +14 -3
- package/server/src/Jobs/SyncFuelProviderTransactionsJob.php +12 -2
- package/server/src/Listeners/HandleDeliveryCompletion.php +11 -1
- package/server/src/Listeners/HandleGeofenceDwelled.php +6 -1
- package/server/src/Listeners/HandleGeofenceEntered.php +4 -2
- package/server/src/Listeners/HandleGeofenceExited.php +6 -1
- package/server/src/Listeners/HandleOrderCanceled.php +18 -3
- package/server/src/Listeners/HandleOrderDispatchFailed.php +12 -2
- package/server/src/Listeners/HandleOrderDispatched.php +61 -26
- package/server/src/Listeners/HandleOrderDriverAssigned.php +12 -2
- package/server/src/Listeners/HandleUserRemovedFromCompany.php +19 -6
- package/server/src/Listeners/NotifyDriverOnShiftChange.php +24 -4
- package/server/src/Listeners/NotifyOrderEvent.php +11 -6
- package/server/src/Models/Contact.php +6 -7
- package/server/src/Models/Device.php +26 -3
- package/server/src/Models/Driver.php +0 -6
- package/server/src/Models/Entity.php +4 -4
- package/server/src/Models/Equipment.php +1 -1
- package/server/src/Models/FuelReport.php +5 -1
- package/server/src/Models/IntegratedVendor.php +2 -2
- package/server/src/Models/Issue.php +5 -1
- package/server/src/Models/MaintenanceSchedule.php +25 -10
- package/server/src/Models/Order.php +18 -15
- package/server/src/Models/OrderConfig.php +1 -1
- package/server/src/Models/Payload.php +9 -16
- package/server/src/Models/Place.php +20 -13
- package/server/src/Models/ServiceArea.php +3 -6
- package/server/src/Models/ServiceQuote.php +5 -0
- package/server/src/Models/ServiceRate.php +13 -6
- package/server/src/Models/Telematic.php +2 -2
- package/server/src/Models/TrackingNumber.php +55 -10
- package/server/src/Models/TrackingStatus.php +24 -4
- package/server/src/Models/Waypoint.php +44 -10
- package/server/src/Models/Zone.php +3 -6
- package/server/src/Notifications/DriverArrivedAtGeofence.php +1 -1
- package/server/src/Notifications/OrderDispatched.php +3 -9
- package/server/src/Notifications/OrderPing.php +3 -9
- package/server/src/Observers/CategoryObserver.php +6 -1
- package/server/src/Observers/CompanyObserver.php +5 -0
- package/server/src/Observers/CompanyUserObserver.php +12 -2
- package/server/src/Observers/DriverObserver.php +19 -4
- package/server/src/Observers/FleetObserver.php +6 -1
- package/server/src/Observers/PurchaseRateObserver.php +66 -11
- package/server/src/Observers/ServiceAreaObserver.php +12 -2
- package/server/src/Observers/ServiceRateObserver.php +21 -6
- package/server/src/Observers/TrackingNumberObserver.php +19 -4
- package/server/src/Observers/UserObserver.php +6 -1
- package/server/src/Observers/VehicleObserver.php +27 -7
- package/server/src/Observers/WorkOrderObserver.php +27 -7
- package/server/src/Orchestration/Engines/DriverAssignmentEngine.php +8 -3
- package/server/src/Orchestration/Support/OrchestrationPayloadBuilder.php +5 -3
- package/server/src/Providers/FleetOpsServiceProvider.php +12 -0
- package/server/src/Providers/NotificationServiceProvider.php +6 -0
- package/server/src/Support/Ai/Capabilities/AssetStatusCapability.php +36 -26
- package/server/src/Support/Ai/Capabilities/CreateOrderPreviewCapability.php +18 -5
- package/server/src/Support/Ai/Capabilities/OrderInsightsCapability.php +6 -1
- package/server/src/Support/Ai/Capabilities/SearchResourcesCapability.php +26 -6
- package/server/src/Support/Analytics/FuelEfficiency.php +9 -3
- package/server/src/Support/Analytics/FuelProviderSummary.php +14 -5
- package/server/src/Support/Analytics/GeofenceViolations.php +40 -20
- package/server/src/Support/Analytics/IssuesInsights.php +38 -18
- package/server/src/Support/Analytics/MaintenanceOverview.php +51 -21
- package/server/src/Support/Analytics/OnTimeDelivery.php +3 -2
- package/server/src/Support/Analytics/OperationsPulse.php +59 -35
- package/server/src/Support/Analytics/OrdersByStatus.php +12 -7
- package/server/src/Support/Analytics/RevenueTrend.php +16 -6
- package/server/src/Support/Analytics/TopDrivers.php +3 -2
- package/server/src/Support/FleetOps.php +109 -104
- package/server/src/Support/Geocoding.php +52 -14
- package/server/src/Support/GeofenceIntersectionService.php +47 -27
- package/server/src/Support/LiveOrderQuery.php +6 -1
- package/server/src/Support/Metrics/ActiveRevenueQuery.php +3 -2
- package/server/src/Support/Metrics/FuelCostsMetric.php +6 -1
- package/server/src/Support/ResolvesOrderServiceStops.php +10 -0
- package/server/src/Support/Telematics/Providers/GeotabProvider.php +9 -4
- package/server/src/Support/Utils.php +122 -16
- package/server/src/Tracking/Providers/GoogleRoutesTrackingProvider.php +6 -1
- package/server/src/Tracking/Providers/OsrmTrackingProvider.php +11 -6
- package/server/src/Tracking/TrackingOptions.php +6 -1
- package/server/src/Tracking/TrackingProviderManager.php +2 -3
- package/server/src/Tracking/TrackingProviderRegistry.php +8 -4
- package/server/src/Traits/PayloadAccessors.php +6 -1
- package/server/src/routes.php +23 -27
- package/server/tests/AiOperationalQueryCapabilityTest.php +457 -1
- package/server/tests/AiPreviewCapabilityContractsTest.php +180 -0
- package/server/tests/AnalyticsRoutesTest.php +384 -3
- package/server/tests/AnalyticsWidgetContractsTest.php +740 -0
- package/server/tests/ApiContactControllerContractsTest.php +284 -0
- package/server/tests/ApiCustomerControllerContractsTest.php +962 -0
- package/server/tests/ApiDriverControllerContractsTest.php +571 -0
- package/server/tests/ApiEntityControllerContractsTest.php +329 -0
- package/server/tests/ApiEquipmentControllerContractsTest.php +239 -0
- package/server/tests/ApiFleetControllerContractsTest.php +176 -0
- package/server/tests/ApiFuelReportControllerContractsTest.php +217 -0
- package/server/tests/ApiIssueControllerContractsTest.php +217 -0
- package/server/tests/ApiOrderControllerContractsTest.php +1030 -0
- package/server/tests/ApiPartControllerContractsTest.php +251 -0
- package/server/tests/ApiPayloadControllerContractsTest.php +314 -0
- package/server/tests/ApiPlaceControllerContractsTest.php +541 -0
- package/server/tests/ApiPurchaseRateControllerContractsTest.php +283 -0
- package/server/tests/ApiServiceAreaZoneControllerContractsTest.php +442 -0
- package/server/tests/ApiServiceQuoteControllerContractsTest.php +322 -0
- package/server/tests/ApiTrackingNumberControllerContractsTest.php +225 -0
- package/server/tests/ApiTrackingStatusControllerContractsTest.php +254 -0
- package/server/tests/ApiVehicleControllerContractsTest.php +368 -0
- package/server/tests/ApiVendorControllerContractsTest.php +199 -0
- package/server/tests/AssetAndPlaceSearchContractsTest.php +220 -0
- package/server/tests/BackendSmallModelContractsTest.php +354 -0
- package/server/tests/CapacityAllocationEngineTest.php +56 -0
- package/server/tests/CommandContractsTest.php +2695 -0
- package/server/tests/CompactResourceSerializationTest.php +2745 -0
- package/server/tests/ControllerFilterContractsTest.php +1273 -0
- package/server/tests/ControllerHelperContractsTest.php +1740 -0
- package/server/tests/ControllerSerializationContractsTest.php +141 -0
- package/server/tests/CoverageSummaryScriptTest.php +93 -0
- package/server/tests/CustomerContactIdentitySafetyTest.php +1 -6
- package/server/tests/CustomerEndpointTest.php +166 -1
- package/server/tests/DriverFilterExecutionTest.php +263 -0
- package/server/tests/DriverGeofenceProcessingTest.php +153 -0
- package/server/tests/DriverResourceSerializationTest.php +245 -0
- package/server/tests/DriverSchedulingTraitContractsTest.php +259 -0
- package/server/tests/EventContractsTest.php +1259 -0
- package/server/tests/ExceptionContractsTest.php +81 -0
- package/server/tests/ExpansionContractsTest.php +242 -0
- package/server/tests/ExportCoverageTest.php +116 -0
- package/server/tests/Feature/Http/Api/ContactControllerPhotoAndDeleteTest.php +199 -0
- package/server/tests/Feature/Http/Api/CustomerControllerHelperSeamsTest.php +831 -0
- package/server/tests/Feature/Http/Api/DeviceControllerContractsTest.php +347 -0
- package/server/tests/Feature/Http/Api/DeviceControllerCrudTest.php +176 -0
- package/server/tests/Feature/Http/Api/DriverControllerAuthFlowsTest.php +451 -0
- package/server/tests/Feature/Http/Api/DriverControllerHelpersTest.php +240 -0
- package/server/tests/Feature/Http/Api/DriverControllerLookupTest.php +186 -0
- package/server/tests/Feature/Http/Api/DriverControllerOrganizationsTest.php +112 -0
- package/server/tests/Feature/Http/Api/DriverControllerSessionHelpersTest.php +207 -0
- package/server/tests/Feature/Http/Api/DriverControllerSwitchOrgAndGeofenceTest.php +329 -0
- package/server/tests/Feature/Http/Api/DriverControllerTrackTest.php +383 -0
- package/server/tests/Feature/Http/Api/EntityControllerHelpersTest.php +150 -0
- package/server/tests/Feature/Http/Api/FuelTransactionControllerContractsTest.php +352 -0
- package/server/tests/Feature/Http/Api/GeofenceControllerContractsTest.php +364 -0
- package/server/tests/Feature/Http/Api/LabelControllerSubjectsTest.php +148 -0
- package/server/tests/Feature/Http/Api/OrderConfigControllerTest.php +112 -0
- package/server/tests/Feature/Http/Api/OrderControllerCreateTest.php +279 -0
- package/server/tests/Feature/Http/Api/OrderControllerIntegratedVendorTest.php +295 -0
- package/server/tests/Feature/Http/Api/OrderControllerLifecycleActionsTest.php +279 -0
- package/server/tests/Feature/Http/Api/OrderControllerLookupHelpersTest.php +207 -0
- package/server/tests/Feature/Http/Api/OrderControllerNearbyFiltersTest.php +282 -0
- package/server/tests/Feature/Http/Api/OrderControllerPersistenceHelpersTest.php +216 -0
- package/server/tests/Feature/Http/Api/OrderControllerQueryFiltersTest.php +184 -0
- package/server/tests/Feature/Http/Api/OrderControllerStartActivityTest.php +663 -0
- package/server/tests/Feature/Http/Api/PayloadControllerHelpersTest.php +134 -0
- package/server/tests/Feature/Http/Api/PlaceAndServiceQuoteSeamsTest.php +479 -0
- package/server/tests/Feature/Http/Api/PurchaseRateControllerHelpersTest.php +176 -0
- package/server/tests/Feature/Http/Api/PurchaseRateControllerOrderCreationTest.php +268 -0
- package/server/tests/Feature/Http/Api/SensorControllerCrudTest.php +239 -0
- package/server/tests/Feature/Http/Api/ServiceAreaControllerBorderAndSeamsTest.php +187 -0
- package/server/tests/Feature/Http/Api/ServiceQuoteControllerQueryTest.php +405 -0
- package/server/tests/Feature/Http/Api/ServiceQuoteControllerVendorBridgeTest.php +212 -0
- package/server/tests/Feature/Http/Api/ServiceRateControllerContractsTest.php +263 -0
- package/server/tests/Feature/Http/Api/SmallApiControllerHelpersTest.php +272 -0
- package/server/tests/Feature/Http/Api/TrackingNumberControllerHelpersTest.php +154 -0
- package/server/tests/Feature/Http/Api/TrackingStatusControllerHelpersTest.php +165 -0
- package/server/tests/Feature/Http/Api/VehicleControllerTrackingTest.php +483 -0
- package/server/tests/Feature/Http/Api/WorkOrderControllerContractsTest.php +326 -0
- package/server/tests/Feature/Http/Api/WorkOrderControllerHelpersTest.php +130 -0
- package/server/tests/Feature/Http/Api/ZoneControllerBordersAndSeamsTest.php +294 -0
- package/server/tests/Feature/Http/FleetOpsRouteRegistrationTest.php +189 -0
- package/server/tests/Feature/Http/Internal/AnalyticsControllerSeamsTest.php +53 -0
- package/server/tests/Feature/Http/Internal/ContactControllerContractsTest.php +240 -0
- package/server/tests/Feature/Http/Internal/ContactControllerCustomerGuardsTest.php +128 -0
- package/server/tests/Feature/Http/Internal/ContactControllerEndpointsTest.php +294 -0
- package/server/tests/Feature/Http/Internal/CustomerControllerCredentialsTest.php +196 -0
- package/server/tests/Feature/Http/Internal/DeviceControllerContractsTest.php +370 -0
- package/server/tests/Feature/Http/Internal/DeviceControllerExportAndFiltersTest.php +151 -0
- package/server/tests/Feature/Http/Internal/DriverControllerContractsTest.php +1109 -0
- package/server/tests/Feature/Http/Internal/DriverControllerCreateRecordTest.php +233 -0
- package/server/tests/Feature/Http/Internal/DriverControllerExistingUserAdoptionTest.php +710 -0
- package/server/tests/Feature/Http/Internal/DriverControllerHelpersTest.php +218 -0
- package/server/tests/Feature/Http/Internal/FleetAssignmentsAndTriggersTest.php +198 -0
- package/server/tests/Feature/Http/Internal/FleetOpsLookupControllerDbTest.php +90 -0
- package/server/tests/Feature/Http/Internal/HubControllerTest.php +206 -0
- package/server/tests/Feature/Http/Internal/IssueControllerContractsTest.php +404 -0
- package/server/tests/Feature/Http/Internal/IssueControllerExportImportTest.php +118 -0
- package/server/tests/Feature/Http/Internal/LiveControllerEndpointsTest.php +246 -0
- package/server/tests/Feature/Http/Internal/LiveControllerTest.php +778 -0
- package/server/tests/Feature/Http/Internal/MaintenanceScheduleControllerContractsTest.php +263 -0
- package/server/tests/Feature/Http/Internal/MaintenanceScheduleControllerSurfacesTest.php +214 -0
- package/server/tests/Feature/Http/Internal/MetricsControllerContractsTest.php +249 -0
- package/server/tests/Feature/Http/Internal/MetricsControllerHelpersTest.php +66 -0
- package/server/tests/Feature/Http/Internal/MorphControllerHelpersTest.php +125 -0
- package/server/tests/Feature/Http/Internal/NavigatorControllerHelpersTest.php +201 -0
- package/server/tests/Feature/Http/Internal/OrchestrationControllerContractsTest.php +928 -0
- package/server/tests/Feature/Http/Internal/OrchestrationControllerHelpersTest.php +214 -0
- package/server/tests/Feature/Http/Internal/OrchestrationControllerImportOrdersTest.php +340 -0
- package/server/tests/Feature/Http/Internal/OrderConfigControllerContractsTest.php +314 -0
- package/server/tests/Feature/Http/Internal/OrderControllerActivityFlowsTest.php +663 -0
- package/server/tests/Feature/Http/Internal/OrderControllerCapturePhotoTest.php +507 -0
- package/server/tests/Feature/Http/Internal/OrderControllerContractsTest.php +1742 -0
- package/server/tests/Feature/Http/Internal/OrderControllerCreateRecordTest.php +488 -0
- package/server/tests/Feature/Http/Internal/OrderControllerHelperSeamsTest.php +298 -0
- package/server/tests/Feature/Http/Internal/OrderControllerHelpersTest.php +267 -0
- package/server/tests/Feature/Http/Internal/OrderControllerImportFromFilesTest.php +179 -0
- package/server/tests/Feature/Http/Internal/OrderControllerUpstreamNotFoundTest.php +80 -0
- package/server/tests/Feature/Http/Internal/PaymentControllerPaymentsTest.php +154 -0
- package/server/tests/Feature/Http/Internal/PlaceControllerTest.php +252 -0
- package/server/tests/Feature/Http/Internal/PositionControllerReplayMetricsTest.php +163 -0
- package/server/tests/Feature/Http/Internal/ProofControllerContractsTest.php +219 -0
- package/server/tests/Feature/Http/Internal/SearchControllerEndpointTest.php +151 -0
- package/server/tests/Feature/Http/Internal/ServiceQuoteControllerHelpersTest.php +208 -0
- package/server/tests/Feature/Http/Internal/ServiceQuoteControllerQueryRecordTest.php +217 -0
- package/server/tests/Feature/Http/Internal/ServiceQuoteControllerVendorBridgeTest.php +239 -0
- package/server/tests/Feature/Http/Internal/ServiceQuotePreliminaryQueryTest.php +271 -0
- package/server/tests/Feature/Http/Internal/SettingControllerHelpersTest.php +133 -0
- package/server/tests/Feature/Http/Internal/SmallInternalControllersTest.php +180 -0
- package/server/tests/Feature/Http/Internal/TelematicControllerEndpointsTest.php +417 -0
- package/server/tests/Feature/Http/Internal/VehicleControllerEndpointsTest.php +361 -0
- package/server/tests/Feature/Http/Internal/VendorControllerEndpointsTest.php +203 -0
- package/server/tests/Feature/Http/Internal/WorkOrderAndConfigSurfacesTest.php +289 -0
- package/server/tests/Feature/Http/Internal/WorkOrderControllerContractsTest.php +199 -0
- package/server/tests/Feature/Http/TelematicWebhookIngestTest.php +343 -0
- package/server/tests/Feature/Http/Telematics/TelematicWebhookControllerProcessingTest.php +254 -0
- package/server/tests/FleetOpsSupportContractsTest.php +187 -0
- package/server/tests/FlespiProviderContractsTest.php +244 -0
- package/server/tests/FlowResourceTest.php +295 -0
- package/server/tests/FuelProviderConnectionControllerContractsTest.php +303 -0
- package/server/tests/FuelProviderImplementationTest.php +753 -0
- package/server/tests/FuelProviderRegistryTest.php +7 -9
- package/server/tests/FuelProviderResourceContractsTest.php +171 -0
- package/server/tests/FuelProviderTransactionControllerContractsTest.php +181 -0
- package/server/tests/GeofenceIntersectionServiceContractsTest.php +164 -0
- package/server/tests/HOSConstraintContractsTest.php +128 -0
- package/server/tests/HubAndGettingStartedContractsTest.php +158 -0
- package/server/tests/ImportContractsTest.php +191 -0
- package/server/tests/InternalCustomerControllerContractsTest.php +238 -0
- package/server/tests/InternalFleetControllerContractsTest.php +389 -0
- package/server/tests/InternalImportExportControllerContractsTest.php +289 -0
- package/server/tests/InternalMetricsControllerContractsTest.php +69 -0
- package/server/tests/InternalPlaceWorkOrderControllerContractsTest.php +207 -0
- package/server/tests/InternalServiceQuoteCheckoutControllerContractsTest.php +470 -0
- package/server/tests/InternalVendorControllerContractsTest.php +331 -0
- package/server/tests/InventoryTelemetryModelContractsTest.php +516 -0
- package/server/tests/IssueTimelineContractsTest.php +191 -0
- package/server/tests/LabelPdfRenderingTest.php +57 -0
- package/server/tests/LalamoveIntegrationContractsTest.php +167 -0
- package/server/tests/LiveOrderQueryTest.php +140 -19
- package/server/tests/LookupAndGeocoderControllerContractsTest.php +357 -0
- package/server/tests/MaintainableTraitContractsTest.php +245 -0
- package/server/tests/MaintenanceScheduleControllerContractsTest.php +101 -0
- package/server/tests/MaintenanceWarrantyContractsTest.php +237 -0
- package/server/tests/ManifestControllerContractsTest.php +310 -0
- package/server/tests/MetricsRegistryTest.php +596 -10
- package/server/tests/MiddlewareContractsTest.php +150 -0
- package/server/tests/ModelAccessorContractsTest.php +3201 -0
- package/server/tests/MorphControllerContractsTest.php +410 -0
- package/server/tests/NavigatorControllerContractsTest.php +206 -0
- package/server/tests/NotificationAndMailContractsTest.php +677 -0
- package/server/tests/ObserverContractsTest.php +1414 -0
- package/server/tests/OperationalAlgorithmContractsTest.php +852 -0
- package/server/tests/OperationsMonitorEndpointTest.php +2 -1
- package/server/tests/OrchestrationPayloadBuilderTest.php +87 -0
- package/server/tests/OrderActivityFlowRegressionTest.php +354 -7
- package/server/tests/OrderDispatchListenerContractsTest.php +577 -0
- package/server/tests/OrderFilterExecutionTest.php +244 -0
- package/server/tests/OrderQueuedClosureRegressionTest.php +2 -1
- package/server/tests/PaymentControllerContractsTest.php +199 -0
- package/server/tests/PointResolutionTest.php +54 -0
- package/server/tests/ProcessAllocationJobContractsTest.php +224 -0
- package/server/tests/ProofAndSensorControllerContractsTest.php +44 -0
- package/server/tests/ProviderContractsTest.php +409 -0
- package/server/tests/PublicApiControllerInputContractsTest.php +294 -0
- package/server/tests/QueueJobContractsTest.php +764 -0
- package/server/tests/ReportSchemaContractsTest.php +271 -0
- package/server/tests/RequestContractsTest.php +966 -0
- package/server/tests/RouteRegistrationExecutionTest.php +178 -0
- package/server/tests/RouteSequencingEngineTest.php +179 -0
- package/server/tests/RulesAndCastsTest.php +246 -0
- package/server/tests/SamsaraProviderContractsTest.php +272 -0
- package/server/tests/SearchControllerContractsTest.php +311 -0
- package/server/tests/ServiceAreaZoneApiShapeTest.php +8 -9
- package/server/tests/ServiceRateAlgorithmWeightVariablesTest.php +1 -1
- package/server/tests/ServiceRateRouteValidationTest.php +76 -0
- package/server/tests/SettingControllerContractsTest.php +410 -0
- package/server/tests/SmallControllerContractsTest.php +456 -0
- package/server/tests/SupportAnalyticsCustomerAuthContractsTest.php +221 -0
- package/server/tests/SupportJobAndAiCoverageTest.php +812 -0
- package/server/tests/SupportServiceContractsTest.php +287 -0
- package/server/tests/SupportValueObjectsTest.php +155 -0
- package/server/tests/TelematicControllerContractsTest.php +185 -0
- package/server/tests/TelematicProviderRegistryTest.php +167 -0
- package/server/tests/TelematicServiceHelperContractsTest.php +315 -0
- package/server/tests/TelematicWebhookControllerContractsTest.php +253 -0
- package/server/tests/TelematicsHardeningTest.php +666 -105
- package/server/tests/TrackingIntelligenceTest.php +709 -26
- package/server/tests/TrackingNumberTraitContractsTest.php +106 -0
- package/server/tests/Unit/Casts/SpatialCastBranchesTest.php +75 -0
- package/server/tests/Unit/Console/AssignCustomerRolesCommandTest.php +102 -0
- package/server/tests/Unit/Console/AssignDriverRolesCommandTest.php +113 -0
- package/server/tests/Unit/Console/Commands/FixLegacyOrderConfigsHelpersTest.php +108 -0
- package/server/tests/Unit/Console/Commands/ProcessOperationalAlertsCommandTest.php +265 -0
- package/server/tests/Unit/Console/Commands/ReplayVehicleLocationsCommandTest.php +320 -0
- package/server/tests/Unit/Console/Commands/SimulateGeofenceEventsCommandTest.php +207 -0
- package/server/tests/Unit/Console/FixCommandsAndMaintenanceControllerTest.php +256 -0
- package/server/tests/Unit/Console/FleetOpsCommandsTest.php +198 -0
- package/server/tests/Unit/Console/ReplayVehicleLocationsCommandTest.php +252 -0
- package/server/tests/Unit/Console/SendMaintenanceRemindersTest.php +212 -0
- package/server/tests/Unit/Console/SimulateGeofenceEventsCommandTest.php +232 -0
- package/server/tests/Unit/Console/SyncTelematicsCommandTest.php +136 -0
- package/server/tests/Unit/Constraints/HOSConstraintTest.php +158 -0
- package/server/tests/Unit/Events/EventModelRecordTest.php +93 -0
- package/server/tests/Unit/Events/OrderDispatchFailedTest.php +34 -0
- package/server/tests/Unit/Exports/ExportCollectionsTest.php +142 -0
- package/server/tests/Unit/Exports/OperationalExportMappingTest.php +651 -0
- package/server/tests/Unit/Exports/VehicleExportTest.php +284 -0
- package/server/tests/Unit/Flow/EventFiringTest.php +95 -0
- package/server/tests/Unit/Http/Api/QueryWithRequestSeamsTest.php +198 -0
- package/server/tests/Unit/Http/Api/SensorInputTest.php +95 -0
- package/server/tests/Unit/Http/Filter/DeviceFilterTest.php +199 -0
- package/server/tests/Unit/Http/Filter/EmptyValueGuardsTest.php +66 -0
- package/server/tests/Unit/Http/Filter/FilterDateRangesTest.php +72 -0
- package/server/tests/Unit/Http/Filter/FuelProviderTransactionFilterTest.php +172 -0
- package/server/tests/Unit/Http/Filter/InternalRelationUuidLookupTest.php +135 -0
- package/server/tests/Unit/Http/Filter/IssueFilterTest.php +129 -0
- package/server/tests/Unit/Http/Filter/PartFilterTest.php +173 -0
- package/server/tests/Unit/Http/Internal/ControllerDelegationSeamsTest.php +136 -0
- package/server/tests/Unit/Http/Internal/ControllerExcelSeamsTest.php +89 -0
- package/server/tests/Unit/Http/Middleware/SetupDriverSessionTest.php +32 -0
- package/server/tests/Unit/Http/Requests/CreateFuelReportRequestTest.php +47 -0
- package/server/tests/Unit/Http/Requests/FleetActionRequestTest.php +80 -0
- package/server/tests/Unit/Http/Requests/RequestAuthorizationTest.php +50 -0
- package/server/tests/Unit/Http/Resources/CustomerResourceTest.php +108 -0
- package/server/tests/Unit/Http/Resources/EntityCustomerTypeTest.php +35 -0
- package/server/tests/Unit/Http/Resources/FleetResourceTest.php +102 -0
- package/server/tests/Unit/Http/Resources/IndexOrderResourceTest.php +210 -0
- package/server/tests/Unit/Http/Resources/IndexVehicleResourceTest.php +194 -0
- package/server/tests/Unit/Http/Resources/MaintenanceResourcesTest.php +182 -0
- package/server/tests/Unit/Http/Resources/OrderAndDriverResourceTest.php +121 -0
- package/server/tests/Unit/Http/Resources/OrderConfigResourceTest.php +47 -0
- package/server/tests/Unit/Http/Resources/PayloadResourceTest.php +111 -0
- package/server/tests/Unit/Http/Resources/RelationResourceFallbacksTest.php +32 -0
- package/server/tests/Unit/Http/Resources/ResourceRelationResolutionTest.php +55 -0
- package/server/tests/Unit/Http/Resources/TrackingNumberResourceTest.php +174 -0
- package/server/tests/Unit/Http/Resources/WaypointResourceTest.php +295 -0
- package/server/tests/Unit/Http/Resources/WorkOrderResourceTest.php +164 -0
- package/server/tests/Unit/Imports/ImportDelegationTest.php +151 -0
- package/server/tests/Unit/Integrations/Lalamove/LalamoveDeliveryStopTest.php +79 -0
- package/server/tests/Unit/Integrations/Lalamove/LalamoveLifecycleTest.php +211 -0
- package/server/tests/Unit/Integrations/Lalamove/LalamoveQuoteAndServiceOrderTest.php +381 -0
- package/server/tests/Unit/Integrations/Lalamove/LalamoveServiceTypeTest.php +51 -0
- package/server/tests/Unit/Integrations/LalamoveQuotationTest.php +194 -0
- package/server/tests/Unit/Integrations/LalamoveResponseHandlingTest.php +58 -0
- package/server/tests/Unit/Jobs/GeofenceDwellAndBulkNotifyTest.php +183 -0
- package/server/tests/Unit/Jobs/ReplayPositionsTest.php +57 -0
- package/server/tests/Unit/Jobs/SimulateWaypointReachedTest.php +92 -0
- package/server/tests/Unit/Listeners/HandleGeofenceEnteredTest.php +256 -0
- package/server/tests/Unit/Listeners/HandleOrderDispatchFailedListenerTest.php +101 -0
- package/server/tests/Unit/Listeners/HandleOrderDispatchedConcreteTest.php +203 -0
- package/server/tests/Unit/Listeners/HandleOrderDispatchedHelpersTest.php +186 -0
- package/server/tests/Unit/Listeners/HandleUserRemovedFromCompanyTest.php +65 -0
- package/server/tests/Unit/Listeners/ListenerDelegationSeamsTest.php +83 -0
- package/server/tests/Unit/Models/AssetTest.php +469 -0
- package/server/tests/Unit/Models/ContactCustomerUserTest.php +370 -0
- package/server/tests/Unit/Models/ContactTest.php +577 -0
- package/server/tests/Unit/Models/DeviceEventTest.php +481 -0
- package/server/tests/Unit/Models/DeviceLastPositionDefaultTest.php +128 -0
- package/server/tests/Unit/Models/DriverModelHelpersTest.php +268 -0
- package/server/tests/Unit/Models/DriverTest.php +401 -0
- package/server/tests/Unit/Models/EntityTest.php +171 -0
- package/server/tests/Unit/Models/EquipmentTest.php +434 -0
- package/server/tests/Unit/Models/FleetTest.php +153 -0
- package/server/tests/Unit/Models/FuelProviderTransactionTest.php +82 -0
- package/server/tests/Unit/Models/FuelReportImportAndLabelsTest.php +193 -0
- package/server/tests/Unit/Models/ImportRowFallbackSeamsTest.php +100 -0
- package/server/tests/Unit/Models/IntegratedVendorLifecycleTest.php +203 -0
- package/server/tests/Unit/Models/IntegratedVendorTest.php +135 -0
- package/server/tests/Unit/Models/IssueTest.php +160 -0
- package/server/tests/Unit/Models/MaintenanceScheduleTest.php +319 -0
- package/server/tests/Unit/Models/MaintenanceTest.php +277 -0
- package/server/tests/Unit/Models/MaintenanceWorkOrderImportTest.php +161 -0
- package/server/tests/Unit/Models/ManifestStopTest.php +121 -0
- package/server/tests/Unit/Models/ManifestTest.php +163 -0
- package/server/tests/Unit/Models/ModelLookupFallbackSeamsTest.php +149 -0
- package/server/tests/Unit/Models/OrderConfigTest.php +341 -0
- package/server/tests/Unit/Models/OrderDynamicContractsTest.php +190 -0
- package/server/tests/Unit/Models/OrderPayloadConfigAndDistanceTest.php +426 -0
- package/server/tests/Unit/Models/OrderPayloadRouteTest.php +227 -0
- package/server/tests/Unit/Models/OrderPurchaseAndDriversTest.php +188 -0
- package/server/tests/Unit/Models/OrderTest.php +917 -0
- package/server/tests/Unit/Models/PartTest.php +399 -0
- package/server/tests/Unit/Models/PayloadTest.php +710 -0
- package/server/tests/Unit/Models/PayloadWaypointsAndEntitiesTest.php +317 -0
- package/server/tests/Unit/Models/PlaceCreationAndImportTest.php +384 -0
- package/server/tests/Unit/Models/PlaceGeocodingResultsTest.php +253 -0
- package/server/tests/Unit/Models/PlaceSharedAndGeocodingTest.php +271 -0
- package/server/tests/Unit/Models/PlaceTest.php +589 -0
- package/server/tests/Unit/Models/PositionTest.php +49 -0
- package/server/tests/Unit/Models/RouteTest.php +55 -0
- package/server/tests/Unit/Models/SensorReadingsTest.php +168 -0
- package/server/tests/Unit/Models/SensorTest.php +284 -0
- package/server/tests/Unit/Models/ServiceAreaGeometryTest.php +129 -0
- package/server/tests/Unit/Models/ServiceAreaTest.php +125 -0
- package/server/tests/Unit/Models/ServiceQuoteTest.php +617 -0
- package/server/tests/Unit/Models/ServiceRateFeeTest.php +73 -0
- package/server/tests/Unit/Models/ServiceRatePersistenceAndServicabilityTest.php +428 -0
- package/server/tests/Unit/Models/ServiceRateTest.php +533 -0
- package/server/tests/Unit/Models/SmallModelSurfacesTest.php +294 -0
- package/server/tests/Unit/Models/TrackingNumberTest.php +199 -0
- package/server/tests/Unit/Models/TrackingStatusTest.php +131 -0
- package/server/tests/Unit/Models/VehicleDeviceTest.php +115 -0
- package/server/tests/Unit/Models/VehiclePositionsAndImportTest.php +220 -0
- package/server/tests/Unit/Models/VehicleTest.php +266 -0
- package/server/tests/Unit/Models/VendorRelationsAndImportTest.php +107 -0
- package/server/tests/Unit/Models/WarrantyTest.php +187 -0
- package/server/tests/Unit/Models/WaypointTest.php +366 -0
- package/server/tests/Unit/Models/WorkOrderTest.php +272 -0
- package/server/tests/Unit/Models/ZoneTest.php +83 -0
- package/server/tests/Unit/Notifications/MonitoringNotificationsTest.php +136 -0
- package/server/tests/Unit/Notifications/OrderAssignedChannelsTest.php +53 -0
- package/server/tests/Unit/Notifications/OrderDispatchedChannelsTest.php +81 -0
- package/server/tests/Unit/Notifications/OrderFailedChannelsTest.php +73 -0
- package/server/tests/Unit/Notifications/OrderPingChannelsTest.php +69 -0
- package/server/tests/Unit/Notifications/TerminalOrderNotificationsTest.php +185 -0
- package/server/tests/Unit/Observers/FleetOpsCompanyUserAndServiceAreaObserversTest.php +133 -0
- package/server/tests/Unit/Observers/ObserverHelperExecutionTest.php +135 -0
- package/server/tests/Unit/Observers/ObserverListenerSeamsTest.php +267 -0
- package/server/tests/Unit/Observers/PurchaseRateObserverAndOrderJobsTest.php +169 -0
- package/server/tests/Unit/Orchestration/Engines/DriverAssignmentEngineTest.php +393 -0
- package/server/tests/Unit/Orchestration/Engines/VroomOrchestrationEngineLifecycleTest.php +397 -0
- package/server/tests/Unit/Orchestration/OrchestrationEngineRegistryTest.php +45 -0
- package/server/tests/Unit/Orchestration/VroomEngineTransportAndSettingsTest.php +253 -0
- package/server/tests/Unit/Providers/FleetOpsAiRegistrationTest.php +59 -0
- package/server/tests/Unit/Rules/ResolvableVehicleTest.php +85 -0
- package/server/tests/Unit/Support/Ai/AssetStatusCapabilityQueriesTest.php +120 -0
- package/server/tests/Unit/Support/Ai/Capabilities/CreateOrderPreviewCapabilityTest.php +385 -0
- package/server/tests/Unit/Support/Ai/Capabilities/OrderInsightsCapabilityTest.php +226 -0
- package/server/tests/Unit/Support/Ai/Capabilities/SearchResourcesCapabilityTest.php +237 -0
- package/server/tests/Unit/Support/AiCapabilityPermissionsTest.php +124 -0
- package/server/tests/Unit/Support/AlgoEdgeBranchesTest.php +24 -0
- package/server/tests/Unit/Support/Analytics/GeofenceViolationsTest.php +109 -0
- package/server/tests/Unit/Support/Analytics/LiveFleetTest.php +205 -0
- package/server/tests/Unit/Support/Analytics/MaintenanceOverviewTest.php +236 -0
- package/server/tests/Unit/Support/Analytics/OnTimeDeliveryAndTopDriversTest.php +250 -0
- package/server/tests/Unit/Support/CreateOrderPreviewDraftingTest.php +235 -0
- package/server/tests/Unit/Support/CustomerAuthTest.php +132 -0
- package/server/tests/Unit/Support/FuelEfficiencyAndCanceledHandlersTest.php +164 -0
- package/server/tests/Unit/Support/FuelProviderRegistryResolutionTest.php +51 -0
- package/server/tests/Unit/Support/FuelProviderServiceMatchingTest.php +280 -0
- package/server/tests/Unit/Support/GeocodingInjectedClientTest.php +268 -0
- package/server/tests/Unit/Support/GeocodingLocateTest.php +32 -0
- package/server/tests/Unit/Support/GeofenceIntersectionServiceTest.php +188 -0
- package/server/tests/Unit/Support/GettingStartedTest.php +164 -0
- package/server/tests/Unit/Support/GuardReturnSeamsTest.php +172 -0
- package/server/tests/Unit/Support/IntegratedVendorsResolverTest.php +250 -0
- package/server/tests/Unit/Support/IssuesInsightsAndAllocationJobTest.php +156 -0
- package/server/tests/Unit/Support/MagicAccessorSeamsTest.php +54 -0
- package/server/tests/Unit/Support/MaintainableAndOperationalAlertsTest.php +215 -0
- package/server/tests/Unit/Support/Metrics/AvgOrderValueMetricTest.php +308 -0
- package/server/tests/Unit/Support/Metrics/CountMetricsTest.php +280 -0
- package/server/tests/Unit/Support/Metrics/FuelCostsMetricTest.php +102 -0
- package/server/tests/Unit/Support/Metrics/MetricQuerySeamsTest.php +129 -0
- package/server/tests/Unit/Support/Metrics/OrdersScheduledMetricTest.php +146 -0
- package/server/tests/Unit/Support/MoreQuerySeamsTest.php +410 -0
- package/server/tests/Unit/Support/OperationalQueryDistributionTest.php +152 -0
- package/server/tests/Unit/Support/OperationsPulseTest.php +130 -0
- package/server/tests/Unit/Support/OptimizeOrderRouteCapabilityTest.php +147 -0
- package/server/tests/Unit/Support/OrchestrationPayloadBuilderTest.php +135 -0
- package/server/tests/Unit/Support/OrchestrationRouteAndVehicleTasksTest.php +254 -0
- package/server/tests/Unit/Support/OsrmProofAndIssueFilterTest.php +247 -0
- package/server/tests/Unit/Support/PetroAppFuelProviderTest.php +165 -0
- package/server/tests/Unit/Support/PlaceSearchRankingTest.php +191 -0
- package/server/tests/Unit/Support/QuerySeamsTest.php +309 -0
- package/server/tests/Unit/Support/ResolvesOrderServiceStopsDbTest.php +303 -0
- package/server/tests/Unit/Support/ResolvesOrderServiceStopsTest.php +382 -0
- package/server/tests/Unit/Support/SkipAndFallbackGuardsTest.php +70 -0
- package/server/tests/Unit/Support/TelematicCredentialResolutionTest.php +31 -0
- package/server/tests/Unit/Support/TelematicServiceTest.php +256 -0
- package/server/tests/Unit/Support/Telematics/Providers/AbstractProviderTest.php +154 -0
- package/server/tests/Unit/Support/Telematics/Providers/AfaqyProviderTest.php +191 -0
- package/server/tests/Unit/Support/Telematics/Providers/AfaqyProviderTransportTest.php +138 -0
- package/server/tests/Unit/Support/Telematics/Providers/GeotabProviderTest.php +329 -0
- package/server/tests/Unit/Support/Telematics/Providers/ProviderTransportSeamsTest.php +133 -0
- package/server/tests/Unit/Support/Telematics/Providers/SafeeProviderTest.php +487 -0
- package/server/tests/Unit/Support/Telematics/TelematicProviderRegistryTest.php +39 -0
- package/server/tests/Unit/Support/Telematics/TelematicServiceLifecycleTest.php +711 -0
- package/server/tests/Unit/Support/Telematics/TelematicServiceTelemetryTest.php +364 -0
- package/server/tests/Unit/Support/UtilsAdditionalTest.php +256 -0
- package/server/tests/Unit/Support/UtilsGeoMatrixAndVendorTest.php +382 -0
- package/server/tests/Unit/Tracking/TrackingContextTest.php +114 -0
- package/server/tests/Unit/Tracking/TrackingIntelligenceAndContextTest.php +477 -0
- package/server/tests/Unit/Tracking/TrackingProviderManagerFallbacksTest.php +208 -0
- package/server/tests/Unit/Traits/HasTrackingNumberTest.php +303 -0
- package/server/tests/Unit/Traits/PayloadAccessorsTest.php +150 -0
- package/server/tests/UtilsContractsTest.php +244 -0
- package/server/tests/VehicleControllerHelperContractsTest.php +488 -0
- package/server/tests/VehicleDataParsingTest.php +45 -0
- package/server/tests/VehicleDriverAssignmentTest.php +8 -9
- package/server/tests/VehicleResourceContractsTest.php +313 -0
- package/translations/bg-bg.yaml +2 -0
- package/translations/en-us.yaml +2 -0
- package/translations/es-pa.yaml +2 -0
- package/translations/fr-fr.yaml +2 -0
- package/translations/mn-mn.yaml +2 -0
- package/translations/pt-br.yaml +2 -0
- package/translations/ru-ru.yaml +2 -0
- package/server/src/Http/Controllers/Api/v1/OrganizationController.php +0 -45
- package/server/tests/DeviceFilterTest.php +0 -45
- package/server/tests/LiveControllerViewportTest.php +0 -60
|
@@ -8,20 +8,16 @@ class CreateIssueRequest extends FleetbaseRequest
|
|
|
8
8
|
{
|
|
9
9
|
/**
|
|
10
10
|
* Determine if the user is authorized to make this request.
|
|
11
|
-
*
|
|
12
|
-
* @return bool
|
|
13
11
|
*/
|
|
14
|
-
public function authorize()
|
|
12
|
+
public function authorize(): bool
|
|
15
13
|
{
|
|
16
14
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* Get the validation rules that apply to the request.
|
|
21
|
-
*
|
|
22
|
-
* @return array
|
|
23
19
|
*/
|
|
24
|
-
public function rules()
|
|
20
|
+
public function rules(): array
|
|
25
21
|
{
|
|
26
22
|
return [
|
|
27
23
|
'driver' => ['required'],
|
|
@@ -11,27 +11,26 @@ class CreateOrderRequest extends FleetbaseRequest
|
|
|
11
11
|
{
|
|
12
12
|
/**
|
|
13
13
|
* Determine if the user is authorized to make this request.
|
|
14
|
-
*
|
|
15
|
-
* @return bool
|
|
16
14
|
*/
|
|
17
|
-
public function authorize()
|
|
15
|
+
public function authorize(): bool
|
|
18
16
|
{
|
|
19
17
|
return request()->session()->has('api_credential');
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
21
|
* Get the validation rules that apply to the request.
|
|
24
|
-
*
|
|
25
|
-
* @return array
|
|
26
22
|
*/
|
|
27
|
-
public function rules()
|
|
23
|
+
public function rules(): array
|
|
28
24
|
{
|
|
25
|
+
$podMethods = config('fleetops.pod_methods');
|
|
26
|
+
$podMethods = is_array($podMethods) ? implode(',', $podMethods) : (string) $podMethods;
|
|
27
|
+
|
|
29
28
|
$validations = [
|
|
30
29
|
'adhoc' => ['nullable', 'boolean'],
|
|
31
30
|
'dispatch' => ['nullable', 'boolean'],
|
|
32
31
|
'adhoc_distance' => ['nullable', 'numeric'],
|
|
33
32
|
'pod_required' => ['nullable', 'boolean'],
|
|
34
|
-
'pod_method' => ['nullable', 'in:' .
|
|
33
|
+
'pod_method' => ['nullable', 'in:' . $podMethods],
|
|
35
34
|
'scheduled_at' => ['nullable', 'date'],
|
|
36
35
|
'driver' => ['nullable', 'exists:drivers,public_id'],
|
|
37
36
|
'service_quote' => ['nullable', 'exists:service_quotes,public_id'],
|
|
@@ -44,7 +43,7 @@ class CreateOrderRequest extends FleetbaseRequest
|
|
|
44
43
|
|
|
45
44
|
// Conditionally require 'pod_method' if 'pod_required' is truthy
|
|
46
45
|
if (Utils::isTrue($this->input('pod_required'))) {
|
|
47
|
-
$validations['pod_method'] = ['required', 'in:' .
|
|
46
|
+
$validations['pod_method'] = ['required', 'in:' . $podMethods];
|
|
48
47
|
}
|
|
49
48
|
|
|
50
49
|
if ($this->has('payload')) {
|
|
@@ -7,12 +7,12 @@ use Illuminate\Validation\Rule;
|
|
|
7
7
|
|
|
8
8
|
class CreatePartRequest extends FleetbaseRequest
|
|
9
9
|
{
|
|
10
|
-
public function authorize()
|
|
10
|
+
public function authorize(): bool
|
|
11
11
|
{
|
|
12
12
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
public function rules()
|
|
15
|
+
public function rules(): array
|
|
16
16
|
{
|
|
17
17
|
return [
|
|
18
18
|
'sku' => ['nullable', 'string'],
|
|
@@ -9,22 +9,18 @@ class CreatePayloadRequest extends FleetbaseRequest
|
|
|
9
9
|
{
|
|
10
10
|
/**
|
|
11
11
|
* Determine if the user is authorized to make this request.
|
|
12
|
-
*
|
|
13
|
-
* @return bool
|
|
14
12
|
*/
|
|
15
|
-
public function authorize()
|
|
13
|
+
public function authorize(): bool
|
|
16
14
|
{
|
|
17
15
|
return request()->session()->has('api_credential');
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* Get the validation rules that apply to the request.
|
|
22
|
-
*
|
|
23
|
-
* @return array
|
|
24
20
|
*/
|
|
25
|
-
public function rules()
|
|
21
|
+
public function rules(): array
|
|
26
22
|
{
|
|
27
|
-
|
|
23
|
+
$validations = [
|
|
28
24
|
'entities' => 'array',
|
|
29
25
|
'waypoints' => 'array',
|
|
30
26
|
'return' => 'nullable',
|
|
@@ -38,16 +34,18 @@ class CreatePayloadRequest extends FleetbaseRequest
|
|
|
38
34
|
$validations['dropoff'] = 'required';
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
if ($this->
|
|
37
|
+
if (is_string($this->input('pickup'))) {
|
|
42
38
|
$validations['pickup'] = 'required|exists:places,public_id';
|
|
43
39
|
}
|
|
44
40
|
|
|
45
|
-
if ($this->
|
|
41
|
+
if (is_string($this->input('dropoff'))) {
|
|
46
42
|
$validations['dropoff'] = 'required|exists:places,public_id';
|
|
47
43
|
}
|
|
48
44
|
|
|
49
45
|
if ($this->missing(['pickup', 'dropoff'])) {
|
|
50
46
|
$validations['waypoints'] = 'required|array|min:2';
|
|
51
47
|
}
|
|
48
|
+
|
|
49
|
+
return $validations;
|
|
52
50
|
}
|
|
53
51
|
}
|
|
@@ -11,20 +11,16 @@ class CreatePlaceRequest extends FleetbaseRequest
|
|
|
11
11
|
{
|
|
12
12
|
/**
|
|
13
13
|
* Determine if the user is authorized to make this request.
|
|
14
|
-
*
|
|
15
|
-
* @return bool
|
|
16
14
|
*/
|
|
17
|
-
public function authorize()
|
|
15
|
+
public function authorize(): bool
|
|
18
16
|
{
|
|
19
17
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
21
|
* Get the validation rules that apply to the request.
|
|
24
|
-
*
|
|
25
|
-
* @return array
|
|
26
22
|
*/
|
|
27
|
-
public function rules()
|
|
23
|
+
public function rules(): array
|
|
28
24
|
{
|
|
29
25
|
return [
|
|
30
26
|
'name' => [
|
|
@@ -10,20 +10,16 @@ class CreatePurchaseRateRequest extends FleetbaseRequest
|
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
12
12
|
* Determine if the user is authorized to make this request.
|
|
13
|
-
*
|
|
14
|
-
* @return bool
|
|
15
13
|
*/
|
|
16
|
-
public function authorize()
|
|
14
|
+
public function authorize(): bool
|
|
17
15
|
{
|
|
18
16
|
return request()->session()->has('api_credential');
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Get the validation rules that apply to the request.
|
|
23
|
-
*
|
|
24
|
-
* @return array
|
|
25
21
|
*/
|
|
26
|
-
public function rules()
|
|
22
|
+
public function rules(): array
|
|
27
23
|
{
|
|
28
24
|
return [
|
|
29
25
|
'service_quote' => ['required', Rule::exists('service_quotes', 'public_id')->whereNull('deleted_at')],
|
|
@@ -8,12 +8,12 @@ use Illuminate\Validation\Rule;
|
|
|
8
8
|
|
|
9
9
|
class CreateSensorRequest extends FleetbaseRequest
|
|
10
10
|
{
|
|
11
|
-
public function authorize()
|
|
11
|
+
public function authorize(): bool
|
|
12
12
|
{
|
|
13
13
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
public function rules()
|
|
16
|
+
public function rules(): array
|
|
17
17
|
{
|
|
18
18
|
return [
|
|
19
19
|
'name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
@@ -10,20 +10,16 @@ class CreateServiceAreaRequest extends FleetbaseRequest
|
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
12
12
|
* Determine if the user is authorized to make this request.
|
|
13
|
-
*
|
|
14
|
-
* @return bool
|
|
15
13
|
*/
|
|
16
|
-
public function authorize()
|
|
14
|
+
public function authorize(): bool
|
|
17
15
|
{
|
|
18
16
|
return request()->session()->has('api_credential');
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Get the validation rules that apply to the request.
|
|
23
|
-
*
|
|
24
|
-
* @return array
|
|
25
21
|
*/
|
|
26
|
-
public function rules()
|
|
22
|
+
public function rules(): array
|
|
27
23
|
{
|
|
28
24
|
return [
|
|
29
25
|
'name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
@@ -8,20 +8,16 @@ class CreateServiceQuoteRequest extends FleetbaseRequest
|
|
|
8
8
|
{
|
|
9
9
|
/**
|
|
10
10
|
* Determine if the user is authorized to make this request.
|
|
11
|
-
*
|
|
12
|
-
* @return bool
|
|
13
11
|
*/
|
|
14
|
-
public function authorize()
|
|
12
|
+
public function authorize(): bool
|
|
15
13
|
{
|
|
16
14
|
return false;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* Get the validation rules that apply to the request.
|
|
21
|
-
*
|
|
22
|
-
* @return array
|
|
23
19
|
*/
|
|
24
|
-
public function rules()
|
|
20
|
+
public function rules(): array
|
|
25
21
|
{
|
|
26
22
|
return [
|
|
27
23
|
];
|
|
@@ -11,20 +11,16 @@ class CreateServiceRateRequest extends FleetbaseRequest
|
|
|
11
11
|
{
|
|
12
12
|
/**
|
|
13
13
|
* Determine if the user is authorized to make this request.
|
|
14
|
-
*
|
|
15
|
-
* @return bool
|
|
16
14
|
*/
|
|
17
|
-
public function authorize()
|
|
15
|
+
public function authorize(): bool
|
|
18
16
|
{
|
|
19
17
|
return request()->session()->has('api_credential');
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
21
|
* Get the validation rules that apply to the request.
|
|
24
|
-
*
|
|
25
|
-
* @return array
|
|
26
22
|
*/
|
|
27
|
-
public function rules()
|
|
23
|
+
public function rules(): array
|
|
28
24
|
{
|
|
29
25
|
return [
|
|
30
26
|
'service_name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
@@ -9,20 +9,16 @@ class CreateTrackingNumberRequest extends FleetbaseRequest
|
|
|
9
9
|
{
|
|
10
10
|
/**
|
|
11
11
|
* Determine if the user is authorized to make this request.
|
|
12
|
-
*
|
|
13
|
-
* @return bool
|
|
14
12
|
*/
|
|
15
|
-
public function authorize()
|
|
13
|
+
public function authorize(): bool
|
|
16
14
|
{
|
|
17
15
|
return request()->session()->has('api_credential');
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* Get the validation rules that apply to the request.
|
|
22
|
-
*
|
|
23
|
-
* @return array
|
|
24
20
|
*/
|
|
25
|
-
public function rules()
|
|
21
|
+
public function rules(): array
|
|
26
22
|
{
|
|
27
23
|
return [
|
|
28
24
|
'region' => 'required|string',
|
|
@@ -13,20 +13,16 @@ class CreateTrackingStatusRequest extends FleetbaseRequest
|
|
|
13
13
|
{
|
|
14
14
|
/**
|
|
15
15
|
* Determine if the user is authorized to make this request.
|
|
16
|
-
*
|
|
17
|
-
* @return bool
|
|
18
16
|
*/
|
|
19
|
-
public function authorize()
|
|
17
|
+
public function authorize(): bool
|
|
20
18
|
{
|
|
21
19
|
return request()->session()->has('api_credential');
|
|
22
20
|
}
|
|
23
21
|
|
|
24
22
|
/**
|
|
25
23
|
* Get the validation rules that apply to the request.
|
|
26
|
-
*
|
|
27
|
-
* @return array
|
|
28
24
|
*/
|
|
29
|
-
public function rules()
|
|
25
|
+
public function rules(): array
|
|
30
26
|
{
|
|
31
27
|
$validations = [
|
|
32
28
|
'tracking_number' => array_filter([
|
|
@@ -10,20 +10,16 @@ class CreateVehicleRequest extends FleetbaseRequest
|
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
12
12
|
* Determine if the user is authorized to make this request.
|
|
13
|
-
*
|
|
14
|
-
* @return bool
|
|
15
13
|
*/
|
|
16
|
-
public function authorize()
|
|
14
|
+
public function authorize(): bool
|
|
17
15
|
{
|
|
18
16
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Get the validation rules that apply to the request.
|
|
23
|
-
*
|
|
24
|
-
* @return array
|
|
25
21
|
*/
|
|
26
|
-
public function rules()
|
|
22
|
+
public function rules(): array
|
|
27
23
|
{
|
|
28
24
|
return [
|
|
29
25
|
'status' => [
|
|
@@ -9,20 +9,16 @@ class CreateVendorRequest extends FleetbaseRequest
|
|
|
9
9
|
{
|
|
10
10
|
/**
|
|
11
11
|
* Determine if the user is authorized to make this request.
|
|
12
|
-
*
|
|
13
|
-
* @return bool
|
|
14
12
|
*/
|
|
15
|
-
public function authorize()
|
|
13
|
+
public function authorize(): bool
|
|
16
14
|
{
|
|
17
15
|
return request()->session()->has('api_credential');
|
|
18
16
|
}
|
|
19
17
|
|
|
20
18
|
/**
|
|
21
19
|
* Get the validation rules that apply to the request.
|
|
22
|
-
*
|
|
23
|
-
* @return array
|
|
24
20
|
*/
|
|
25
|
-
public function rules()
|
|
21
|
+
public function rules(): array
|
|
26
22
|
{
|
|
27
23
|
return [
|
|
28
24
|
'name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
@@ -7,12 +7,12 @@ use Illuminate\Validation\Rule;
|
|
|
7
7
|
|
|
8
8
|
class CreateWorkOrderRequest extends FleetbaseRequest
|
|
9
9
|
{
|
|
10
|
-
public function authorize()
|
|
10
|
+
public function authorize(): bool
|
|
11
11
|
{
|
|
12
12
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
public function rules()
|
|
15
|
+
public function rules(): array
|
|
16
16
|
{
|
|
17
17
|
return [
|
|
18
18
|
'code' => ['nullable', 'string'],
|
|
@@ -10,20 +10,16 @@ class CreateZoneRequest extends FleetbaseRequest
|
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
12
12
|
* Determine if the user is authorized to make this request.
|
|
13
|
-
*
|
|
14
|
-
* @return bool
|
|
15
13
|
*/
|
|
16
|
-
public function authorize()
|
|
14
|
+
public function authorize(): bool
|
|
17
15
|
{
|
|
18
16
|
return request()->session()->has('api_credential');
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Get the validation rules that apply to the request.
|
|
23
|
-
*
|
|
24
|
-
* @return array
|
|
25
21
|
*/
|
|
26
|
-
public function rules()
|
|
22
|
+
public function rules(): array
|
|
27
23
|
{
|
|
28
24
|
return [
|
|
29
25
|
'name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
@@ -8,20 +8,16 @@ class DecodeTrackingNumberQR extends FleetbaseRequest
|
|
|
8
8
|
{
|
|
9
9
|
/**
|
|
10
10
|
* Determine if the user is authorized to make this request.
|
|
11
|
-
*
|
|
12
|
-
* @return bool
|
|
13
11
|
*/
|
|
14
|
-
public function authorize()
|
|
12
|
+
public function authorize(): bool
|
|
15
13
|
{
|
|
16
14
|
return request()->session()->has('api_credential');
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* Get the validation rules that apply to the request.
|
|
21
|
-
*
|
|
22
|
-
* @return array
|
|
23
19
|
*/
|
|
24
|
-
public function rules()
|
|
20
|
+
public function rules(): array
|
|
25
21
|
{
|
|
26
22
|
return [
|
|
27
23
|
'code' => 'required|string',
|
|
@@ -10,20 +10,16 @@ class DriverSimulationRequest extends FleetbaseRequest
|
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
12
12
|
* Determine if the user is authorized to make this request.
|
|
13
|
-
*
|
|
14
|
-
* @return bool
|
|
15
13
|
*/
|
|
16
|
-
public function authorize()
|
|
14
|
+
public function authorize(): bool
|
|
17
15
|
{
|
|
18
16
|
return request()->session()->has('api_credential');
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Get the validation rules that apply to the request.
|
|
23
|
-
*
|
|
24
|
-
* @return array
|
|
25
21
|
*/
|
|
26
|
-
public function rules()
|
|
22
|
+
public function rules(): array
|
|
27
23
|
{
|
|
28
24
|
return [
|
|
29
25
|
'start' => [Rule::requiredIf(
|
|
@@ -8,20 +8,16 @@ class AssignOrderRequest extends FleetbaseRequest
|
|
|
8
8
|
{
|
|
9
9
|
/**
|
|
10
10
|
* Determine if the user is authorized to make this request.
|
|
11
|
-
*
|
|
12
|
-
* @return bool
|
|
13
11
|
*/
|
|
14
|
-
public function authorize()
|
|
12
|
+
public function authorize(): bool
|
|
15
13
|
{
|
|
16
|
-
return session('company');
|
|
14
|
+
return (bool) session('company');
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* Get the validation rules that apply to the request.
|
|
21
|
-
*
|
|
22
|
-
* @return array
|
|
23
19
|
*/
|
|
24
|
-
public function rules()
|
|
20
|
+
public function rules(): array
|
|
25
21
|
{
|
|
26
22
|
return [
|
|
27
23
|
'order' => ['required', 'exists:orders,public_id'],
|
|
@@ -12,20 +12,16 @@ class CreateDriverRequest extends CreateDriverApiRequest
|
|
|
12
12
|
{
|
|
13
13
|
/**
|
|
14
14
|
* Determine if the user is authorized to make this request.
|
|
15
|
-
*
|
|
16
|
-
* @return bool
|
|
17
15
|
*/
|
|
18
|
-
public function authorize()
|
|
16
|
+
public function authorize(): bool
|
|
19
17
|
{
|
|
20
18
|
return Auth::can('fleet-ops create driver');
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
/**
|
|
24
22
|
* Get the validation rules that apply to the request.
|
|
25
|
-
*
|
|
26
|
-
* @return array
|
|
27
23
|
*/
|
|
28
|
-
public function rules()
|
|
24
|
+
public function rules(): array
|
|
29
25
|
{
|
|
30
26
|
$isCreating = $this->isMethod('POST');
|
|
31
27
|
$isCreatingWithUser = $this->filled('driver.user_uuid');
|
|
@@ -67,10 +63,8 @@ class CreateDriverRequest extends CreateDriverApiRequest
|
|
|
67
63
|
|
|
68
64
|
/**
|
|
69
65
|
* Get custom attributes for validator errors.
|
|
70
|
-
*
|
|
71
|
-
* @return array
|
|
72
66
|
*/
|
|
73
|
-
public function attributes()
|
|
67
|
+
public function attributes(): array
|
|
74
68
|
{
|
|
75
69
|
return [
|
|
76
70
|
'name' => 'driver name',
|
|
@@ -85,10 +79,8 @@ class CreateDriverRequest extends CreateDriverApiRequest
|
|
|
85
79
|
|
|
86
80
|
/**
|
|
87
81
|
* Get custom messages for validator errors.
|
|
88
|
-
*
|
|
89
|
-
* @return array
|
|
90
82
|
*/
|
|
91
|
-
public function messages()
|
|
83
|
+
public function messages(): array
|
|
92
84
|
{
|
|
93
85
|
return [
|
|
94
86
|
'name.required' => 'Driver name is required.',
|
|
@@ -10,20 +10,16 @@ class CreateOrderConfigRequest extends FleetbaseRequest
|
|
|
10
10
|
{
|
|
11
11
|
/**
|
|
12
12
|
* Determine if the user is authorized to make this request.
|
|
13
|
-
*
|
|
14
|
-
* @return bool
|
|
15
13
|
*/
|
|
16
|
-
public function authorize()
|
|
14
|
+
public function authorize(): bool
|
|
17
15
|
{
|
|
18
16
|
return Auth::can('fleet-ops create order-config');
|
|
19
17
|
}
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Get the validation rules that apply to the request.
|
|
23
|
-
*
|
|
24
|
-
* @return array
|
|
25
21
|
*/
|
|
26
|
-
public function rules()
|
|
22
|
+
public function rules(): array
|
|
27
23
|
{
|
|
28
24
|
return [
|
|
29
25
|
'name' => [
|
|
@@ -11,28 +11,27 @@ class CreateOrderRequest extends FleetbaseRequest
|
|
|
11
11
|
{
|
|
12
12
|
/**
|
|
13
13
|
* Determine if the user is authorized to make this request.
|
|
14
|
-
*
|
|
15
|
-
* @return bool
|
|
16
14
|
*/
|
|
17
|
-
public function authorize()
|
|
15
|
+
public function authorize(): bool
|
|
18
16
|
{
|
|
19
17
|
return Auth::can('fleet-ops create order');
|
|
20
18
|
}
|
|
21
19
|
|
|
22
20
|
/**
|
|
23
21
|
* Get the validation rules that apply to the request.
|
|
24
|
-
*
|
|
25
|
-
* @return array
|
|
26
22
|
*/
|
|
27
|
-
public function rules()
|
|
23
|
+
public function rules(): array
|
|
28
24
|
{
|
|
25
|
+
$podMethods = config('fleetops.pod_methods');
|
|
26
|
+
$podMethods = is_array($podMethods) ? implode(',', $podMethods) : (string) $podMethods;
|
|
27
|
+
|
|
29
28
|
$validations = [
|
|
30
29
|
'order_config_uuid' => ['required'],
|
|
31
30
|
'adhoc' => ['nullable', 'boolean'],
|
|
32
31
|
'dispatch' => ['nullable', 'boolean'],
|
|
33
32
|
'adhoc_distance' => ['nullable', 'numeric'],
|
|
34
33
|
'pod_required' => ['nullable', 'boolean'],
|
|
35
|
-
'pod_method' => ['nullable', 'in:' .
|
|
34
|
+
'pod_method' => ['nullable', 'in:' . $podMethods],
|
|
36
35
|
'scheduled_at' => ['nullable', 'date'],
|
|
37
36
|
'driver' => ['nullable', 'exists:drivers,uuid'],
|
|
38
37
|
'service_quote' => ['nullable', 'exists:service_quotes,uuid'],
|
|
@@ -45,7 +44,7 @@ class CreateOrderRequest extends FleetbaseRequest
|
|
|
45
44
|
|
|
46
45
|
// Conditionally require 'pod_method' if 'pod_required' is truthy
|
|
47
46
|
if (Utils::isTrue($this->input('order.pod_required'))) {
|
|
48
|
-
$validations['pod_method'] = ['required', 'in:' .
|
|
47
|
+
$validations['pod_method'] = ['required', 'in:' . $podMethods];
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
if ($this->has('payload')) {
|
|
@@ -9,38 +9,34 @@ class FleetActionRequest extends FleetbaseRequest
|
|
|
9
9
|
{
|
|
10
10
|
/**
|
|
11
11
|
* Determine if the user is authorized to make this request.
|
|
12
|
-
*
|
|
13
|
-
* @return bool
|
|
14
12
|
*/
|
|
15
|
-
public function authorize()
|
|
13
|
+
public function authorize(): bool
|
|
16
14
|
{
|
|
17
|
-
$action = $this->
|
|
15
|
+
$action = $this->actionMethod();
|
|
18
16
|
|
|
19
17
|
if ($action === 'assignVehicle') {
|
|
20
|
-
return
|
|
18
|
+
return $this->can('fleet-ops assign-vehicle-for fleet');
|
|
21
19
|
}
|
|
22
20
|
|
|
23
21
|
if ($action === 'assignDriver') {
|
|
24
|
-
return
|
|
22
|
+
return $this->can('fleet-ops assign-driver-for fleet');
|
|
25
23
|
}
|
|
26
24
|
|
|
27
25
|
if ($action === 'removeVehicle') {
|
|
28
|
-
return
|
|
26
|
+
return $this->can('fleet-ops remove-vehicle-for fleet');
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
if ($action === 'removeDriver') {
|
|
32
|
-
return
|
|
30
|
+
return $this->can('fleet-ops remove-driver-for fleet');
|
|
33
31
|
}
|
|
34
32
|
|
|
35
|
-
return
|
|
33
|
+
return $this->can('fleet-ops update fleet');
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
/**
|
|
39
37
|
* Get the validation rules that apply to the request.
|
|
40
|
-
*
|
|
41
|
-
* @return array
|
|
42
38
|
*/
|
|
43
|
-
public function rules()
|
|
39
|
+
public function rules(): array
|
|
44
40
|
{
|
|
45
41
|
return [
|
|
46
42
|
'fleet' => 'string|exists:fleets,uuid',
|
|
@@ -48,4 +44,14 @@ class FleetActionRequest extends FleetbaseRequest
|
|
|
48
44
|
'vehicle' => 'nullable|string|exists:vehicles,uuid',
|
|
49
45
|
];
|
|
50
46
|
}
|
|
47
|
+
|
|
48
|
+
protected function actionMethod(): string
|
|
49
|
+
{
|
|
50
|
+
return $this->route()->getActionMethod();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
protected function can(string $permission): bool
|
|
54
|
+
{
|
|
55
|
+
return Auth::can($permission);
|
|
56
|
+
}
|
|
51
57
|
}
|
|
@@ -8,10 +8,13 @@ class UpdateDriverRequest extends CreateDriverRequest
|
|
|
8
8
|
{
|
|
9
9
|
/**
|
|
10
10
|
* Determine if the user is authorized to make this request.
|
|
11
|
-
*
|
|
12
|
-
* @return bool
|
|
13
11
|
*/
|
|
14
|
-
public function authorize()
|
|
12
|
+
public function authorize(): bool
|
|
13
|
+
{
|
|
14
|
+
return $this->canUpdateDriver();
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
protected function canUpdateDriver(): bool
|
|
15
18
|
{
|
|
16
19
|
return Auth::can('fleet-ops update driver');
|
|
17
20
|
}
|