@fleetbase/storefront-engine 0.2.5 → 0.2.6

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 (114) hide show
  1. package/addon/controllers/products/index/category/new.js +5 -9
  2. package/addon/models/product-addon-category.js +10 -1
  3. package/addon/models/product-variant.js +0 -2
  4. package/addon/models/product.js +35 -2
  5. package/addon/serializers/product.js +16 -0
  6. package/addon/templates/products/index/category/new.hbs +2 -2
  7. package/composer.json +3 -3
  8. package/extension.json +1 -1
  9. package/package.json +1 -1
  10. package/server/src/Auth/Schemas/Storefront.php +31 -39
  11. package/server/src/Console/Commands/NotifyStorefrontOrderNearby.php +9 -11
  12. package/server/src/Expansions/ContactFilterExpansion.php +1 -1
  13. package/server/src/Expansions/EntityExpansion.php +12 -12
  14. package/server/src/Expansions/OrderFilterExpansion.php +1 -1
  15. package/server/src/Expansions/VendorFilterExpansion.php +1 -1
  16. package/server/src/Http/Controllers/ActionController.php +9 -11
  17. package/server/src/Http/Controllers/AddonCategoryController.php +1 -1
  18. package/server/src/Http/Controllers/CustomerController.php +1 -1
  19. package/server/src/Http/Controllers/GatewayController.php +1 -1
  20. package/server/src/Http/Controllers/MetricsController.php +17 -17
  21. package/server/src/Http/Controllers/NetworkController.php +16 -26
  22. package/server/src/Http/Controllers/NotificationChannelController.php +1 -1
  23. package/server/src/Http/Controllers/OrderController.php +18 -22
  24. package/server/src/Http/Controllers/ProductAddonCategoryController.php +1 -2
  25. package/server/src/Http/Controllers/ProductAddonController.php +1 -2
  26. package/server/src/Http/Controllers/ProductController.php +89 -44
  27. package/server/src/Http/Controllers/ProductHourController.php +1 -1
  28. package/server/src/Http/Controllers/ProductVariantController.php +1 -1
  29. package/server/src/Http/Controllers/ProductVariantOptionController.php +1 -1
  30. package/server/src/Http/Controllers/ReviewController.php +1 -1
  31. package/server/src/Http/Controllers/StoreController.php +1 -2
  32. package/server/src/Http/Controllers/StoreHourController.php +1 -1
  33. package/server/src/Http/Controllers/StoreLocationController.php +1 -1
  34. package/server/src/Http/Controllers/StorefrontController.php +0 -2
  35. package/server/src/Http/Controllers/VoteController.php +1 -1
  36. package/server/src/Http/Controllers/v1/CartController.php +16 -26
  37. package/server/src/Http/Controllers/v1/CategoryController.php +3 -4
  38. package/server/src/Http/Controllers/v1/CheckoutController.php +283 -286
  39. package/server/src/Http/Controllers/v1/CustomerController.php +54 -67
  40. package/server/src/Http/Controllers/v1/GatewayControllerController.php +0 -2
  41. package/server/src/Http/Controllers/v1/NetworkController.php +26 -23
  42. package/server/src/Http/Controllers/v1/PaymentMethodController.php +0 -2
  43. package/server/src/Http/Controllers/v1/ProductController.php +1 -4
  44. package/server/src/Http/Controllers/v1/ReviewController.php +31 -35
  45. package/server/src/Http/Controllers/v1/ServiceQuoteController.php +57 -53
  46. package/server/src/Http/Controllers/v1/StoreController.php +8 -16
  47. package/server/src/Http/Filter/AddonCategoryFilter.php +1 -1
  48. package/server/src/Http/Filter/OrderFilter.php +2 -2
  49. package/server/src/Http/Middleware/SetStorefrontSession.php +9 -20
  50. package/server/src/Http/Requests/AddStoreToNetworkCategory.php +3 -3
  51. package/server/src/Http/Requests/CreateCustomerRequest.php +5 -7
  52. package/server/src/Http/Requests/CreateReviewRequest.php +4 -5
  53. package/server/src/Http/Requests/GetServiceQuoteFromCart.php +2 -2
  54. package/server/src/Http/Requests/InitializeCheckoutRequest.php +5 -5
  55. package/server/src/Http/Requests/NetworkActionRequest.php +2 -2
  56. package/server/src/Http/Requests/VerifyCreateCustomerRequest.php +2 -2
  57. package/server/src/Http/Resources/Cart.php +19 -18
  58. package/server/src/Http/Resources/Category.php +12 -11
  59. package/server/src/Http/Resources/Customer.php +15 -14
  60. package/server/src/Http/Resources/Gateway.php +12 -11
  61. package/server/src/Http/Resources/Media.php +9 -8
  62. package/server/src/Http/Resources/Network.php +32 -31
  63. package/server/src/Http/Resources/Product.php +88 -85
  64. package/server/src/Http/Resources/Review.php +14 -13
  65. package/server/src/Http/Resources/ReviewCustomer.php +12 -11
  66. package/server/src/Http/Resources/Store.php +38 -36
  67. package/server/src/Http/Resources/StoreHour.php +9 -8
  68. package/server/src/Http/Resources/StoreLocation.php +9 -8
  69. package/server/src/Imports/ProductsImport.php +0 -2
  70. package/server/src/Jobs/DownloadProductImageUrl.php +7 -4
  71. package/server/src/Listeners/HandleOrderCompleted.php +2 -1
  72. package/server/src/Listeners/HandleOrderDispatched.php +2 -1
  73. package/server/src/Listeners/HandleOrderDriverAssigned.php +2 -1
  74. package/server/src/Listeners/HandleOrderStarted.php +4 -3
  75. package/server/src/Mail/StorefrontNetworkInvite.php +7 -6
  76. package/server/src/Models/AddonCategory.php +2 -4
  77. package/server/src/Models/Cart.php +117 -124
  78. package/server/src/Models/Checkout.php +14 -12
  79. package/server/src/Models/Customer.php +9 -9
  80. package/server/src/Models/Gateway.php +22 -22
  81. package/server/src/Models/Network.php +41 -52
  82. package/server/src/Models/NetworkStore.php +6 -5
  83. package/server/src/Models/NotificationChannel.php +11 -9
  84. package/server/src/Models/PaymentMethod.php +9 -7
  85. package/server/src/Models/Product.php +152 -30
  86. package/server/src/Models/ProductAddon.php +14 -11
  87. package/server/src/Models/ProductAddonCategory.php +9 -8
  88. package/server/src/Models/ProductHour.php +6 -5
  89. package/server/src/Models/ProductStoreLocation.php +7 -5
  90. package/server/src/Models/ProductVariant.php +15 -11
  91. package/server/src/Models/ProductVariantOption.php +12 -9
  92. package/server/src/Models/Review.php +9 -7
  93. package/server/src/Models/Store.php +68 -84
  94. package/server/src/Models/StoreHour.php +6 -5
  95. package/server/src/Models/StoreLocation.php +12 -8
  96. package/server/src/Models/StorefrontModel.php +1 -1
  97. package/server/src/Models/Vote.php +8 -6
  98. package/server/src/Notifications/StorefrontOrderCanceled.php +15 -19
  99. package/server/src/Notifications/StorefrontOrderCompleted.php +15 -19
  100. package/server/src/Notifications/StorefrontOrderCreated.php +31 -36
  101. package/server/src/Notifications/StorefrontOrderDriverAssigned.php +15 -20
  102. package/server/src/Notifications/StorefrontOrderEnroute.php +14 -19
  103. package/server/src/Notifications/StorefrontOrderNearby.php +16 -21
  104. package/server/src/Notifications/StorefrontOrderPreparing.php +15 -18
  105. package/server/src/Notifications/StorefrontOrderReadyForPickup.php +15 -18
  106. package/server/src/Observers/NetworkObserver.php +2 -3
  107. package/server/src/Observers/ProductObserver.php +17 -33
  108. package/server/src/Providers/EventServiceProvider.php +15 -4
  109. package/server/src/Providers/StorefrontServiceProvider.php +8 -10
  110. package/server/src/Support/Metrics.php +12 -12
  111. package/server/src/Support/OrderConfig.php +3 -2
  112. package/server/src/Support/QPay.php +22 -20
  113. package/server/src/Support/Storefront.php +18 -17
  114. package/server/src/routes.php +1 -1
