@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
@@ -0,0 +1,18 @@
1
+ <?php
2
+
3
+ /*
4
+ |--------------------------------------------------------------------------
5
+ | Cache Stores
6
+ |--------------------------------------------------------------------------
7
+ |
8
+ | Here you may define all of the cache "stores" for your application as
9
+ | well as their drivers. You may even define multiple stores for the
10
+ | same cache driver to group types of items stored in your caches.
11
+ |
12
+ */
13
+ return [
14
+ 'geocode' => [
15
+ 'driver' => 'redis',
16
+ 'connection' => 'geocode-cache',
17
+ ]
18
+ ];
@@ -0,0 +1,242 @@
1
+ <?php
2
+
3
+ return [
4
+
5
+ /*
6
+ |--------------------------------------------------------------------------
7
+ | Settings
8
+ |--------------------------------------------------------------------------
9
+ |
10
+ | Set some default values. It is possible to add all defines that can be set
11
+ | in dompdf_config.inc.php. You can also override the entire config file.
12
+ |
13
+ */
14
+ 'show_warnings' => false, // Throw an Exception on warnings from dompdf
15
+ 'orientation' => 'portrait',
16
+ 'defines' => [
17
+ /**
18
+ * The location of the DOMPDF font directory
19
+ *
20
+ * The location of the directory where DOMPDF will store fonts and font metrics
21
+ * Note: This directory must exist and be writable by the webserver process.
22
+ * *Please note the trailing slash.*
23
+ *
24
+ * Notes regarding fonts:
25
+ * Additional .afm font metrics can be added by executing load_font.php from command line.
26
+ *
27
+ * Only the original "Base 14 fonts" are present on all pdf viewers. Additional fonts must
28
+ * be embedded in the pdf file or the PDF may not display correctly. This can significantly
29
+ * increase file size unless font subsetting is enabled. Before embedding a font please
30
+ * review your rights under the font license.
31
+ *
32
+ * Any font specification in the source HTML is translated to the closest font available
33
+ * in the font directory.
34
+ *
35
+ * The pdf standard "Base 14 fonts" are:
36
+ * Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique,
37
+ * Helvetica, Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique,
38
+ * Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic,
39
+ * Symbol, ZapfDingbats.
40
+ */
41
+ "font_dir" => storage_path('fonts/'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782)
42
+
43
+ /**
44
+ * The location of the DOMPDF font cache directory
45
+ *
46
+ * This directory contains the cached font metrics for the fonts used by DOMPDF.
47
+ * This directory can be the same as DOMPDF_FONT_DIR
48
+ *
49
+ * Note: This directory must exist and be writable by the webserver process.
50
+ */
51
+ "font_cache" => storage_path('fonts/'),
52
+
53
+ /**
54
+ * The location of a temporary directory.
55
+ *
56
+ * The directory specified must be writeable by the webserver process.
57
+ * The temporary directory is required to download remote images and when
58
+ * using the PFDLib back end.
59
+ */
60
+ "temp_dir" => sys_get_temp_dir(),
61
+
62
+ /**
63
+ * ==== IMPORTANT ====
64
+ *
65
+ * dompdf's "chroot": Prevents dompdf from accessing system files or other
66
+ * files on the webserver. All local files opened by dompdf must be in a
67
+ * subdirectory of this directory. DO NOT set it to '/' since this could
68
+ * allow an attacker to use dompdf to read any files on the server. This
69
+ * should be an absolute path.
70
+ * This is only checked on command line call by dompdf.php, but not by
71
+ * direct class use like:
72
+ * $dompdf = new DOMPDF(); $dompdf->load_html($htmldata); $dompdf->render(); $pdfdata = $dompdf->output();
73
+ */
74
+ "chroot" => realpath(base_path()),
75
+
76
+ /**
77
+ * Whether to enable font subsetting or not.
78
+ */
79
+ "enable_font_subsetting" => false,
80
+
81
+ /**
82
+ * The PDF rendering backend to use
83
+ *
84
+ * Valid settings are 'PDFLib', 'CPDF' (the bundled R&OS PDF class), 'GD' and
85
+ * 'auto'. 'auto' will look for PDFLib and use it if found, or if not it will
86
+ * fall back on CPDF. 'GD' renders PDFs to graphic files. {@link
87
+ * Canvas_Factory} ultimately determines which rendering class to instantiate
88
+ * based on this setting.
89
+ *
90
+ * Both PDFLib & CPDF rendering backends provide sufficient rendering
91
+ * capabilities for dompdf, however additional features (e.g. object,
92
+ * image and font support, etc.) differ between backends. Please see
93
+ * {@link PDFLib_Adapter} for more information on the PDFLib backend
94
+ * and {@link CPDF_Adapter} and lib/class.pdf.php for more information
95
+ * on CPDF. Also see the documentation for each backend at the links
96
+ * below.
97
+ *
98
+ * The GD rendering backend is a little different than PDFLib and
99
+ * CPDF. Several features of CPDF and PDFLib are not supported or do
100
+ * not make any sense when creating image files. For example,
101
+ * multiple pages are not supported, nor are PDF 'objects'. Have a
102
+ * look at {@link GD_Adapter} for more information. GD support is
103
+ * experimental, so use it at your own risk.
104
+ *
105
+ * @link http://www.pdflib.com
106
+ * @link http://www.ros.co.nz/pdf
107
+ * @link http://www.php.net/image
108
+ */
109
+ "pdf_backend" => "auto",
110
+
111
+ /**
112
+ * PDFlib license key
113
+ *
114
+ * If you are using a licensed, commercial version of PDFlib, specify
115
+ * your license key here. If you are using PDFlib-Lite or are evaluating
116
+ * the commercial version of PDFlib, comment out this setting.
117
+ *
118
+ * @link http://www.pdflib.com
119
+ *
120
+ * If pdflib present in web server and auto or selected explicitely above,
121
+ * a real license code must exist!
122
+ */
123
+ //"DOMPDF_PDFLIB_LICENSE" => "your license key here",
124
+
125
+ /**
126
+ * html target media view which should be rendered into pdf.
127
+ * List of types and parsing rules for future extensions:
128
+ * http://www.w3.org/TR/REC-html40/types.html
129
+ * screen, tty, tv, projection, handheld, print, braille, aural, all
130
+ * Note: aural is deprecated in CSS 2.1 because it is replaced by speech in CSS 3.
131
+ * Note, even though the generated pdf file is intended for print output,
132
+ * the desired content might be different (e.g. screen or projection view of html file).
133
+ * Therefore allow specification of content here.
134
+ */
135
+ "default_media_type" => "screen",
136
+
137
+ /**
138
+ * The default paper size.
139
+ *
140
+ * North America standard is "letter"; other countries generally "a4"
141
+ *
142
+ * @see CPDF_Adapter::PAPER_SIZES for valid sizes ('letter', 'legal', 'A4', etc.)
143
+ */
144
+ "default_paper_size" => "a4",
145
+
146
+ /**
147
+ * The default font family
148
+ *
149
+ * Used if no suitable fonts can be found. This must exist in the font folder.
150
+ * @var string
151
+ */
152
+ "default_font" => "sans-serif",
153
+
154
+ /**
155
+ * Image DPI setting
156
+ *
157
+ * This setting determines the default DPI setting for images and fonts. The
158
+ * DPI may be overridden for inline images by explictly setting the
159
+ * image's width & height style attributes (i.e. if the image's native
160
+ * width is 600 pixels and you specify the image's width as 72 points,
161
+ * the image will have a DPI of 600 in the rendered PDF. The DPI of
162
+ * background images can not be overridden and is controlled entirely
163
+ * via this parameter.
164
+ *
165
+ * For the purposes of DOMPDF, pixels per inch (PPI) = dots per inch (DPI).
166
+ * If a size in html is given as px (or without unit as image size),
167
+ * this tells the corresponding size in pt.
168
+ * This adjusts the relative sizes to be similar to the rendering of the
169
+ * html page in a reference browser.
170
+ *
171
+ * In pdf, always 1 pt = 1/72 inch
172
+ *
173
+ * Rendering resolution of various browsers in px per inch:
174
+ * Windows Firefox and Internet Explorer:
175
+ * SystemControl->Display properties->FontResolution: Default:96, largefonts:120, custom:?
176
+ * Linux Firefox:
177
+ * about:config *resolution: Default:96
178
+ * (xorg screen dimension in mm and Desktop font dpi settings are ignored)
179
+ *
180
+ * Take care about extra font/image zoom factor of browser.
181
+ *
182
+ * In images, <img> size in pixel attribute, img css style, are overriding
183
+ * the real image dimension in px for rendering.
184
+ *
185
+ * @var int
186
+ */
187
+ "dpi" => 96,
188
+
189
+ /**
190
+ * Enable inline PHP
191
+ *
192
+ * If this setting is set to true then DOMPDF will automatically evaluate
193
+ * inline PHP contained within <script type="text/php"> ... </script> tags.
194
+ *
195
+ * Enabling this for documents you do not trust (e.g. arbitrary remote html
196
+ * pages) is a security risk. Set this option to false if you wish to process
197
+ * untrusted documents.
198
+ *
199
+ * @var bool
200
+ */
201
+ "enable_php" => false,
202
+
203
+ /**
204
+ * Enable inline Javascript
205
+ *
206
+ * If this setting is set to true then DOMPDF will automatically insert
207
+ * JavaScript code contained within <script type="text/javascript"> ... </script> tags.
208
+ *
209
+ * @var bool
210
+ */
211
+ "enable_javascript" => true,
212
+
213
+ /**
214
+ * Enable remote file access
215
+ *
216
+ * If this setting is set to true, DOMPDF will access remote sites for
217
+ * images and CSS files as required.
218
+ * This is required for part of test case www/test/image_variants.html through www/examples.php
219
+ *
220
+ * Attention!
221
+ * This can be a security risk, in particular in combination with DOMPDF_ENABLE_PHP and
222
+ * allowing remote access to dompdf.php or on allowing remote html code to be passed to
223
+ * $dompdf = new DOMPDF(, $dompdf->load_html(...,
224
+ * This allows anonymous users to download legally doubtful internet content which on
225
+ * tracing back appears to being downloaded by your server, or allows malicious php code
226
+ * in remote html pages to be executed by your server with your account privileges.
227
+ *
228
+ * @var bool
229
+ */
230
+ "enable_remote" => true,
231
+
232
+ /**
233
+ * A ratio applied to the fonts height to be more like browsers' line height
234
+ */
235
+ "font_height_ratio" => 1.1,
236
+
237
+ /**
238
+ * Use the more-than-experimental HTML5 Lib parser
239
+ */
240
+ "enable_html5_parser" => false,
241
+ ],
242
+ ];
@@ -0,0 +1,19 @@
1
+ <?php
2
+
3
+ /**
4
+ * -------------------------------------------
5
+ * Fleetbase Core API Configuration
6
+ * -------------------------------------------
7
+ */
8
+ return [
9
+ 'api' => [
10
+ 'version' => '0.0.1',
11
+ 'routing' => [
12
+ 'prefix' => null,
13
+ 'internal_prefix' => 'int'
14
+ ]
15
+ ],
16
+ 'connection' => [
17
+ 'db' => env('DB_CONNECTION', 'mysql')
18
+ ]
19
+ ];
@@ -0,0 +1,108 @@
1
+ <?php
2
+
3
+ use Geocoder\Provider\Chain\Chain;
4
+ use Geocoder\Provider\GoogleMaps\GoogleMaps;
5
+ use Http\Client\Curl\Client;
6
+
7
+ return [
8
+ 'cache' => [
9
+
10
+ /*
11
+ |-----------------------------------------------------------------------
12
+ | Cache Store
13
+ |-----------------------------------------------------------------------
14
+ |
15
+ | Specify the cache store to use for caching. The value "null" will use
16
+ | the default cache store specified in /config/cache.php file.
17
+ |
18
+ | Default: null
19
+ |
20
+ */
21
+
22
+ 'store' => 'geocode',
23
+
24
+ /*
25
+ |-----------------------------------------------------------------------
26
+ | Cache Duration
27
+ |-----------------------------------------------------------------------
28
+ |
29
+ | Specify the cache duration in seconds. The default approximates a
30
+ | "forever" cache, but there are certain issues with Laravel's forever
31
+ | caching methods that prevent us from using them in this project.
32
+ |
33
+ | Default: 9999999 (integer)
34
+ |
35
+ */
36
+
37
+ 'duration' => 9999999,
38
+ ],
39
+
40
+ /*
41
+ |---------------------------------------------------------------------------
42
+ | Providers
43
+ |---------------------------------------------------------------------------
44
+ |
45
+ | Here you may specify any number of providers that should be used to
46
+ | perform geocaching operations. The `chain` provider is special,
47
+ | in that it can contain multiple providers that will be run in
48
+ | the sequence listed, should the previous provider fail. By
49
+ | default the first provider listed will be used, but you
50
+ | can explicitly call subsequently listed providers by
51
+ | alias: `app('geocoder')->using('google_maps')`.
52
+ |
53
+ | Please consult the official Geocoder documentation for more info.
54
+ | https://github.com/geocoder-php/Geocoder#providers
55
+ |
56
+ */
57
+ 'providers' => [
58
+ Chain::class => [
59
+ GoogleMaps::class => [
60
+ config('services.google_maps.locale', env('GOOGLE_MAPS_LOCALE', 'us')),
61
+ config('services.google_maps.api_key', env('GOOGLE_MAPS_API_KEY')),
62
+ ]
63
+ ],
64
+ ],
65
+
66
+ /*
67
+ |---------------------------------------------------------------------------
68
+ | Adapter
69
+ |---------------------------------------------------------------------------
70
+ |
71
+ | You can specify which PSR-7-compliant HTTP adapter you would like to use.
72
+ | There are multiple options at your disposal: CURL, Guzzle, and others.
73
+ |
74
+ | Please consult the official Geocoder documentation for more info.
75
+ | https://github.com/geocoder-php/Geocoder#usage
76
+ |
77
+ | Default: Client::class (FQCN for CURL adapter)
78
+ |
79
+ */
80
+ 'adapter' => Client::class,
81
+
82
+ /*
83
+ |---------------------------------------------------------------------------
84
+ | Reader
85
+ |---------------------------------------------------------------------------
86
+ |
87
+ | You can specify a reader for specific providers, like GeoIp2, which
88
+ | connect to a local file-database. The reader should be set to an
89
+ | instance of the required reader class or an array containing the reader
90
+ | class and arguments.
91
+ |
92
+ | Please consult the official Geocoder documentation for more info.
93
+ | https://github.com/geocoder-php/geoip2-provider
94
+ |
95
+ | Default: null
96
+ |
97
+ | Example:
98
+ | 'reader' => [
99
+ | WebService::class => [
100
+ | env('MAXMIND_USER_ID'),
101
+ | env('MAXMIND_LICENSE_KEY')
102
+ | ],
103
+ | ],
104
+ |
105
+ */
106
+ 'reader' => null,
107
+
108
+ ];