@fleetbase/fleetops-engine 0.3.0 → 0.3.2

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 (235) hide show
  1. package/addon/components/contact-form-panel.hbs +82 -0
  2. package/addon/components/contact-form-panel.js +195 -0
  3. package/addon/components/contact-panel/details.hbs +36 -0
  4. package/addon/components/contact-panel/details.js +3 -0
  5. package/addon/components/contact-panel.hbs +52 -0
  6. package/addon/components/contact-panel.js +161 -0
  7. package/addon/components/driver-form-panel.hbs +39 -55
  8. package/addon/components/driver-form-panel.js +41 -0
  9. package/addon/components/driver-panel/details.hbs +2 -2
  10. package/addon/components/driver-panel.hbs +12 -10
  11. package/addon/components/driver-panel.js +13 -0
  12. package/addon/components/fleet-form-panel.hbs +28 -28
  13. package/addon/components/fleet-form-panel.js +150 -1
  14. package/addon/components/fleet-listing-panel.hbs +8 -0
  15. package/addon/components/fleet-listing-panel.js +34 -0
  16. package/addon/components/fleet-panel/details.hbs +30 -0
  17. package/addon/components/fleet-panel/driver-listing.hbs +72 -0
  18. package/addon/components/fleet-panel/driver-listing.js +149 -0
  19. package/addon/components/fleet-panel/vehicle-listing.hbs +72 -0
  20. package/addon/components/fleet-panel/vehicle-listing.js +149 -0
  21. package/addon/components/fleet-panel.hbs +12 -58
  22. package/addon/components/fleet-panel.js +148 -26
  23. package/addon/components/fleet-vehicle-listing.hbs +0 -1
  24. package/addon/components/fuel-report-form-panel.hbs +41 -0
  25. package/addon/components/fuel-report-form-panel.js +122 -0
  26. package/addon/components/fuel-report-panel/details.hbs +38 -0
  27. package/addon/components/fuel-report-panel.hbs +30 -0
  28. package/addon/components/fuel-report-panel.js +161 -0
  29. package/addon/components/issue-form-panel.hbs +85 -0
  30. package/addon/components/issue-form-panel.js +211 -0
  31. package/addon/components/issue-panel/details.hbs +48 -0
  32. package/addon/components/issue-panel.hbs +30 -0
  33. package/addon/components/issue-panel.js +160 -0
  34. package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
  35. package/addon/components/live-map.js +2 -0
  36. package/addon/components/map-container/toolbar.hbs +9 -9
  37. package/addon/components/map-container/topbar.hbs +1 -1
  38. package/addon/components/modals/issue-details.hbs +38 -0
  39. package/addon/components/modals/issue-from.hbs +138 -0
  40. package/addon/components/place-form-panel.hbs +50 -0
  41. package/addon/components/place-form-panel.js +134 -0
  42. package/addon/components/place-panel/details.hbs +95 -0
  43. package/addon/components/place-panel.hbs +30 -0
  44. package/addon/components/place-panel.js +161 -0
  45. package/addon/components/vehicle-form-panel.hbs +35 -44
  46. package/addon/components/vehicle-form-panel.js +41 -0
  47. package/addon/components/vehicle-panel/details.hbs +8 -2
  48. package/addon/components/vehicle-panel.hbs +8 -6
  49. package/addon/components/vendor-form-panel/create-form.hbs +114 -0
  50. package/addon/components/vendor-form-panel/create-form.js +158 -0
  51. package/addon/components/vendor-form-panel/edit-form.hbs +98 -0
  52. package/addon/components/vendor-form-panel/edit-form.js +51 -0
  53. package/addon/components/vendor-form-panel.hbs +48 -0
  54. package/addon/components/vendor-form-panel.js +226 -0
  55. package/addon/components/vendor-panel/details.hbs +77 -0
  56. package/addon/components/vendor-panel/details.js +12 -0
  57. package/addon/components/vendor-panel.hbs +58 -0
  58. package/addon/components/vendor-panel.js +161 -0
  59. package/addon/controllers/management/contacts/index/details.js +55 -0
  60. package/addon/controllers/management/contacts/index/edit.js +111 -0
  61. package/addon/controllers/management/contacts/index/new.js +88 -0
  62. package/addon/controllers/management/contacts/index.js +23 -128
  63. package/addon/controllers/management/drivers/index/new.js +2 -2
  64. package/addon/controllers/management/drivers/index.js +18 -32
  65. package/addon/controllers/management/fleets/index/details.js +53 -0
  66. package/addon/controllers/management/fleets/index/edit.js +75 -41
  67. package/addon/controllers/management/fleets/index/new.js +42 -57
  68. package/addon/controllers/management/fleets/index.js +0 -1
  69. package/addon/controllers/management/fuel-reports/index/details.js +63 -0
  70. package/addon/controllers/management/fuel-reports/index/edit.js +111 -0
  71. package/addon/controllers/management/fuel-reports/index/new.js +95 -0
  72. package/addon/controllers/management/fuel-reports/index.js +57 -127
  73. package/addon/controllers/management/issues/index/details.js +54 -0
  74. package/addon/controllers/management/issues/index/edit.js +111 -0
  75. package/addon/controllers/management/issues/index/new.js +94 -0
  76. package/addon/controllers/management/issues/index.js +131 -26
  77. package/addon/controllers/management/places/index/details.js +55 -0
  78. package/addon/controllers/management/places/index/edit.js +111 -0
  79. package/addon/controllers/management/places/index/new.js +88 -0
  80. package/addon/controllers/management/places/index.js +21 -182
  81. package/addon/controllers/management/vehicles/index/new.js +2 -6
  82. package/addon/controllers/management/vendors/index/details.js +55 -0
  83. package/addon/controllers/management/vendors/index/edit.js +111 -0
  84. package/addon/controllers/management/vendors/index/new.js +88 -0
  85. package/addon/controllers/management/vendors/index.js +43 -247
  86. package/addon/routes/management/contacts/index/details.js +14 -0
  87. package/addon/routes/management/contacts/index/edit.js +10 -0
  88. package/addon/routes/management/contacts/index/new.js +3 -0
  89. package/addon/routes/management/contacts/index.js +1 -1
  90. package/addon/routes/management/fleets/index/details.js +1 -1
  91. package/addon/routes/management/fleets/index/edit.js +1 -1
  92. package/addon/routes/management/fleets/index.js +1 -1
  93. package/addon/routes/management/fuel-reports/index/details.js +14 -0
  94. package/addon/routes/management/fuel-reports/index/edit.js +10 -0
  95. package/addon/routes/management/fuel-reports/index/new.js +3 -0
  96. package/addon/routes/management/fuel-reports/index.js +3 -1
  97. package/addon/routes/management/issues/index/details.js +14 -0
  98. package/addon/routes/management/issues/index/edit.js +10 -0
  99. package/addon/routes/management/issues/index/new.js +3 -0
  100. package/addon/routes/management/issues/index.js +1 -1
  101. package/addon/routes/management/places/index/details.js +14 -0
  102. package/addon/routes/management/places/index/edit.js +10 -0
  103. package/addon/routes/management/places/index/new.js +3 -0
  104. package/addon/routes/management/places/index.js +6 -1
  105. package/addon/routes/management/vendors/index/details.js +15 -0
  106. package/addon/routes/management/vendors/index/edit.js +11 -0
  107. package/addon/routes/management/vendors/index/new.js +3 -0
  108. package/addon/routes/management/vendors/index.js +1 -0
  109. package/addon/routes.js +27 -7
  110. package/addon/services/context-panel.js +60 -0
  111. package/addon/templates/management/contacts/index/details.hbs +1 -0
  112. package/addon/templates/management/contacts/index/edit.hbs +1 -0
  113. package/addon/templates/management/contacts/index/new.hbs +1 -0
  114. package/addon/templates/management/contacts/index.hbs +22 -3
  115. package/addon/templates/management/drivers/index.hbs +29 -5
  116. package/addon/templates/management/fleets/index/details.hbs +1 -1
  117. package/addon/templates/management/fleets/index/edit.hbs +1 -1
  118. package/addon/templates/management/fleets/index/new.hbs +1 -1
  119. package/addon/templates/management/fuel-reports/index/details.hbs +1 -0
  120. package/addon/templates/management/fuel-reports/index/edit.hbs +1 -0
  121. package/addon/templates/management/fuel-reports/index/new.hbs +1 -0
  122. package/addon/templates/management/fuel-reports/index.hbs +25 -4
  123. package/addon/templates/management/issues/index/details.hbs +1 -0
  124. package/addon/templates/management/issues/index/edit.hbs +1 -0
  125. package/addon/templates/management/issues/index/new.hbs +1 -0
  126. package/addon/templates/management/issues/index.hbs +5 -3
  127. package/addon/templates/management/places/index/details.hbs +1 -0
  128. package/addon/templates/management/places/index/edit.hbs +1 -0
  129. package/addon/templates/management/places/index/new.hbs +1 -0
  130. package/addon/templates/management/vendors/index/details.hbs +1 -0
  131. package/addon/templates/management/vendors/index/edit.hbs +1 -0
  132. package/addon/templates/management/vendors/index/new.hbs +1 -0
  133. package/addon/templates/operations/orders/index.hbs +3 -3
  134. package/app/components/contact-form-panel.js +1 -0
  135. package/app/components/contact-panel/details.js +1 -0
  136. package/app/components/contact-panel.js +1 -0
  137. package/app/components/fleet-listing-panel.js +1 -0
  138. package/app/components/fleet-panel/details.js +1 -0
  139. package/app/components/fleet-panel/driver-listing.js +1 -0
  140. package/app/components/fleet-panel/vehicle-listing.js +1 -0
  141. package/app/components/fuel-report-form-panel.js +1 -0
  142. package/app/components/fuel-report-panel.js +1 -0
  143. package/app/components/issue-form-panel.js +1 -0
  144. package/app/components/issue-panel.js +1 -0
  145. package/app/components/place-form-panel.js +1 -0
  146. package/app/components/place-panel.js +1 -0
  147. package/app/components/vendor-form-panel/create-form.js +1 -0
  148. package/app/components/vendor-form-panel/edit-form.js +1 -0
  149. package/app/components/vendor-form-panel.js +1 -0
  150. package/app/components/vendor-panel/details.js +1 -0
  151. package/app/components/vendor-panel.js +1 -0
  152. package/app/controllers/management/contacts/index/details.js +1 -0
  153. package/app/controllers/management/contacts/index/edit.js +1 -0
  154. package/app/controllers/management/contacts/index/new.js +1 -0
  155. package/app/controllers/management/fuel-reports/index/details.js +1 -0
  156. package/app/controllers/management/fuel-reports/index/edit.js +1 -0
  157. package/app/controllers/management/fuel-reports/index/new.js +1 -0
  158. package/app/controllers/management/issues/index/details.js +1 -0
  159. package/app/controllers/management/issues/index/edit.js +1 -0
  160. package/app/controllers/management/issues/index/new.js +1 -0
  161. package/app/controllers/management/places/index/details.js +1 -0
  162. package/app/controllers/management/places/index/edit.js +1 -0
  163. package/app/controllers/management/places/index/new.js +1 -0
  164. package/app/controllers/management/vendors/index/edit.js +1 -0
  165. package/app/controllers/management/vendors/index/new.js +1 -0
  166. package/app/routes/addon/routes/management/places/index/new.js +1 -0
  167. package/app/routes/management/contacts/index/details.js +1 -0
  168. package/app/routes/management/contacts/index/edit.js +1 -0
  169. package/app/routes/management/contacts/index/new.js +1 -0
  170. package/app/routes/management/fuel-reports/index/details.js +1 -0
  171. package/app/routes/management/fuel-reports/index/edit.js +1 -0
  172. package/app/routes/management/fuel-reports/index/new.js +1 -0
  173. package/app/routes/management/issues/index/details.js +1 -0
  174. package/app/routes/management/issues/index/edit.js +1 -0
  175. package/app/routes/management/issues/index/new.js +1 -0
  176. package/app/routes/management/places/index/details.js +1 -0
  177. package/app/routes/management/places/index/edit.js +1 -0
  178. package/app/routes/management/places/index/new.js +1 -0
  179. package/app/routes/management/vendors/index/details.js +1 -0
  180. package/app/routes/management/vendors/index/edit.js +1 -0
  181. package/app/routes/management/vendors/index/new.js +1 -0
  182. package/app/templates/addon/routes/management/places/index/new.js +1 -0
  183. package/app/templates/management/contacts/index/details.js +1 -0
  184. package/app/templates/management/contacts/index/edit.js +1 -0
  185. package/app/templates/management/contacts/index/new.js +1 -0
  186. package/app/templates/management/fuel-reports/index/details.js +1 -0
  187. package/app/templates/management/fuel-reports/index/edit.js +1 -0
  188. package/app/templates/management/fuel-reports/index/new.js +1 -0
  189. package/app/templates/management/issues/index/details.js +1 -0
  190. package/app/templates/management/issues/index/edit.js +1 -0
  191. package/app/templates/management/issues/index/new.js +1 -0
  192. package/app/templates/management/places/index/details.js +1 -0
  193. package/app/templates/management/places/index/edit.js +1 -0
  194. package/app/templates/management/places/index/new.js +1 -0
  195. package/app/templates/management/vendors/index/details.js +1 -0
  196. package/app/templates/management/vendors/index/edit.js +1 -0
  197. package/app/templates/management/vendors/index/new.js +1 -0
  198. package/composer.json +2 -2
  199. package/config/environment.js +2 -1
  200. package/extension.json +1 -1
  201. package/package.json +4 -3
  202. package/server/migrations/2023_11_03_072503_refactor_issues_table_columns.php +42 -0
  203. package/server/migrations/2023_11_06_040645_refactor_fuel_reports_table.php +38 -0
  204. package/server/src/Casts/Point.php +15 -1
  205. package/server/src/Http/Controllers/Internal/v1/DriverController.php +33 -15
  206. package/server/src/Http/Filter/FleetFilter.php +7 -0
  207. package/server/src/Http/Filter/FuelReportFilter.php +58 -0
  208. package/server/src/Http/Filter/IssueFilter.php +69 -0
  209. package/server/src/Http/Filter/VehicleFilter.php +10 -0
  210. package/server/src/Http/Middleware/TransformLocationMiddleware.php +48 -0
  211. package/server/src/Http/Resources/v1/Driver.php +1 -0
  212. package/server/src/Http/Resources/v1/Fleet.php +20 -21
  213. package/server/src/Http/Resources/v1/FuelReport.php +37 -35
  214. package/server/src/Http/Resources/v1/Issue.php +77 -0
  215. package/server/src/Http/Resources/v1/ParentFleet.php +60 -0
  216. package/server/src/Http/Resources/v1/SubFleet.php +60 -0
  217. package/server/src/Http/Resources/v1/Vehicle.php +4 -2
  218. package/server/src/Integrations/Lalamove/Lalamove.php +6 -6
  219. package/server/src/Models/Contact.php +7 -0
  220. package/server/src/Models/Driver.php +1 -1
  221. package/server/src/Models/Fleet.php +37 -4
  222. package/server/src/Models/FuelReport.php +53 -3
  223. package/server/src/Models/Issue.php +106 -7
  224. package/server/src/Models/Vehicle.php +1 -1
  225. package/server/src/Models/VehicleDevice.php +3 -1
  226. package/server/src/Models/VehicleDeviceEvent.php +7 -3
  227. package/server/src/Notifications/OrderAssigned.php +15 -0
  228. package/server/src/Notifications/OrderCanceled.php +15 -0
  229. package/server/src/Notifications/OrderDispatchFailed.php +15 -0
  230. package/server/src/Notifications/OrderDispatched.php +15 -0
  231. package/server/src/Notifications/OrderPing.php +15 -0
  232. package/server/src/Notifications/OrderSplit.php +26 -5
  233. package/server/src/Providers/FleetOpsServiceProvider.php +22 -0
  234. package/server/src/Providers/NotificationServiceProvider.php +43 -0
  235. package/server/src/routes.php +2 -2
