mirror of
https://github.com/fleetbase/fleetbase.git
synced 2026-02-14 04:36:37 +00:00
Compare commits
175 Commits
dev-v0.7.2
...
cloud-qa
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ed5f6fbb8 | ||
|
|
89b2157761 | ||
|
|
3b436a0e34 | ||
|
|
d828dfa590 | ||
|
|
f50df218b1 | ||
|
|
fad7d64038 | ||
|
|
1bf4f5362e | ||
|
|
e6d34268e0 | ||
|
|
5a5ddad825 | ||
|
|
a74c2c94ea | ||
|
|
9b0222696e | ||
|
|
7a6f9f39e4 | ||
|
|
295be2257c | ||
|
|
4d28630470 | ||
|
|
ae19256fa6 | ||
|
|
46275a5f53 | ||
|
|
ee9fc56fcd | ||
|
|
b20b74140f | ||
|
|
bcfe690d26 | ||
|
|
ccc2fa6cbe | ||
|
|
30ef64c210 | ||
|
|
a55380c72e | ||
|
|
fe0194f6ea | ||
|
|
dee9aef7a2 | ||
|
|
a5f9550d50 | ||
|
|
ce3e4df484 | ||
|
|
df36449792 | ||
|
|
4fa6be74c6 | ||
|
|
81aa42f4cb | ||
|
|
7a6b3e3637 | ||
|
|
36d0e89ebf | ||
|
|
21ed248446 | ||
|
|
42a00010fd | ||
|
|
7ed51fb118 | ||
|
|
d8ceb83ec1 | ||
|
|
472533f5bf | ||
|
|
dd509db1b5 | ||
|
|
3bf6324eeb | ||
|
|
5f2b6395f3 | ||
|
|
b822327885 | ||
|
|
856e459e74 | ||
|
|
76f717ab42 | ||
|
|
7b48d47530 | ||
|
|
f5ccc2eab5 | ||
|
|
be0396ef0d | ||
|
|
73e0020f12 | ||
|
|
ee46f4ef1b | ||
|
|
9305d71c4d | ||
|
|
fceaee5a5a | ||
|
|
f7ef4e90b0 | ||
|
|
5d883456d8 | ||
|
|
f5873a714c | ||
|
|
815a0a55c2 | ||
|
|
188aeb111b | ||
|
|
bcd6e20c2a | ||
|
|
3cfe25d57d | ||
|
|
77bbfc4209 | ||
|
|
2574e6600a | ||
|
|
9a099879b6 | ||
|
|
759948fb7d | ||
|
|
d46501caaf | ||
|
|
909a3908d6 | ||
|
|
6acdb4cf8e | ||
|
|
eafa8987fa | ||
|
|
ff9db8c075 | ||
|
|
4416199aca | ||
|
|
2589d947c9 | ||
|
|
582a5f69fa | ||
|
|
ff02943f7b | ||
|
|
a3dc172c5f | ||
|
|
ade87a39bb | ||
|
|
4b2e93c7fc | ||
|
|
cc571e2622 | ||
|
|
59304c6d02 | ||
|
|
0b7859cb19 | ||
|
|
5202d31a9b | ||
|
|
a3967f451e | ||
|
|
4fd1778ed1 | ||
|
|
6980b44239 | ||
|
|
a349f20298 | ||
|
|
2b0735efbd | ||
|
|
fdabe55ce2 | ||
|
|
369fe0e66f | ||
|
|
2ee81c5c26 | ||
|
|
6951ee7003 | ||
|
|
a824e7da85 | ||
|
|
c85b761c28 | ||
|
|
9080265806 | ||
|
|
5a40d964fe | ||
|
|
2bcd29363c | ||
|
|
5894500121 | ||
|
|
fee801c38f | ||
|
|
151ce5d82d | ||
|
|
533f175de0 | ||
|
|
0d6b8edcc8 | ||
|
|
3f848fd9d8 | ||
|
|
182a5e5d45 | ||
|
|
253c68e0ac | ||
|
|
54bee62335 | ||
|
|
23a8c8596e | ||
|
|
18596450ee | ||
|
|
3c013a3817 | ||
|
|
4392c7e3ff | ||
|
|
97dfbedd1a | ||
|
|
6d13f22a98 | ||
|
|
2c09c87bb6 | ||
|
|
f7f6991ef3 | ||
|
|
73acd4833c | ||
|
|
1c3c4c16a5 | ||
|
|
5d01438dc9 | ||
|
|
9d004410ee | ||
|
|
3a396f3b54 | ||
|
|
e86b970fc8 | ||
|
|
122a0d186a | ||
|
|
7e258f698f | ||
|
|
65ef642315 | ||
|
|
d79f034dbd | ||
|
|
05b7d5e112 | ||
|
|
61779ab102 | ||
|
|
a287c05380 | ||
|
|
ecc41e587e | ||
|
|
166529f9b4 | ||
|
|
189547f9de | ||
|
|
90a42e8a93 | ||
|
|
d28b1d41fb | ||
|
|
b056ef62b0 | ||
|
|
e70cbacbc2 | ||
|
|
fbd4a7490a | ||
|
|
b9b0eb308b | ||
|
|
48e1b89ec8 | ||
|
|
5e02c95b66 | ||
|
|
db8b5c4d6a | ||
|
|
aa214ccad7 | ||
|
|
cdd5524cf3 | ||
|
|
d99cefd2a4 | ||
|
|
1c58fd43c3 | ||
|
|
9226394159 | ||
|
|
9b23b39f32 | ||
|
|
5310fc3ff3 | ||
|
|
9569053f50 | ||
|
|
b08c054b99 | ||
|
|
2e517f2f95 | ||
|
|
7038d375b0 | ||
|
|
d5ea7f7790 | ||
|
|
4eb4b04121 | ||
|
|
24c5b93005 | ||
|
|
80610b9a48 | ||
|
|
9e5551972e | ||
|
|
b784f890f3 | ||
|
|
797a3d61fe | ||
|
|
d2f0bfe83e | ||
|
|
f28ad85c1a | ||
|
|
d7b0826f3f | ||
|
|
dd6008a8aa | ||
|
|
6671fefaaa | ||
|
|
7136f6195c | ||
|
|
2384887620 | ||
|
|
a2778f1552 | ||
|
|
acfda5ed1a | ||
|
|
e08255007a | ||
|
|
41761ea50e | ||
|
|
5c623819ed | ||
|
|
2bd885b1a2 | ||
|
|
88c3842441 | ||
|
|
2c2a4121a8 | ||
|
|
aadd03f14b | ||
|
|
706e94270d | ||
|
|
1dabc375f9 | ||
|
|
0efec46155 | ||
|
|
8bb2c6b65d | ||
|
|
1c0af1a119 | ||
|
|
dd65ee619b | ||
|
|
e790a0e123 | ||
|
|
723e3ca3d1 | ||
|
|
4eb706d33e |
3
.github/workflows/cd.yml
vendored
3
.github/workflows/cd.yml
vendored
@@ -210,9 +210,6 @@ jobs:
|
||||
|
||||
- name: Set Env Variables
|
||||
run: |
|
||||
# ensure file ends with a newline
|
||||
printf '\n' >> ./environments/.env.production
|
||||
|
||||
echo "EXTENSIONS=${{ secrets.EXTENSIONS }}" >> ./environments/.env.production
|
||||
echo "LOGROCKET_APP_ID=${{ secrets.LOGROCKET_APP_ID }}" >> ./environments/.env.production
|
||||
echo "STRIPE_KEY=${{ secrets.STRIPE_KEY }}" >> ./environments/.env.production
|
||||
|
||||
14
RELEASE.md
14
RELEASE.md
@@ -1,11 +1,19 @@
|
||||
# 🚀 Fleetbase v0.7.28 — 2026-02-05
|
||||
# 🚀 Fleetbase v0.7.27 — 2026-02-05
|
||||
|
||||
> "Critical patch: eager load driver and vehicle in consumable orders query API"
|
||||
> "Improvements and patches"
|
||||
|
||||
---
|
||||
|
||||
## ✨ Highlights
|
||||
- Critical patch which fixes eager loading relationship when querying orders via the consumable API, this is done to handle the new `whenLoaded` resource conditional methods. [fleetbase/fleetops#203](https://github.com/fleetbase/fleetops/pull/203)
|
||||
- Core now supports disabling cache in runtime for `HasApiModelCache` x `HasApiModelBehavior`
|
||||
- Added new `FileResolverService` to support file resolution from file resources, URL's, base64, and file uploads [190c03d](https://github.com/fleetbase/core-api/pull/187/commits/190c03d484648319f3d890439f74e45820f352fc)
|
||||
- `VerificationCode` model in core always throws SMS exceptions
|
||||
- FleetOps: Patched proof of delivery component in order details
|
||||
- FleetOps: Improved and patched service rate `getServicableForPlaces` which improved service quote performance
|
||||
- FleetOps: Fix location GeoJSON Point casting for `location` properties - using the new `Utils::castPoint` utility [208151f](https://github.com/fleetbase/fleetops/pull/202/commits/208151f37ece54bb23cfeeebdbb6fde1142908f7)
|
||||
- Storefront: Critical patch for QPay checkout workflow [storefront#66](https://github.com/fleetbase/storefront/pull/66)
|
||||
- Storefront: Added new phone number verification endpoints for customers (`request-phone-verification` and `verify-phone-number`)
|
||||
- Storefront: Fixed cart based service quotes
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -21,9 +21,17 @@
|
||||
"php": ">=8.0 <=8.2.30",
|
||||
"appstract/laravel-opcache": "^4.0",
|
||||
"fleetbase/core-api": "^1.6.35",
|
||||
"fleetbase/fleetops-api": "^0.6.35",
|
||||
"fleetbase/fleetops-api": "^0.6.34",
|
||||
"fleetbase/registry-bridge": "^0.1.5",
|
||||
"fleetbase/storefront-api": "^0.4.13",
|
||||
"fleetbase/flespi-integration": "^0.1.16",
|
||||
"fleetbase/samsara-api": "^0.0.3",
|
||||
"fleetbase/vroom-api": "^0.0.3",
|
||||
"fleetbase/valhalla-api": "^0.0.3",
|
||||
"fleetbase/billing-api": "^0.1.20",
|
||||
"fleetbase/internals-api": "^0.0.27",
|
||||
"fleetbase/aws-marketplace": "^0.0.8",
|
||||
"fleetbase/customer-portal-api": "^0.0.10",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"laravel/framework": "^10.0",
|
||||
"laravel/octane": "^2.3",
|
||||
@@ -49,9 +57,25 @@
|
||||
"phpunit/phpunit": "^10.0"
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/fleetbase/aws-marketplace"
|
||||
},
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/fleetbase/billing"
|
||||
},
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/fleetbase/internals"
|
||||
},
|
||||
{
|
||||
"type": "vcs",
|
||||
"url": "https://github.com/fleetbase/customer-portal"
|
||||
},
|
||||
{
|
||||
"type": "composer",
|
||||
"url": "https://registry.fleetbase.io"
|
||||
"url": "https://registry.qa.fleetbase.io"
|
||||
}
|
||||
],
|
||||
"autoload": {
|
||||
|
||||
735
api/composer.lock
generated
735
api/composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "240f5916db1171e37d4f4548cd9f1373",
|
||||
"content-hash": "e954505e73c22f58f4c560cd1a88c7cf",
|
||||
"packages": [
|
||||
{
|
||||
"name": "appstract/laravel-opcache",
|
||||
@@ -2154,6 +2154,208 @@
|
||||
},
|
||||
"time": "2025-04-09T20:32:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/aws-marketplace",
|
||||
"version": "0.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:fleetbase/aws-marketplace.git",
|
||||
"reference": "ae041a5fa5165ca26de0c58bcc1522cd72dd28f9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fleetbase/aws-marketplace/zipball/ae041a5fa5165ca26de0c58bcc1522cd72dd28f9",
|
||||
"reference": "ae041a5fa5165ca26de0c58bcc1522cd72dd28f9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"aws/aws-sdk-php": "^3.0",
|
||||
"fleetbase/core-api": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^5.11.0|^6.4.0",
|
||||
"pestphp/pest": "^1.22.6",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\AwsMarketplace\\Providers\\AwsMarketplaceServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\AwsMarketplace\\": "server/src/",
|
||||
"Fleetbase\\AwsMarketplace\\Seeds\\": "server/seeds/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\AwsMarketplace\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd",
|
||||
"email": "hello@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "AWS Marketplace SaaS integration extension for Fleetbase",
|
||||
"keywords": [
|
||||
"aws",
|
||||
"billing",
|
||||
"cloudformation",
|
||||
"deployment",
|
||||
"fleetbase",
|
||||
"fleetbase-extension",
|
||||
"marketplace",
|
||||
"saas"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/fleetbase/aws-marketplace/tree/v0.0.8",
|
||||
"issues": "https://github.com/fleetbase/aws-marketplace/issues"
|
||||
},
|
||||
"time": "2025-12-06T10:25:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/billing-api",
|
||||
"version": "0.1.20",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:fleetbase/billing.git",
|
||||
"reference": "c610ef3ff224fb2f141eedc46615e2be9423db24"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fleetbase/billing/zipball/c610ef3ff224fb2f141eedc46615e2be9423db24",
|
||||
"reference": "c610ef3ff224fb2f141eedc46615e2be9423db24",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/core-api": "*",
|
||||
"laravel/cashier": "^16.2.0",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*",
|
||||
"stripe/stripe-php": "^17.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^7.0",
|
||||
"pestphp/pest": "^2.33.2",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\Billing\\Providers\\BillingServiceProvider"
|
||||
]
|
||||
},
|
||||
"fleetbase": {
|
||||
"sandbox-migrations": false
|
||||
},
|
||||
"fleetbase/billing-api": {
|
||||
"excludes": [
|
||||
"addon",
|
||||
"app",
|
||||
"assets",
|
||||
"config",
|
||||
"tests",
|
||||
"vendor"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Billing\\": "server/src/",
|
||||
"Fleetbase\\Billing\\Seeders\\": "server/seeders/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Billing\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd.",
|
||||
"email": "hello@fleetbase.io"
|
||||
},
|
||||
{
|
||||
"name": "Ronald A. Richardson",
|
||||
"email": "ron@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "Multi-Tenant Billing and Subscriptions Extension for Fleetbase",
|
||||
"keywords": [
|
||||
"billing",
|
||||
"billing system",
|
||||
"fleetbase",
|
||||
"fleetbase-extension",
|
||||
"revenue engine",
|
||||
"revenue generator",
|
||||
"stripe",
|
||||
"stripe api"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/fleetbase/billing/tree/v0.1.20",
|
||||
"issues": "https://github.com/fleetbase/billing/issues"
|
||||
},
|
||||
"time": "2026-02-05T00:30:22+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/core-api",
|
||||
"version": "1.6.35",
|
||||
@@ -2322,17 +2524,107 @@
|
||||
"time": "2025-07-10T14:06:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/fleetops-api",
|
||||
"version": "0.6.35",
|
||||
"name": "fleetbase/customer-portal-api",
|
||||
"version": "0.0.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fleetbase/fleetops.git",
|
||||
"reference": "c89d1f3e81564cb5009293001a67cd4e59051a69"
|
||||
"url": "git@github.com:fleetbase/customer-portal.git",
|
||||
"reference": "99a072129a60c71fd9f2703166b15f442b7072bb"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fleetbase/fleetops/zipball/c89d1f3e81564cb5009293001a67cd4e59051a69",
|
||||
"reference": "c89d1f3e81564cb5009293001a67cd4e59051a69",
|
||||
"url": "https://api.github.com/repos/fleetbase/customer-portal/zipball/99a072129a60c71fd9f2703166b15f442b7072bb",
|
||||
"reference": "99a072129a60c71fd9f2703166b15f442b7072bb",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/core-api": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^5.11.0|^6.4.0",
|
||||
"pestphp/pest": "^1.22.6",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\CustomerPortal\\Providers\\CustomerPortalServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\CustomerPortal\\": "server/src/",
|
||||
"Fleetbase\\CustomerPortal\\Seeds\\": "server/seeds/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\CustomerPortal\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd.",
|
||||
"email": "hello@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "Extendable Customer Portal for Fleetbase",
|
||||
"keywords": [
|
||||
"customer",
|
||||
"customer management",
|
||||
"customer portal",
|
||||
"customer support",
|
||||
"customer tracking",
|
||||
"fleetbase",
|
||||
"fleetbase-extension"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/fleetbase/customer-portal/tree/v0.0.10",
|
||||
"issues": "https://github.com/fleetbase/customer-portal/issues"
|
||||
},
|
||||
"time": "2025-12-06T10:12:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/fleetops-api",
|
||||
"version": "0.6.34",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fleetbase/fleetops.git",
|
||||
"reference": "05503cee9f55f5e4e1bad2210615e4f67bb165ab"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fleetbase/fleetops/zipball/05503cee9f55f5e4e1bad2210615e4f67bb165ab",
|
||||
"reference": "05503cee9f55f5e4e1bad2210615e4f67bb165ab",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2407,9 +2699,202 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/fleetbase/fleetops/issues",
|
||||
"source": "https://github.com/fleetbase/fleetops/tree/v0.6.35"
|
||||
"source": "https://github.com/fleetbase/fleetops/tree/v0.6.34"
|
||||
},
|
||||
"time": "2026-02-06T00:58:53+00:00"
|
||||
"time": "2026-02-05T00:08:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/flespi-integration",
|
||||
"version": "0.1.16",
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://s3.ap-southeast-1.amazonaws.com/fleetbase-registry-qa/flb/%40fleetbase/flespi-engine/flespi-engine-0.1.16.tgz?AWSAccessKeyId=ASIA26E6KG6WDUGJSKAY&Expires=1770268345&Signature=5uPKDadg8%2BQkKeJ%2FcMBSqvc20FY%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEF0aDmFwLXNvdXRoZWFzdC0xIkYwRAIgOJZmdTX9gP9v%2Bo0zL%2BcafWeo3dHkwNRBvYe5Yixz89cCIGt4Tkhn6Oj0SeYSQT%2BAAwZXKMIjLq2WihJ2ZwT8xR2xKoYECCYQABoMNzUxOTUxMjk2NDI4Igxm9U7jrz%2BlqDPjemIq4wMcmYb9sR85Y%2B%2F6NcN8ApLrQgy%2B7vdefCS20gmj11AQupkfGRVN2FJqnJvavgtfMEdNIWJoCnEx%2BYvVbmnb3LeyBSNfHXjUP%2BE%2B0FTKXtkKstnPt9HXetQ1EU%2Fc52hnZT7KZzqJ%2Ft4iSkYhrpfZsLFMjJsez%2Bchezu%2FrMouPr44VCJa9kHIDs%2FimbJSGoGjVLqeYaUHHr9zBgFKhUSn8L93Q5sDkHUgxYG8PTJSZ5rGjGH7oR0B404xRgveOemTq9HRPwbdBBNooCVfPElJkZXB7r6RRfvVb0REayC4aKZ1Y07IMUc7LokkCDDtorkRrXmq3bi0i9xtJzTuE2D5N5MTmYL8pS8gss%2FApMhM7EU9UTZzJGEvnY11IF9gePRgYjJ4DYFNt850fDzsdeMrgQso5Pc67KqiVUIo%2FLs5kWrslTPybBIb66nk2uCwK4GUD45qDGCwNymIPjI8hSR2MSCdGkpp9Y%2FfSkpZuvYKuCpcfEdhIkC5ryseCdnKoyyODJ7PO%2BUjqJ6JuxBC5Wafxpn6zT6pE%2B29QA1LrPGMN5qRSHyO%2FaZmrIGp8buOaHAHST5gvryDpTazz0XU8uqxLZWxXt3zt4SkZMCy%2B6cHoWYWll0ukyVgI9efy3rB6wuBUkiP9Pgw6LyQzAY6pgFHoWEqdlr1JPzXHVStehXxLGb1XW42IYCelc8eGjighayNscGg05bBjlT3h4JIsF7GPqjG2kafB9NSLB3f26kT%2F%2Fsu5FNgeo2aT7dMdh2gRe%2B62R8%2FfdvMnTAlPVuqbf898wgOQqRWBCpaPHJyNWaYjfbl0JFG0nnVs60C65qgngGJFGQr8C4oVpTGACAx%2FsKmNKse8iafy7db3BqakR41u2DgY4QO"
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/core-api": "*",
|
||||
"fleetbase/fleetops-api": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*",
|
||||
"vlucas/phpdotenv": "^5.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^5.11.0|^6.4.0",
|
||||
"pestphp/pest": "^1.22.6",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\Flespi\\Providers\\FlespiIntegrationServiceProvider",
|
||||
"Fleetbase\\Flespi\\Providers\\NotificationServiceProvider"
|
||||
]
|
||||
},
|
||||
"fleetbase": {
|
||||
"sandbox-migrations": false
|
||||
},
|
||||
"fleetbase/flespi-integration": {
|
||||
"excludes": [
|
||||
"addon",
|
||||
"app",
|
||||
"assets",
|
||||
"config",
|
||||
"tests",
|
||||
"vendor"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Flespi\\": "server/src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Flespi\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd.",
|
||||
"email": "hello@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "Flespi Universal Telematics Gateway, Parser & API Extension for Fleetbase",
|
||||
"keywords": [
|
||||
"fleetbase-extension",
|
||||
"flespi"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/internals-api",
|
||||
"version": "0.0.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "git@github.com:fleetbase/internals.git",
|
||||
"reference": "824ca96698eb947d1510bbe3c713ad4a8f632692"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fleetbase/internals/zipball/824ca96698eb947d1510bbe3c713ad4a8f632692",
|
||||
"reference": "824ca96698eb947d1510bbe3c713ad4a8f632692",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/billing-api": "*",
|
||||
"fleetbase/core-api": "*",
|
||||
"fleetbase/registry-bridge": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^7.0",
|
||||
"pestphp/pest": "^2.33.2",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\Internals\\Providers\\InternalServiceProvider"
|
||||
]
|
||||
},
|
||||
"fleetbase": {
|
||||
"sandbox-migrations": false
|
||||
},
|
||||
"fleetbase/internals-api": {
|
||||
"excludes": [
|
||||
"addon",
|
||||
"app",
|
||||
"assets",
|
||||
"config",
|
||||
"tests",
|
||||
"vendor"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Internals\\": "server/src/",
|
||||
"Fleetbase\\Internals\\Seeds\\": "server/seeds/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Internals\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd.",
|
||||
"email": "hello@fleetbase.io"
|
||||
},
|
||||
{
|
||||
"name": "Ronald A. Richardson",
|
||||
"email": "ron@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "Private internal functionality for Fleetbase SaaS",
|
||||
"keywords": [
|
||||
"fleetbase",
|
||||
"fleetbase-extension",
|
||||
"fleetbase-internals"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/fleetbase/internals/tree/v0.0.27",
|
||||
"issues": "https://github.com/fleetbase/internals/issues"
|
||||
},
|
||||
"time": "2026-02-05T00:32:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/laravel-mysql-spatial",
|
||||
@@ -2559,6 +3044,84 @@
|
||||
},
|
||||
"time": "2026-01-31T05:33:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/samsara-api",
|
||||
"version": "0.0.3",
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://s3.ap-southeast-1.amazonaws.com/fleetbase-registry-qa/flb/%40fleetbase/samsara-engine/samsara-engine-0.0.3.tgz?AWSAccessKeyId=ASIA26E6KG6WDUGJSKAY&Expires=1770268345&Signature=n3Rsr7uDpxjqwzWmcC2r8mUpwDM%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEF0aDmFwLXNvdXRoZWFzdC0xIkYwRAIgOJZmdTX9gP9v%2Bo0zL%2BcafWeo3dHkwNRBvYe5Yixz89cCIGt4Tkhn6Oj0SeYSQT%2BAAwZXKMIjLq2WihJ2ZwT8xR2xKoYECCYQABoMNzUxOTUxMjk2NDI4Igxm9U7jrz%2BlqDPjemIq4wMcmYb9sR85Y%2B%2F6NcN8ApLrQgy%2B7vdefCS20gmj11AQupkfGRVN2FJqnJvavgtfMEdNIWJoCnEx%2BYvVbmnb3LeyBSNfHXjUP%2BE%2B0FTKXtkKstnPt9HXetQ1EU%2Fc52hnZT7KZzqJ%2Ft4iSkYhrpfZsLFMjJsez%2Bchezu%2FrMouPr44VCJa9kHIDs%2FimbJSGoGjVLqeYaUHHr9zBgFKhUSn8L93Q5sDkHUgxYG8PTJSZ5rGjGH7oR0B404xRgveOemTq9HRPwbdBBNooCVfPElJkZXB7r6RRfvVb0REayC4aKZ1Y07IMUc7LokkCDDtorkRrXmq3bi0i9xtJzTuE2D5N5MTmYL8pS8gss%2FApMhM7EU9UTZzJGEvnY11IF9gePRgYjJ4DYFNt850fDzsdeMrgQso5Pc67KqiVUIo%2FLs5kWrslTPybBIb66nk2uCwK4GUD45qDGCwNymIPjI8hSR2MSCdGkpp9Y%2FfSkpZuvYKuCpcfEdhIkC5ryseCdnKoyyODJ7PO%2BUjqJ6JuxBC5Wafxpn6zT6pE%2B29QA1LrPGMN5qRSHyO%2FaZmrIGp8buOaHAHST5gvryDpTazz0XU8uqxLZWxXt3zt4SkZMCy%2B6cHoWYWll0ukyVgI9efy3rB6wuBUkiP9Pgw6LyQzAY6pgFHoWEqdlr1JPzXHVStehXxLGb1XW42IYCelc8eGjighayNscGg05bBjlT3h4JIsF7GPqjG2kafB9NSLB3f26kT%2F%2Fsu5FNgeo2aT7dMdh2gRe%2B62R8%2FfdvMnTAlPVuqbf898wgOQqRWBCpaPHJyNWaYjfbl0JFG0nnVs60C65qgngGJFGQr8C4oVpTGACAx%2FsKmNKse8iafy7db3BqakR41u2DgY4QO"
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/core-api": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^5.11.0|^6.4.0",
|
||||
"pestphp/pest": "^1.22.6",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\Samsara\\Providers\\SamsaraServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Samsara\\": "server/src/",
|
||||
"Fleetbase\\Samsara\\Seeds\\": "server/seeds/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Samsara\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Developer",
|
||||
"email": "developer@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "Vehicle Data Import & Location Integration via Samsara API",
|
||||
"keywords": [
|
||||
"fleet",
|
||||
"fleetbase",
|
||||
"fleetbase-extension",
|
||||
"integration",
|
||||
"samsara",
|
||||
"tracking",
|
||||
"vehicle"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/storefront-api",
|
||||
"version": "0.4.13",
|
||||
@@ -2719,6 +3282,160 @@
|
||||
],
|
||||
"time": "2024-08-15T08:26:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/valhalla-api",
|
||||
"version": "0.0.3",
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://s3.ap-southeast-1.amazonaws.com/fleetbase-registry-qa/flb/%40fleetbase/valhalla-engine/valhalla-engine-0.0.3.tgz?AWSAccessKeyId=ASIA26E6KG6WDUGJSKAY&Expires=1770268345&Signature=n23fkLe8P9zSKVmusHQVSI8YJMQ%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEF0aDmFwLXNvdXRoZWFzdC0xIkYwRAIgOJZmdTX9gP9v%2Bo0zL%2BcafWeo3dHkwNRBvYe5Yixz89cCIGt4Tkhn6Oj0SeYSQT%2BAAwZXKMIjLq2WihJ2ZwT8xR2xKoYECCYQABoMNzUxOTUxMjk2NDI4Igxm9U7jrz%2BlqDPjemIq4wMcmYb9sR85Y%2B%2F6NcN8ApLrQgy%2B7vdefCS20gmj11AQupkfGRVN2FJqnJvavgtfMEdNIWJoCnEx%2BYvVbmnb3LeyBSNfHXjUP%2BE%2B0FTKXtkKstnPt9HXetQ1EU%2Fc52hnZT7KZzqJ%2Ft4iSkYhrpfZsLFMjJsez%2Bchezu%2FrMouPr44VCJa9kHIDs%2FimbJSGoGjVLqeYaUHHr9zBgFKhUSn8L93Q5sDkHUgxYG8PTJSZ5rGjGH7oR0B404xRgveOemTq9HRPwbdBBNooCVfPElJkZXB7r6RRfvVb0REayC4aKZ1Y07IMUc7LokkCDDtorkRrXmq3bi0i9xtJzTuE2D5N5MTmYL8pS8gss%2FApMhM7EU9UTZzJGEvnY11IF9gePRgYjJ4DYFNt850fDzsdeMrgQso5Pc67KqiVUIo%2FLs5kWrslTPybBIb66nk2uCwK4GUD45qDGCwNymIPjI8hSR2MSCdGkpp9Y%2FfSkpZuvYKuCpcfEdhIkC5ryseCdnKoyyODJ7PO%2BUjqJ6JuxBC5Wafxpn6zT6pE%2B29QA1LrPGMN5qRSHyO%2FaZmrIGp8buOaHAHST5gvryDpTazz0XU8uqxLZWxXt3zt4SkZMCy%2B6cHoWYWll0ukyVgI9efy3rB6wuBUkiP9Pgw6LyQzAY6pgFHoWEqdlr1JPzXHVStehXxLGb1XW42IYCelc8eGjighayNscGg05bBjlT3h4JIsF7GPqjG2kafB9NSLB3f26kT%2F%2Fsu5FNgeo2aT7dMdh2gRe%2B62R8%2FfdvMnTAlPVuqbf898wgOQqRWBCpaPHJyNWaYjfbl0JFG0nnVs60C65qgngGJFGQr8C4oVpTGACAx%2FsKmNKse8iafy7db3BqakR41u2DgY4QO"
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/core-api": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^5.11.0|^6.4.0",
|
||||
"pestphp/pest": "^1.22.6",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\Valhalla\\Providers\\ValhallaServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Valhalla\\": "server/src/",
|
||||
"Fleetbase\\Valhalla\\Seeds\\": "server/seeds/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Valhalla\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd",
|
||||
"email": "hello@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "Valhalla routing engine extension for Fleetbase",
|
||||
"keywords": [
|
||||
"fleetbase",
|
||||
"fleetbase",
|
||||
"fleetbase-extension",
|
||||
"routing",
|
||||
"routing engine",
|
||||
"valhalla"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "fleetbase/vroom-api",
|
||||
"version": "0.0.3",
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://s3.ap-southeast-1.amazonaws.com/fleetbase-registry-qa/flb/%40fleetbase/vroom-engine/vroom-engine-0.0.3.tgz?AWSAccessKeyId=ASIA26E6KG6WDUGJSKAY&Expires=1770268345&Signature=hCcXYbdUv7LrDXBToikZbYN1vFQ%3D&x-amz-security-token=IQoJb3JpZ2luX2VjEF0aDmFwLXNvdXRoZWFzdC0xIkYwRAIgOJZmdTX9gP9v%2Bo0zL%2BcafWeo3dHkwNRBvYe5Yixz89cCIGt4Tkhn6Oj0SeYSQT%2BAAwZXKMIjLq2WihJ2ZwT8xR2xKoYECCYQABoMNzUxOTUxMjk2NDI4Igxm9U7jrz%2BlqDPjemIq4wMcmYb9sR85Y%2B%2F6NcN8ApLrQgy%2B7vdefCS20gmj11AQupkfGRVN2FJqnJvavgtfMEdNIWJoCnEx%2BYvVbmnb3LeyBSNfHXjUP%2BE%2B0FTKXtkKstnPt9HXetQ1EU%2Fc52hnZT7KZzqJ%2Ft4iSkYhrpfZsLFMjJsez%2Bchezu%2FrMouPr44VCJa9kHIDs%2FimbJSGoGjVLqeYaUHHr9zBgFKhUSn8L93Q5sDkHUgxYG8PTJSZ5rGjGH7oR0B404xRgveOemTq9HRPwbdBBNooCVfPElJkZXB7r6RRfvVb0REayC4aKZ1Y07IMUc7LokkCDDtorkRrXmq3bi0i9xtJzTuE2D5N5MTmYL8pS8gss%2FApMhM7EU9UTZzJGEvnY11IF9gePRgYjJ4DYFNt850fDzsdeMrgQso5Pc67KqiVUIo%2FLs5kWrslTPybBIb66nk2uCwK4GUD45qDGCwNymIPjI8hSR2MSCdGkpp9Y%2FfSkpZuvYKuCpcfEdhIkC5ryseCdnKoyyODJ7PO%2BUjqJ6JuxBC5Wafxpn6zT6pE%2B29QA1LrPGMN5qRSHyO%2FaZmrIGp8buOaHAHST5gvryDpTazz0XU8uqxLZWxXt3zt4SkZMCy%2B6cHoWYWll0ukyVgI9efy3rB6wuBUkiP9Pgw6LyQzAY6pgFHoWEqdlr1JPzXHVStehXxLGb1XW42IYCelc8eGjighayNscGg05bBjlT3h4JIsF7GPqjG2kafB9NSLB3f26kT%2F%2Fsu5FNgeo2aT7dMdh2gRe%2B62R8%2FfdvMnTAlPVuqbf898wgOQqRWBCpaPHJyNWaYjfbl0JFG0nnVs60C65qgngGJFGQr8C4oVpTGACAx%2FsKmNKse8iafy7db3BqakR41u2DgY4QO"
|
||||
},
|
||||
"require": {
|
||||
"fleetbase/core-api": "*",
|
||||
"php": "^8.0",
|
||||
"php-http/guzzle7-adapter": "^1.0",
|
||||
"psr/http-factory-implementation": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"friendsofphp/php-cs-fixer": "^3.34.1",
|
||||
"nunomaduro/collision": "^5.11.0|^6.4.0",
|
||||
"pestphp/pest": "^1.22.6",
|
||||
"phpstan/phpstan": "^1.10.38",
|
||||
"symfony/var-dumper": "^5.4.29"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Fleetbase\\Vroom\\Providers\\VroomServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Vroom\\": "server/src/",
|
||||
"Fleetbase\\Vroom\\Seeds\\": "server/seeds/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Fleetbase\\Vroom\\Tests\\": "server/tests/"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"lint": [
|
||||
"php-cs-fixer fix -v"
|
||||
],
|
||||
"test:lint": [
|
||||
"php-cs-fixer fix -v --dry-run"
|
||||
],
|
||||
"test:types": [
|
||||
"phpstan analyse --ansi --memory-limit=0"
|
||||
],
|
||||
"test:unit": [
|
||||
"pest --colors=always"
|
||||
],
|
||||
"test": [
|
||||
"@test:lint",
|
||||
"@test:types",
|
||||
"@test:unit"
|
||||
]
|
||||
},
|
||||
"license": [
|
||||
"AGPL-3.0-or-later"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd",
|
||||
"email": "hello@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"description": "VROOM route optimization machine extension for Fleetbase",
|
||||
"keywords": [
|
||||
"fleetbase",
|
||||
"fleetbase",
|
||||
"fleetbase-extension",
|
||||
"route optimization",
|
||||
"routing",
|
||||
"vroom"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "fruitcake/php-cors",
|
||||
"version": "v1.4.0",
|
||||
|
||||
@@ -2,7 +2,6 @@ import Component from '@glimmer/component';
|
||||
import { tracked } from '@glimmer/tracking';
|
||||
import { inject as service } from '@ember/service';
|
||||
import { isArray } from '@ember/array';
|
||||
import { debug } from '@ember/debug';
|
||||
import { storageFor } from 'ember-local-storage';
|
||||
import { add, isPast } from 'date-fns';
|
||||
import { task } from 'ember-concurrency';
|
||||
|
||||
@@ -6,110 +6,20 @@ const KEYS_INDEX = `${CONTEXT_PREFIX}__keys__`;
|
||||
|
||||
export default class OnboardingContextService extends Service {
|
||||
@service appCache;
|
||||
@service notifications;
|
||||
@tracked data = {};
|
||||
@tracked quotaExceeded = false;
|
||||
@tracked usingMemoryFallback = false;
|
||||
|
||||
// In-memory fallback storage for when localStorage is full
|
||||
_memoryCache = new Map();
|
||||
|
||||
/**
|
||||
* Safe wrapper for appCache.set with quota error handling
|
||||
*
|
||||
* @param {string} key - The key to set
|
||||
* @param {*} value - The value to store
|
||||
* @returns {Object} Result object with success status and storage type
|
||||
*/
|
||||
_safeSet(key, value) {
|
||||
try {
|
||||
this.appCache.set(key, value);
|
||||
return { success: true, storage: 'localStorage' };
|
||||
} catch (error) {
|
||||
if (this._isQuotaError(error)) {
|
||||
console.warn(`[OnboardingContext] localStorage quota exceeded, using memory fallback for key: ${key}`);
|
||||
|
||||
// Store in memory as fallback
|
||||
this._memoryCache.set(key, value);
|
||||
|
||||
// Mark that we're using fallback and notify user (only once)
|
||||
if (!this.quotaExceeded) {
|
||||
this.quotaExceeded = true;
|
||||
this.usingMemoryFallback = true;
|
||||
this._notifyUser();
|
||||
}
|
||||
|
||||
return { success: true, storage: 'memory', warning: 'Using memory fallback' };
|
||||
}
|
||||
|
||||
// Re-throw non-quota errors
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Safe wrapper for appCache.get with memory fallback
|
||||
*
|
||||
* @param {string} key - The key to retrieve
|
||||
* @returns {*} The stored value or undefined
|
||||
*/
|
||||
_safeGet(key) {
|
||||
try {
|
||||
const value = this.appCache.get(key);
|
||||
if (value !== undefined) {
|
||||
return value;
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn(`[OnboardingContext] Error reading from appCache: ${error.message}`);
|
||||
}
|
||||
|
||||
// Fallback to memory cache
|
||||
return this._memoryCache.get(key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if error is a quota exceeded error
|
||||
*
|
||||
* @param {Error} error - The error to check
|
||||
* @returns {boolean} True if it's a quota error
|
||||
*/
|
||||
_isQuotaError(error) {
|
||||
return (
|
||||
error instanceof DOMException &&
|
||||
(error.code === 22 ||
|
||||
error.code === 1014 ||
|
||||
error.name === 'QuotaExceededError' ||
|
||||
error.name === 'NS_ERROR_DOM_QUOTA_REACHED')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify user about storage issues (only called once)
|
||||
*/
|
||||
_notifyUser() {
|
||||
if (this.notifications) {
|
||||
this.notifications.warning(
|
||||
'Your browser storage is full. Your onboarding progress will be saved temporarily but may be lost if you close this tab. Please complete the onboarding process in this session.',
|
||||
{
|
||||
timeout: 10000,
|
||||
clearDuration: 300
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a value from in-memory state first, then fallback to cache
|
||||
*/
|
||||
get(key) {
|
||||
return this.data[key] ?? this._safeGet(`${CONTEXT_PREFIX}${key}`);
|
||||
return this.data[key] ?? this.appCache.get(`${CONTEXT_PREFIX}${key}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a value directly from cache
|
||||
*/
|
||||
getFromCache(key) {
|
||||
return this._safeGet(`${CONTEXT_PREFIX}${key}`);
|
||||
return this.appCache.get(`${CONTEXT_PREFIX}${key}`);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -118,11 +28,11 @@ export default class OnboardingContextService extends Service {
|
||||
* @returns {Object}
|
||||
*/
|
||||
restore() {
|
||||
const keys = this._safeGet(KEYS_INDEX) ?? [];
|
||||
const keys = this.appCache.get(KEYS_INDEX) ?? [];
|
||||
const persisted = {};
|
||||
|
||||
for (const key of keys) {
|
||||
const value = this._safeGet(`${CONTEXT_PREFIX}${key}`);
|
||||
const value = this.appCache.get(`${CONTEXT_PREFIX}${key}`);
|
||||
if (value !== undefined) {
|
||||
persisted[key] = value;
|
||||
}
|
||||
@@ -153,14 +63,14 @@ export default class OnboardingContextService extends Service {
|
||||
this.data = { ...this.data, ...filteredData };
|
||||
|
||||
if (options.persist === true) {
|
||||
const keys = new Set(this._safeGet(KEYS_INDEX) ?? []);
|
||||
const keys = new Set(this.appCache.get(KEYS_INDEX) ?? []);
|
||||
|
||||
for (const key of Object.keys(filteredData)) {
|
||||
keys.add(key);
|
||||
this._safeSet(`${CONTEXT_PREFIX}${key}`, this.data[key]);
|
||||
this.appCache.set(`${CONTEXT_PREFIX}${key}`, this.data[key]);
|
||||
}
|
||||
|
||||
this._safeSet(KEYS_INDEX, [...keys]);
|
||||
this.appCache.set(KEYS_INDEX, [...keys]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -178,11 +88,11 @@ export default class OnboardingContextService extends Service {
|
||||
this.data = { ...this.data, [key]: value };
|
||||
|
||||
if (options.persist === true) {
|
||||
const keys = new Set(this._safeGet(KEYS_INDEX) ?? []);
|
||||
const keys = new Set(this.appCache.get(KEYS_INDEX) ?? []);
|
||||
keys.add(key);
|
||||
|
||||
this._safeSet(`${CONTEXT_PREFIX}${key}`, value);
|
||||
this._safeSet(KEYS_INDEX, [...keys]);
|
||||
this.appCache.set(`${CONTEXT_PREFIX}${key}`, value);
|
||||
this.appCache.set(KEYS_INDEX, [...keys]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -200,44 +110,24 @@ export default class OnboardingContextService extends Service {
|
||||
const { [key]: _removed, ...rest } = this.data; // eslint-disable-line no-unused-vars
|
||||
this.data = rest;
|
||||
|
||||
const keys = new Set(this._safeGet(KEYS_INDEX) ?? []);
|
||||
const keys = new Set(this.appCache.get(KEYS_INDEX) ?? []);
|
||||
keys.delete(key);
|
||||
|
||||
this._safeSet(`${CONTEXT_PREFIX}${key}`, undefined);
|
||||
this._safeSet(KEYS_INDEX, [...keys]);
|
||||
|
||||
// Also remove from memory cache
|
||||
this._memoryCache.delete(`${CONTEXT_PREFIX}${key}`);
|
||||
this.appCache.set(`${CONTEXT_PREFIX}${key}`, undefined);
|
||||
this.appCache.set(KEYS_INDEX, [...keys]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fully reset onboarding context (memory + persistence)
|
||||
*/
|
||||
reset() {
|
||||
const keys = this._safeGet(KEYS_INDEX) ?? [];
|
||||
const keys = this.appCache.get(KEYS_INDEX) ?? [];
|
||||
|
||||
for (const key of keys) {
|
||||
this._safeSet(`${CONTEXT_PREFIX}${key}`, undefined);
|
||||
this._memoryCache.delete(`${CONTEXT_PREFIX}${key}`);
|
||||
this.appCache.set(`${CONTEXT_PREFIX}${key}`, undefined);
|
||||
}
|
||||
|
||||
this._safeSet(KEYS_INDEX, []);
|
||||
this._memoryCache.clear();
|
||||
this.appCache.set(KEYS_INDEX, []);
|
||||
this.data = {};
|
||||
this.quotaExceeded = false;
|
||||
this.usingMemoryFallback = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get storage status for debugging
|
||||
*
|
||||
* @returns {Object} Storage status information
|
||||
*/
|
||||
getStorageStatus() {
|
||||
return {
|
||||
quotaExceeded: this.quotaExceeded,
|
||||
usingMemoryFallback: this.usingMemoryFallback,
|
||||
memoryItemCount: this._memoryCache.size
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
API_HOST=
|
||||
API_HOST=https://api.fleetbase.io
|
||||
API_NAMESPACE=int/v1
|
||||
API_SECURE=true
|
||||
SOCKETCLUSTER_PATH=/socketcluster/
|
||||
SOCKETCLUSTER_HOST=
|
||||
SOCKETCLUSTER_HOST=socket.fleetbase.io
|
||||
SOCKETCLUSTER_SECURE=true
|
||||
SOCKETCLUSTER_PORT=38000
|
||||
OSRM_HOST=https://router.project-osrm.org
|
||||
SOCKETCLUSTER_PORT=8000
|
||||
OSRM_HOST=https://router.project-osrm.org
|
||||
DISABLE_RUNTIME_CONFIG=true
|
||||
|
||||
9
console/environments/.env.qa
Normal file
9
console/environments/.env.qa
Normal file
@@ -0,0 +1,9 @@
|
||||
API_HOST=https://api.qa.fleetbase.io
|
||||
API_NAMESPACE=int/v1
|
||||
API_SECURE=true
|
||||
SOCKETCLUSTER_PATH=/socketcluster/
|
||||
SOCKETCLUSTER_HOST=socket.qa.fleetbase.io
|
||||
SOCKETCLUSTER_SECURE=true
|
||||
SOCKETCLUSTER_PORT=8000
|
||||
OSRM_HOST=https://router.project-osrm.org
|
||||
DISABLE_RUNTIME_CONFIG=true
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@fleetbase/console",
|
||||
"version": "0.7.28",
|
||||
"version": "0.7.27",
|
||||
"private": true,
|
||||
"description": "Modular logistics and supply chain operating system (LSOS)",
|
||||
"repository": "https://github.com/fleetbase/fleetbase",
|
||||
@@ -33,14 +33,22 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@ember/legacy-built-in-components": "^0.4.2",
|
||||
"@fleetbase/aws-marketplace": "^0.0.8",
|
||||
"@fleetbase/billing-engine": "^0.1.20",
|
||||
"@fleetbase/customer-portal-engine": "^0.0.10",
|
||||
"@fleetbase/dev-engine": "^0.2.12",
|
||||
"@fleetbase/ember-core": "^0.3.10",
|
||||
"@fleetbase/ember-ui": "^0.3.18",
|
||||
"@fleetbase/fleetops-data": "^0.1.25",
|
||||
"@fleetbase/fleetops-engine": "^0.6.35",
|
||||
"@fleetbase/fleetops-engine": "^0.6.34",
|
||||
"@fleetbase/flespi-engine": "^0.1.16",
|
||||
"@fleetbase/iam-engine": "^0.1.6",
|
||||
"@fleetbase/internals-engine": "^0.0.27",
|
||||
"@fleetbase/leaflet-routing-machine": "^3.2.17",
|
||||
"@fleetbase/registry-bridge-engine": "^0.1.5",
|
||||
"@fleetbase/samsara-engine": "^0.0.3",
|
||||
"@fleetbase/valhalla-engine": "^0.0.3",
|
||||
"@fleetbase/vroom-engine": "^0.0.3",
|
||||
"@fleetbase/storefront-engine": "^0.4.13",
|
||||
"@formatjs/intl-datetimeformat": "^6.18.2",
|
||||
"@formatjs/intl-numberformat": "^8.15.6",
|
||||
|
||||
1184
console/pnpm-lock.yaml
generated
1184
console/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -75,7 +75,7 @@ ENV QUEUE_CONNECTION=redis
|
||||
ENV CADDYFILE_PATH=/fleetbase/Caddyfile
|
||||
ENV CONSOLE_PATH=/fleetbase/console
|
||||
ENV OCTANE_SERVER=frankenphp
|
||||
ENV FLEETBASE_VERSION=0.7.28
|
||||
ENV FLEETBASE_VERSION=0.7.27
|
||||
|
||||
# Set environment
|
||||
ARG ENVIRONMENT=production
|
||||
|
||||
Submodule packages/core-api updated: a2e70e1eec...04ae1ac455
Submodule packages/dev-engine updated: f11d032cb8...64a379ce12
Submodule packages/ember-core updated: c0c1941b98...54a45bbdaa
Submodule packages/ember-ui updated: 379d0a7921...c6694206e9
Submodule packages/fleetbase-extensions-indexer updated: db26b8add3...a6f2b4cde9
Submodule packages/fleetops updated: 05503cee9f...09487c1c50
Submodule packages/fleetops-data updated: 332dc428de...08520b3981
Submodule packages/iam-engine updated: 5b12288f5b...99698152e2
Submodule packages/pallet updated: b343c621f1...9e7592eddb
Submodule packages/storefront updated: aa2a2bc0bd...b5776acef6
Reference in New Issue
Block a user