@fleetbase/fleetops-engine 0.6.58 → 0.6.60
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/RELEASE.md +36 -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/components/vehicle/details/schedules.hbs +2 -2
- package/addon/components/vehicle/details/schedules.js +7 -1
- package/addon/controllers/maintenance/schedules/index/edit.js +10 -1
- package/addon/services/entity-actions.js +32 -0
- package/addon/services/vehicle-actions.js +4 -2
- package/addon/styles/fleetops-engine.css +0 -1
- package/composer.json +8 -3
- package/extension.json +1 -1
- package/index.js +7 -1
- package/package.json +2 -1
- package/scripts/coverage-file-runner.php +240 -0
- package/scripts/coverage-runner.php +2 -1
- package/scripts/coverage-summary.php +41 -2
- package/scripts/pest-bootstrap.php +237 -3
- package/scripts/pest-file-runner.php +13 -1
- package/scripts/pest-runner.php +57 -2
- package/server/config/fleetops.php +44 -0
- package/server/config/geocoder.php +1 -1
- package/server/migrations/2026_08_08_000001_make_sku_and_provider_transaction_unique_indexes_soft_delete_aware.php +152 -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 +346 -101
- package/server/src/Http/Controllers/Api/v1/DeviceController.php +48 -14
- package/server/src/Http/Controllers/Api/v1/DriverController.php +224 -64
- 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 +73 -23
- 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 +32 -15
- 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 +92 -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/Concerns/ResolvesReviewAccountBypass.php +62 -0
- 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 +168 -70
- 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/MaintenanceScheduleFilter.php +40 -0
- 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/CreateCustomerRequest.php +9 -1
- 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 +16 -9
- package/server/src/Http/Requests/CreateFuelTransactionRequest.php +66 -3
- 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 +41 -3
- 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/TrackingNumber.php +33 -0
- 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 +26 -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/Sensor.php +24 -0
- 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 +2 -2
- 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/FuelProviders/FuelProviderService.php +10 -1
- 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/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 +24 -17
- package/server/tests/AiOperationalQueryCapabilityTest.php +457 -1
- package/server/tests/AiPreviewCapabilityContractsTest.php +180 -0
- package/server/tests/AnalyticsRoutesTest.php +380 -1
- package/server/tests/AnalyticsWidgetContractsTest.php +740 -0
- package/server/tests/ApiContactControllerContractsTest.php +284 -0
- package/server/tests/ApiCustomerControllerContractsTest.php +1130 -0
- package/server/tests/ApiDriverControllerContractsTest.php +603 -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 +2838 -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 +169 -2
- 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 +530 -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 +461 -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 +160 -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 +1167 -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/FuelProviderResourceContractsTest.php +171 -0
- package/server/tests/FuelProviderTransactionControllerContractsTest.php +198 -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 +145 -18
- 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 +1058 -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/ServiceRateRouteValidationTest.php +76 -0
- package/server/tests/SettingControllerContractsTest.php +410 -0
- package/server/tests/SmallControllerContractsTest.php +480 -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 +642 -86
- package/server/tests/TrackingIntelligenceTest.php +644 -1
- 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/MaintenanceScheduleFilterTest.php +69 -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 +68 -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 +190 -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/SensorLastPositionDefaultTest.php +130 -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/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/tests/DeviceFilterTest.php +0 -44
- package/server/tests/LiveControllerViewportTest.php +0 -52
|
@@ -8,25 +8,32 @@ class CreateFuelReportRequest 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
|
{
|
|
22
|
+
// requiredIf(POST), not required: UpdateFuelReportRequest extends this class, so a
|
|
23
|
+
// flat `required` made every partial update fail — PUT /v1/fuel-reports/{id} with
|
|
24
|
+
// just {"status": "approved"} answered "The driver field is required."
|
|
25
|
+
//
|
|
26
|
+
// `driver` is the clearest case: the update action's $request->only() list does not
|
|
27
|
+
// even include it, so validation demanded a field the endpoint then discarded.
|
|
28
|
+
// CreateFuelTransactionRequest solves the same create/update inheritance with
|
|
29
|
+
// Rule::requiredIf(isMethod('POST')); a plain conditional is used here because
|
|
30
|
+
// illuminate/validation is not autoloadable in the package's test harness.
|
|
31
|
+
$requiredOnCreate = $this->isMethod('POST') ? ['required'] : ['sometimes'];
|
|
32
|
+
|
|
26
33
|
return [
|
|
27
|
-
'driver' =>
|
|
28
|
-
'odometer' =>
|
|
29
|
-
'volume' =>
|
|
34
|
+
'driver' => $requiredOnCreate,
|
|
35
|
+
'odometer' => $requiredOnCreate,
|
|
36
|
+
'volume' => $requiredOnCreate,
|
|
30
37
|
'metric_unit' => ['nullable'],
|
|
31
38
|
'location' => ['nullable'],
|
|
32
39
|
'amount' => ['nullable'],
|
|
@@ -2,21 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
namespace Fleetbase\FleetOps\Http\Requests;
|
|
4
4
|
|
|
5
|
+
use Fleetbase\FleetOps\Models\FuelProviderTransaction;
|
|
5
6
|
use Fleetbase\Http\Requests\FleetbaseRequest;
|
|
6
7
|
use Illuminate\Validation\Rule;
|
|
7
8
|
|
|
8
9
|
class CreateFuelTransactionRequest extends FleetbaseRequest
|
|
9
10
|
{
|
|
10
|
-
public function authorize()
|
|
11
|
+
public function authorize(): bool
|
|
11
12
|
{
|
|
12
13
|
return request()->session()->has('api_credential') || request()->session()->has('is_sanctum_token');
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
public function rules()
|
|
16
|
+
public function rules(): array
|
|
16
17
|
{
|
|
17
18
|
return [
|
|
18
19
|
'provider' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
19
|
-
'provider_transaction_id' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
20
|
+
'provider_transaction_id' => [Rule::requiredIf($this->isMethod('POST')), 'string', $this->uniqueProviderTransactionIdRule()],
|
|
20
21
|
'connection' => ['nullable', 'string'],
|
|
21
22
|
'fuel_report' => ['nullable', 'string'],
|
|
22
23
|
'vehicle' => ['nullable', 'string'],
|
|
@@ -47,4 +48,66 @@ class CreateFuelTransactionRequest extends FleetbaseRequest
|
|
|
47
48
|
'meta' => ['nullable', 'array'],
|
|
48
49
|
];
|
|
49
50
|
}
|
|
51
|
+
|
|
52
|
+
public function messages(): array
|
|
53
|
+
{
|
|
54
|
+
return [
|
|
55
|
+
'provider_transaction_id.unique' => 'A fuel transaction with this provider transaction id already exists for this provider.',
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Mirrors the fuel_provider_txn_company_provider_unique index.
|
|
61
|
+
*
|
|
62
|
+
* Provider transaction ids are natural idempotency keys, so a re-sent batch
|
|
63
|
+
* used to raise an unhandled UniqueConstraintViolationException — an HTTP 500
|
|
64
|
+
* rather than a duplicate signal the client could act on.
|
|
65
|
+
*
|
|
66
|
+
* @return \Illuminate\Validation\Rules\Unique
|
|
67
|
+
*/
|
|
68
|
+
protected function uniqueProviderTransactionIdRule()
|
|
69
|
+
{
|
|
70
|
+
$provider = $this->resolveProvider();
|
|
71
|
+
|
|
72
|
+
$rule = Rule::unique('fuel_provider_transactions', 'provider_transaction_id')
|
|
73
|
+
->where(function ($query) use ($provider) {
|
|
74
|
+
$query->where('company_uuid', session('company'));
|
|
75
|
+
$query->where('provider', $provider);
|
|
76
|
+
|
|
77
|
+
return $query->whereNull('deleted_at');
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
// On PUT the record re-sends its own provider_transaction_id. The v1 route
|
|
81
|
+
// parameter is a public_id (fuel_provider_transaction_xxxxx), not a uuid.
|
|
82
|
+
$id = $this->route('id');
|
|
83
|
+
if (!$this->isMethod('POST') && filled($id)) {
|
|
84
|
+
$rule->ignore($id, 'public_id');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return $rule;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* The uniqueness scope is per provider, but `provider` is only required on
|
|
92
|
+
* POST — a PUT may change the transaction id while leaving the provider out of
|
|
93
|
+
* the body. Fall back to the stored value so the scope is never null, which
|
|
94
|
+
* would otherwise compare against the wrong set of rows.
|
|
95
|
+
*/
|
|
96
|
+
protected function resolveProvider(): ?string
|
|
97
|
+
{
|
|
98
|
+
if ($this->filled('provider')) {
|
|
99
|
+
return $this->input('provider');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
$id = $this->route('id');
|
|
103
|
+
if (blank($id)) {
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return FuelProviderTransaction::where('company_uuid', session('company'))
|
|
108
|
+
->where(function ($query) use ($id) {
|
|
109
|
+
$query->where('public_id', $id)->orWhere('uuid', $id);
|
|
110
|
+
})
|
|
111
|
+
->value('provider');
|
|
112
|
+
}
|
|
50
113
|
}
|
|
@@ -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,15 +7,15 @@ 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
|
-
'sku' => ['nullable', 'string'],
|
|
18
|
+
'sku' => ['nullable', 'string', $this->uniqueSkuRule()],
|
|
19
19
|
'name' => [Rule::requiredIf($this->isMethod('POST')), 'string'],
|
|
20
20
|
'manufacturer' => ['nullable', 'string'],
|
|
21
21
|
'model' => ['nullable', 'string'],
|
|
@@ -37,4 +37,42 @@ class CreatePartRequest extends FleetbaseRequest
|
|
|
37
37
|
'meta' => ['nullable', 'array'],
|
|
38
38
|
];
|
|
39
39
|
}
|
|
40
|
+
|
|
41
|
+
public function messages(): array
|
|
42
|
+
{
|
|
43
|
+
return [
|
|
44
|
+
'sku.unique' => 'A part with this SKU already exists.',
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Mirrors the parts_company_uuid_active_sku_unique index.
|
|
50
|
+
*
|
|
51
|
+
* Without this rule a duplicate SKU reached the driver and came back as an
|
|
52
|
+
* unhandled UniqueConstraintViolationException — an HTTP 500 with no field
|
|
53
|
+
* attribution, since public v1 controllers have no QueryException catch.
|
|
54
|
+
*
|
|
55
|
+
* `nullable` runs first, so this never fires on a null SKU; that matches the
|
|
56
|
+
* nullable column and MySQL's tolerance of repeated NULLs in a unique index.
|
|
57
|
+
*
|
|
58
|
+
* @return \Illuminate\Validation\Rules\Unique
|
|
59
|
+
*/
|
|
60
|
+
protected function uniqueSkuRule()
|
|
61
|
+
{
|
|
62
|
+
$rule = Rule::unique('parts', 'sku')
|
|
63
|
+
->where(function ($query) {
|
|
64
|
+
$query->where('company_uuid', session('company'));
|
|
65
|
+
|
|
66
|
+
return $query->whereNull('deleted_at');
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
// On PUT the record re-sends its own SKU, so it must not collide with
|
|
70
|
+
// itself. The v1 route parameter is a public_id (part_xxxxx), not a uuid.
|
|
71
|
+
$id = $this->route('id');
|
|
72
|
+
if (!$this->isMethod('POST') && filled($id)) {
|
|
73
|
+
$rule->ignore($id, 'public_id');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return $rule;
|
|
77
|
+
}
|
|
40
78
|
}
|
|
@@ -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'],
|