@@ -54,7 +54,7 @@ class Vehicle extends Model
54
54
  *
55
55
  * @var array
56
56
  */
57
- protected $filterParams = ['vendor'];
57
+ protected $filterParams = ['vendor', 'driver', 'driver_uuid'];
58
58
 
59
59
  /**
60
60
  * Relationships to auto load with driver.
@@ -10,7 +10,9 @@ use Fleetbase\Traits\TracksApiCredential;
10
10
 
11
11
  class VehicleDevice extends Model
12
12
  {
13
- use HasUuid, TracksApiCredential, HasApiModelBehavior;
13
+ use HasUuid;
14
+ use TracksApiCredential;
15
+ use HasApiModelBehavior;
14
16
 
15
17
  /**
16
18
  * The database table used by the model.
@@ -13,7 +13,11 @@ use Grimzy\LaravelMysqlSpatial\Eloquent\SpatialTrait;
13
13
 
14
14
  class VehicleDeviceEvent extends Model
15
15
  {
16
- use HasUuid, TracksApiCredential, HasApiModelBehavior, SpatialTrait, Searchable;
16
+ use HasUuid;
17
+ use TracksApiCredential;
18
+ use HasApiModelBehavior;
19
+ use SpatialTrait;
20
+ use Searchable;
17
21
 
18
22
  /**
19
23
  * The database table used by the model.
@@ -47,8 +51,8 @@ class VehicleDeviceEvent extends Model
47
51
  * @var array
48
52
  */
