Move integration credentials into encrypted dashboard settings
Deploy HickLab3D Dashboard / Deploy to production (push) Successful in 1m42s

This commit is contained in:
Hickmeister
2026-10-11 16:15:02 +01:00
parent 96561dc3d2
commit ff9960fe06
23 changed files with 493 additions and 41 deletions
+5 -3
View File
@@ -6,6 +6,7 @@ use App\Models\EtsyConnection;
use App\Services\Bambuddy;
use App\Services\DryerClient;
use App\Services\Etsy;
use App\Services\IntegrationSettings;
use App\Services\Parcel2Go;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;
@@ -14,7 +15,7 @@ use Throwable;
class DashboardController extends Controller
{
public function __invoke(Request $request, Etsy $etsy, Bambuddy $bambuddy, Parcel2Go $parcel2Go, DryerClient $dryer): View
public function __invoke(Request $request, Etsy $etsy, Bambuddy $bambuddy, Parcel2Go $parcel2Go, DryerClient $dryer, IntegrationSettings $settings): View
{
$isAdmin = $request->user()->role === 'admin';
$etsyStatus = $isAdmin ? 'Not connected' : null;
@@ -42,7 +43,8 @@ class DashboardController extends Controller
}
}
if ($isAdmin && filled(config('services.parcel2go.client_id')) && filled(config('services.parcel2go.client_secret'))) {
$shippingConfig = $settings->for('parcel2go');
if ($isAdmin && filled($shippingConfig['client_id'] ?? null) && filled($shippingConfig['client_secret'] ?? null) && filled($shippingConfig['auth_url'] ?? null)) {
try {
$shipments = array_slice($parcel2Go->fetch('me/orders/detail')['Orders'] ?? [], 0, 4);
$shippingStatus = 'Live account';
@@ -85,7 +87,7 @@ class DashboardController extends Controller
});
$dryerState = 'Not configured';
if (filled(config('services.dryer.api_key'))) {
if ($dryer->configured()) {
try {
$dryerState = ucfirst((string) ($dryer->status()['state'] ?? 'Unknown'));
} catch (Throwable $exception) {