@@ -2,11 +2,6 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
- use Fleetbase\Http\Controllers\Controller;
6
- use Fleetbase\Storefront\Http\Requests\CreateCustomerRequest;
7
- use Fleetbase\Storefront\Http\Requests\VerifyCreateCustomerRequest;
8
- use Fleetbase\Storefront\Http\Resources\Customer;
9
- use Fleetbase\Storefront\Support\Storefront;
10
5
  use Fleetbase\FleetOps\Http\Requests\UpdateContactRequest;
11
6
  use Fleetbase\FleetOps\Http\Resources\v1\DeletedResource;
12
7
  use Fleetbase\FleetOps\Http\Resources\v1\Order as OrderResource;
@@ -15,9 +10,14 @@ use Fleetbase\FleetOps\Models\Contact;
15
10
  use Fleetbase\FleetOps\Models\Order;
16
11
  use Fleetbase\FleetOps\Models\Place;
17
12
  use Fleetbase\FleetOps\Support\Utils;
13
+ use Fleetbase\Http\Controllers\Controller;
18
14
  use Fleetbase\Models\User;
19
15
  use Fleetbase\Models\UserDevice;
20
16
  use Fleetbase\Models\VerificationCode;
17
+ use Fleetbase\Storefront\Http\Requests\CreateCustomerRequest;
18
+ use Fleetbase\Storefront\Http\Requests\VerifyCreateCustomerRequest;
19
+ use Fleetbase\Storefront\Http\Resources\Customer;
20
+ use Fleetbase\Storefront\Support\Storefront;
21
21
  use Illuminate\Database\Eloquent\ModelNotFoundException;