49
53
  protected $casts = [
50
- 'payload' => Json::class,
51
- 'meta' => Json::class,
54
+ 'payload' => Json::class,
55
+ 'meta' => Json::class,
52
56
  'location' => Point::class,
53
57
  ];
54
58
 
@@ -30,6 +30,21 @@ class OrderAssigned extends Notification implements ShouldQueue
30
30
  */
31
31
  public $order;
32
32
 
33
+ /**
34
+ * Notification name.
35
+ */
36
+ public static string $name = 'Order Assigned';
37
+
38
+ /**
39
+ * Notification description.
40
+ */
41
+ public static string $description = 'Notify when an order has been assigned to a driver.';
42
+
43
+ /**
44
+ * Notification package.
45
+ */
46
+ public static string $package = 'fleet-ops';
47
+
33
48
  /**
34
49
  * Create a new notification instance.
35
50
  *
@@ -30,6 +30,21 @@ class OrderCanceled extends Notification implements ShouldQueue
30
30
  */
31
31
  public $order;
32
32
 
33
+ /**
34
+ * Notification name.
35
+ */
36
+ public static string $name = 'Order Canceled';
37
+
38
+ /**
39
+ * Notification description.
40
+ */
41
+ public static string $description = 'Notify when an order has been canceled.';
42
+
43
+ /**
44
+ * Notification package.
45
+ */
46
+ public static string $package = 'fleet-ops';
47
+
33
48
  /**
34
49
  * Create a new notification instance.
35
50
  *
@@ -29,6 +29,21 @@ class OrderDispatchFailed extends Notification implements ShouldQueue
29
29
  */
