@fleetbase/fleetops-engine 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/.gitattributes +14 -0
  2. package/.php-cs-fixer.cache +1 -0
  3. package/.php-cs-fixer.php +29 -0
  4. package/LICENSE.md +16 -4
  5. package/README.md +103 -13
  6. package/composer.json +85 -0
  7. package/extension.json +10 -0
  8. package/package.json +3 -3
  9. package/phpstan.neon.dist +8 -0
  10. package/phpunit.xml.dist +16 -0
  11. package/server/config/api.php +765 -0
  12. package/server/config/cache.stores.php +18 -0
  13. package/server/config/dompdf.php +242 -0
  14. package/server/config/fleetops.php +19 -0
  15. package/server/config/geocoder.php +108 -0
  16. package/server/data/globe.json +261 -0
  17. package/server/migrations/2023_04_27_053456_create_contacts_table.php +49 -0
  18. package/server/migrations/2023_04_27_053456_create_drivers_table.php +62 -0
  19. package/server/migrations/2023_04_27_053456_create_entities_table.php +67 -0
  20. package/server/migrations/2023_04_27_053456_create_fleet_drivers_table.php +39 -0
  21. package/server/migrations/2023_04_27_053456_create_fleets_table.php +47 -0
  22. package/server/migrations/2023_04_27_053456_create_fuel_reports_table.php +50 -0
  23. package/server/migrations/2023_04_27_053456_create_integrated_vendors_table.php +44 -0
  24. package/server/migrations/2023_04_27_053456_create_issues_table.php +53 -0
  25. package/server/migrations/2023_04_27_053456_create_orders_table.php +70 -0
  26. package/server/migrations/2023_04_27_053456_create_payloads_table.php +51 -0
  27. package/server/migrations/2023_04_27_053456_create_places_table.php +62 -0
  28. package/server/migrations/2023_04_27_053456_create_positions_table.php +46 -0
  29. package/server/migrations/2023_04_27_053456_create_proofs_table.php +44 -0
  30. package/server/migrations/2023_04_27_053456_create_purchase_rates_table.php +46 -0
  31. package/server/migrations/2023_04_27_053456_create_routes_table.php +40 -0
  32. package/server/migrations/2023_04_27_053456_create_service_areas_table.php +47 -0
  33. package/server/migrations/2023_04_27_053456_create_service_quote_items_table.php +42 -0
  34. package/server/migrations/2023_04_27_053456_create_service_quotes_table.php +47 -0
  35. package/server/migrations/2023_04_27_053456_create_service_rate_fees_table.php +45 -0
  36. package/server/migrations/2023_04_27_053456_create_service_rate_parcel_fees_table.php +47 -0
  37. package/server/migrations/2023_04_27_053456_create_service_rates_table.php +61 -0
  38. package/server/migrations/2023_04_27_053456_create_tracking_numbers_table.php +46 -0
  39. package/server/migrations/2023_04_27_053456_create_tracking_statuses_table.php +54 -0
  40. package/server/migrations/2023_04_27_053456_create_vehicles_table.php +84 -0
  41. package/server/migrations/2023_04_27_053456_create_vendors_table.php +56 -0
  42. package/server/migrations/2023_04_27_053456_create_waypoints_table.php +45 -0
  43. package/server/migrations/2023_04_27_053456_create_zones_table.php +46 -0
  44. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_companies_table.php +32 -0
  45. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_contacts_table.php +34 -0
  46. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_drivers_table.php +40 -0
  47. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_entities_table.php +40 -0
  48. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_fleet_drivers_table.php +34 -0
  49. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_fleets_table.php +36 -0
  50. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_fuel_reports_table.php +36 -0
  51. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_integrated_vendors_table.php +34 -0
  52. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_issues_table.php +38 -0
  53. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_orders_table.php +48 -0
  54. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_payloads_table.php +40 -0
  55. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_places_table.php +32 -0
  56. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_positions_table.php +36 -0
  57. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_proofs_table.php +34 -0
  58. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_purchase_rates_table.php +38 -0
  59. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_routes_table.php +34 -0
  60. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_service_areas_table.php +34 -0
  61. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_service_quote_items_table.php +32 -0
  62. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_service_quotes_table.php +38 -0
  63. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_service_rate_fees_table.php +32 -0
  64. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_service_rate_parcel_fees_table.php +32 -0
  65. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_service_rates_table.php +36 -0
  66. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_tracking_numbers_table.php +34 -0
  67. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_tracking_statuses_table.php +34 -0
  68. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_vehicles_table.php +36 -0
  69. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_vendors_table.php +40 -0
  70. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_waypoints_table.php +38 -0
  71. package/server/migrations/2023_04_27_053459_add_foreign_keys_to_zones_table.php +34 -0
  72. package/server/migrations/2023_09_14_074512_update_vehicles_table.php +100 -0
  73. package/server/migrations/2023_09_14_074619_create_vehicle_devices_table.php +44 -0
  74. package/server/migrations/2023_09_26_071205_add_online_column_to_vehicles_table.php +32 -0
  75. package/server/migrations/2023_09_26_083957_create_fleet_vehicles_table.php +45 -0
  76. package/server/migrations/2023_09_27_023757_add_column_to_fleets_table.php +46 -0
  77. package/server/migrations/2023_10_05_074811_update_vehicle.php +42 -0
  78. package/server/resources/views/labels/default.php +165 -0
  79. package/server/src/Auth/Schemas/FleetOps.php +75 -0
  80. package/server/src/Casts/MultiPolygon.php +50 -0
  81. package/server/src/Casts/Point.php +109 -0
  82. package/server/src/Casts/Polygon.php +46 -0
  83. package/server/src/Console/Commands/DispatchAdhocOrders.php +137 -0
  84. package/server/src/Console/Commands/DispatchOrders.php +71 -0
  85. package/server/src/Console/Commands/TrackOrderDistanceAndTime.php +62 -0
  86. package/server/src/Events/DriverLocationChanged.php +174 -0
  87. package/server/src/Events/DriverSimulatedLocationChanged.php +183 -0
  88. package/server/src/Events/EntityDriverAssigned.php +36 -0
  89. package/server/src/Events/OrderCanceled.php +15 -0
  90. package/server/src/Events/OrderCompleted.php +15 -0
  91. package/server/src/Events/OrderDispatchFailed.php +42 -0
  92. package/server/src/Events/OrderDispatched.php +15 -0
  93. package/server/src/Events/OrderDriverAssigned.php +15 -0
  94. package/server/src/Events/OrderReady.php +15 -0
  95. package/server/src/Events/OrderStarted.php +15 -0
  96. package/server/src/Exceptions/IntegratedVendorException.php +18 -0
  97. package/server/src/Expansions/UserExpansion.php +63 -0
  98. package/server/src/Exports/ContactExport.php +56 -0
  99. package/server/src/Exports/DriverExport.php +61 -0
  100. package/server/src/Exports/FleetExport.php +53 -0
  101. package/server/src/Exports/PlaceExport.php +55 -0
  102. package/server/src/Exports/ServiceAreaExport.php +58 -0
  103. package/server/src/Exports/VehicleExport.php +57 -0
  104. package/server/src/Exports/VendorExport.php +57 -0
  105. package/server/src/Http/Controllers/Api/v1/ContactController.php +133 -0
  106. package/server/src/Http/Controllers/Api/v1/DriverController.php +691 -0
  107. package/server/src/Http/Controllers/Api/v1/EntityController.php +230 -0
  108. package/server/src/Http/Controllers/Api/v1/FleetController.php +146 -0
  109. package/server/src/Http/Controllers/Api/v1/LabelController.php +63 -0
  110. package/server/src/Http/Controllers/Api/v1/OrderController.php +1114 -0
  111. package/server/src/Http/Controllers/Api/v1/PayloadController.php +195 -0
  112. package/server/src/Http/Controllers/Api/v1/PlaceController.php +333 -0
  113. package/server/src/Http/Controllers/Api/v1/PurchaseRateController.php +199 -0
  114. package/server/src/Http/Controllers/Api/v1/ServiceAreaController.php +133 -0
  115. package/server/src/Http/Controllers/Api/v1/ServiceQuoteController.php +381 -0
  116. package/server/src/Http/Controllers/Api/v1/ServiceRateController.php +223 -0
  117. package/server/src/Http/Controllers/Api/v1/TrackingNumberController.php +146 -0
  118. package/server/src/Http/Controllers/Api/v1/TrackingStatusController.php +138 -0
  119. package/server/src/Http/Controllers/Api/v1/VehicleController.php +191 -0
  120. package/server/src/Http/Controllers/Api/v1/VendorController.php +159 -0
  121. package/server/src/Http/Controllers/Api/v1/ZoneController.php +146 -0
  122. package/server/src/Http/Controllers/FleetOpsController.php +13 -0
  123. package/server/src/Http/Controllers/Internal/v1/ContactController.php +69 -0
  124. package/server/src/Http/Controllers/Internal/v1/DriverController.php +261 -0
  125. package/server/src/Http/Controllers/Internal/v1/EntityController.php +15 -0
  126. package/server/src/Http/Controllers/Internal/v1/FleetController.php +152 -0
  127. package/server/src/Http/Controllers/Internal/v1/FleetOpsLookupController.php +80 -0
  128. package/server/src/Http/Controllers/Internal/v1/FuelReportController.php +15 -0
  129. package/server/src/Http/Controllers/Internal/v1/GeocoderController.php +96 -0
  130. package/server/src/Http/Controllers/Internal/v1/IntegratedVendorController.php +63 -0
  131. package/server/src/Http/Controllers/Internal/v1/IssueController.php +15 -0
  132. package/server/src/Http/Controllers/Internal/v1/LiveController.php +127 -0
  133. package/server/src/Http/Controllers/Internal/v1/MetricsController.php +75 -0
  134. package/server/src/Http/Controllers/Internal/v1/MorphController.php +77 -0
  135. package/server/src/Http/Controllers/Internal/v1/OrderConfigController.php +269 -0
  136. package/server/src/Http/Controllers/Internal/v1/OrderController.php +564 -0
  137. package/server/src/Http/Controllers/Internal/v1/PayloadController.php +15 -0
  138. package/server/src/Http/Controllers/Internal/v1/PlaceController.php +163 -0
  139. package/server/src/Http/Controllers/Internal/v1/ProofController.php +139 -0
  140. package/server/src/Http/Controllers/Internal/v1/PurchaseRateController.php +15 -0
  141. package/server/src/Http/Controllers/Internal/v1/RouteController.php +15 -0
  142. package/server/src/Http/Controllers/Internal/v1/ServiceAreaController.php +32 -0
  143. package/server/src/Http/Controllers/Internal/v1/ServiceQuoteController.php +345 -0
  144. package/server/src/Http/Controllers/Internal/v1/ServiceRateController.php +47 -0
  145. package/server/src/Http/Controllers/Internal/v1/SettingController.php +30 -0
  146. package/server/src/Http/Controllers/Internal/v1/TrackingNumberController.php +15 -0
  147. package/server/src/Http/Controllers/Internal/v1/TrackingStatusController.php +15 -0
  148. package/server/src/Http/Controllers/Internal/v1/VehicleController.php +65 -0
  149. package/server/src/Http/Controllers/Internal/v1/VehicleDeviceController.php +15 -0
  150. package/server/src/Http/Controllers/Internal/v1/VendorController.php +120 -0
  151. package/server/src/Http/Controllers/Internal/v1/ZoneController.php +15 -0
  152. package/server/src/Http/Filter/ContactFilter.php +86 -0
  153. package/server/src/Http/Filter/DriverFilter.php +148 -0
  154. package/server/src/Http/Filter/FleetFilter.php +108 -0
  155. package/server/src/Http/Filter/IntegratedVendorFilter.php +13 -0
  156. package/server/src/Http/Filter/OrderFilter.php +242 -0
  157. package/server/src/Http/Filter/PlaceFilter.php +111 -0
  158. package/server/src/Http/Filter/ServiceAreaFilter.php +13 -0
  159. package/server/src/Http/Filter/ServiceQuoteFilter.php +13 -0
  160. package/server/src/Http/Filter/ServiceRateFilter.php +33 -0
  161. package/server/src/Http/Filter/TrackingStatusFilter.php +43 -0
  162. package/server/src/Http/Filter/VehicleFilter.php +91 -0
  163. package/server/src/Http/Filter/VendorFilter.php +83 -0
  164. package/server/src/Http/Filter/ZoneFilter.php +13 -0
  165. package/server/src/Http/Requests/CancelOrderRequest.php +31 -0
  166. package/server/src/Http/Requests/CreateContactRequest.php +33 -0
  167. package/server/src/Http/Requests/CreateDriverRequest.php +55 -0
  168. package/server/src/Http/Requests/CreateEntityRequest.php +43 -0
  169. package/server/src/Http/Requests/CreateFleetRequest.php +32 -0
  170. package/server/src/Http/Requests/CreateOrderRequest.php +66 -0
  171. package/server/src/Http/Requests/CreatePayloadRequest.php +37 -0
  172. package/server/src/Http/Requests/CreatePlaceRequest.php +38 -0
  173. package/server/src/Http/Requests/CreatePurchaseRateRequest.php +33 -0
  174. package/server/src/Http/Requests/CreateServiceAreaRequest.php +35 -0
  175. package/server/src/Http/Requests/CreateServiceQuoteRequest.php +29 -0
  176. package/server/src/Http/Requests/CreateServiceRateRequest.php +56 -0
  177. package/server/src/Http/Requests/CreateTrackingNumberRequest.php +34 -0
  178. package/server/src/Http/Requests/CreateTrackingStatusRequest.php +42 -0
  179. package/server/src/Http/Requests/CreateVehicleRequest.php +32 -0
  180. package/server/src/Http/Requests/CreateVendorRequest.php +35 -0
  181. package/server/src/Http/Requests/CreateZoneRequest.php +35 -0
  182. package/server/src/Http/Requests/DecodeTrackingNumberQR.php +30 -0
  183. package/server/src/Http/Requests/DriverSimulationRequest.php +46 -0
  184. package/server/src/Http/Requests/Internal/AssignOrderRequest.php +31 -0
  185. package/server/src/Http/Requests/Internal/CreateDriverRequest.php +42 -0
  186. package/server/src/Http/Requests/Internal/FleetActionRequest.php +32 -0
  187. package/server/src/Http/Requests/Internal/UpdateDriverRequest.php +7 -0
  188. package/server/src/Http/Requests/QueryServiceQuotesRequest.php +41 -0
  189. package/server/src/Http/Requests/UpdateContactRequest.php +20 -0
  190. package/server/src/Http/Requests/UpdateDriverRequest.php +7 -0
  191. package/server/src/Http/Requests/UpdateEntityRequest.php +7 -0
  192. package/server/src/Http/Requests/UpdateFleetRequest.php +7 -0
  193. package/server/src/Http/Requests/UpdateOrderRequest.php +7 -0
  194. package/server/src/Http/Requests/UpdatePayloadRequest.php +7 -0
  195. package/server/src/Http/Requests/UpdatePlaceRequest.php +7 -0
  196. package/server/src/Http/Requests/UpdatePurchaseRateRequest.php +7 -0
  197. package/server/src/Http/Requests/UpdateServiceAreaRequest.php +29 -0
  198. package/server/src/Http/Requests/UpdateServiceQuoteRequest.php +29 -0
  199. package/server/src/Http/Requests/UpdateServiceRateRequest.php +29 -0
  200. package/server/src/Http/Requests/UpdateTrackingNumberRequest.php +7 -0
  201. package/server/src/Http/Requests/UpdateTrackingStatusRequest.php +32 -0
  202. package/server/src/Http/Requests/UpdateVehicleRequest.php +7 -0
  203. package/server/src/Http/Requests/UpdateVendorRequest.php +7 -0
  204. package/server/src/Http/Requests/UpdateZoneRequest.php +7 -0
  205. package/server/src/Http/Resources/Internal/v1/IntegratedVendorFacilitator.php +37 -0
  206. package/server/src/Http/Resources/Internal/v1/Vehicle.php +33 -0
  207. package/server/src/Http/Resources/Internal/v1/Waypoint.php +34 -0
  208. package/server/src/Http/Resources/v1/Contact.php +62 -0
  209. package/server/src/Http/Resources/v1/CurrentJob.php +36 -0
  210. package/server/src/Http/Resources/v1/DeletedResource.php +61 -0
  211. package/server/src/Http/Resources/v1/Driver.php +89 -0
  212. package/server/src/Http/Resources/v1/Entity.php +107 -0
  213. package/server/src/Http/Resources/v1/Fleet.php +60 -0
  214. package/server/src/Http/Resources/v1/FuelReport.php +67 -0
  215. package/server/src/Http/Resources/v1/Order.php +131 -0
  216. package/server/src/Http/Resources/v1/Payload.php +94 -0
  217. package/server/src/Http/Resources/v1/Place.php +84 -0
  218. package/server/src/Http/Resources/v1/Proof.php +36 -0
  219. package/server/src/Http/Resources/v1/PurchaseRate.php +77 -0
  220. package/server/src/Http/Resources/v1/ServiceArea.php +55 -0
  221. package/server/src/Http/Resources/v1/ServiceQuote.php +57 -0
  222. package/server/src/Http/Resources/v1/ServiceRate.php +94 -0
  223. package/server/src/Http/Resources/v1/ServiceRateFee.php +58 -0
  224. package/server/src/Http/Resources/v1/ServiceRateParcelFee.php +48 -0
  225. package/server/src/Http/Resources/v1/TrackingNumber.php +62 -0
  226. package/server/src/Http/Resources/v1/TrackingStatus.php +84 -0
  227. package/server/src/Http/Resources/v1/Vehicle.php +75 -0
  228. package/server/src/Http/Resources/v1/VehicleDevice.php +44 -0
  229. package/server/src/Http/Resources/v1/VehicleWithoutDriver.php +72 -0
  230. package/server/src/Http/Resources/v1/Vendor.php +72 -0
  231. package/server/src/Http/Resources/v1/Zone.php +60 -0
  232. package/server/src/Imports/OrdersImport.php +18 -0
  233. package/server/src/Integrations/Lalamove/Lalamove.php +678 -0
  234. package/server/src/Integrations/Lalamove/LalamoveDeliveryStop.php +97 -0
  235. package/server/src/Integrations/Lalamove/LalamoveMarket.php +123 -0
  236. package/server/src/Integrations/Lalamove/LalamoveServiceType.php +161 -0
  237. package/server/src/Jobs/SimulateDrivingRoute.php +81 -0
  238. package/server/src/Jobs/SimulateWaypointReached.php +79 -0
  239. package/server/src/Listeners/HandleOrderCanceled.php +46 -0
  240. package/server/src/Listeners/HandleOrderCreated.php +23 -0
  241. package/server/src/Listeners/HandleOrderDispatchFailed.php +35 -0
  242. package/server/src/Listeners/HandleOrderDispatched.php +108 -0
  243. package/server/src/Listeners/HandleOrderDriverAssigned.php +42 -0
  244. package/server/src/Listeners/HandleOrderReady.php +27 -0
  245. package/server/src/Listeners/HandleUserRemovedFromCompany.php +31 -0
  246. package/server/src/Models/Contact.php +239 -0
  247. package/server/src/Models/Driver.php +543 -0
  248. package/server/src/Models/Entity.php +416 -0
  249. package/server/src/Models/Fleet.php +203 -0
  250. package/server/src/Models/FleetDriver.php +73 -0
  251. package/server/src/Models/FleetVehicle.php +73 -0
  252. package/server/src/Models/FuelReport.php +125 -0
  253. package/server/src/Models/IntegratedVendor.php +219 -0
  254. package/server/src/Models/Issue.php +111 -0
  255. package/server/src/Models/Order.php +1132 -0
  256. package/server/src/Models/Payload.php +699 -0
  257. package/server/src/Models/Place.php +656 -0
  258. package/server/src/Models/Position.php +119 -0
  259. package/server/src/Models/Proof.php +94 -0
  260. package/server/src/Models/PurchaseRate.php +208 -0
  261. package/server/src/Models/Route.php +128 -0
  262. package/server/src/Models/ServiceArea.php +161 -0
  263. package/server/src/Models/ServiceQuote.php +207 -0
  264. package/server/src/Models/ServiceQuoteItem.php +46 -0
  265. package/server/src/Models/ServiceRate.php +953 -0
  266. package/server/src/Models/ServiceRateFee.php +96 -0
  267. package/server/src/Models/ServiceRateParcelFee.php +116 -0
  268. package/server/src/Models/TrackingNumber.php +310 -0
  269. package/server/src/Models/TrackingStatus.php +177 -0
  270. package/server/src/Models/Vehicle.php +452 -0
  271. package/server/src/Models/VehicleDevice.php +79 -0
  272. package/server/src/Models/Vendor.php +244 -0
  273. package/server/src/Models/Waypoint.php +226 -0
  274. package/server/src/Models/Zone.php +95 -0
  275. package/server/src/Notifications/OrderAssigned.php +140 -0
  276. package/server/src/Notifications/OrderCanceled.php +129 -0
  277. package/server/src/Notifications/OrderDispatchFailed.php +81 -0
  278. package/server/src/Notifications/OrderDispatched.php +173 -0
  279. package/server/src/Notifications/OrderPing.php +162 -0
  280. package/server/src/Notifications/OrderSplit.php +56 -0
  281. package/server/src/Observers/DriverObserver.php +34 -0
  282. package/server/src/Observers/OrderObserver.php +34 -0
  283. package/server/src/Observers/PayloadObserver.php +30 -0
  284. package/server/src/Observers/PlaceObserver.php +26 -0
  285. package/server/src/Observers/PurchaseRateObserver.php +61 -0
  286. package/server/src/Observers/ServiceAreaObserver.php +35 -0
  287. package/server/src/Observers/ServiceRateObserver.php +78 -0
  288. package/server/src/Observers/TrackingNumberObserver.php +44 -0
  289. package/server/src/Observers/UserObserver.php +20 -0
  290. package/server/src/Observers/VehicleObserver.php +66 -0
  291. package/server/src/Providers/EventServiceProvider.php +30 -0
  292. package/server/src/Providers/FleetOpsServiceProvider.php +94 -0
  293. package/server/src/Rules/ResolvablePoint.php +37 -0
  294. package/server/src/Scopes/DriverScope.php +21 -0
  295. package/server/src/Support/Algo.php +55 -0
  296. package/server/src/Support/DistanceMatrix.php +27 -0
  297. package/server/src/Support/Encoding/Polyline.php +168 -0
  298. package/server/src/Support/Flow.php +622 -0
  299. package/server/src/Support/Geocoding.php +216 -0
  300. package/server/src/Support/IntegratedVendors.php +287 -0
  301. package/server/src/Support/Metrics.php +305 -0
  302. package/server/src/Support/OSRM.php +191 -0
  303. package/server/src/Support/ParsePhone.php +21 -0
  304. package/server/src/Support/Utils.php +1145 -0
  305. package/server/src/Traits/HasTrackingNumber.php +185 -0
  306. package/server/src/routes.php +381 -0
  307. package/server/tests/Feature.php +5 -0