22
22
  use Illuminate\Http\Request;
23
23
  use Illuminate\Support\Facades\Hash;
@@ -28,7 +28,6 @@ class CustomerController extends Controller
28
28
  /**
29
29
  * Query for Storefront Customer orders.
30
30
  *
31
- * @param \Illuminate\Http\Request $request
32
31
  * @return \Fleetbase\Http\Resources\Storefront\Customer
33
32
  */
34
33
  public function registerDevice(Request $request)
@@ -41,27 +40,26 @@ class CustomerController extends Controller
41
40
 
42
41
  $device = UserDevice::firstOrCreate(
43
42
  [
44
- 'token' => $request->input('token'),
43
+ 'token' => $request->input('token'),
45
44
  'platform' => $request->or(['platform', 'os']),
46
45
  ],
47
46
  [
48
47
  'user_uuid' => $customer->user_uuid,
49
- 'platform' => $request->or(['platform', 'os']),
50
- 'token' => $request->input('token'),
51
- 'status' => 'active'
48
+ 'platform' => $request->or(['platform', 'os']),
49
+ 'token' => $request->input('token'),
50
+ 'status' => 'active',
52
51
  ]
53
52
  );
54
53
 
55
54
  return response()->json([
56
55
  'status' => 'OK',
57
- 'device' => $device->public_id
56
+ 'device' => $device->public_id,
58
57
  ]);
59
58
  }
60
59
 
61
60
  /**
62
61
  * Query for Storefront Customer orders.
63
62
  *
64
- * @param \Illuminate\Http\Request $request
65
63
  * @return \Fleetbase\Http\Resources\Storefront\Customer
66
64
  */
67
65
  public function orders(Request $request)
@@ -72,7 +70,7 @@ class CustomerController extends Controller
72
70
  return response()->error('Not authorized to view customers orders');
73
71
  }
74
72
 