30
30
  public $reason;
31
31
 
32
+ /**
33
+ * Notification name.
34
+ */
35
+ public static string $name = 'Order dispatch Failed';
36
+
37
+ /**
38
+ * Notification description.
39
+ */
40
+ public static string $description = 'Notify when an order dispatch has been failed.';
41
+
42
+ /**
43
+ * Notification package.
44
+ */
45
+ public static string $package = 'fleet-ops';
46
+
32
47
  /**
33
48
  * Create a new notification instance.
34
49
  *
@@ -33,6 +33,21 @@ class OrderDispatched extends Notification implements ShouldQueue
33
33
  */
34
34
  public $order;
35
35
 
36
+ /**
37
+ * Notification name.
38
+ */
39
+ public static string $name = 'Order Dispatched';
40
+
41
+ /**
42
+ * Notification description.
43
+ */
44
+ public static string $description = 'Notify when an order has been dispatched.';
45
+
46
+ /**
47
+ * Notification package.
48
+ */
49
+ public static string $package = 'fleet-ops';
50
+
36
51
  /**
37
52
  * Create a new notification instance.
38
53
  *
@@ -37,6 +37,21 @@ class OrderPing extends Notification implements ShouldQueue
37
37
  */
38
38
  public $distance;
39
39
 
40
+ /**
41
+ * Notification name.
42
+ */
43
+ public static string $name = 'Order Ping';
44
+
45
+ /**
46
+ * Notification description.
47
+ */
48
+ public static string $description = 'Notify when an order has been pinged.';
49
+
50
+ /**
51
+ * Notification package.
52
+ */
53
+ public static string $package = 'fleet-ops';
54
+
40
55
  /**
41
56
  * Create a new notification instance.
42
57
  *
@@ -11,6 +11,28 @@ class OrderSplit extends Notification
11
11
  {
12
12
  use Queueable;
13
13
 
14
+ /**
15
+ * The order instance this notification is for.
16
+ *
17
+ * @var \Fleetbase\Models\Order
18
+ */
19
+ public $order;
20
+
21
+ /**
22
+ * Notification name.
23
+ */
24
+ public static string $name = 'Order Split';
25
+
26
+ /**
27
+ * Notification description.
28
+ */
29
+ public static string $description = 'Notify when an order has been splited.';
30
+
31
+ /**
32
+ * Notification package.
33
+ */
34
+ public static string $package = 'fleet-ops';
35
+
14
36
  /**
15
37
  * Create a new notification instance.
16
38
  *
@@ -38,9 +60,9 @@ class OrderSplit extends Notification
38
60
  public function toMail($notifiable)
39
61
  {
40
62
  return (new MailMessage())
41
- ->line('The introduction to the notification.')
42
- ->action('Notification Action', url('/'))
43
- ->line('Thank you for using our application!');
63
+ ->line('The introduction to the notification.')
64
+ ->action('Notification Action', url('/'))
65
+ ->line('Thank you for using our application!');
44
66
  }
45
67
 
46
68
  /**
@@ -50,7 +72,6 @@ class OrderSplit extends Notification
50
72
  */
