@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,21 +2,21 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers;
4
4
 
5
+ use Fleetbase\FleetOps\Support\Utils;
6
+ use Fleetbase\Models\Category;
7
+ use Fleetbase\Models\Invite;
5
8
  use Fleetbase\Storefront\Http\Requests\AddStoreToNetworkCategory;
6
9
  use Fleetbase\Storefront\Http\Requests\NetworkActionRequest;
7
10
  use Fleetbase\Storefront\Mail\StorefrontNetworkInvite;
8
11
  use Fleetbase\Storefront\Models\Network;
9
12
  use Fleetbase\Storefront\Models\NetworkStore;
10
- use Fleetbase\Models\Category;
11
- use Fleetbase\Models\Invite;
12
- use Fleetbase\FleetOps\Support\Utils;
13
13
  use Illuminate\Support\Facades\Mail;
14
14
  use Illuminate\Support\Str;
15
15
 
16
16
  class NetworkController extends StorefrontController
17
17
  {
18
18
  /**
19
- * The resource to query
19
+ * The resource to query.
20
20
  *
21
21
  * @var string
22
22
  */
@@ -25,12 +25,11 @@ class NetworkController extends StorefrontController
25
25
  /**
26
26
  * Find network by public_id or invitation code.
27
27
  *
28
- * @param string $id
29
28
  * @return \Illuminate\Http\Response
30
29
  */
31
30
  public function findNetwork(string $id)
32
31
  {
33
- $id = trim($id);
32
+ $id = trim($id);
34
33
  $isPublicId = Str::startsWith($id, ['storefront_network_', 'network_']);
35
34
 
36
35
  if ($isPublicId) {
@@ -49,24 +48,22 @@ class NetworkController extends StorefrontController
49
48
  /**
50
49
  * Add stores to a network.
51
50
  *
52
- * @param string $id
53
- * @param \Fleetbase\Storefront\Http\Requests\NetworkActionRequest $request
54
51
  * @return \Illuminate\Http\Response
55
52
  */
56
53
  public function sendInvites(string $id, NetworkActionRequest $request)
57
54
  {
58
- $network = Network::find($id);
55
+ $network = Network::find($id);
59
56
  $recipients = $request->input('recipients', []);
60
57
 
61
58
  // create invitation
62
59
  $invitation = Invite::create([
63
- 'company_uuid' => session('company'),
60
+ 'company_uuid' => session('company'),
64
61
  'created_by_uuid' => session('user'),
65
- 'subject_uuid' => $network->uuid,
66
- 'subject_type' => Utils::getMutationType($network),
67
- 'protocol' => 'email',
68
- 'recipients' => $recipients,
69
- 'reason' => 'join_storefront_network'
62
+ 'subject_uuid' => $network->uuid,
63
+ 'subject_type' => Utils::getMutationType($network),
64
+ 'protocol' => 'email',
65
+ 'recipients' => $recipients,
66
+ 'reason' => 'join_storefront_network',
70
67
  ]);
71
68
 
72
69
  // make sure subject is set
@@ -82,15 +79,13 @@ class NetworkController extends StorefrontController
82
79
  /**
83
80
  * Add stores to a network.
84
81
  *
85
- * @param string $id
86
- * @param \Fleetbase\Storefront\Http\Requests\NetworkActionRequest $request
87
82
  * @return \Illuminate\Http\Response
88
83
  */
89
84
  public function addStores(string $id, NetworkActionRequest $request)
90
85
  {
91
86
  $network = Network::find($id);
92
- $stores = collect($request->input('stores', []));
93
- $remove = collect($request->input('remove', []));
87
+ $stores = collect($request->input('stores', []));
88
+ $remove = collect($request->input('remove', []));
94
89
 
95
90
  // firstOrCreate each
96
91
  foreach ($stores as $storeId) {
@@ -111,8 +106,6 @@ class NetworkController extends StorefrontController
111
106
  /**
112
107
  * Remove stores from a network.
113
108
  *
114
- * @param string $id
115
- * @param \Fleetbase\Storefront\Http\Requests\NetworkActionRequest $request
116
109
  * @return \Illuminate\Http\Response
117
110
  */
118
111
  public function removeStores(string $id, NetworkActionRequest $request)
@@ -130,14 +123,12 @@ class NetworkController extends StorefrontController
130
123
  /**
131
124
  * Remove stores to a network.
132
125
  *
133
- * @param string $id
134
- * @param \Fleetbase\Storefront\Http\Requests\AddStoreToNetworkCategory $request
135
126
  * @return \Illuminate\Http\Response
136
127
  */
137
128
  public function addStoreToCategory(string $id, AddStoreToNetworkCategory $request)
138
129
  {
139
130
  $category = $request->input('category');
140
- $store = $request->input('store');
131
+ $store = $request->input('store');
141
132
 
142
133
  // get network store instance
143
134
  $networkStore = NetworkStore::where(['network_uuid' => $id, 'store_uuid' => $store])->first();
@@ -148,11 +139,10 @@ class NetworkController extends StorefrontController
148
139
 
149
140
  return response()->json(['status' => 'ok']);
150
141
  }
142
+
151
143
  /**
152
144
  * Remove stores to a network.
153
145
  *
154
- * @param string $id
155
- * @param \Fleetbase\Storefront\Http\Requests\NetworkActionRequest $request
156
146
  * @return \Illuminate\Http\Response
157
147
  */
158
148
  public function deleteCategory(string $id, NetworkActionRequest $request)
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class NotificationChannelController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -2,22 +2,22 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers;
4
4
 
5
- use Fleetbase\FleetOps\Models\Order;
6
5
  use Fleetbase\FleetOps\Http\Controllers\Internal\v1\OrderController as FleetbaseOrderController;
6
+ use Fleetbase\FleetOps\Models\Order;
7
7
  use Fleetbase\Storefront\Notifications\StorefrontOrderPreparing;
8
8
  use Illuminate\Http\Request;
9
9
 
10
10
  class OrderController extends FleetbaseOrderController
11
11
  {
12
12
  /**
13
- * The resource to query
13
+ * The resource to query.
14
14
  *
15
15
  * @var string
16
16
  */
17
17
  public $resource = 'order';
18
18
 
19
19
  /**
20
- * The filter to use
20
+ * The filter to use.
21
21
  *
22
22
  * @var \Fleetbase\Http\Filter\Filter
23
23
  */
@@ -26,7 +26,6 @@ class OrderController extends FleetbaseOrderController
26
26
  /**
27
27
  * Accept an order by incrementing status to preparing.
28
28
  *
29
- * @param \Illuminate\Http\Request $request
30
29
  * @return \Illuminate\Http\Response
31
30
  */
32
31
  public function acceptOrder(Request $request)
@@ -35,7 +34,7 @@ class OrderController extends FleetbaseOrderController
35
34
 
36
35
  if (!$order) {
37
36
  return response()->json([
38
- 'error' => 'No order to accept!'
37
+ 'error' => 'No order to accept!',
39
38
  ], 400);
40
39
  }
41
40
 
@@ -45,27 +44,26 @@ class OrderController extends FleetbaseOrderController
45
44
 
46
45
  return response()->json([
47
46
  'status' => 'ok',
48
- 'order' => $order->public_id,
49
- 'status' => $order->status
47
+ 'order' => $order->public_id,
48
+ 'status' => $order->status,
50
49
  ]);
51
50
  }
52
51
 
53
52
  /**
54
53
  * Accept an order by incrementing status to preparing.
55
54
  *
56
- * @param \Illuminate\Http\Request $request
57
55
  * @return \Illuminate\Http\Response
58
56
  */
59
57
  public function markOrderAsReady(Request $request)
60
58
  {
61
- $adhoc = $request->boolean('adhoc');
59
+ $adhoc = $request->boolean('adhoc');
62
60
  $driver = $request->input('driver');
63
61
  /** @var \Fleetbase\Models\Order $order */
64
62
  $order = Order::where('uuid', $request->order)->whereNull('deleted_at')->with(['customer'])->first();
65
63
 
66
64
  if (!$order) {
67
65
  return response()->json([
68
- 'error' => 'No order to update!'
66
+ 'error' => 'No order to update!',
69
67
  ], 400);
70
68
  }
71
69
 
@@ -74,8 +72,8 @@ class OrderController extends FleetbaseOrderController
74
72
 
75
73
  return response()->json([
76
74
  'status' => 'ok',
77
- 'order' => $order->public_id,
78
- 'status' => $order->status
75
+ 'order' => $order->public_id,
76
+ 'status' => $order->status,
79
77
  ]);
80
78
  }
81
79
 
@@ -94,15 +92,14 @@ class OrderController extends FleetbaseOrderController
94
92
 
95
93
  return response()->json([
96
94
  'status' => 'ok',
97
- 'order' => $order->public_id,
98
- 'status' => $order->status
95
+ 'order' => $order->public_id,
96
+ 'status' => $order->status,
99
97
  ]);
100
98
  }
101
99
 
102
100
  /**
103
101
  * Accept an order by incrementing status to preparing.
104
102
  *
105
- * @param \Illuminate\Http\Request $request
106
103
  * @return \Illuminate\Http\Response
107
104
  */
108
105
  public function markOrderAsCompleted(Request $request)
@@ -112,7 +109,7 @@ class OrderController extends FleetbaseOrderController
112
109
 
113
110
  if (!$order) {
114
111
  return response()->json([
115
- 'error' => 'No order to update!'
112
+ 'error' => 'No order to update!',
116
113
  ], 400);
117
114
  }
118
115
 
@@ -121,15 +118,14 @@ class OrderController extends FleetbaseOrderController
121
118
 
122
119
  return response()->json([
123
120
  'status' => 'ok',
124
- 'order' => $order->public_id,
125
- 'status' => $order->status
121
+ 'order' => $order->public_id,
122
+ 'status' => $order->status,
126
123
  ]);
127
124
  }
128
125
 
129
126
  /**
130
127
  * Reject order and notify customer order is rejected/canceled.
131
128
  *
132
- * @param \Illuminate\Http\Request $request
133
129
  * @return \Illuminate\Http\Response
134
130
  */
135
131
  public function rejectOrder(Request $request)
@@ -138,7 +134,7 @@ class OrderController extends FleetbaseOrderController
138
134
 
139
135
  if (!$order) {
140
136
  return response()->json([
141
- 'error' => 'No order to cancel!'
137
+ 'error' => 'No order to cancel!',
142
138
  ], 400);
143
139
  }
144
140
 
@@ -147,8 +143,8 @@ class OrderController extends FleetbaseOrderController
147
143
 
148
144
  return response()->json([
149
145
  'status' => 'ok',
150
- 'order' => $order->public_id,
151
- 'status' => $order->status
146
+ 'order' => $order->public_id,
147
+ 'status' => $order->status,
152
148
  ]);
153
149
  }
154
150
  }
@@ -2,11 +2,10 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers;
4
4
 
5
-
6
5
  class ProductAddonCategoryController extends StorefrontController
7
6
  {
8
7
  /**
9
- * The resource to query
8
+ * The resource to query.
10
9
  *
11
10
  * @var string
12
11
  */
@@ -2,11 +2,10 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers;
4
4
 
5
-
6
5
  class ProductAddonController extends StorefrontController
7
6
  {
8
7
  /**
9
- * The resource to query
8
+ * The resource to query.
10
9
  *
11
10
  * @var string
12
11
  */
@@ -2,42 +2,87 @@
2
2
 
3
3
  namespace Fleetbase\Storefront\Http\Controllers;
4
4
 
5
+ use Fleetbase\FleetOps\Support\Utils;
6
+ use Fleetbase\Models\Category;
7
+ use Fleetbase\Models\File;
5
8
  use Fleetbase\Storefront\Imports\ProductsImport;
6
9
  use Fleetbase\Storefront\Jobs\DownloadProductImageUrl;
7
10
  use Fleetbase\Storefront\Models\Product;
8
11
  use Fleetbase\Storefront\Models\Store;
9
- use Fleetbase\Models\Category;
10
- use Fleetbase\Models\File;
11
- use Fleetbase\FleetOps\Support\Utils;
12
- use Maatwebsite\Excel\Facades\Excel;
12
+ use Fleetbase\Support\Http;
13
13
  use Illuminate\Http\Request;
14
14
  use Illuminate\Support\Arr;
15
15
  use Illuminate\Support\Str;
16
+ use Maatwebsite\Excel\Facades\Excel;
16
17
 
17
18
  class ProductController extends StorefrontController
18
19
  {
19
20
  /**
20
- * The resource to query
21
+ * The resource to query.
21
22
  *
22
23
  * @var string
23
24
  */
24
25
  public $resource = 'product';
25
26
 
27
+ /**
28
+ * Update a Product record.
29
+ * This update method was overwritten because the ProductObserver
30
+ * isn't firing on the `updated` callback.
31
+ *
32
+ * @return \Fleetbase\Storefront\Http\Resources\Product
33
+ */
34
+ public function updateRecord(Request $request, string $id)
35
+ {
36
+ try {
37
+ $this->validateRequest($request);
38
+ $record = $this->model->updateRecordFromRequest($request, $id, function (&$request, Product &$product) {
39
+ $addonCategories = $request->array('product.addon_categories');
40
+ $variants = $request->array('product.variants');
41
+ $files = $request->array('product.files');
42
+
43
+ // save addon categories
44
+ $product->setAddonCategories($addonCategories);
45
+
46
+ // save product variants
47
+ $product->setProductVariants($variants);
48
+
49
+ // set keys on files
50
+ foreach ($files as $file) {
51
+ $fileRecord = File::where('uuid', $file['uuid'])->first();
52
+ $fileRecord->setKey($product);
53
+ }
54
+ });
55
+
56
+ if (Http::isInternalRequest($request)) {
57
+ $this->resource::wrap($this->resourceSingularlName);
58
+
59
+ return new $this->resource($record);
60
+ }
61
+
62
+ return new $this->resource($record);
63
+ } catch (\Exception $e) {
64
+ return response()->error($e->getMessage());
65
+ } catch (\Illuminate\Database\QueryException $e) {
66
+ return response()->error($e->getMessage());
67
+ } catch (\Fleetbase\Exceptions\FleetbaseRequestValidationException $e) {
68
+ return response()->error($e->getErrors());
69
+ }
70
+ }
71
+
26
72
  /**
27
73
  * List all activity options for current order.
28
74
  *
29
- * @param \Illuminate\Http\Request $request
30
75
  * @return \Illuminate\Http\Response
31
76
  */
32
77
  public function processImports(Request $request)
33
78
  {
34
- $disk = env('FILESYSTEM_DRIVER');
35
- $store = $request->input('store');
36
- $category = $request->input('category');
37
- $files = $request->input('files');
38
- $files = File::whereIn('uuid', $files)->get();
79
+ $disk = $request->input('disk', config('filesystems.default'));
80
+ $store = $request->input('store');
81
+ $category = $request->input('category');
82
+ $files = $request->input('files');
83
+ $files = File::whereIn('uuid', $files)->get();
39
84
  $validFileTypes = ['csv', 'tsv', 'xls', 'xlsx'];
40
- $imports = collect();
85
+ $imports = collect();
41
86
 
42
87
  if ($category) {
43
88
  $category = Category::find($category);
@@ -59,7 +104,7 @@ class ProductController extends StorefrontController
59
104
  return response()->error('Invalid file, unable to proccess.');
60
105
  }
61
106
 
62
- $data = Arr::first($data);
107
+ $data = Arr::first($data);
63
108
  $imports = $imports->merge($data);
64
109
  }
65
110
 
@@ -72,42 +117,42 @@ class ProductController extends StorefrontController
72
117
  }
73
118
 
74
119
  // $importId = (string) Str::uuid();
75
- $name = Utils::or($row, ['name', 'product_name', 'entry_name', 'entity_name', 'entity', 'item_name', 'item', 'service', 'service_name']);
76
- $description = Utils::or($row, ['description', 'product_description', 'details', 'info', 'about', 'item_description']);
77
- $tags = Utils::or($row, ['tags']);
78
- $sku = Utils::or($row, ['sku', 'internal_id', 'stock_number']);
79
- $price = Utils::or($row, ['price', 'cost', 'value']);
80
- $salePrice = Utils::or($row, ['sale_price', 'sale_cost', 'sale_value']);
81
- $isService = Utils::or($row, ['is_service'], false);
82
- $isBookable = Utils::or($row, ['is_bookable', 'bookable'], false);
83
- $isOnSale = Utils::or($row, ['on_sale', 'is_on_sale'], false);
84
- $isAvailable = Utils::or($row, ['available', 'is_available'], true);
120
+ $name = Utils::or($row, ['name', 'product_name', 'entry_name', 'entity_name', 'entity', 'item_name', 'item', 'service', 'service_name']);
121
+ $description = Utils::or($row, ['description', 'product_description', 'details', 'info', 'about', 'item_description']);
122
+ $tags = Utils::or($row, ['tags']);
123
+ $sku = Utils::or($row, ['sku', 'internal_id', 'stock_number']);
124
+ $price = Utils::or($row, ['price', 'cost', 'value']);
125
+ $salePrice = Utils::or($row, ['sale_price', 'sale_cost', 'sale_value']);
126
+ $isService = Utils::or($row, ['is_service'], false);
127
+ $isBookable = Utils::or($row, ['is_bookable', 'bookable'], false);
128
+ $isOnSale = Utils::or($row, ['on_sale', 'is_on_sale'], false);
129
+ $isAvailable = Utils::or($row, ['available', 'is_available'], true);
85
130
  $isRecommended = Utils::or($row, ['recommended', 'is_recommended'], false);
86
- $canPickup = Utils::or($row, ['can_pickup', 'is_pickup', 'is_pickup_only'], false);
87
- $youtubeUrls = Utils::or($row, ['youtube', 'youtube_urls', 'youtube_videos']);
88
- $images = Utils::or($row, ['photos', 'images', 'image', 'photo', 'primary_image', 'product_image', 'thumbnail', 'photo1', 'image1']);
131
+ $canPickup = Utils::or($row, ['can_pickup', 'is_pickup', 'is_pickup_only'], false);
132
+ $youtubeUrls = Utils::or($row, ['youtube', 'youtube_urls', 'youtube_videos']);
133
+ $images = Utils::or($row, ['photos', 'images', 'image', 'photo', 'primary_image', 'product_image', 'thumbnail', 'photo1', 'image1']);
89
134
 
90
135
  $products[] = $product = Product::create(
91
136
  [
92
- 'company_uuid' => $request->session()->get('company'),
137
+ 'company_uuid' => $request->session()->get('company'),
93
138
  'created_by_uuid' => $request->session()->get('user'),
94
- 'store_uuid' => $store->uuid,
95
- 'name' => Utils::unicodeDecode($name),
96
- 'description' => Utils::unicodeDecode($description),
97
- 'sku' => $sku,
98
- 'tags' => explode(',', $tags),
99
- 'youtube_urls' => explode(',', $youtubeUrls),
100
- 'price' => $price,
101
- 'sale_price' => $salePrice,
102
- 'currency' => $store->currency,
103
- 'is_service' => $isService,
104
- 'is_bookable' => $isBookable,
105
- 'is_on_sale' => $isOnSale,
106
- 'is_available' => $isAvailable,
107
- 'is_recommended' => $isRecommended,
108
- 'can_pickup' => $canPickup,
109
- 'category_uuid' => $category ? $category->uuid : null,
110
- 'status' => 'published'
139
+ 'store_uuid' => $store->uuid,
140
+ 'name' => Utils::unicodeDecode($name),
141
+ 'description' => Utils::unicodeDecode($description),
142
+ 'sku' => $sku,
143
+ 'tags' => explode(',', $tags),
144
+ 'youtube_urls' => explode(',', $youtubeUrls),
145
+ 'price' => $price,
146
+ 'sale_price' => $salePrice,
147
+ 'currency' => $store->currency,
148
+ 'is_service' => $isService,
149
+ 'is_bookable' => $isBookable,
150
+ 'is_on_sale' => $isOnSale,
151
+ 'is_available' => $isAvailable,
152
+ 'is_recommended' => $isRecommended,
153
+ 'can_pickup' => $canPickup,
154
+ 'category_uuid' => $category ? $category->uuid : null,
155
+ 'status' => 'published',
111
156
  ]
112
157
  );
113
158
 
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class ProductHourController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class ProductVariantController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class ProductVariantOptionController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class ReviewController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -8,13 +8,12 @@ use Illuminate\Http\Request;
8
8
  class StoreController extends StorefrontController
9
9
  {
10
10
  /**
11
- * The resource to query
11
+ * The resource to query.
12
12
  *
13
13
  * @var string
14
14
  */
15
15
  public $resource = 'store';
16
16
 
17
-
18
17
  public function allStores(Request $request)
19
18
  {
20
19
  $stores = Store::select(['uuid', 'name', 'description', 'created_at'])
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class StoreHourController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class StoreLocationController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */
@@ -8,8 +8,6 @@ class StorefrontController extends FleetbaseController
8
8
  {
9
9
  /**
10
10
  * The package namespace used to resolve from.
11
- *
12
- * @var string
13
11
  */
14
12
  public string $namespace = '\\Fleetbase\\Storefront';
15
13
  }
@@ -5,7 +5,7 @@ namespace Fleetbase\Storefront\Http\Controllers;
5
5
  class VoteController extends StorefrontController
6
6
  {
7
7
  /**
8
- * The resource to query
8
+ * The resource to query.
9
9
  *
10
10
  * @var string
11
11
  */