75
- $results = Order::queryWithRequest($request, function (&$query) use ($customer, $request) {
73
+ $results = Order::queryWithRequest($request, function (&$query) use ($customer) {
76
74
  $query->where('customer_uuid', $customer->uuid)->whereNull('deleted_at')->withoutGlobalScopes();
77
75
 
78
76
  // dont query any master orders if its a network
@@ -90,7 +88,6 @@ class CustomerController extends Controller
90
88
  /**
91
89
  * Query for Storefront Customer places.
92
90
  *
93
- * @param \Illuminate\Http\Request $request
94
91
  * @return \Fleetbase\Http\Resources\Storefront\Customer
95
92
  */
96
93
  public function places(Request $request)
@@ -111,16 +108,15 @@ class CustomerController extends Controller
111
108
  /**
112
109
  * Setups a verification request to create a new storefront customer.
113
110
  *
114
- * @param \Fleetbase\Storefront\Http\Requests\VerifyCreateCustomerRequest $request
115
111
  * @return \Fleetbase\Http\Resources\Contact
116
112
  */
117
113
  public function requestCustomerCreationCode(VerifyCreateCustomerRequest $request)
118
114
  {
119
- $mode = $request->input('mode', 'email');
115
+ $mode = $request->input('mode', 'email');
120
116
  $identity = $request->input('identity');
121
- $isEmail = Utils::isEmail($identity);
122
- $isPhone = $mode === 'sms' && !$isEmail;
123
- $about = Storefront::about(['company_uuid']);
117
+ $isEmail = Utils::isEmail($identity);
118
+ $isPhone = $mode === 'sms' && !$isEmail;
119
+ $about = Storefront::about(['company_uuid']);
124
120
 
125
121
  // validate identity
126
122
  if ($mode === 'email' && !$isEmail) {
@@ -137,7 +133,7 @@ class CustomerController extends Controller
137
133
 
138
134
  // create a customer instance
139
135
  $customer = new Contact($attributes);
140
- $meta = ['identity' => $identity];
136
+ $meta = ['identity' => $identity];
141
137
 
142
138
  if ($isEmail) {
143
139
  VerificationCode::generateEmailVerificationFor($customer, 'storefront_create_customer', function ($verification) use ($about) {
@@ -155,17 +151,16 @@ class CustomerController extends Controller
155
151
  /**
156
152
  * Creates a new Storefront Customer resource.
157
153
  *
158
- * @param \Fleetbase\Storefront\Http\Requests\CreateCustomerRequest $request
159
154
  * @return \Fleetbase\Http\Resources\Contact
160
155
  */
161
156
  public function create(CreateCustomerRequest $request)
162
157
  {
163
158
  // get the verification token
164
- $code = $request->input('code');
165
- $about = Storefront::about(['company_uuid']);
166
- $input = $request->only(['name', 'type', 'title', 'email', 'phone', 'meta']);
159
+ $code = $request->input('code');
160
+ $about = Storefront::about(['company_uuid']);
161
+ $input = $request->only(['name', 'type', 'title', 'email', 'phone', 'meta']);
167
162
  $identity = $request->input('identity');
168
- $user = null;
163
+ $user = null;
169
164
 
170
165
  if (!Utils::isEmail($identity)) {
171
166
  $identity = static::phone($identity);
@@ -181,7 +176,7 @@ class CustomerController extends Controller
181
176
  // check for existing user to attach contact to
182
177
  if (Utils::isEmail($identity)) {
183
178
  $user = User::where('email', $identity)->whereNull('deleted_at')->withoutGlobalScopes()->first();
184
- } else if (Str::startsWith($identity, '+')) {
179
+ } elseif (Str::startsWith($identity, '+')) {
185
180
  $user = User::where('phone', $identity)->whereNull('deleted_at')->withoutGlobalScopes()->first();
186
181
  }
187
182
 
@@ -189,22 +184,22 @@ class CustomerController extends Controller
189
184
  // create the user
190
185
  $user = User::create(array_merge(
191
186
  [
192
- 'type' => 'customer',
187
+ 'type' => 'customer',
193
188
  'company_uuid' => session('company'),
194
- 'phone' => static::phone($request->input('phone'))
189
+ 'phone' => static::phone($request->input('phone')),
195
190
  ],
196
191
  $request->only(['name', 'type', 'email', 'phone', 'meta'])
197
192
  ));
198
193
  }
199
194
 
200
195
  // always customer type
201
- $input['type'] = 'customer';
196
+ $input['type'] = 'customer';
202
197
  $input['company_uuid'] = session('company');
203
- $input['phone'] = static::phone($request->input('phone'));
204
- $input['user_uuid'] = $user->uuid;
205
- $input['meta'] = [
198
+ $input['phone'] = static::phone($request->input('phone'));
199
+ $input['user_uuid'] = $user->uuid;
200
+ $input['meta'] = [
206
201
  'storefront_id' => $about->public_id,
207
- 'origin' => 'storefront'
202
+ 'origin' => 'storefront',
208
203
  ];
209
204
 
210
205
  // create the customer/contact
@@ -226,8 +221,9 @@ class CustomerController extends Controller
226
221
  /**
227
222
  * Updates a Storefront Customer resource.
228
223
  *
229
- * @param string $id
230
- * @param \Fleetbase\Http\Requests\UpdateContactRequest $request
224
+ * @param string $id
225
+ * @param \Fleetbase\Http\Requests\UpdateContactRequest $request
226
+ *
231
227
  * @return \Fleetbase\Http\Resources\Contact
232
228
  */
233
229
  public function update($id, UpdateContactRequest $request)
@@ -259,7 +255,6 @@ class CustomerController extends Controller
259
255
  /**
260
256
  * Query for Storefront Customer resources.
261
257
  *
262
- * @param \Illuminate\Http\Request $request
263
258
  * @return \Fleetbase\Http\Resources\Storefront\Customer
264
259
  */
265
260
  public function query(Request $request)
@@ -274,7 +269,6 @@ class CustomerController extends Controller
274
269
  /**
275
270
  * Finds a single Storefront Product resources.
276
271
  *
277
- * @param \Illuminate\Http\Request $request
278
272
  * @return \Fleetbase\Http\Resources\Storefront\Customer
279
273
  */
280
274
  public function find($id)
@@ -297,7 +291,6 @@ class CustomerController extends Controller
297
291
  /**
298
292
  * Deletes a Storefront Product resources.
299
293
  *
300
- * @param \Illuminate\Http\Request $request
301
294
  * @return \Fleetbase\Http\Resources\v1\DeletedResource
302
295
  */
303
296
  public function delete($id)
@@ -323,14 +316,13 @@ class CustomerController extends Controller
323
316
  /**
324
317
  * Authenticates customer using login credentials and returns with auth token.
325
318
  *
326
- * @param \Illuminate\Http\Request $request
327
319
  * @return \Fleetbase\Http\Resources\Storefront\Customer
328
320
  */
329
321
  public function login(Request $request)
330
322
  {
331
323
  $identity = $request->input('identity');
332
324
  $password = $request->input('password');
333
- $attrs = $request->input(['name', 'phone', 'email']);
325
+ $attrs = $request->input(['name', 'phone', 'email']);
334
326
 
335
327
  $user = User::where('email', $identity)->orWhere('phone', static::phone($identity))->first();
336
328
 
@@ -338,23 +330,23 @@ class CustomerController extends Controller
338
330
  return response()->error('Authentication failed using password provided.', 401);
339
331
  }
340
332
 
341
- // get the storefront or network logging in for
333
+ // get the storefront or network logging in for
342
334
  $about = Storefront::about(['company_uuid']);
343
335
 
344
336
  // get contact record
345
337
  $contact = Contact::firstOrCreate(
346
338
  [
347
- 'user_uuid' => $user->uuid,
339
+ 'user_uuid' => $user->uuid,
348
340
  'company_uuid' => $about->company_uuid,
349
- 'type' => 'customer'
341
+ 'type' => 'customer',
350
342
  ],
351
343
  [
352
- 'user_uuid' => $user->uuid,
344
+ 'user_uuid' => $user->uuid,
353
345
  'company_uuid' => $about->company_uuid,
354
- 'name' => $attrs['name'] ?? $user->name,
355
- 'phone' => $attrs['phone'] ?? $user->phone,
356
- 'email' => $attrs['email'] ?? $user->email,
357
- 'type' => 'customer'
346
+ 'name' => $attrs['name'] ?? $user->name,
347
+ 'phone' => $attrs['phone'] ?? $user->phone,
348
+ 'email' => $attrs['email'] ?? $user->email,
349
+ 'type' => 'customer',
358
350
  ]
359
351
  );
360
352
 
@@ -371,9 +363,8 @@ class CustomerController extends Controller
371
363
  }
372
364
 
373
365
  /**
374
- * Attempts authentication with phone number via SMS verification
366
+ * Attempts authentication with phone number via SMS verification.
375
367
  *
376
- * @param \Illuminate\Http\Request $request
377
368
  * @return \Illuminate\Http\Response
378
369
  */
379
370
  public function loginWithPhone()
@@ -387,7 +378,7 @@ class CustomerController extends Controller
387
378
  return response()->error('No customer with this phone # found.');
388
379
  }
389
380
 
390
- // get the storefront or network logging in for
381
+ // get the storefront or network logging in for
391
382
  $about = Storefront::about();
392
383
 
393
384
  // generate verification token
@@ -401,15 +392,14 @@ class CustomerController extends Controller
401
392
  /**
402
393
  * Verifys SMS code and sends auth token with customer resource.
403
394
  *
404
- * @param \Illuminate\Http\Request $request
405
395
  * @return \Fleetbase\Http\Resources\Storefront\Customer
406
396
  */
407
397
  public function verifyCode(Request $request)
408
398
  {
409
399
  $identity = Utils::isEmail($request->identity) ? $request->identity : static::phone($request->identity);
410
- $code = $request->input('code');
411
- $for = $request->input('for', 'storefront_login');
412
- $attrs = $request->input(['name', 'phone', 'email']);
400
+ $code = $request->input('code');
401
+ $for = $request->input('for', 'storefront_login');
402
+ $attrs = $request->input(['name', 'phone', 'email']);
413
403
 
414
404
  if ($for === 'storefront_create_customer') {
415
405
  return $this->create($request);
@@ -429,23 +419,23 @@ class CustomerController extends Controller
429
419
  return response()->error('Invalid verification code!');
430
420
  }
431
421
 
432
- // get the storefront or network logging in for
422
+ // get the storefront or network logging in for
433
423
  $about = Storefront::about(['company_uuid']);
434
424
 
435
425
  // get contact record
436
426
  $contact = Contact::firstOrCreate(
437
427
  [
438
- 'user_uuid' => $user->uuid,
428
+ 'user_uuid' => $user->uuid,
439
429
  'company_uuid' => $about->company_uuid,
440
- 'type' => 'customer'
430
+ 'type' => 'customer',
441
431
  ],
442
432
  [
443
- 'user_uuid' => $user->uuid,
433
+ 'user_uuid' => $user->uuid,
444
434
  'company_uuid' => $about->company_uuid,
445
- 'name' => $attrs['name'] ?? $user->name,
446
- 'phone' => $attrs['phone'] ?? $user->phone,
447
- 'email' => $attrs['email'] ?? $user->email,
448
- 'type' => 'customer'
435
+ 'name' => $attrs['name'] ?? $user->name,
436
+ 'phone' => $attrs['phone'] ?? $user->phone,
437
+ 'email' => $attrs['email'] ?? $user->email,
438
+ 'type' => 'customer',
449
439
  ]
450
440
  );
451
441
 
@@ -463,11 +453,8 @@ class CustomerController extends Controller
463
453
 
464
454
  /**
465
455
  * Patches phone number with international code.
466
- *
467
- * @param string|null $phone
468
- * @return string
469
456
  */
470
- public static function phone(?string $phone = null): string
457
+ public static function phone(string $phone = null): string
471
458
  {
472
459
  if ($phone === null) {
473
460
  $phone = request()->input('phone');
@@ -3,9 +3,7 @@
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
5
  use Fleetbase\Http\Controllers\Controller;
6
- use Illuminate\Http\Request;
7
6
 
8
7
  class GatewayControllerController extends Controller
9
8
  {
10
- //
11
9
  }
@@ -2,13 +2,13 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
+ use Fleetbase\FleetOps\Support\Utils;
5
6
  use Fleetbase\Http\Controllers\Controller;
7
+ use Fleetbase\Models\Category;
6
8
  use Fleetbase\Storefront\Http\Resources\Store as StorefrontStore;
7
9
  use Fleetbase\Storefront\Http\Resources\StoreLocation as StorefrontStoreLocation;
8
10
  use Fleetbase\Storefront\Models\Store;
9
11
  use Fleetbase\Storefront\Models\StoreLocation;
10
- use Fleetbase\Models\Category;
11
- use Fleetbase\FleetOps\Support\Utils;
12
12
  use Grimzy\LaravelMysqlSpatial\Types\Point;
13
13
  use Illuminate\Http\Request;
14
14
 
@@ -17,7 +17,6 @@ class NetworkController extends Controller
17
17
  /**
18
18
  * Returns all stores within the network.
19
19
  *
20
- * @param \Illuminate\Http\Request $request
21
20
  * @return \Illuminate\Http\Response
22
21
  */
23
22
  public function stores(Request $request)
@@ -26,15 +25,15 @@ class NetworkController extends Controller
26
25
  return response()->error('Stores cannot have stores!');
27
26
  }
28
27
 
29
- $sort = $request->input('sort', false);
30
- $limit = $request->input('limit', false);
31
- $offset = $request->input('offset', false);
32
- $ids = $request->input('ids', []);
33
- $tagged = $request->input('tagged', []);
34
- $query = $request->input('query', false);
35
- $location = $request->input('location');
28
+ $sort = $request->input('sort', false);
29
+ $limit = $request->input('limit', false);
30
+ $offset = $request->input('offset', false);
31
+ $ids = $request->input('ids', []);
32
+ $tagged = $request->input('tagged', []);
33
+ $query = $request->input('query', false);
34
+ $location = $request->input('location');
36
35
  $maxDistance = $request->input('maximum_distance', null);
37
- $exclude = $request->input('exclude', []);
36
+ $exclude = $request->input('exclude', []);
38
37
 
39
38
  if (is_string($tagged)) {
40
39
  $tagged = explode(',', $tagged);
@@ -103,12 +102,16 @@ class NetworkController extends Controller
103
102
  switch ($sort) {
104
103
  case 'highest_rated':
105
104
  $query->withAvg('reviews', 'rating')->orderByDesc('reviews_avg_rating');
105
+ // no break
106
106
  case 'lowest_rated':
107
107
  $query->withAvg('reviews', 'rating')->orderBy('reviews_avg_rating');
108
+ // no break
108
109
  case 'newest':
109
110
  $query->orderByDesc('created_at');
111
+ // no break
110
112
  case 'oldest':
111
113
  $query->orderBy('created_at');
114
+ // no break
112
115
  case 'popular':
113
116
  $query->withCount('checkouts')->orderByDesc('checkouts_count');
114
117
  }
@@ -135,6 +138,7 @@ class NetworkController extends Controller
135
138
  return $distanceA - $distanceB;
136
139
  })->map(function ($location) use ($coordinates) {
137
140
  $location->distance = Utils::vincentyGreatCircleDistance($coordinates, $location->place->location);
141
+
138
142
  return $location;
139
143
  })->first()->distance;
140
144
 
@@ -145,6 +149,7 @@ class NetworkController extends Controller
145
149
  return $distanceA - $distanceB;
146
150
  })->map(function ($location) use ($coordinates) {
147
151
  $location->distance = Utils::vincentyGreatCircleDistance($coordinates, $location->place->location);
152
+
148
153
  return $location;
149
154
  })->first()->distance;
150
155
 
@@ -163,20 +168,19 @@ class NetworkController extends Controller
163
168
  /**
164
169
  * Returns all store locations within the network.
165
170
  *
166
- * @param \Illuminate\Http\Request $request
167
171
  * @return \Illuminate\Http\Response
168
172
  */
169
173
  public function storeLocations(Request $request)
170
174
  {
171
- $limit = $request->input('limit', 30);
172
- $ids = $request->input('ids', []);
173
- $exclude = $request->input('exclude', []);
174
- $offset = $request->input('offset');
175
- $location = $request->input('location');
176
- $tagged = $request->input('tagged', []);
177
- $searchQuery = $request->input('query', false);
175
+ $limit = $request->input('limit', 30);
176
+ $ids = $request->input('ids', []);
177
+ $exclude = $request->input('exclude', []);
178
+ $offset = $request->input('offset');
179
+ $location = $request->input('location');
180
+ $tagged = $request->input('tagged', []);
181
+ $searchQuery = $request->input('query', false);
178
182
  $shouldIncludeStore = $request->input('with_store', false);
179
- $coordinates = Utils::getPointFromCoordinates($location);
183
+ $coordinates = Utils::getPointFromCoordinates($location);
180
184
 
181
185
  if (is_string($tagged)) {
182
186
  $tagged = explode(',', $tagged);
@@ -190,7 +194,7 @@ class NetworkController extends Controller
190
194
  $ids = explode(',', $ids);
191
195
  }
192
196
 
193
- $databaseName = config('database.connections.mysql.database');
197
+ $databaseName = config('database.connections.mysql.database');
194
198
  $placesTableName = $databaseName . '.places';
195
199
 
196
200
  $query = StoreLocation::select(['store_locations.*', $placesTableName . '.location', $placesTableName . '.uuid'])
@@ -249,9 +253,8 @@ class NetworkController extends Controller
249
253
  }
250
254
 
251
255
  /**
252
- * Returns all tags from stores/categories throughout the network
256
+ * Returns all tags from stores/categories throughout the network.
253
257
  *
254
- * @param \Illuminate\Http\Request $request
255
258
  * @return \Illuminate\Http\Response
256
259
  */
257
260
  public function tags(Request $request)
@@ -3,9 +3,7 @@
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
5
  use Fleetbase\Http\Controllers\Controller;
6
- use Illuminate\Http\Request;
7
6
 
8
7
  class PaymentMethodController extends Controller
9
8
  {
10
- //
11
9
  }
@@ -3,9 +3,9 @@
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
5
  use Fleetbase\Http\Controllers\Controller;
6
- use Fleetbase\Storefront\Http\Resources\Product as StorefrontProduct;
7
6
  use Fleetbase\Http\Resources\v1\DeletedResource;
8
7
  use Fleetbase\Models\Category;
8
+ use Fleetbase\Storefront\Http\Resources\Product as StorefrontProduct;
9
9
  use Fleetbase\Storefront\Models\Product;
10
10
  use Illuminate\Database\Eloquent\ModelNotFoundException;
11
11
  use Illuminate\Http\Request;
@@ -15,7 +15,6 @@ class ProductController extends Controller
15
15
  /**
16
16
  * Query for Storefront Product resources.
17
17
  *
18
- * @param \Illuminate\Http\Request $request
19
18
  * @return \Fleetbase\Http\Resources\DriverCollection
20
19
  */
21
20
  public function query(Request $request)
@@ -54,7 +53,6 @@ class ProductController extends Controller
54
53
  /**
55
54
  * Finds a single Storefront Product resources.
56
55
  *
57
- * @param \Illuminate\Http\Request $request
58
56
  * @return \Fleetbase\Http\Resources\EntityCollection
59
57
  */
60
58
  public function find($id)
@@ -73,7 +71,6 @@ class ProductController extends Controller
73
71
  /**
74
72
  * Deletes a Storefront Product resources.
75
73
  *
76
- * @param \Illuminate\Http\Request $request
77
74
  * @return \Fleetbase\Http\Resources\v1\DeletedResource
78
75
  */
79
76
  public function delete($id)