package/.gitattributes ADDED
@@ -0,0 +1,14 @@
1
+ /art export-ignore
2
+ /docs export-ignore
3
+ /tests export-ignore
4
+ /scripts export-ignore
5
+ /.github export-ignore
6
+ /.php_cs export-ignore
7
+ .editorconfig export-ignore
8
+ .gitattributes export-ignore
9
+ .gitignore export-ignore
10
+ phpstan.neon.dist export-ignore
11
+ phpunit.xml.dist export-ignore
12
+ CHANGELOG.md export-ignore
13
+ CONTRIBUTING.md export-ignore
14
+ README.md export-ignore
@@ -0,0 +1 @@
1
+ {"php":"7.4.33","version":"3.34.1:v3.34.1#98bf1b1068b4ceddbbc2a2b70b67a5e380add9e3","indent":" ","lineEnding":"\n","rules":{"align_multiline_comment":true,"array_syntax":{"syntax":"short"},"backtick_to_shell_exec":true,"binary_operator_spaces":{"operators":{"=>":"align","=":"align"}},"blank_line_before_statement":{"statements":["return"]},"braces_position":{"allow_single_line_anonymous_functions":true,"allow_single_line_empty_anonymous_classes":true},"cast_spaces":true,"class_attributes_separation":{"elements":{"method":"one"}},"class_definition":{"single_line":true},"class_reference_name_casing":true,"clean_namespace":true,"concat_space":{"spacing":"one"},"declare_parentheses":true,"echo_tag_syntax":true,"empty_loop_body":{"style":"braces"},"empty_loop_condition":true,"fully_qualified_strict_types":true,"general_phpdoc_tag_rename":{"replacements":{"inheritDocs":"inheritDoc"}},"global_namespace_import":{"import_classes":false,"import_constants":false,"import_functions":false},"include":true,"increment_style":{"style":"post"},"integer_literal_case":true,"lambda_not_used_import":true,"linebreak_after_opening_tag":true,"long_to_shorthand_operator":true,"magic_constant_casing":true,"magic_method_casing":true,"method_argument_space":{"on_multiline":"ignore"},"native_function_casing":true,"native_type_declaration_casing":true,"no_alias_language_construct_call":true,"no_alternative_syntax":true,"no_binary_string":true,"no_blank_lines_after_phpdoc":true,"no_empty_comment":true,"no_empty_phpdoc":true,"no_empty_statement":true,"no_extra_blank_lines":{"tokens":["attribute","case","continue","curly_brace_block","default","extra","parenthesis_brace_block","square_brace_block","switch","throw","use"]},"no_leading_namespace_whitespace":true,"no_mixed_echo_print":true,"no_multiline_whitespace_around_double_arrow":true,"no_null_property_initialization":true,"no_short_bool_cast":true,"no_singleline_whitespace_before_semicolons":true,"no_spaces_around_offset":true,"no_superfluous_phpdoc_tags":{"remove_inheritdoc":true},"no_trailing_comma_in_singleline":true,"no_unneeded_braces":{"namespaces":true},"no_unneeded_control_parentheses":{"statements":["break","clone","continue","echo_print","others","return","switch_case","yield","yield_from"]},"no_unneeded_import_alias":true,"no_unset_cast":true,"no_unused_imports":true,"no_useless_concat_operator":true,"no_useless_nullsafe_operator":true,"no_whitespace_before_comma_in_array":true,"normalize_index_brace":true,"nullable_type_declaration_for_default_null_value":{"use_nullable_type_declaration":false},"object_operator_without_whitespace":true,"operator_linebreak":{"only_booleans":true},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"alpha"},"php_unit_fqcn_annotation":true,"php_unit_method_casing":true,"phpdoc_align":true,"phpdoc_annotation_without_dot":true,"phpdoc_indent":true,"phpdoc_inline_tag_normalizer":true,"phpdoc_no_access":true,"phpdoc_no_alias_tag":true,"phpdoc_no_package":true,"phpdoc_no_useless_inheritdoc":true,"phpdoc_order":{"order":["param","return","throws"]},"phpdoc_return_self_reference":true,"phpdoc_scalar":true,"phpdoc_separation":true,"phpdoc_single_line_var_spacing":true,"phpdoc_summary":true,"phpdoc_tag_type":{"tags":{"inheritDoc":"inline"}},"phpdoc_to_comment":true,"phpdoc_trim":true,"phpdoc_trim_consecutive_blank_line_separation":true,"phpdoc_types":true,"phpdoc_types_order":{"null_adjustment":"always_last","sort_algorithm":"none"},"phpdoc_var_without_name":true,"semicolon_after_instruction":true,"simple_to_complex_string_variable":true,"single_class_element_per_statement":true,"single_import_per_statement":true,"single_line_comment_spacing":true,"single_line_comment_style":{"comment_types":["hash"]},"single_line_throw":true,"single_quote":true,"single_space_around_construct":true,"space_after_semicolon":{"remove_in_empty_for_expressions":true},"standardize_increment":true,"standardize_not_equals":true,"switch_continue_to_break":true,"trailing_comma_in_multiline":true,"trim_array_spaces":true,"type_declaration_spaces":true,"types_spaces":true,"unary_operator_spaces":true,"whitespace_after_comma_in_array":true,"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_parentheses":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"return_type_declaration":true,"short_scalar_cast":true,"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"function_declaration":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_line_after_imports":true,"spaces_inside_parentheses":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{"server\/tests\/Feature.php":"9c85d3fc3571920ba5e59e6d460c5220","server\/src\/Auth\/Schemas\/FleetOps.php":"bb5dadf8cb0fffa0505ce017c318014c","server\/src\/Casts\/MultiPolygon.php":"961fff6a78ccd4cd4d8cf7d2ee59adb9","server\/src\/Casts\/Point.php":"e188bce3838c4f5d6bead242caf3d34b","server\/src\/Casts\/Polygon.php":"d1ec89a15e397274abaf8846c773e7ef","server\/src\/Console\/Commands\/DispatchAdhocOrders.php":"a5f92cc8e6b04e494e720a612b155801","server\/src\/Console\/Commands\/DispatchOrders.php":"6ad26baa662e0cd5457931834c3e7b07","server\/src\/Console\/Commands\/TrackOrderDistanceAndTime.php":"0e065ce250d75dce3559f7a037137910","server\/src\/Events\/DriverLocationChanged.php":"23b5ef056b4bbff75a40f62943a1f9cf","server\/src\/Events\/DriverSimulatedLocationChanged.php":"10e85931cc52635281320e95deeecb7c","server\/src\/Events\/EntityDriverAssigned.php":"efb4a97ea7b92025276223a384d23923","server\/src\/Events\/OrderCanceled.php":"0324d68597737f491548e83e6d3a6af8","server\/src\/Events\/OrderCompleted.php":"6077e0f076f54c11d03d64b40a047407","server\/src\/Events\/OrderDispatchFailed.php":"3042f6bb6f1fb4dccd6ec26d49794961","server\/src\/Events\/OrderDispatched.php":"881423b317722291a9de1c84172247bf","server\/src\/Events\/OrderDriverAssigned.php":"cc17ad971da0365d4196d35cf58d5f48","server\/src\/Events\/OrderReady.php":"4788715888cfd34384f67fc11d3c41ff","server\/src\/Events\/OrderStarted.php":"ccaa89925d7919c8b4fde7b5f1a34fd0","server\/src\/Exceptions\/IntegratedVendorException.php":"eb0bf42cd549f51bccb4e29efac79d08","server\/src\/Expansions\/UserExpansion.php":"4ff53579e24ec9485556a1d3d279ed36","server\/src\/Exports\/ContactExport.php":"9a3204f675eb6e55261b9da2dc2b3e05","server\/src\/Exports\/DriverExport.php":"c2f2e88a5f1b9e9df1e19754bda0a619","server\/src\/Exports\/FleetExport.php":"969a75492e3ece283fb3815591f1e54c","server\/src\/Exports\/PlaceExport.php":"b242fbc8c98cd6c4c6444aa76edb7990","server\/src\/Exports\/ServiceAreaExport.php":"eb39062da3459d3c7d4a6ceb8ce1fcea","server\/src\/Exports\/VehicleExport.php":"dd767667c3e486f1ef36e92fe5e7c1d5","server\/src\/Exports\/VendorExport.php":"f05347e1db7b3a7641f0888ab81ef06f","server\/src\/Http\/Controllers\/Api\/v1\/ContactController.php":"49e9de435ca71989805cab366c6986c3","server\/src\/Http\/Controllers\/Api\/v1\/DriverController.php":"0a5286a603ea49d6ad4eeb551ee47370","server\/src\/Http\/Controllers\/Api\/v1\/EntityController.php":"095dfb6a17a98441313a7d86c8b4a2dc","server\/src\/Http\/Controllers\/Api\/v1\/FleetController.php":"b6f5caae1923bdd5151fa1f409549c3d","server\/src\/Http\/Controllers\/Api\/v1\/LabelController.php":"e3590c8859b2bad6d46de166385b1905","server\/src\/Http\/Controllers\/Api\/v1\/OrderController.php":"0ee5f29d369bf8903e9767702b824ce8","server\/src\/Http\/Controllers\/Api\/v1\/PayloadController.php":"85b05d8ead1f893edfc435c447f6d7b1","server\/src\/Http\/Controllers\/Api\/v1\/PlaceController.php":"254eb834662a57ca116459d14b019074","server\/src\/Http\/Controllers\/Api\/v1\/PurchaseRateController.php":"8d157f5fe559c903e6923a25e24975c6","server\/src\/Http\/Controllers\/Api\/v1\/ServiceAreaController.php":"6cfc3a9bb942a6ff75f05066ce89c63b","server\/src\/Http\/Controllers\/Api\/v1\/ServiceQuoteController.php":"5454844d96efb1b1870a8affff074ad9","server\/src\/Http\/Controllers\/Api\/v1\/ServiceRateController.php":"16e21952f2ab75b6dceea38a15c63708","server\/src\/Http\/Controllers\/Api\/v1\/TrackingNumberController.php":"28e47cca8cefd54ab9ae07964ca24ba0","server\/src\/Http\/Controllers\/Api\/v1\/TrackingStatusController.php":"927aeebd5eb9a7915e35092851a216b7","server\/src\/Http\/Controllers\/Api\/v1\/VehicleController.php":"8429fec35026aa728d73f514e95eaf1e","server\/src\/Http\/Controllers\/Api\/v1\/VendorController.php":"3bc94a56869f6d8f15eca682faac9f1c","server\/src\/Http\/Controllers\/Api\/v1\/ZoneController.php":"19915a76ff0fc16b99e29f44daee4686","server\/src\/Http\/Controllers\/FleetOpsController.php":"df0a0c0671f8aa9f8454a40d5035c2f0","server\/src\/Http\/Controllers\/Internal\/v1\/ContactController.php":"255b8177a512ae6a028ef8c4e5e8d21c","server\/src\/Http\/Controllers\/Internal\/v1\/DriverController.php":"c116347ff38f0ca0749d007a530a5af2","server\/src\/Http\/Controllers\/Internal\/v1\/EntityController.php":"ca345cd27cb2785c6395fc468797d81e","server\/src\/Http\/Controllers\/Internal\/v1\/FleetController.php":"990855aeb01e0051e9e9e651494351c6","server\/src\/Http\/Controllers\/Internal\/v1\/FleetOpsLookupController.php":"d1f60741df87e6e0b20ab2e03c962263","server\/src\/Http\/Controllers\/Internal\/v1\/FuelReportController.php":"26d370fae8057c1a7f7877794dfbeffb","server\/src\/Http\/Controllers\/Internal\/v1\/GeocoderController.php":"e115e0934da014aad6af3a9f83e3e952","server\/src\/Http\/Controllers\/Internal\/v1\/IntegratedVendorController.php":"45475498050adf1b345f34e9951bb2c2","server\/src\/Http\/Controllers\/Internal\/v1\/IssueController.php":"0273e14b841bdb35e3ede1d51f35346b","server\/src\/Http\/Controllers\/Internal\/v1\/LiveController.php":"d13bfa94ace9d8f53472d112be01389a","server\/src\/Http\/Controllers\/Internal\/v1\/MetricsController.php":"28d9587562250205a3881fe03a030810","server\/src\/Http\/Controllers\/Internal\/v1\/MorphController.php":"2f51b33bbb80ca735e34b506396ffe6f","server\/src\/Http\/Controllers\/Internal\/v1\/OrderConfigController.php":"1b893553e91cf80df411a5ee83b0b8f3","server\/src\/Http\/Controllers\/Internal\/v1\/OrderController.php":"b8b4036d530a0333e7710f35997f7baa","server\/src\/Http\/Controllers\/Internal\/v1\/PayloadController.php":"508bb666e4e1b8c7f61bfb0f74a15b5e","server\/src\/Http\/Controllers\/Internal\/v1\/PlaceController.php":"ac824ab939a996ae85f21d19c91c30c5","server\/src\/Http\/Controllers\/Internal\/v1\/ProofController.php":"720967e252e571a40278b48e86c65f33","server\/src\/Http\/Controllers\/Internal\/v1\/PurchaseRateController.php":"1bf1a997bffef6add6b078a3ff85c4c4","server\/src\/Http\/Controllers\/Internal\/v1\/RouteController.php":"63f06a92416bf20147fe87ef622f1980","server\/src\/Http\/Controllers\/Internal\/v1\/ServiceAreaController.php":"897caa9512634b496e72ef39cef664e1","server\/src\/Http\/Controllers\/Internal\/v1\/ServiceQuoteController.php":"a1b5358f2b2901239a437760005cc15d","server\/src\/Http\/Controllers\/Internal\/v1\/ServiceRateController.php":"1ecc9080dae83f7b596eb65f10a0ce77","server\/src\/Http\/Controllers\/Internal\/v1\/SettingController.php":"5ac7539521e2b3627a47baeda172b6c7","server\/src\/Http\/Controllers\/Internal\/v1\/TrackingNumberController.php":"8ce51737577da90f7383453785ac89dd","server\/src\/Http\/Controllers\/Internal\/v1\/TrackingStatusController.php":"e0a62db1ecac9bfc05f47f5cee0c55a3","server\/src\/Http\/Controllers\/Internal\/v1\/VehicleController.php":"cfdff585069b182ae00c7af28b582a1e","server\/src\/Http\/Controllers\/Internal\/v1\/VehicleDeviceController.php":"f346ff56d4ef0c398033a430207d9861","server\/src\/Http\/Controllers\/Internal\/v1\/VendorController.php":"c11e5a900487792c62705f74a030d0a5","server\/src\/Http\/Controllers\/Internal\/v1\/ZoneController.php":"a42475b59af5945dcc640a7c9cd3f2cc","server\/src\/Http\/Filter\/ContactFilter.php":"03259ce736f8bc37dfdad52f5576a89b","server\/src\/Http\/Filter\/DriverFilter.php":"13c7a6f9b671c5742e005d71d70e2ba6","server\/src\/Http\/Filter\/FleetFilter.php":"2edf85a370e23dfb0a46df842f22e567","server\/src\/Http\/Filter\/IntegratedVendorFilter.php":"53fd86aed2f07f27262f6f8a57f7e754","server\/src\/Http\/Filter\/OrderFilter.php":"75d23a90a20108e41f993a274e63fc94","server\/src\/Http\/Filter\/PlaceFilter.php":"c9a7ea7705a792ecfaca6cf331f63756","server\/src\/Http\/Filter\/ServiceAreaFilter.php":"e7cd14bd28b603c7660cb88f2196d524","server\/src\/Http\/Filter\/ServiceQuoteFilter.php":"8ad99521f3816f0730b7dc3cd1d859dc","server\/src\/Http\/Filter\/ServiceRateFilter.php":"b7c758916e5e640fbcd02a8ffaa7888e","server\/src\/Http\/Filter\/TrackingStatusFilter.php":"f89a88208e3d9c510e32f0194633703f","server\/src\/Http\/Filter\/VehicleFilter.php":"291f7edd3161de0267166ad364ef8a18","server\/src\/Http\/Filter\/VendorFilter.php":"85af82bb29726deb1fa76ceae8fc7583","server\/src\/Http\/Filter\/ZoneFilter.php":"e262158b0c8f73efc906e540965afa61","server\/src\/Http\/Requests\/CancelOrderRequest.php":"30fd2ca51a34be85313698af296d2bff","server\/src\/Http\/Requests\/CreateContactRequest.php":"6994395781320beed5287d596249a241","server\/src\/Http\/Requests\/CreateDriverRequest.php":"669c371cf010f8032e81c7ea2d5e2858","server\/src\/Http\/Requests\/CreateEntityRequest.php":"129b28f69e44eb10ca5bbc01bb1a803c","server\/src\/Http\/Requests\/CreateFleetRequest.php":"a0d8729f29bb2673bb19da654e9322b6","server\/src\/Http\/Requests\/CreateOrderRequest.php":"9a301c4dc8a50b9824c49ef8dd343734","server\/src\/Http\/Requests\/CreatePayloadRequest.php":"693500caa9a5fbf0fc52073831afa56a","server\/src\/Http\/Requests\/CreatePlaceRequest.php":"67d586e5d16e2ca2bf178574a41bfb58","server\/src\/Http\/Requests\/CreatePurchaseRateRequest.php":"c135faffb7958d58312473b85b3ffb6b","server\/src\/Http\/Requests\/CreateServiceAreaRequest.php":"78f44e0cb56368ba6cf1dd2484984d82","server\/src\/Http\/Requests\/CreateServiceQuoteRequest.php":"834896b31fce6e9bccd7bd6d49eeafe7","server\/src\/Http\/Requests\/CreateServiceRateRequest.php":"ae1283ec5f93ab4e40e6595f4f094f00","server\/src\/Http\/Requests\/CreateTrackingNumberRequest.php":"1029618dda606495a69194f24dbae736","server\/src\/Http\/Requests\/CreateTrackingStatusRequest.php":"5ffad2d4a7c286f25a9c2cd1141bceda","server\/src\/Http\/Requests\/CreateVehicleRequest.php":"33ef6aef0fc901be56be89ce8b720ddc","server\/src\/Http\/Requests\/CreateVendorRequest.php":"b043235163c43c4220bbd1daca3d15d8","server\/src\/Http\/Requests\/CreateZoneRequest.php":"4025494c15a341245aa623869a9cf647","server\/src\/Http\/Requests\/DecodeTrackingNumberQR.php":"c035c092faeafd81ef34354e55ed706c","server\/src\/Http\/Requests\/DriverSimulationRequest.php":"dd7b6027397bebac7590e27c33316847","server\/src\/Http\/Requests\/Internal\/AssignOrderRequest.php":"9d8d58ef7ce89fae3ca7bab536b83410","server\/src\/Http\/Requests\/Internal\/CreateDriverRequest.php":"9502b591cdafb457b5ec88f98e8f966c","server\/src\/Http\/Requests\/Internal\/FleetActionRequest.php":"843b7286299e6708b96de67852776e03","server\/src\/Http\/Requests\/Internal\/UpdateDriverRequest.php":"98dc67a0e6d2f0a959eccb748e8dc073","server\/src\/Http\/Requests\/QueryServiceQuotesRequest.php":"dd1a3b19e50b7061ac770b70055a1a51","server\/src\/Http\/Requests\/UpdateContactRequest.php":"abcfd3804aa88911aa2c879957472636","server\/src\/Http\/Requests\/UpdateDriverRequest.php":"e9153e1b2fd91343ff6250ee86a0fa12","server\/src\/Http\/Requests\/UpdateEntityRequest.php":"9184246e2cb7af61961d8981d8dd42d9","server\/src\/Http\/Requests\/UpdateFleetRequest.php":"6b54402080f8a673e30e2badb02d6c9f","server\/src\/Http\/Requests\/UpdateOrderRequest.php":"1214b8a268a0b46e408aa9a2c6755e7a","server\/src\/Http\/Requests\/UpdatePayloadRequest.php":"22638b0617e45be64cfb3f983a9162d4","server\/src\/Http\/Requests\/UpdatePlaceRequest.php":"40ca77913d5fb5224171c5ecf044b384","server\/src\/Http\/Requests\/UpdatePurchaseRateRequest.php":"c19fe57a052b37bbffd4a72578127fd7","server\/src\/Http\/Requests\/UpdateServiceAreaRequest.php":"c3980842d556327c4b2c4b70e477129d","server\/src\/Http\/Requests\/UpdateServiceQuoteRequest.php":"4bbf675e908b71396b9918e49cc144d4","server\/src\/Http\/Requests\/UpdateServiceRateRequest.php":"64f085a9252bfe88295ef351c817e108","server\/src\/Http\/Requests\/UpdateTrackingNumberRequest.php":"27a44d43609b0bff7eed4d6dc5c3a133","server\/src\/Http\/Requests\/UpdateTrackingStatusRequest.php":"2ab7575762fa0b8e632d2821e667e08a","server\/src\/Http\/Requests\/UpdateVehicleRequest.php":"ba204da78914ce570e91d541280199f4","server\/src\/Http\/Requests\/UpdateVendorRequest.php":"d184c8508e8da4a8a9399967588d329c","server\/src\/Http\/Requests\/UpdateZoneRequest.php":"a5fbd55d859a8b770aa523bb263495bf","server\/src\/Http\/Resources\/Internal\/v1\/IntegratedVendorFacilitator.php":"db8931ceb9b38ffdb0b81af69ac5dd88","server\/src\/Http\/Resources\/Internal\/v1\/Vehicle.php":"a2d6df634ffada14f6e5507f4e31b471","server\/src\/Http\/Resources\/Internal\/v1\/Waypoint.php":"0bef4e52ce6ab351bbf1c15e0b9e8cf1","server\/src\/Http\/Resources\/v1\/Contact.php":"a3ec1a6ea8b4546f3318fbfc623988cc","server\/src\/Http\/Resources\/v1\/CurrentJob.php":"04123eabe5d931769d85ab0b166c06c1","server\/src\/Http\/Resources\/v1\/DeletedResource.php":"fa54de53967ff96f9c51173db69db43e","server\/src\/Http\/Resources\/v1\/Driver.php":"14bb9f421023aba98ddc85f080397360","server\/src\/Http\/Resources\/v1\/Entity.php":"2a1a04d14120e2fc37f99c58a06cbff5","server\/src\/Http\/Resources\/v1\/Fleet.php":"344f5ef007db8b602321de2674728f9d","server\/src\/Http\/Resources\/v1\/FuelReport.php":"1e3bc70a08646ebd18236d988d328866","server\/src\/Http\/Resources\/v1\/Order.php":"0a5cd65ef879fc840e1a43ca0cf3a087","server\/src\/Http\/Resources\/v1\/Payload.php":"7b2f570cbbbbaeab35b66b522aeb940b","server\/src\/Http\/Resources\/v1\/Place.php":"cc65582c774fd068084d7debb56f1d9c","server\/src\/Http\/Resources\/v1\/Proof.php":"791ff315d266c1f81c4765affc71d919","server\/src\/Http\/Resources\/v1\/PurchaseRate.php":"9fbda3e3ade28969d066427fbf9e9ce7","server\/src\/Http\/Resources\/v1\/ServiceArea.php":"fda686e47da8add1343ddd1dbe0c558d","server\/src\/Http\/Resources\/v1\/ServiceQuote.php":"ba058cc1099bdac763a882e4880a2288","server\/src\/Http\/Resources\/v1\/ServiceRate.php":"040144b27c38eda60d6dc4bb19d2d587","server\/src\/Http\/Resources\/v1\/ServiceRateFee.php":"35ab9d7d1423cd03918a06b6771c764c","server\/src\/Http\/Resources\/v1\/ServiceRateParcelFee.php":"175c5d23ef9e788aff083d373d0eeda6","server\/src\/Http\/Resources\/v1\/TrackingNumber.php":"1e19bf22f7865befee7d742cc5f0cf98","server\/src\/Http\/Resources\/v1\/TrackingStatus.php":"c2e24be67d3108d0090fb69064053c23","server\/src\/Http\/Resources\/v1\/Vehicle.php":"ec0f8650bb469bcc4bfa688334a433dd","server\/src\/Http\/Resources\/v1\/VehicleDevice.php":"995fbb448133d645d1527e8051367090","server\/src\/Http\/Resources\/v1\/VehicleWithoutDriver.php":"4836acc533c14911b3c40d635f01d0aa","server\/src\/Http\/Resources\/v1\/Vendor.php":"4b6b04001b915c9d2b4bf2f3b7f27683","server\/src\/Http\/Resources\/v1\/Zone.php":"ee400437a7b1a217609029827787ca3c","server\/src\/Imports\/OrdersImport.php":"d452258ecbf26e9cc9d15b293385986e","server\/src\/Integrations\/Lalamove\/Lalamove.php":"c4f7948abdc94a5734916ba35f91493e","server\/src\/Integrations\/Lalamove\/LalamoveDeliveryStop.php":"fc21ef0ade2eced6f9b3de7ba938a0e0","server\/src\/Integrations\/Lalamove\/LalamoveMarket.php":"5c28861544f3831aaccbb62076fe0dac","server\/src\/Integrations\/Lalamove\/LalamoveServiceType.php":"4ff37c7eaa1a35b4f93aa4fc6a056d90","server\/src\/Jobs\/SimulateDrivingRoute.php":"f5f993787bd010fee074190b030495aa","server\/src\/Jobs\/SimulateWaypointReached.php":"5b0eeabba0a05d0260b9003e08e2ec94","server\/src\/Listeners\/HandleOrderCanceled.php":"9f6f493e9f95a3323adcaf17db93366b","server\/src\/Listeners\/HandleOrderCreated.php":"b61fd8c33341e88473ce6c88efdc9609","server\/src\/Listeners\/HandleOrderDispatchFailed.php":"c5dbe8de974983516aedd0b6b652e126","server\/src\/Listeners\/HandleOrderDispatched.php":"7acc9183c7551710bb9dae9aa2936bab","server\/src\/Listeners\/HandleOrderDriverAssigned.php":"f5fe2f9572e8226bc8b7173db30374b9","server\/src\/Listeners\/HandleOrderReady.php":"c5f3c97a0d58b375c0a3d8d30dad2706","server\/src\/Listeners\/HandleUserRemovedFromCompany.php":"fd6cf16654c31530e81713ababd9cf2e","server\/src\/Models\/Contact.php":"ab09e2cf4c43057ec4c0f37c41a02981","server\/src\/Models\/Driver.php":"4353207e51d90e8154fa70b8199df513","server\/src\/Models\/Entity.php":"12f472f06a2a5dc58f2eda2a86803ff0","server\/src\/Models\/Fleet.php":"7d4d2e3317a959d94fc5eb1b283d83f6","server\/src\/Models\/FleetDriver.php":"46cc4e90b90c0f1e9828f66c2a0be487","server\/src\/Models\/FleetVehicle.php":"08ddc3698e7423570a4e4b7f21116046","server\/src\/Models\/FuelReport.php":"4db6bee1fdeaa19b8e7b5143d255f7ec","server\/src\/Models\/IntegratedVendor.php":"875ca14f395892245346985cbe93ba43","server\/src\/Models\/Issue.php":"e3c61eb4cd36e5adfc8827c5a1db90fd","server\/src\/Models\/Order.php":"66912dd3ba848c5c0c6b87c7b52b9952","server\/src\/Models\/Payload.php":"dbcdcddcc3241e152484254b7796d6f7","server\/src\/Models\/Place.php":"fd68fd5f8af4cd8b2d47e92d1bbb0d8b","server\/src\/Models\/Position.php":"7b58977f6922c6e7469515760756e829","server\/src\/Models\/Proof.php":"49ed6e125536d54e97c29523b58547d6","server\/src\/Models\/PurchaseRate.php":"53ca67fd48c5dfc5e51a267759e1df37","server\/src\/Models\/Route.php":"a90f920bf2e7b606ed9df07e00ef7f10","server\/src\/Models\/ServiceArea.php":"174d064379f534df3fee36da549e0636","server\/src\/Models\/ServiceQuote.php":"924bc76e55a1bb9e890710c5c94f9d99","server\/src\/Models\/ServiceQuoteItem.php":"3f27bb5b80249181874591411c946f42","server\/src\/Models\/ServiceRate.php":"a465d7b6bed4099678322747935f1ee6","server\/src\/Models\/ServiceRateFee.php":"925ed246c6a325aff83d8919c374985d","server\/src\/Models\/ServiceRateParcelFee.php":"48681a6341e5e1b25d04b773daf5bd52","server\/src\/Models\/TrackingNumber.php":"eb4d7d9f728c449d05c53f9b3c0f288c","server\/src\/Models\/TrackingStatus.php":"ccd5713b20bb0e26f080d79de4557743","server\/src\/Models\/Vehicle.php":"5135bd79f85b0688d0f6edcd87c96a80","server\/src\/Models\/VehicleDevice.php":"2794158563a8f1a8af010b2286d2f73e","server\/src\/Models\/Vendor.php":"321ecb0c145dfb514247a4f96c37741c","server\/src\/Models\/Waypoint.php":"00f317df1eb1101254b831e8c82b9aeb","server\/src\/Models\/Zone.php":"ed09ca0f4865496a32d8240a0e28c1c4","server\/src\/Notifications\/OrderAssigned.php":"a72864bf608bc82bf7ba5b2c3bb9028e","server\/src\/Notifications\/OrderCanceled.php":"da52e1f72cbec406d6afcf87194df079","server\/src\/Notifications\/OrderDispatchFailed.php":"f5576853d850481697d7e751a975b5e5","server\/src\/Notifications\/OrderDispatched.php":"7e2ff9676a455c9df978c2c20a841209","server\/src\/Notifications\/OrderPing.php":"c084d005538ff3efa9a605522ad49778","server\/src\/Notifications\/OrderSplit.php":"977e36036ffa5a07f205301e76f2f7e9","server\/src\/Observers\/DriverObserver.php":"e9552b316e6edf26dee1943ac9ec2b0e","server\/src\/Observers\/OrderObserver.php":"3d7515e9b13cb194276ce90768d2c81d","server\/src\/Observers\/PayloadObserver.php":"90f8982f0e7a308755339bb299d6b918","server\/src\/Observers\/PlaceObserver.php":"af70b1462a9ebec53a247ba53609027e","server\/src\/Observers\/PurchaseRateObserver.php":"ae72dc17fd923a1ce0a66f2b272a1cea","server\/src\/Observers\/ServiceAreaObserver.php":"e3b8d7bfa9e60f792f0ef69ef7314f3c","server\/src\/Observers\/ServiceRateObserver.php":"2ddb88d66478da65abff59a9c99f2d59","server\/src\/Observers\/TrackingNumberObserver.php":"da8d0ced2474adc404e960e67c255c4f","server\/src\/Observers\/UserObserver.php":"361569be035dce4e6150256221d37c2b","server\/src\/Observers\/VehicleObserver.php":"40d60fac7d4389ac97f91eb8e73193cd","server\/src\/Providers\/EventServiceProvider.php":"4f1de31729dfb4ee92767ecf7f3a7453","server\/src\/Providers\/FleetOpsServiceProvider.php":"40c991a01691363666f72624f0104c67","server\/src\/Rules\/ResolvablePoint.php":"8cb3dbd26af7bad30d34efde34850591","server\/src\/Scopes\/DriverScope.php":"a0eef7e2e1e2a800ca57fd46508a592c","server\/src\/Support\/Algo.php":"388c4355a5a8683ff153393304622fc6","server\/src\/Support\/DistanceMatrix.php":"99f60475548651651fb3534c512f4396","server\/src\/Support\/Encoding\/Polyline.php":"611bb9642ec239bc7b90e56dd64257f7","server\/src\/Support\/Flow.php":"027df53b10377346fcdd0c95753052ba","server\/src\/Support\/Geocoding.php":"7be23ff5b5aed94b812bc509a38b8c13","server\/src\/Support\/IntegratedVendors.php":"a4a2866f3d25215170f30312dbf898e3","server\/src\/Support\/Metrics.php":"2b6fa44fe95b5bd7a6e5be1f999381a7","server\/src\/Support\/OSRM.php":"076625020670219b2effbe80a6eca8a7","server\/src\/Support\/ParsePhone.php":"1175df80d8cc93eaf4549af7f022c921","server\/src\/Support\/Utils.php":"5c22ced8541bef521113cf2528133aa0","server\/src\/Traits\/HasTrackingNumber.php":"5cc14345844cee74c0a9089ebc80f442","server\/src\/routes.php":"126804b870d25a5f346f79222ed3170c",".php-cs-fixer.php":"97d0e7d944ae71fb5a3344df8ae2cd44"}}
@@ -0,0 +1,29 @@
1
+ <?php
2
+
3
+ $finder = PhpCsFixer\Finder::create()
4
+ ->in(__DIR__ . DIRECTORY_SEPARATOR . 'server' . DIRECTORY_SEPARATOR . 'tests')
5
+ ->in(__DIR__ . DIRECTORY_SEPARATOR . 'server' . DIRECTORY_SEPARATOR . 'src')
6
+ ->append(['.php-cs-fixer.php']);
7
+
8
+ $rules = [
9
+ '@Symfony' => true,
10
+ 'phpdoc_no_empty_return' => false,
11
+ 'array_syntax' => ['syntax' => 'short'],
12
+ 'yoda_style' => false,
13
+ 'binary_operator_spaces' => [
14
+ 'operators' => [
15
+ '=>' => 'align',
16
+ '=' => 'align',
17
+ ],
18
+ ],
19
+ 'concat_space' => ['spacing' => 'one'],
20
+ 'not_operator_with_space' => false,
21
+ 'increment_style' => ['style' => 'post'],
22
+ 'indentation_type' => true,
23
+ 'single_quote' => true,
24
+ ];
25
+
26
+ return (new PhpCsFixer\Config())
27
+ ->setUsingCache(true)
28
+ ->setRules($rules)
29
+ ->setFinder($finder);
package/LICENSE.md CHANGED
@@ -1,9 +1,21 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2022
3
+ Copyright (c) 2023 Fleetbase
4
4
 
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
6
11
 