51
73
  public function toArray($notifiable)
52
74
  {
53
- return [
54
- ];
75
+ return [];
55
76
  }
56
77
  }
@@ -5,6 +5,7 @@ namespace Fleetbase\FleetOps\Providers;
5
5
  use Brick\Geo\Engine\GeometryEngineRegistry;
6
6
  use Brick\Geo\Engine\GEOSEngine;
7
7
  use Fleetbase\Providers\CoreServiceProvider;
8
+ use Fleetbase\Support\NotificationRegistry;
8
9
 
9
10
  if (!class_exists(CoreServiceProvider::class)) {
10
11
  throw new \Exception('FleetOps cannot be loaded without `fleetbase/core-api` installed!');
@@ -78,6 +79,7 @@ class FleetOpsServiceProvider extends CoreServiceProvider
78
79
  $schedule->command('fleetops:dispatch-adhoc')->everyMinute();
79
80
  $schedule->command('fleetops:update-estimations')->everyFifteenMinutes();
80
81
  });
82
+ $this->registerNotifications();
81
83
  $this->registerExpansionsFrom(__DIR__ . '/../Expansions');
82
84
  $this->loadRoutesFrom(__DIR__ . '/../routes.php');
83
85
  $this->loadMigrationsFrom(__DIR__ . '/../../migrations');
