@fleetbase/storefront-engine 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/addon/controllers/products/index/category/new.js +5 -9
- package/addon/models/product-addon-category.js +10 -1
- package/addon/models/product-variant.js +0 -2
- package/addon/models/product.js +35 -2
- package/addon/serializers/product.js +16 -0
- package/addon/templates/products/index/category/new.hbs +2 -2
- package/composer.json +3 -3
- package/extension.json +1 -1
- package/package.json +132 -132
- package/server/src/Auth/Schemas/Storefront.php +31 -39
- package/server/src/Console/Commands/NotifyStorefrontOrderNearby.php +9 -11
- package/server/src/Expansions/ContactFilterExpansion.php +1 -1
- package/server/src/Expansions/EntityExpansion.php +12 -12
- package/server/src/Expansions/OrderFilterExpansion.php +1 -1
- package/server/src/Expansions/VendorFilterExpansion.php +1 -1
- package/server/src/Http/Controllers/ActionController.php +9 -11
- package/server/src/Http/Controllers/AddonCategoryController.php +1 -1
- package/server/src/Http/Controllers/CustomerController.php +1 -1
- package/server/src/Http/Controllers/GatewayController.php +1 -1
- package/server/src/Http/Controllers/MetricsController.php +17 -17
- package/server/src/Http/Controllers/NetworkController.php +16 -26
- package/server/src/Http/Controllers/NotificationChannelController.php +1 -1
- package/server/src/Http/Controllers/OrderController.php +18 -22
- package/server/src/Http/Controllers/ProductAddonCategoryController.php +1 -2
- package/server/src/Http/Controllers/ProductAddonController.php +1 -2
- package/server/src/Http/Controllers/ProductController.php +89 -44
- package/server/src/Http/Controllers/ProductHourController.php +1 -1
- package/server/src/Http/Controllers/ProductVariantController.php +1 -1
- package/server/src/Http/Controllers/ProductVariantOptionController.php +1 -1
- package/server/src/Http/Controllers/ReviewController.php +1 -1
- package/server/src/Http/Controllers/StoreController.php +1 -2
- package/server/src/Http/Controllers/StoreHourController.php +1 -1
- package/server/src/Http/Controllers/StoreLocationController.php +1 -1
- package/server/src/Http/Controllers/StorefrontController.php +0 -2
- package/server/src/Http/Controllers/VoteController.php +1 -1
- package/server/src/Http/Controllers/v1/CartController.php +16 -26
- package/server/src/Http/Controllers/v1/CategoryController.php +3 -4
- package/server/src/Http/Controllers/v1/CheckoutController.php +283 -286
- package/server/src/Http/Controllers/v1/CustomerController.php +54 -67
- package/server/src/Http/Controllers/v1/GatewayControllerController.php +0 -2
- package/server/src/Http/Controllers/v1/NetworkController.php +26 -23
- package/server/src/Http/Controllers/v1/PaymentMethodController.php +0 -2
- package/server/src/Http/Controllers/v1/ProductController.php +1 -4
- package/server/src/Http/Controllers/v1/ReviewController.php +31 -35
- package/server/src/Http/Controllers/v1/ServiceQuoteController.php +57 -53
- package/server/src/Http/Controllers/v1/StoreController.php +8 -16
- package/server/src/Http/Filter/AddonCategoryFilter.php +1 -1
- package/server/src/Http/Filter/OrderFilter.php +2 -2
- package/server/src/Http/Middleware/SetStorefrontSession.php +9 -20
- package/server/src/Http/Requests/AddStoreToNetworkCategory.php +3 -3
- package/server/src/Http/Requests/CreateCustomerRequest.php +5 -7
- package/server/src/Http/Requests/CreateReviewRequest.php +4 -5
- package/server/src/Http/Requests/GetServiceQuoteFromCart.php +2 -2
- package/server/src/Http/Requests/InitializeCheckoutRequest.php +5 -5
- package/server/src/Http/Requests/NetworkActionRequest.php +2 -2
- package/server/src/Http/Requests/VerifyCreateCustomerRequest.php +2 -2
- package/server/src/Http/Resources/Cart.php +19 -18
- package/server/src/Http/Resources/Category.php +12 -11
- package/server/src/Http/Resources/Customer.php +15 -14
- package/server/src/Http/Resources/Gateway.php +12 -11
- package/server/src/Http/Resources/Media.php +9 -8
- package/server/src/Http/Resources/Network.php +32 -31
- package/server/src/Http/Resources/Product.php +88 -85
- package/server/src/Http/Resources/Review.php +14 -13
- package/server/src/Http/Resources/ReviewCustomer.php +12 -11
- package/server/src/Http/Resources/Store.php +38 -36
- package/server/src/Http/Resources/StoreHour.php +9 -8
- package/server/src/Http/Resources/StoreLocation.php +9 -8
- package/server/src/Imports/ProductsImport.php +0 -2
- package/server/src/Jobs/DownloadProductImageUrl.php +7 -4
- package/server/src/Listeners/HandleOrderCompleted.php +2 -1
- package/server/src/Listeners/HandleOrderDispatched.php +2 -1
- package/server/src/Listeners/HandleOrderDriverAssigned.php +2 -1
- package/server/src/Listeners/HandleOrderStarted.php +4 -3
- package/server/src/Mail/StorefrontNetworkInvite.php +7 -6
- package/server/src/Models/AddonCategory.php +2 -4
- package/server/src/Models/Cart.php +117 -124
- package/server/src/Models/Checkout.php +14 -12
- package/server/src/Models/Customer.php +9 -9
- package/server/src/Models/Gateway.php +22 -22
- package/server/src/Models/Network.php +41 -52
- package/server/src/Models/NetworkStore.php +6 -5
- package/server/src/Models/NotificationChannel.php +11 -9
- package/server/src/Models/PaymentMethod.php +9 -7
- package/server/src/Models/Product.php +152 -30
- package/server/src/Models/ProductAddon.php +14 -11
- package/server/src/Models/ProductAddonCategory.php +9 -8
- package/server/src/Models/ProductHour.php +6 -5
- package/server/src/Models/ProductStoreLocation.php +7 -5
- package/server/src/Models/ProductVariant.php +15 -11
- package/server/src/Models/ProductVariantOption.php +12 -9
- package/server/src/Models/Review.php +9 -7
- package/server/src/Models/Store.php +68 -84
- package/server/src/Models/StoreHour.php +6 -5
- package/server/src/Models/StoreLocation.php +12 -8
- package/server/src/Models/StorefrontModel.php +1 -1
- package/server/src/Models/Vote.php +8 -6
- package/server/src/Notifications/StorefrontOrderCanceled.php +15 -19
- package/server/src/Notifications/StorefrontOrderCompleted.php +15 -19
- package/server/src/Notifications/StorefrontOrderCreated.php +31 -36
- package/server/src/Notifications/StorefrontOrderDriverAssigned.php +15 -20
- package/server/src/Notifications/StorefrontOrderEnroute.php +14 -19
- package/server/src/Notifications/StorefrontOrderNearby.php +16 -21
- package/server/src/Notifications/StorefrontOrderPreparing.php +15 -18
- package/server/src/Notifications/StorefrontOrderReadyForPickup.php +15 -18
- package/server/src/Observers/NetworkObserver.php +2 -3
- package/server/src/Observers/ProductObserver.php +17 -33
- package/server/src/Providers/EventServiceProvider.php +15 -4
- package/server/src/Providers/StorefrontServiceProvider.php +8 -10
- package/server/src/Support/Metrics.php +12 -12
- package/server/src/Support/OrderConfig.php +3 -2
- package/server/src/Support/QPay.php +22 -20
- package/server/src/Support/Storefront.php +18 -17
- package/server/src/routes.php +1 -1
|
@@ -24,7 +24,7 @@ class ContactFilterExpansion implements Expansion
|
|
|
24
24
|
public function storefront()
|
|
25
25
|
{
|
|
26
26
|
return function (?string $storefront) {
|
|
27
|
-
|
|
27
|
+
/* @var \Fleetbase\FleetOps\Http\Filter\ContactFilter $this */
|
|
28
28
|
$this->builder->whereHas(
|
|
29
29
|
'customerOrders',
|
|
30
30
|
function ($query) use ($storefront) {
|
|
@@ -17,7 +17,7 @@ class EntityExpansion implements Expansion
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* Create a new Entity from a Storefront Product
|
|
20
|
+
* Create a new Entity from a Storefront Product.
|
|
21
21
|
*
|
|
22
22
|
* @return \Fleetbase\FleetOps\Models\Entity
|
|
23
23
|
*/
|
|
@@ -26,18 +26,18 @@ class EntityExpansion implements Expansion
|
|
|
26
26
|
return static function (\Fleetbase\Storefront\Models\Product $product) {
|
|
27
27
|
return new static([
|
|
28
28
|
'company_uuid' => session('company'),
|
|
29
|
-
'photo_uuid'
|
|
30
|
-
'internal_id'
|
|
31
|
-
'name'
|
|
32
|
-
'description'
|
|
33
|
-
'currency'
|
|
34
|
-
'sku'
|
|
35
|
-
'price'
|
|
36
|
-
'sale_price'
|
|
37
|
-
'meta'
|
|
29
|
+
'photo_uuid' => $product->primary_image_uuid,
|
|
30
|
+
'internal_id' => $product->public_id,
|
|
31
|
+
'name' => $product->name,
|
|
32
|
+
'description' => $product->description,
|
|
33
|
+
'currency' => $product->currency,
|
|
34
|
+
'sku' => $product->sku,
|
|
35
|
+
'price' => $product->price,
|
|
36
|
+
'sale_price' => $product->sale_price,
|
|
37
|
+
'meta' => [
|
|
38
38
|
'product_id' => $product->public_id,
|
|
39
|
-
'image_url'
|
|
40
|
-
]
|
|
39
|
+
'image_url' => $product->primary_image_url,
|
|
40
|
+
],
|
|
41
41
|
]);
|
|
42
42
|
};
|
|
43
43
|
}
|
|
@@ -24,7 +24,7 @@ class OrderFilterExpansion implements Expansion
|
|
|
24
24
|
public function storefront()
|
|
25
25
|
{
|
|
26
26
|
return function (?string $storefront) {
|
|
27
|
-
|
|
27
|
+
/* @var \Fleetbase\FleetOps\Http\Filter\OrderFilter $this */
|
|
28
28
|
$this->builder->where('meta->storefront_id', $storefront);
|
|
29
29
|
};
|
|
30
30
|
}
|
|
@@ -24,7 +24,7 @@ class VendorFilterExpansion implements Expansion
|
|
|
24
24
|
public function storefront()
|
|
25
25
|
{
|
|
26
26
|
return function (?string $storefront) {
|
|
27
|
-
|
|
27
|
+
/* @var \Fleetbase\FleetOps\Http\Filter\VendorFilter $this */
|
|
28
28
|
$this->builder->whereHas(
|
|
29
29
|
'customerOrders',
|
|
30
30
|
function ($query) use ($storefront) {
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
namespace Fleetbase\Storefront\Http\Controllers;
|
|
4
4
|
|
|
5
|
-
use Fleetbase\Http\Controllers\Controller;
|
|
6
5
|
use Fleetbase\FleetOps\Models\Contact;
|
|
7
6
|
use Fleetbase\FleetOps\Models\Order;
|
|
7
|
+
use Fleetbase\Http\Controllers\Controller;
|
|
8
8
|
use Fleetbase\Storefront\Models\Store;
|
|
9
9
|
use Illuminate\Http\Request;
|
|
10
10
|
use Illuminate\Support\Carbon;
|
|
@@ -19,7 +19,6 @@ class ActionController extends Controller
|
|
|
19
19
|
/**
|
|
20
20
|
* Get the number of storefronts created.
|
|
21
21
|
*
|
|
22
|
-
* @param \Illuminate\Http\Request $request
|
|
23
22
|
* @return \Illuminate\Http\Response
|
|
24
23
|
*/
|
|
25
24
|
public function getStoreCount(Request $request)
|
|
@@ -32,21 +31,20 @@ class ActionController extends Controller
|
|
|
32
31
|
/**
|
|
33
32
|
* Get key metrics for storefront.
|
|
34
33
|
*
|
|
35
|
-
* @param \Illuminate\Http\Request $request
|
|
36
34
|
* @return \Illuminate\Http\Response
|
|
37
35
|
*/
|
|
38
36
|
public function getMetrics(Request $request)
|
|
39
37
|
{
|
|
40
38
|
$store = $request->input('store');
|
|
41
39
|
$start = $request->has('start') ? Carbon::fromString($request->input('start'))->toDateTimeString() : Carbon::now()->startOfMonth()->toDateTimeString();
|
|
42
|
-
$end
|
|
40
|
+
$end = $request->has('end') ? Carbon::fromString($request->input('end'))->toDateTimeString() : Carbon::now()->toDateTimeString();
|
|
43
41
|
|
|
44
42
|
// default metrics
|
|
45
43
|
$metrics = [
|
|
46
|
-
'orders_count'
|
|
44
|
+
'orders_count' => 0,
|
|
47
45
|
'customers_count' => 0,
|
|
48
|
-
'stores_count'
|
|
49
|
-
'earnings_sum'
|
|
46
|
+
'stores_count' => 0,
|
|
47
|
+
'earnings_sum' => 0,
|
|
50
48
|
];
|
|
51
49
|
|
|
52
50
|
// get the current active store
|
|
@@ -60,7 +58,7 @@ class ActionController extends Controller
|
|
|
60
58
|
return response()->json($metrics);
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
|
|
61
|
+
/*
|
|
64
62
|
* Query metrics between given time period
|
|
65
63
|
*/
|
|
66
64
|
|
|
@@ -70,7 +68,7 @@ class ActionController extends Controller
|
|
|
70
68
|
// - orders count
|
|
71
69
|
$metrics['orders_count'] = Order::where([
|
|
72
70
|
'company_uuid' => session('company'),
|
|
73
|
-
'type'
|
|
71
|
+
'type' => 'storefront',
|
|
74
72
|
])
|
|
75
73
|
->where('meta->storefront_id', $store->public_id)
|
|
76
74
|
->whereNotIn('status', ['canceled'])
|
|
@@ -79,7 +77,7 @@ class ActionController extends Controller
|
|
|
79
77
|
// - customers count -- change to where has orders where meta->storefront_id === store
|
|
80
78
|
$metrics['customers_count'] = Contact::where([
|
|
81
79
|
'company_uuid' => session('company'),
|
|
82
|
-
'type'
|
|
80
|
+
'type' => 'customer',
|
|
83
81
|
])->whereHas('customerOrders', function ($q) use ($start, $end, $store) {
|
|
84
82
|
$q->whereBetween('created_at', [$start, $end]);
|
|
85
83
|
$q->where('meta->storefront_id', $store->public_id);
|
|
@@ -93,7 +91,7 @@ class ActionController extends Controller
|
|
|
93
91
|
// $metrics['earnings_sum'] = Transaction::where(['company_uuid' => session('company'), 'type' => 'storefront', 'meta->storefront_id' => $store->public_id])->whereBetween('created_at', [$start, $end])->sum('amount');
|
|
94
92
|
$metrics['earnings_sum'] = Order::where([
|
|
95
93
|
'company_uuid' => session('company'),
|
|
96
|
-
'type'
|
|
94
|
+
'type' => 'storefront',
|
|
97
95
|
])
|
|
98
96
|
->whereBetween('created_at', [$start, $end])
|
|
99
97
|
->where('meta->storefront_id', $store->public_id)
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
namespace Fleetbase\Storefront\Http\Controllers;
|
|
4
4
|
|
|
5
|
-
use Fleetbase\Storefront\Support\Metrics;
|
|
6
5
|
use Fleetbase\Http\Controllers\Controller;
|
|
6
|
+
use Fleetbase\Storefront\Support\Metrics;
|
|
7
7
|
use Illuminate\Http\Request;
|
|
8
8
|
|
|
9
9
|
class MetricsController extends Controller
|
|
10
10
|
{
|
|
11
11
|
public function all(Request $request)
|
|
12
12
|
{
|
|
13
|
-
$start
|
|
14
|
-
$end
|
|
13
|
+
$start = $request->date('start');
|
|
14
|
+
$end = $request->date('end');
|
|
15
15
|
$discover = $request->array('discover', []);
|
|
16
16
|
|
|
17
17
|
try {
|
|
@@ -25,10 +25,10 @@ class MetricsController extends Controller
|
|
|
25
25
|
|
|
26
26
|
public function dashboard(Request $request)
|
|
27
27
|
{
|
|
28
|
-
$start
|
|
29
|
-
$end
|
|
28
|
+
$start = $request->date('start');
|
|
29
|
+
$end = $request->date('end');
|
|
30
30
|
$discover = $request->array('discover', []);
|
|
31
|
-
$metrics
|
|
31
|
+
$metrics = [];
|
|
32
32
|
|
|
33
33
|
try {
|
|
34
34
|
$metrics = Metrics::forCompany($request->user()->company, $start, $end)->with($discover)->get();
|
|
@@ -42,28 +42,28 @@ class MetricsController extends Controller
|
|
|
42
42
|
// dashboard config
|
|
43
43
|
$dashboardConfig = [
|
|
44
44
|
[
|
|
45
|
-
'size'
|
|
46
|
-
'title'
|
|
47
|
-
'classList'
|
|
48
|
-
'component'
|
|
45
|
+
'size' => 12,
|
|
46
|
+
'title' => 'Storefront Metrics',
|
|
47
|
+
'classList' => [],
|
|
48
|
+
'component' => null,
|
|
49
49
|
'queryParams' => [
|
|
50
50
|
'start' => ['component' => 'date-picker'],
|
|
51
|
-
'end'
|
|
51
|
+
'end' => ['component' => 'date-picker'],
|
|
52
52
|
],
|
|
53
53
|
'widgets' => collect($metrics)
|
|
54
54
|
->map(function ($value, $key) use ($metricsFormats) {
|
|
55
55
|
return [
|
|
56
56
|
'component' => 'count',
|
|
57
|
-
'options'
|
|
57
|
+
'options' => [
|
|
58
58
|
'format' => $metricsFormats[$key] ?? null,
|
|
59
|
-
'title'
|
|
60
|
-
'value'
|
|
61
|
-
]
|
|
59
|
+
'title' => str_replace('_', ' ', \Illuminate\Support\Str::title($key)),
|
|
60
|
+
'value' => $value,
|
|
61
|
+
],
|
|
62
62
|
];
|
|
63
63
|
})
|
|
64
64
|
->values()
|
|
65
|
-
->toArray()
|
|
66
|
-
]
|
|
65
|
+
->toArray(),
|
|
66
|
+
],
|
|
67
67
|
];
|
|
68
68
|
|
|
69
69
|
return response()->json(array_values($dashboardConfig));
|
|
@@ -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
|
|
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
|
|
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'
|
|
60
|
+
'company_uuid' => session('company'),
|
|
64
61
|
'created_by_uuid' => session('user'),
|
|
65
|
-
'subject_uuid'
|
|
66
|
-
'subject_type'
|
|
67
|
-
'protocol'
|
|
68
|
-
'recipients'
|
|
69
|
-
'reason'
|
|
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
|
|
93
|
-
$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
|
|
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)
|
|
@@ -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'
|
|
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
|
|
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'
|
|
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'
|
|
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'
|
|
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'
|
|
151
|
-
'status' => $order->status
|
|
146
|
+
'order' => $order->public_id,
|
|
147
|
+
'status' => $order->status,
|
|
152
148
|
]);
|
|
153
149
|
}
|
|
154
150
|
}
|