7
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
8
14
 
9
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,32 +1,122 @@
1
- # @fleetbase/fleetops-engine
1
+ <p align="center">
2
+ <img src="https://flb-assets.s3.ap-southeast-1.amazonaws.com/static/fleetbase-logo-svg.svg" width="380" height="100" />
3
+ </p>
4
+ <p align="center">
5
+ Open-source Fleet & Transport Management Extension for Fleetbase
6
+ </p>
2
7
 
3
- FleetOps extension for Fleetbase.
8
+ ---
4
9
 
10
+ ## Overview
5
11
 
6
- ## Compatibility
12
+ This monorepo contains both the frontend and backend components of the FleetOps extension for Fleetbase. The frontend is built using Ember.js and the backend is implemented in PHP.
7
13
 
8
- * Ember.js v3.24 or above
9
- * Ember CLI v3.24 or above
10
- * Node.js v14 or above
14
+ ### Requirements
11
15
 
16
+ - PHP 7.3.0 or above
17
+ - Ember.js v3.24 or above
18
+ - Ember CLI v3.24 or above
19
+ - Node.js v14 or above
12
20
 
13
- ## Installation
21
+ ## Structure
14
22
 
15
23
  ```
16
- ember install @fleetbase/fleetops-engine
24
+ ├── addon
25
+ ├── app
26
+ ├── assets
27
+ ├── translations
28
+ ├── config
29
+ ├── node_modules
30
+ ├── server
31
+ │ ├── config
32
+ │ ├── data
33
+ │ ├── migrations
34
+ │ ├── resources
35
+ │ ├── src
36
+ │ ├── tests
37
+ │ └── vendor
38
+ ├── tests
39
+ ├── testem.js
40
+ ├── index.js
41
+ ├── package.json
42
+ ├── phpstan.neon.dist
43
+ ├── phpunit.xml.dist
44
+ ├── pnpm-lock.yaml
45
+ ├── ember-cli-build.js
46
+ ├── composer.json
47
+ ├── CONTRIBUTING.md
48
+ ├── LICENSE.md
49
+ ├── README.md
50
+ ```
51
+
52
+ ## Installation
53
+
54
+ ### Backend
55
+
56
+ Install the PHP packages using Composer:
57
+
58
+ ```bash
59
+ composer require fleetbase/core-api
60
+ composer require fleetbase/fleetops
17
61
  ```
