@fleetbase/storefront-engine 0.3.28 → 0.3.30
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/composer.json
CHANGED
package/extension.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fleetbase/storefront-engine",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.30",
|
|
4
4
|
"description": "Headless Commerce & Marketplace Extension for Fleetbase",
|
|
5
5
|
"fleetbase": {
|
|
6
6
|
"route": "storefront",
|
|
@@ -43,14 +43,14 @@
|
|
|
43
43
|
"publish:github": "npm config set '@fleetbase:registry' https://npm.pkg.github.com/ && npm publish"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
+
"@babel/core": "^7.23.2",
|
|
46
47
|
"@fleetbase/ember-core": "latest",
|
|
47
48
|
"@fleetbase/ember-ui": "latest",
|
|
48
49
|
"@fleetbase/fleetops-data": "latest",
|
|
49
|
-
"@babel/core": "^7.23.2",
|
|
50
50
|
"@fortawesome/ember-fontawesome": "^2.0.0",
|
|
51
51
|
"@fortawesome/fontawesome-svg-core": "6.4.0",
|
|
52
|
-
"@fortawesome/free-solid-svg-icons": "6.4.0",
|
|
53
52
|
"@fortawesome/free-brands-svg-icons": "6.4.0",
|
|
53
|
+
"@fortawesome/free-solid-svg-icons": "6.4.0",
|
|
54
54
|
"ember-auto-import": "^2.7.4",
|
|
55
55
|
"ember-cli-babel": "^8.2.0",
|
|
56
56
|
"ember-cli-htmlbars": "^6.3.0",
|
|
@@ -59,12 +59,12 @@
|
|
|
59
59
|
"ember-wormhole": "^0.6.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
|
-
"@fleetbase/intl-lint": "^0.0.1",
|
|
63
62
|
"@babel/eslint-parser": "^7.22.15",
|
|
64
63
|
"@babel/plugin-proposal-decorators": "^7.23.2",
|
|
65
64
|
"@ember/optional-features": "^2.0.0",
|
|
66
65
|
"@ember/test-helpers": "^3.2.0",
|
|
67
66
|
"@embroider/test-setup": "^3.0.2",
|
|
67
|
+
"@fleetbase/intl-lint": "^0.0.1",
|
|
68
68
|
"@glimmer/component": "^1.1.2",
|
|
69
69
|
"@glimmer/tracking": "^1.1.2",
|
|
70
70
|
"broccoli-asset-rev": "^3.0.0",
|
|
@@ -13,6 +13,7 @@ use Fleetbase\FleetOps\Models\Contact;
|
|
|
13
13
|
use Fleetbase\FleetOps\Models\Order;
|
|
14
14
|
use Fleetbase\FleetOps\Models\Place;
|
|
15
15
|
use Fleetbase\Http\Controllers\Controller;
|
|
16
|
+
use Fleetbase\Models\File;
|
|
16
17
|
use Fleetbase\Models\User;
|
|
17
18
|
use Fleetbase\Models\UserDevice;
|
|
18
19
|
use Fleetbase\Models\VerificationCode;
|
|
@@ -210,6 +211,27 @@ class CustomerController extends Controller
|
|
|
210
211
|
'origin' => 'storefront',
|
|
211
212
|
];
|
|
212
213
|
|
|
214
|
+
// Handle photo as either file id/ or base64 data string
|
|
215
|
+
$photo = $request->input('photo');
|
|
216
|
+
if ($photo) {
|
|
217
|
+
// Handle photo being a file id
|
|
218
|
+
if (Utils::isPublicId($photo)) {
|
|
219
|
+
$file = File::where('public_id', $photo)->first();
|
|
220
|
+
if ($file) {
|
|
221
|
+
$input['photo_uuid'] = $file->uuid;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Handle the photo being base64 data string
|
|
226
|
+
if (Utils::isBase64String($photo)) {
|
|
227
|
+
$path = implode('/', ['uploads', session('company'), 'customers']);
|
|
228
|
+
$file = File::createFromBase64($photo, null, $path);
|
|
229
|
+
if ($file) {
|
|
230
|
+
$input['photo_uuid'] = $file->uuid;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
213
235
|
// create the customer/contact
|
|
214
236
|
try {
|
|
215
237
|
$customer = Contact::create($input);
|
|
@@ -269,6 +291,32 @@ class CustomerController extends Controller
|
|
|
269
291
|
]);
|
|
270
292
|
}
|
|
271
293
|
|
|
294
|
+
// Handle photo as either file id/ or base64 data string
|
|
295
|
+
$photo = $request->input('photo');
|
|
296
|
+
if ($photo) {
|
|
297
|
+
// Handle photo being a file id
|
|
298
|
+
if (Utils::isPublicId($photo)) {
|
|
299
|
+
$file = File::where('public_id', $photo)->first();
|
|
300
|
+
if ($file) {
|
|
301
|
+
$input['photo_uuid'] = $file->uuid;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// Handle the photo being base64 data string
|
|
306
|
+
if (Utils::isBase64String($photo)) {
|
|
307
|
+
$path = implode('/', ['uploads', session('company'), 'customers']);
|
|
308
|
+
$file = File::createFromBase64($photo, null, $path);
|
|
309
|
+
if ($file) {
|
|
310
|
+
$input['photo_uuid'] = $file->uuid;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// Handle removal key
|
|
315
|
+
if ($photo === 'REMOVE') {
|
|
316
|
+
$input['photo_uuid'] = null;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
272
320
|
// update the contact
|
|
273
321
|
try {
|
|
274
322
|
$contact->update($input);
|
|
@@ -6,6 +6,7 @@ use Fleetbase\FleetOps\Models\Order;
|
|
|
6
6
|
use Fleetbase\Storefront\Models\Network;
|
|
7
7
|
use Fleetbase\Storefront\Models\NotificationChannel;
|
|
8
8
|
use Fleetbase\Storefront\Models\Store;
|
|
9
|
+
use Fleetbase\Support\Utils;
|
|
9
10
|
use Illuminate\Container\Container;
|
|
10
11
|
use Kreait\Laravel\Firebase\FirebaseProjectManager;
|
|
11
12
|
use NotificationChannels\Apn\ApnMessage;
|
|
@@ -52,7 +53,7 @@ class PushNotification
|
|
|
52
53
|
);
|
|
53
54
|
|
|
54
55
|
return (new FcmMessage(notification: $notification))
|
|
55
|
-
->
|
|
56
|
+
->data(['order' => $order->uuid, 'id' => $order->public_id, 'type' => $status])
|
|
56
57
|
->custom([
|
|
57
58
|
'android' => [
|
|
58
59
|
'notification' => [
|
|
@@ -117,7 +118,9 @@ class PushNotification
|
|
|
117
118
|
$notificationChannel = static::getNotificationChannel('apn', $storefront, $order);
|
|
118
119
|
$config = (array) $notificationChannel->config;
|
|
119
120
|
|
|
120
|
-
|
|
121
|
+
$isProductionEnv = Utils::castBoolean(data_get($config, 'production', app()->isProduction()));
|
|
122
|
+
|
|
123
|
+
return new PushOkClient(PuskOkToken::create($config), $isProductionEnv);
|
|
121
124
|
}
|
|
122
125
|
|
|
123
126
|
public static function getStorefrontFromOrder(Order $order): Network|Store|null
|