@@ -91,4 +93,24 @@ class FleetOpsServiceProvider extends CoreServiceProvider
91
93
  // Register the GeometryEngine for GEOSEngine
92
94
  GeometryEngineRegistry::set(new GEOSEngine());
93
95
  }
96
+
97
+ public function registerNotifications()
98
+ {
99
+ // Register Notifications
100
+ NotificationRegistry::register([
101
+ \Fleetbase\FleetOps\Notifications\OrderAssigned::class,
102
+ \Fleetbase\FleetOps\Notifications\OrderCanceled::class,
103
+ \Fleetbase\FleetOps\Notifications\OrderDispatched::class,
104
+ \Fleetbase\FleetOps\Notifications\OrderDispatchFailed::class,
105
+ \Fleetbase\FleetOps\Notifications\OrderPing::class,
106
+ ]);
107
+
108
+ // Register Notifiables
109
+ NotificationRegistry::registerNotifiable([
110
+ \Fleetbase\FleetOps\Models\Contact::class,
111
+ \Fleetbase\FleetOps\Models\Driver::class,
112
+ \Fleetbase\FleetOps\Models\Vendor::class,
113
+ \Fleetbase\FleetOps\Models\Fleet::class,
114
+ ]);
115
+ }
94
116
  }
@@ -0,0 +1,43 @@
1
+ <?php
2
+
3
+ namespace Fleetbase\FleetOps\Providers;
4
+
5
+ use Fleetbase\Providers\CoreServiceProvider;
6
+ use Fleetbase\Support\NotificationRegistry;
7
+
8
+ if (!class_exists(CoreServiceProvider::class)) {
9
+ throw new \Exception('FleetOps cannot be loaded without `fleetbase/core-api` installed!');
10
+ }
11
+
12
+ /**
13
+ * NotificationServiceProvider service provider.
14
+ */
15
+ class NotificationServiceProvider extends CoreServiceProvider
16
+ {
17
+ /**
18
+ * Bootstrap any package services.
19
+ *
20
+ * @return void
21
+ *
22
+ * @throws \Exception if the `fleetbase/core-api` package is not installed
23
+ */
24
+ public function boot()
25
+ {
26
+ // Register Notifications
27
+ NotificationRegistry::register([
28
+ \Fleetbase\FleetOps\Notifications\OrderAssigned::class,
29
+ \Fleetbase\FleetOps\Notifications\OrderCanceled::class,
30
+ \Fleetbase\FleetOps\Notifications\OrderDispatched::class,
31
+ \Fleetbase\FleetOps\Notifications\OrderDispatchFailed::class,
32
+ \Fleetbase\FleetOps\Notifications\OrderPing::class,
33
+ ]);
34
+
35
+ // Register Notifiables
36
+ NotificationRegistry::registerNotifiable([
37
+ \Fleetbase\FleetOps\Models\Contact::class,
38
+ \Fleetbase\FleetOps\Models\Driver::class,
39
+ \Fleetbase\FleetOps\Models\Vendor::class,
40
+ \Fleetbase\FleetOps\Models\Fleet::class,
41
+ ]);
42
+ }
43
+ }
@@ -23,7 +23,7 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
23
23
  | End-user API routes, these are routes that the SDK and applications will interface with, and require API credentials.
24
24
  */
25
25
  Route::prefix('v1')
26
- ->middleware('fleetbase.api')
26
+ ->middleware(['fleetbase.api', \Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class])
27
27
  ->namespace('Api\v1')
28
28
  ->group(function ($router) {
29
29
  // drivers routes
@@ -185,7 +185,7 @@ Route::prefix(config('fleetops.api.routing.prefix', null))->namespace('Fleetbase
185
185
  $router->prefix(config('fleetops.api.routing.internal_prefix', 'int'))->namespace('Internal')->group(
186
186
  function ($router) {
187
187
  $router->group(
188
- ['prefix' => 'v1', 'namespace' => 'v1', 'middleware' => ['fleetbase.protected']],
188
+ ['prefix' => 'v1', 'namespace' => 'v1', 'middleware' => ['fleetbase.protected', \Fleetbase\FleetOps\Http\Middleware\TransformLocationMiddleware::class]],
189
189
  function ($router) {
190
190
  $router->fleetbaseRoutes(
191
191
  'contacts',