@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
@@ -3,8 +3,8 @@
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
5
  use Fleetbase\Http\Controllers\Controller;
6
- use Fleetbase\Storefront\Models\Cart;
7
6
  use Fleetbase\Storefront\Http\Resources\Cart as StorefrontCart;
7
+ use Fleetbase\Storefront\Models\Cart;
8
8
  use Illuminate\Http\Request;
9
9
 
10
10
  class CartController extends Controller
@@ -13,11 +13,9 @@ class CartController extends Controller
13
13
  * Retrieve or create a cart using a unique identifier. If no unique identifier is provided
14
14
  * one will be created.
15
15
  *
16
- * @param string|null $uniqueId
17
- * @param \Illuminate\Http\Request $request
18
16
  * @return \Illuminate\Http\Response
19
17
  */
20
- public function retrieve(?string $uniqueId = null, Request $request)
18
+ public function retrieve(string $uniqueId = null, Request $request)
21
19
  {
22
20
  $cart = Cart::retrieve($uniqueId, true);
23
21
 
@@ -30,19 +28,16 @@ class CartController extends Controller
30
28
  /**
31
29
  * Adds a product to cart and creates a line item for the product.
32
30
  *
33
- * @param string $cartId
34
- * @param string $productId
35
- * @param \Illuminate\Http\Request $request
36
31
  * @return \Illuminate\Http\Response
37
32
  */
38
33
  public function add(string $cartId, string $productId, Request $request)
39
34
  {
40
- $quantity = $request->input('quantity', 1);
41
- $variants = $request->input('variants', []);
42
- $addons = $request->input('addons', []);
43
- $scheduledAt = $request->input('scheduled_at');
35
+ $quantity = $request->input('quantity', 1);
36
+ $variants = $request->input('variants', []);
37
+ $addons = $request->input('addons', []);
38
+ $scheduledAt = $request->input('scheduled_at');
44
39
  $storeLocationId = $request->input('store_location');
45
- $cart = Cart::retrieve($cartId);
40
+ $cart = Cart::retrieve($cartId);
46
41
 
47
42
  if (!$cart) {
48
43
  return response()->error('Cart was not found or has already been checkout out.');
@@ -61,20 +56,19 @@ class CartController extends Controller
61
56
  }
62
57
 
63
58
  /**
64
- * Update a line item in the cart
59
+ * Update a line item in the cart.
65
60
  *
66
- * @param string $cartId
67
61
  * @param string $cartItemId - can be either product id or line item id
68
- * @param \Illuminate\Http\Request $request
62
+ *
69
63
  * @return \Illuminate\Http\Response
70
64
  */
71
65
  public function update(string $cartId, string $cartItemId, Request $request)
72
66
  {
73
- $quantity = $request->input('quantity', null);
74
- $variants = $request->input('variants', null);
75
- $addons = $request->input('addons', null);
67
+ $quantity = $request->input('quantity', null);
68
+ $variants = $request->input('variants', null);
69
+ $addons = $request->input('addons', null);
76
70
  $scheduledAt = $request->input('scheduled_at');
77
- $cart = Cart::retrieve($cartId);
71
+ $cart = Cart::retrieve($cartId);
78
72
 
79
73
  if (!$cart) {
80
74
  return response()->error('Cart was not found or has already been checkout out.');
@@ -93,11 +87,10 @@ class CartController extends Controller
93
87
  }
94
88
 
95
89
  /**
96
- * Removes a line item in the cart
90
+ * Removes a line item in the cart.
97
91
  *
98
- * @param string $cartId
99
92
  * @param string $cartItemId - can be either product id or line item id
100
- * @param \Illuminate\Http\Request $request
93
+ *
101
94
  * @return \Illuminate\Http\Response
102
95
  */
103
96
  public function remove(?string $cartId, ?string $cartItemId, Request $request)
@@ -121,9 +114,8 @@ class CartController extends Controller
121
114
  }
122
115
 
123
116
  /**
124
- * Empties a cart
117
+ * Empties a cart.
125
118
  *
126
- * @param string $cartId
127
119
  * @return \Illuminate\Http\Response
128
120
  */
129
121
  public function empty(string $cartId)
@@ -142,8 +134,6 @@ class CartController extends Controller
142
134
  /**
143
135
  * Deletes a cart.
144
136
  *
145
- * @param string $cartId
146
- * @param \Illuminate\Http\Request $request
147
137
  * @return \Illuminate\Http\Response
148
138
  */
149
139
  public function delete(string $cartId)
@@ -3,11 +3,11 @@
3
3
  namespace Fleetbase\Storefront\Http\Controllers\v1;
4
4
 
5
5
  use Fleetbase\Http\Controllers\Controller;
6
+ use Fleetbase\Models\Category;
6
7
  use Fleetbase\Storefront\Http\Resources\Category as StorefrontCategory;
7
8
  use Fleetbase\Storefront\Http\Resources\Product as ProductResource;
8
- use Fleetbase\Storefront\Models\Store;
9
9
  use Fleetbase\Storefront\Models\Product;
10
- use Fleetbase\Models\Category;
10
+ use Fleetbase\Storefront\Models\Store;
11
11
  use Illuminate\Http\Request;
12
12
  use Illuminate\Support\Facades\DB;
13
13
 
@@ -16,7 +16,6 @@ class CategoryController extends Controller
16
16
  /**
17
17
  * Query for Storefront Product resources.
18
18
  *
19
- * @param \Illuminate\Http\Request $request
20
19
  * @return \Illuminate\Http\Response
21
20
  */
22
21
  public function query(Request $request)
@@ -62,7 +61,7 @@ class CategoryController extends Controller
62
61
  if ($request->filled('store')) {
63
62
  $store = Store::where([
64
63
  'company_uuid' => session('company'),
65
- 'public_id' => $request->input('store')
64
+ 'public_id' => $request->input('store'),
66
65
  ])->whereHas('networks', function ($q) {
67
66
  $q->where('network_uuid', session('storefront_network'));
68
67
  })->first();