62
+ ### Frontend
18
63
 
64
+ Install the Ember.js Engine/Addon:
65
+
66
+ ```bash
67
+ pnpm install @fleetbase/fleetops
68
+ ```
19
69
 
20
70
  ## Usage
21
71
 
22
- [Longer description of how to use the addon in apps.]
72
+ ### Backend
73
+
74
+ 🧹 Keep a modern codebase with **PHP CS Fixer**:
75
+ ```bash
76
+ composer lint
77
+ ```
23
78
 
79
+ ⚗️ Run static analysis using **PHPStan**:
80
+ ```bash
81
+ composer test:types
82
+ ```
24
83
 
25
- ## Contributing
84
+ ✅ Run unit tests using **PEST**
85
+ ```bash
86
+ composer test:unit
87
+ ```
26
88
 
27
- See the [Contributing](CONTRIBUTING.md) guide for details.
89
+ 🚀 Run the entire test suite:
90
+ ```bash
91
+ composer test
92
+ ```
28
93
 
94
+ ### Frontend
29
95
 
30
- ## License
96
+ 🧹 Keep a modern codebase with **ESLint**:
97
+ ```bash
98
+ pnpm lint
99
+ ```
31
100
 
32
- This project is licensed under the [MIT License](LICENSE.md).
101
+ ✅ Run unit tests using **Ember/QUnit**
102
+ ```bash
103
+ pnpm test
104
+ pnpm test:ember
105
+ pnpm test:ember-compatibility
106
+ ```
107
+
108
+ 🚀 Start the Ember Addon/Engine
109
+ ```bash
110
+ pnpm start
111
+ ```
112
+
113
+ 🔨 Build the Ember Addon/Engine
114
+ ```bash
115
+ pnpm build
116
+ ```
117
+
118
+ ## Contributing
119
+ See the Contributing Guide for details on how to contribute to this project.
120
+
121
+ ## License
122
+ This project is licensed under the MIT License.
package/composer.json ADDED
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "fleetbase/fleetops-api",
3
+ "version": "0.2.7",
4
+ "description": "Fleet & Transport Management Extension for Fleetbase",
5
+ "keywords": [
6
+ "fleetbase-extension",
7
+ "fleetops",
8
+ "last-mile",
9
+ "tms",
10
+ "delivery management"
11
+ ],
12
+ "license": "MIT",
13
+ "authors": [
14
+ {
15
+ "name": "Fleetbase Pte Ltd.",
16
+ "email": "hello@fleetbase.io"
17
+ },
18
+ {
19
+ "name": "Ronald A. Richardson",
20
+ "email": "ron@fleetbase.io"
21
+ }
22
+ ],
23
+ "require": {
24
+ "php": "^7.4|^8.0",
25
+ "barryvdh/laravel-dompdf": "^2.0",
26
+ "brick/geo": "0.7.2",
27
+ "cknow/laravel-money": "^7.1",
28
+ "fleetbase/core-api": "^1.3.0",
29
+ "geocoder-php/google-maps-places-provider": "^1.4",
30
+ "giggsey/libphonenumber-for-php": "^8.13",
31
+ "league/geotools": "^1.1.0",
32
+ "milon/barcode": "^9.0",
33
+ "php-http/guzzle7-adapter": "^1.0",
34
+ "psr/http-factory-implementation": "*",
35
+ "toin0u/geocoder-laravel": "^4.4",
36
+ "webit/eval-math": "^1.0"
37
+ },
38
+ "require-dev": {
39
+ "friendsofphp/php-cs-fixer": "^3.34.1",
40
+ "nunomaduro/collision": "^5.11.0|^6.4.0",
41
+ "pestphp/pest": "^1.22.6",
42
+ "phpstan/phpstan": "^1.10.38",
43
+ "symfony/var-dumper": "^5.4.29"
44
+ },
45
+ "autoload": {
46
+ "psr-4": {
47
+ "Fleetbase\\FleetOps\\": "server/src/"
48
+ }
49
+ },
50
+ "autoload-dev": {
51
+ "psr-4": {
52
+ "Fleetbase\\Tests\\": "server/tests/"
53
+ }
54
+ },
55
+ "minimum-stability": "dev",
56
+ "prefer-stable": true,
57
+ "extra": {
58
+ "laravel": {
59
+ "providers": [
60
+ "Fleetbase\\FleetOps\\Providers\\FleetOpsServiceProvider",
61
+ "Fleetbase\\FleetOps\\Providers\\EventServiceProvider"
62
+ ]
63
+ }
64
+ },
65
+ "config": {
66
+ "vendor-dir": "./server_vendor",
67
+ "sort-packages": true,
68
+ "preferred-install": "dist",
69
+ "allow-plugins": {
70
+ "pestphp/pest-plugin": true,
71
+ "php-http/discovery": true
72
+ }
73
+ },
74
+ "scripts": {
75
+ "lint": "php-cs-fixer fix -v",
76
+ "test:lint": "php-cs-fixer fix -v --dry-run",
77
+ "test:types": "phpstan analyse --ansi --memory-limit=4G",
78
+ "test:unit": "pest --colors=always",
79
+ "test": [
80
+ "@test:lint",
81
+ "@test:types",
82
+ "@test:unit"
83
+ ]
84
+ }
85
+ }
package/extension.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "Fleet-Ops",
3
+ "version": "0.2.7",
4
+ "description": "Fleet & Transport Management Extension for Fleetbase",
5
+ "repository": "https://github.com/fleetbase/fleetops",
6
+ "license": "MIT",
7
+ "author": "Fleetbase Pte Ltd <hello@fleetbase.io>",
8
+ "engine": "package.json",
9
+ "api": "composer.json"
10
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fleetbase/fleetops-engine",
3
- "version": "0.2.6",
4
- "description": "Fleetbase Fleet-Ops extension provides a fleet management and last mile delivery operations system module.",
3
+ "version": "0.2.7",
4
+ "description": "Fleet & Transport Management Extension for Fleetbase",
5
5
  "fleetbase": {
6
6
  "route": "fleet-ops",
7
7
  "dashboard": "int/v1/fleet-ops/dashboard"
@@ -15,7 +15,7 @@
15
15
  "ember-addon",
16
16
  "ember-engine"
17
17
  ],
18
- "repository": "https://github.com/fleetbase/fleetops-engine",
18
+ "repository": "https://github.com/fleetbase/fleetops",
19
19
  "license": "MIT",
20
20
  "author": "Fleetbase Pte Ltd <hello@fleetbase.io>",
21
21
  "directories": {
@@ -0,0 +1,8 @@
1
+ parameters:
2
+ level: max
3
+ paths:
4
+ - server/src
5
+
6
+ checkMissingIterableValueType: true
7
+ checkGenericClassInNonGenericObjectType: false
8
+ reportUnmatchedIgnoredErrors: true
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:noNamespaceSchemaLocation="./server/vendor/phpunit/phpunit/phpunit.xsd"
4
+ colors="true"
5
+ >
6
+ <testsuites>
7
+ <testsuite name="default">
8
+ <directory suffix=".php">./server/tests</directory>
9
+ </testsuite>
10
+ </testsuites>
11
+ <filter>
12
+ <whitelist processUncoveredFilesFromWhitelist="true">
13
+ <directory suffix=".php">./server/src</directory>
14
+ </whitelist>
15
+ </filter>
16
+ </phpunit>